文本转化为向量的各种方法总结

背景

在机器学习的任务里,尤其是在NLP任务里,经常需要对文本转化为可以计算的向量的形式。目前市面上出现了各种各样的方法,各有所长,所以在这里简单的整理一下。

 

具体说明

文本转化为向量的方法,一般有两种,一种是one-hot方法,一种是词嵌入(word embedding)。

one-hot方法很简单,简单理解,就是把一本字典作为向量,包含这个词的位置是1,其他位置都是0。这种方法的问题在于,它忽略了词之间的相关性,而且每个词的向量长度都是字典的长度。

回顾机器学习的初衷,就是希望在有限的不确定性样本中学到确定的规律,one-hot这种高维度的表示方法,需要大量的样本才能学习到规律。结合人平时做阅读理解时候的方法,往往我们会结合上下文去理解一个词的意思,比如:小明 爱 妈妈,小明 也爱 爸爸。就算不知道爸爸是什么,也能猜出来是跟妈妈很类似的亲属。

 

所以用word embedding(Distributed Representation)的方法,可以做到有效的降维,而且还可以做类比,比如

V(“hotter”) – V(“hot”) ≈V(“bigger”) – V(“big”)  ,V(“king”) – V(“queen”) ≈V(“uncle”) – V(“ant”)

这些都是语义空间的线性关系,可以做加减法,例如:

V(“hotter”) ≈V(“bigger”) – V(“big”) + V(“hot”)

用输入单词作为中心单词去预测周边单词的方式叫做:Word2Vec The Skip-Gram Model。

用输入单词作为周边单词去预测中心单词的方式叫做:Continuous Bag of Words (CBOW)。

关于具体的解析,可以看一下网易分享的这个文档:word2vec

接下来,简单分析一下,各种方法的异同点

机器学习 2018-08-07
上一篇: 下一篇:

评论已关闭。