昨天在审核资讯翻译的时候遇到这两个单词,文章里讲的也不清楚,感觉翻译的也不到位。今天就单独拿出来比较一下吧。尽管这两个单词相似,它们的具体实现方法还是有很大区别的。
Distributional word representation主要是基于Distributional假说:"linguistic items with similar distributions have similar meanings" ,翻译过来差不多是“语言项若有像是的分布,则他们的语义也接近”。它一般是根据文档中包含的词以及词频来表示这篇文档,一篇文档可以用一个矩阵w*d的矩阵M来表示,其中w是词典里词的个数,d表示文档个数。若词wi在文档dj中出现k次,则相应的Mij=k。然后根据列向量距离来计算文本相似度,或者更进一步的研究。它常被用于以下一些方法中:
- Latent semantic analysis
- Latent Dirichlet allocation
- Self-organizing map
- HAL
- Independent component analysis
- Random indexing
Distributed representation是另一种表示形式。相对而言,这种表达形式更浓缩,维度更低,但足以表示空间里的元素了。它的浓缩是相对于另一种称作local representation的。这么说有点抽象,下图给了一个例子。图中有三条直线切分平面,如果用local representation表示,就会需要2^3=8bits,每个bit表示该一个区域(其实有点类似one-hot的方式)。而用distributed representation只需要log2(8)=3bits。因此说distributed representation节省资源。但是计算这种表达方式,或者说找到这种编码方式却要消耗大量计算资源。通常是用神经网络来计算,转换后的结果也能降低下一步用深度学习训练的复杂度。
常见的distributed representation有
- Collobert and Weston embeddings
- HLBL embeddings
参考资料
Word representations
Word representations for NLP
Yoshua Bengio's Research
http://www.quora.com/Whats-the-difference-between-distributed-and-distributional-semantic-representations