技术-聊天机器人-word2vec学习笔记

词向量(http://www.shareditor.com/blogshow/?blogId=99

词向量:是这样的一种向量[0.1, -3.31, 83.37, 93.0, -18.37, ……],每一个词对应一个向量,词义相近的词,他们的词向量距离也会越近(欧氏距离、夹角余弦)

训练词向量(无监督学习,也就是没有标注数据,给我n篇文章,我就可以训练出词向量 )

词向量表达方式(http://www.shareditor.com/blogshow/?blogId=100

localist representation  ( 稀疏表达)

典型的案例就是one hot vector

distributed representation(分布式表达)

word embedding表示的是一种“降维”的嵌入

word2vec学习笔记(C:\Users\WJH\Desktop\桌面\speech code\学习文档)

word2vec定义: 通过训练,可以把对文本内容的处理简化为K 维向量空间中的向量运算,而向量空间上的相似度可以用来表示文本语义上的相似度。

(word2vec的本质,它其实是通过distributed representation的表达方式来表示词,而且通过降维的word embedding来减少计算量的一种方法)

统计语言模型:1、n-gram 模型

n=1 时,即上下文无关模型,这里 n-gram 一般认为是 N>=2 是 的上下文相关模型。当 n=2 时,也称为 Bigram 语言模型(依赖于前n-1个词)

问题:

1. n-gram 语言模型无法建模更远的关系,大部分研究或工作都是使用 Trigram,就算使用高阶的模型

2.无法建模出词之间的相似度, 比如“白色的汽车”经常出现,那完全可以认为“白色的轿车”也可 能经常出现

3.训练语料里面有些 n 元组没有出现过,其对应的条件概率就是

0,(解决:方法一为平滑法。最简单的方法是把每个 n 元组的出现次数加 1,方法二是回退法。有点像决策树中的后剪枝

方法,即如果 n 元的概率不到, 那就往上回退一步,用 n-1 元的概率乘上一个权重来模拟。 )

2、n-pos 模型

它将词按照其语法功能进 行分类,由这些词类决定下一个词出现的概率。

3、基于决策树的语言模型

而统计决策树中每个结点的决策规则是一 个上下文相关的问题 ,也可以是词性分类

word2vec实现

使用两种模型  1、CBOW模型   ( 已知当前词的上下文的前提下预测当前词

输出层用霍夫曼树(不太懂参考http://www.shareditor.com/blogshow/?blogId=100)

2、Skip-gram模型(已知当前词的情况下预测上下文

概率计算问题采用负采样算法 (不太懂)参考(www.hankcs.com/nlp/word2vec.html)

你可能感兴趣的:(技术-聊天机器人-word2vec学习笔记)