词向量(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)