Word Embedding

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

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

Word Embedding:

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

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

Count based:基于计数的词嵌入

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

prediction based:基于预测的词嵌入

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值