李宏毅2020机器学习深度学习(4) Word Embedding

word embedding,就是找到一个映射或者函数,生成在一个新的空间上的表达,该表达就是word representation。
把X所属空间的单词映射为到Y空间的多维向量。
在这里插入图片描述
根据上下文学习词汇的含义。
基于统计的方法:
注:向量内积(inner product)
在这里插入图片描述
基于预测的方法
假设想要根据 w i − 1 w_{i-1} wi1预测 w i w_i wi
将one of N encoding的词向量输入一个NN,输出是一个N维向量(和词典维数相同),每个分量代表这个index对应词为 w i w_i wi的概率。

当这个模型训练好以后,我们并不会用这个训练好的模型处理新的任务,我们真正需要的是这个模型通过训练数据所学得的参数,例如隐层的权重矩阵。

选取NN的隐含层的第一层的输入(图中绿色的部分),用来表示一个单词。(不同词向量不同,第一层的输入也会不同)

在这里插入图片描述
可以继续进行拓展,用前n个单词进行预测
在这里插入图片描述
同一个单词(one-hot编码)在不同位置输入,要得到同样的词向量。这就要求扩展以后,每个单词输入的权重相同。
在这里插入图片描述
如下图所示:
在这里插入图片描述
但这里有个问题,不同的one-hot向量输入,是否有可能得到相同的输出
举例来说,假设输入层到隐藏层的权重矩阵为: [ 1 1 1 1 1 1 1 1 1 ] \begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 1\\1 & 1 & 1 \end{bmatrix} 111111111
one-hot输入(1,0,0),(0,1,0)和(0,0,1),输出相同
训练过程的实例如下:
在这里插入图片描述
一般分为CBOW(Continuous Bag-of-Words 与Skip-Gram两种模型。
CBOW模型的训练输入是某一个特征词的上下文相关的词对应的词向量,而输出就是这特定的一个词的词向量。 
Skip-Gram模型和CBOW的思路相反,即输入是特定的一个词的词向量,而输出是特定词对应的上下文词向量。

CBOW对小型数据库比较合适,而Skip-Gram在大型语料中表现更好
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

词嵌入向量空间后的效果
在这里插入图片描述
向量之间会有这样的一个数学关系。
在这里插入图片描述
为什么会出现这样的结果呢?因为词嵌入时,考虑了上下文。
如“罗马意大利的首都。”和“柏林德国的首都。”这两句话除去首都,国家词汇的上下文语义很接近。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值