nlp之词汇分布式表征

1、word embedding

词嵌入,也叫词向量。对于文本数据,我们需要将其转换为数值型才能输入到模型中。词向量就是这样一种转换数据的方法。通常我们表示文本数据是将其one-hot编码,比如某文本有10000个不同的词汇,我们将其编码成10000维的向量,其中只在某一位数值是1,其他是0。那么一个语句包含了多个词汇,我们如何将其转化为多维向量。一种是纯粹的自用one-hot编码即可,但是这样没有考虑词汇与词汇之间的相关性,也没有考虑语法结构问题。
所以,我们参考自编码模型,通过输入相关的词汇(x_a,x_b)对作为模型的输入输出,求得其中间隐藏层的权重矩阵w。然后将w乘以输入语句X就可以得到了我们说想要的这个句子的词向量表示。

2、word2vec

谷歌推出的word2vec正是这样的一种模型。将词汇表示称向量,具有关联性的词汇之间通过之前的模型训练,它们所得的向量之间也具有相关性。而如何得到词汇对有下面两种做法。

3、skip-gram

根据当前单词预测上下文。通过固定的窗口对句子进行滑动,截取词汇对。如“我想要去北京“这一句,可以截取成“我–我想,我要“;“想-我想,想要,想去“;“要-我要;想要;要去;要北“等与当前词相关的词汇对。然后放入模型中去训练,最后一层接上softmax可以得到这种词汇对出现在整个文本中的概率大小。

4、cbow

使用上下文预测当前词汇。

(待续~~)

猜你喜欢

转载自blog.csdn.net/wyisfish/article/details/79727770
今日推荐