Introduction

用vector来表示一个word,最传统的做法是1-of-N Encoding,可以把有同样性质的word进行聚类,划分成多个class,然后用word所属的class来表示这个word,最后把每一个word都投影到高维空间上进行Word Embedding
李宏毅老师课程:Unsupervised Learning - Word Embedding

word embedding是一个无监督的方法(unsupervised),只要让机器阅读大量的文章,它就可以知道每一个词汇embedding之后的特征向量应该长什么样子
李宏毅老师课程:Unsupervised Learning - Word Embedding
我们的任务就是训练一个neural network,input是词汇,output则是它所对应的word embedding vector

Word Embedding

基本精神就是,每一个词汇的含义都可以根据它的上下文来得到
李宏毅老师课程:Unsupervised Learning - Word Embedding

Count based

假如wiw_iwjw_j这两个词汇常常在同一篇文章中出现,它们的word vector分别用V(wi)V(w_i)V(wj)V(w_j)来表示,则V(wi)V(w_i)V(wj)V(w_j)会比较接近

假设Ni,jN_{i,j}wiw_iwjw_j这两个词汇在相同文章里同时出现的次数,我们希望它与V(wi)V(wj)V(w_i)*V(w_j)的内积越接近越好
李宏毅老师课程:Unsupervised Learning - Word Embedding

Prediction based

基于预测的方法,即可以通过上下文预测中心词,也可以通过中心词预测上下文,中心词即我们要预测的词。
李宏毅老师课程:Unsupervised Learning - Word Embedding
对1-of-N编码进行Word Embedding降维的结果就是神经网络模型第一层hidden layer的输入向量,该向量同时也考虑了上下文词汇的关联,我们可以通过控制第一层hidden layer的大小从而控制目标降维空间的维数
李宏毅老师课程:Unsupervised Learning - Word Embedding

Sharing Parameters

扩展这个问题,使用10个及以上的词汇去预测下一个词汇,可以帮助得到较好的结果,这里用2个词汇举例
李宏毅老师课程:Unsupervised Learning - Word Embedding

Training

对于输入“潮水、退了”,我们希望network的输出和“就”越接近越好,即最小化cross entropy李宏毅老师课程:Unsupervised Learning - Word Embedding

Various Architectures(各种架构)

除了上面的基本形态,Prediction-based方法还可以有多种变形

  • CBOW(Continuous bag of word model):拿前后的词汇去预测中间的词汇
  • Skip-gram:拿中间的词汇去预测前后的词汇
    李宏毅老师课程:Unsupervised Learning - Word Embedding

Result

李宏毅老师课程:Unsupervised Learning - Word Embedding
李宏毅老师课程:Unsupervised Learning - Word Embedding
本文图片来自李宏毅老师课程PPT,文字是对李宏毅老师上课内容的笔记或者原话复述,在此感谢李宏毅老师的教导。

相关文章:

  • 2021-07-12
  • 2021-06-08
  • 2022-01-19
  • 2021-08-02
  • 2022-01-17
  • 2021-09-26
  • 2021-08-01
  • 2021-08-01
猜你喜欢
  • 2021-05-16
  • 2021-09-05
  • 2021-12-15
  • 2021-06-22
  • 2021-09-04
  • 2021-08-01
  • 2021-07-12
相关资源
相似解决方案