One - One Code All

Blog Content

文本表示词向量模型

自然语言处理   2012-01-08 22:20:15

词向量表示法之稀疏表示法:One-hot Representation

定义:把每个词表示为一个很长的向量。这个向量的维度是词表大小,其中绝大多数元素为 0,只有一个维度的值为 1,这个维度就代表了当前的词。每个词都是茫茫 0 海中的一个 1。
优点:稀疏方式存储,非常简洁:用 Hash 表给每个词分配一个编号即可。配合上最大熵、SVM、CRF 等算法已能很好地完成 NLP各种主流任务。
缺点:“词汇鸿沟”——任意两个词之间都是孤立的,语义信息无法表示,无法揭示word之间的潜在联系,容易发生维数灾难。


词向量表示之低维空间表示法:Distributed representation
定义:既能表示词本身又可以考虑语义距离的词向量表示方法,最早由 Hinton在 1986 年提出。它是一种低维实数向量,一般长这样:
[0.792, −0.177, −0.107, 0.109, −0.542, …]
维度以 50 维和 100 维比较常见,当然了,这种向量的表示不是唯一的。
优点:让相关或者相似的词,在距离上更接近了。向量的距离可以用最传统的欧氏距离来衡量,也可以用 cos 夹角来衡量。
解决了维数灾难问题,并且挖掘了word之间的关联属性,从而提高了向量语义上的准确度。


词向量模型
LSA矩阵分解模型:采用线性代数中的奇异值分解方法,选取前几个比较大的奇异值所对应的特征向量将原矩阵映射到低维空间中,从而达到词矢量的目的。
PLSA 潜在语义分析概率模型:从概率学的角度重新审视了矩阵分解模型,并得到一个从统计,概率角度上推导出来的和LSA相当的词矢量模型。
LDA 文档生成模型:按照文档生成的过程,使用贝叶斯估计统计学方法,将文档用多个主题来表示。LDA不只解决了同义词的问题,还解决了一次多义的问题。目前训练LDA模型的方法有原始论文中的基于EM和 差分贝叶斯方法以及后来出现的Gibbs Samplings 采样算法。
Word2Vector 模型:最近几年刚刚火起来的算法,通过神经网络机器学习算法来训练N-gram 语言模型,并在训练过程中求出word所对应的vector的方法。


上一篇:文本表示模型
下一篇:文本表示之词向量空间模型

The minute you think of giving up, think of the reason why you held on so long.