1.one-hot encoding(词袋模型,最传统方式)
- 定义:表示一个单词:只有一维是1 ,其他维是0。
- 缺点:语义鸿沟(同义词问题,one-hot没有语义)、维度灾难、稀疏、无法表示未出现在词表中的词、增加新词麻烦。
2.count-based
2.1 基于词频统计
one-hot的增强版,引入了词频。
2.2 tf*idf
- 定义:引入了逆文档频率。
- tf(词频):一词语出现的次数除以该文档的总词语数。
- idf(逆文档频率):文档频率。一词语出现在多少文档的数量除以总文档数。
-
假设:如果某个词在一篇文章中出现的频率高,并且在其他文章中很少出,那么它很可能就反映了这篇文章的特性,因此要提高它的权值。
3.分布式表示
3.1 原理
- 定义:将one-hot压缩到低维空间,每一维可以看成词的语义或主题信息,语义相似的词语距离近。
- 优点:维度压缩、语义提取解决语义鸿沟、基于学习模型可以对未出现在词表中的词进行表示。
- 方法:LDA、Deep Learning。
- 核心假设:具有相似上下文信息的词应该具有相似的词表示。
- 词关系:Paradigmatic(同义词)和Syntagmatic(搭配出现)
- Distributional Representation VS Distributed Representation:
- Distributional Representation是从分布式假设(由Harris在1954年提出,出现在相同上下文的词语语义相似)的角度,是一类获取词表示的方法。
- 而Distributed Representation指的是文本表示的形式,就是低维、稠密的连续向量
3.2 传统矩阵方法——语言模型
- 如Glove
3.3传统矩阵方法——SVD
3.4传统聚类方法——
3.5 深度学习方法——神经网络语言模型(NNLM)
3.6 深度学习方法——CBOW/Skipgram(word2vec)
- NNLM方法的升级版。
- 去除隐藏层。
- 去不考虑词序:汉字顺序并不影响阅读。
3.6.1 连续词袋模型(CBOW)
3.6.1.1思想
- 根据中心词W(t)周围的词来预测中心词,BOW的升级版。
3.6.1.2模型

- 确定参数:
- 词典中词汇数目V:
- 训练数据中所有词:会出现长尾现象
- 前V个频率最高的词
- 词向量的维数N:超参数,无原则指导,人工设定,一般几十到几百
- 词典中词汇数目V:
- 输入层:有滑动窗口大小个神经元,当前词t前面的c个词以及后面的c个词的one-hot词向量。
- 输入层到隐藏层的权重W:全链接。本质上有很多个W矩阵,每个矩阵就代表了这个单词对隐层的影响和贡献。输入层所有神经元共享权重矩阵W(V*N),随机初始化权重矩阵W。
- 隐藏层:将输入层的词向量加和平均作为隐藏层的输入(也可以是多个隐藏层),乘以权重后得到隐藏层输出向量大小为1*N,这个就是目前的词向量。
- 隐藏层到输出层的权重W‘:全链接,W’(N*V)
- 输出层:将隐藏层输出向量乘以矩阵W’ ,得到向量1*V,激活函数处理得到V-dim概率分布,其概率最大的词为中心词。、
3.6.1.3策略
交叉熵代价函数
3.6.1.4算法
- 采用梯度下降算法更新W和W’。
- 训练完毕后,输入层的每个单词与矩阵W相乘得到的向量的就是我们想要的词向量(word embedding),这个矩阵(所有单词的word embedding)也叫做look up table(其实这个look up table就是矩阵W自身),也就是说,任何一个单词的onehot乘以这个矩阵都将得到自己的词向量。有了look up table就可以免去训练过程直接查表得到单词的词向量了。
3.6.1.5评价
- CBOW对小型数据库比较合适
3.6.2 skip-gram
3.6.2.1思想
- 这个模型的建立与连续词袋模型(CBOM)非常相似,但本质上是交换了输入和输出的位置。
- 根据中心词W(t)来预测周围词
3.6.2.2模型

- 将该单词生成one-hot输入向量(1×V)
- 乘以权重W(V×N),得到该单词的上下文的嵌入词向量(1×N)
- 乘以W‘(N×V),得到向量(1×V),送给softmax,得到V个概率,找出C个最大的,就是其周围的。
3.6.2.3算法
- 采用skip-gram策略用SGD算法优化
3.6.2.4评价
- Skip-Gram在大型语料中表现更好。
3.7 实现工具
- word2vec
- gensim
- fasttext
4.参考资料
-
word2vec是如何得到词向量的? - crystalajj的回答 - 知乎
https://www.zhihu.com/question/44832436/answer/266068967
-
https://www.leiphone.com/news/201706/PamWKpfRFEI42McI.html
-
http://blog.csdn.net/han_xiaoyang/article/details/51567822
-
http://www.cnblogs.com/peghoty/p/3857839.html