随笔分类 -  NLP

摘要:1.有DNN做的word2vec,取隐藏层到softmax层的权重为词向量,softmax层的叶子节点数为词汇表大小 2.霍夫曼树:左边走 sigmoid(当前节点的词向量*当前节点的参数) 右边走 1-sigmoid(当前节点的词向量*当前节点的参数),叶子节点为词汇表所有词,然后求根节点到叶子节 阅读全文
posted @ 2018-10-25 18:11 下路派出所 阅读(262) 评论(0) 推荐(0)
摘要:1.seq2seq:分为encoder和decoder a.在decoder中,第一时刻输入的是上encoder最后一时刻的状态,如果用了双向的rnn,那么一般使用逆序的最后一个时刻的输出(网上说实验结果比较好) b.每一时刻都有一个输出,即:[batch_size, decoder_output_ 阅读全文
posted @ 2018-10-21 23:51 下路派出所 阅读(968) 评论(0) 推荐(0)
摘要:翻译模型也是用了装桶(bucketing)和填充(padding),这两种方法是用于高效地处理不同长度句子的情况。我们首先来弄清楚是怎么一回事。当我们从英语翻译成法语的时候,假设我们的输入英语的长度为L1,输出法语的长度为L2。因为英语句子是作为encoder_inputs而传入的,法语句子作为de 阅读全文
posted @ 2018-09-20 15:53 下路派出所 阅读(3114) 评论(0) 推荐(1)
摘要:整体流程与第一篇差不多,只是在encoder和decoder加入了RNN Encoder: 1. ai=xi+li ai=词向量+词在序列中的位置信息(相当于一个权重,[M, 1]) 流程: 先是CNN获取位置信息,然后再加上词向量,然后再通过LSTM 2. 常见的求注意力权重的方法 a. ht-1 阅读全文
posted @ 2018-09-17 15:29 下路派出所 阅读(945) 评论(0) 推荐(0)
摘要:流程: 1.文本和摘要全部输入到模型中。 2.训练时,对生成摘要取前C个词,从头开始取,如果生成的摘要不足C,那么不足的地方直接补<s>。 3.训练时,最大化生成的摘要与原摘要的概率,即每个生成的词与原摘要的词进行对比,用损失函数计算梯度,然后下降。 4.预测时,已经具有了权重的模型,会逐词生成N个 阅读全文
posted @ 2018-09-17 11:21 下路派出所 阅读(304) 评论(0) 推荐(0)
摘要:一、N-Gram的原理(这个词出现在句子中出现的概率) N-Gram是基于一个假设:第n个词出现与前n-1个词相关,而与其他任何词不相关。(这也是隐马尔可夫当中的假设。)整个句子出现的概率就等于各个词出现的概率乘积。各个词的概率可以通过语料中统计计算得到。假设句子T是有词序列w1,w2,w3...w 阅读全文
posted @ 2018-09-03 20:38 下路派出所 阅读(256) 评论(0) 推荐(0)
摘要:1.Attention-based seq2seq e(t,i):求上一时刻的输出和这一时刻编码器的输出的相似度 a(t,i):求这个词在整个文本中占多大的比重,每个时刻都存在着一个值,这个只是求一个softmax c(t):文本向量,求和,n代表序列长度,每个词都有一个softmax值,用每一个概 阅读全文
posted @ 2018-08-09 22:53 下路派出所 阅读(328) 评论(0) 推荐(0)
摘要:1.windows安装Graphviz2.38 安装地址:https://graphviz.gitlab.io/_pages/Download/Download_windows.html 2.在python文件头添加这两行代码 3.实例代码 阅读全文
posted @ 2018-07-30 18:01 下路派出所 阅读(560) 评论(0) 推荐(0)
摘要:xgboost的实现方式为多颗CART树,其实xgboost就是类似于随机森林,但是与随机森林不同,他不是多个子树决策的结果,CART树最后会算出一个得分,是一个值,最后算出分类的时候,是多个值结合在一起用一个式子算出分类的。 这里只记录xgboost的使用方式: 阅读全文
posted @ 2018-06-28 22:10 下路派出所 阅读(438) 评论(0) 推荐(0)
摘要:jieba分词最重要的就是字典,我们一般用jieba的话是用的它通用的字典,这样在特定的环境中无法分成我们想要的效果,我们需要根据我们自己的生产环境自己添加我们的字典,然后下载jieba源码进行更改,里面分词用了TFIDF和Textrank算法来求关键词,如果求关键词时,在idf.txt文件中没有这 阅读全文
posted @ 2018-06-27 14:14 下路派出所 阅读(621) 评论(0) 推荐(0)
摘要:1.先使用pip安装pyltp-0.2.1-cp36-cp36m-win_amd64.whl 2.再参考API文档进行具体的使用:http://pyltp.readthedocs.io/zh_CN/develop/api.html Pyltp包地址:链接:https://pan.baidu.com/ 阅读全文
posted @ 2018-05-30 15:08 下路派出所 阅读(271) 评论(0) 推荐(0)
摘要:GRU模型(比LSTM减少了计算量) LSTM的模型,LSTM的重复网络模块的结构很复杂,它实现了三个门计算,即遗忘门、输入门和输出门。 而GRU模型如下,它只有两个门了,分别为更新门和重置门,即图中的Zt和Rt。更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的 阅读全文
posted @ 2018-05-30 14:39 下路派出所 阅读(346) 评论(0) 推荐(0)
摘要:LDA只是一个求解思路。 1.理解LDA首先要理解EM算法,EM不能叫做一个算法,只是一个思想:它要求解的其实是一个极大似然估计,就是我用已知量去求解导致这个已知量出现的最大概率,而在这里又恰恰有点偏,这个已知量是我们开始给定的这个初值,我们要去用这个已知量去求解最大,然后再用这个最大值再带入到我们 阅读全文
posted @ 2018-05-24 22:25 下路派出所 阅读(272) 评论(0) 推荐(0)
摘要:LSTM 网络 Long Short Term 网络—— 一般就叫做 LSTM ——是一种 RNN 特殊的类型,可以学习长期依赖信息。LSTM 由Hochreiter & Schmidhuber (1997)提出,并在近期被Alex Graves进行了改良和推广。在很多问题,LSTM 都取得相当巨大 阅读全文
posted @ 2018-05-20 23:17 下路派出所 阅读(263) 评论(0) 推荐(0)
摘要:Recurrent Neural Networks 人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不会将所有的东西都全部丢弃,然后用空白的大脑进行思考。我们的思想拥有持久性。 传统的神经网络并不能做到这 阅读全文
posted @ 2018-05-20 22:45 下路派出所 阅读(203) 评论(0) 推荐(0)
摘要:对文本分词后,接下来需要对分词后的每个term计算一个权重,重要的term应该给与更高的权重。举例来说,“什么产品对减肥帮助最大?”的term weighting结果可能是: “什么 0.1,产品 0.5,对 0.1,减肥 0.8,帮助 0.3,最大 0.2”。Term weighting在文本检索 阅读全文
posted @ 2018-05-18 14:45 下路派出所 阅读(1347) 评论(0) 推荐(0)
摘要:语言模型:是用来计算一个句子产生概率的概率模型,即P(w_1,w_2,w_3…w_m),m表示词的总个数。根据贝叶斯公式:P(w_1,w_2,w_3 … w_m) = P(w_1)P(w_2|w_1)P(w_3|w_1,w_2) … P(w_m|w_1,w_2 … w_{m-1})。 N-Gram: 阅读全文
posted @ 2018-05-18 14:26 下路派出所 阅读(232) 评论(0) 推荐(0)
摘要:基于字符串匹配的分词方法:此方法按照不同的扫描方式,逐个查找词库进行分词。根据扫描方式可细分为:正向最大匹配,反向最大匹配,双向最大匹配,最小切分(即最短路径)。 全切分方法:它首先切分出与词库匹配的所有可能的词,再运用统计语言模型决定最优的切分结果。它的优点在于可以解决分词中的歧义问题。 下图是一 阅读全文
posted @ 2018-05-18 13:59 下路派出所 阅读(455) 评论(0) 推荐(0)
摘要:分词 中文分词 (Word Segmentation, WS) 指的是将汉字序列切分成词序列。 因为在汉语中,词是承载语义的最基本的单元。分词是信息检索、文本分类、情感分析等多项中文自然语言处理任务的基础。 例如,句子 国务院总理***调研上海外高桥时提出,支持上海积极探索新机制。 正确分词的结果是 阅读全文
posted @ 2018-05-15 10:18 下路派出所 阅读(436) 评论(0) 推荐(0)
摘要:将词向量转换为一个2维的向量 阅读全文
posted @ 2018-05-14 22:25 下路派出所 阅读(856) 评论(0) 推荐(0)