Word Embedding

one-hot representation:词表示最直觉的做法是1-of-N Encoding, 向量维度和词表大小一样,每个词在其中某一维为1,其他维为0。但这种表示法无法体现出词之间的关系。

Word Embedding_第1张图片

Word class方法是将意思相似或者同种属性的词归为一类,这种划分比较粗糙,且需要很多人工设计。

Word Embedding_第2张图片

Word Embedding:

随后引出Word Embedding,是一种降维操作,不过是通过无监督的方法从文本中学出来的,而且可以在向量空间的距离上体现出词之间的关系。

Word Embedding_第3张图片

机器学习是通过无监督的阅读大段文本来理解词的含义,要理解一个词重要的是它的上下文信息(context)。有以下两种方法来利用上下文信息:count based和prediction based。

Count based:基于计数的词嵌入

count based的方法是基于共现关系的,如果两个词经常一起出现,那么这两个词就是相关的。这要求两个词的词向量的内积和他们在同一个文章中出现的次数Nij相近。

Word Embedding_第4张图片
prediction based:基于预测的词嵌入

输入是one-hot向量,最终的输出向量代表着每个词作为下一个词的概率,当网络训练好之后,把第一个隐层向量取出来就可以作为Word Embedding。

Word Embedding_第5张图片

体现:如果要让两个不同的词预测出同样的下文,那么这两个词的向量就要相近。这样就体现两个词的相似性;

我们会用更多的上下文信息来预测,如果直接拼接上下文的词,这会使模型参数的数量急剧上升。所以我们用了共享参数的方法,但这种方法也存在缺点,Input的词失去了位置信息,因为词不同的顺序组合表达出来的意思其实是不一样的。

Word Embedding_第6张图片

用数学表达就是以下,用相同的W参数;

Word Embedding_第7张图片

训练时,会给定相同的初始化参数,之后每次更新都考虑多方的偏微分,以保证使用相同的参数W;

Word Embedding_第8张图片

训练时,就是最小化交叉熵;

Word Embedding_第9张图片

这个基于预测的模型也有很多变形的结构:

包括CBOW:用前后文信息预测中间的词汇;Skip-gram:用中间给定词汇预测上下文信息;不过这些网络不是深层网络,而只是一个线性的hidden layer;

Word Embedding_第10张图片

它可以被应用到很多地方:

通过向量的操作,来解决类比问题;

Word Embedding_第11张图片

有多语言的词嵌入,也可以做翻译问题;

Word Embedding_第12张图片

甚至还可以使用到图像信息,用来做分类等任务;

Word Embedding_第13张图片

文章也可以表示成向量,把文章表示成bag of word,然后用auto-encoder学出semantic embedding。

Word Embedding_第14张图片
Word Embedding_第15张图片

但是因为词汇的顺序会影响语义,以下是一些相关的参考文献:

Word Embedding_第16张图片

你可能感兴趣的:(人工智能)