李宏毅机器学习(三)Word Embedding

学习内容

前情提要

使用一个vector来表示一个word,怎么做?

1-of-N Encoding
维度就是所有单词的量
缺点: dog 和 cat是不能归为一类的,只能单独的表示;

Word CLass
将同类别的归为一类; 但是更高层的token表示不清. 比如dog + flower = creature
Word Embedding
将word映射到高维度上,通常有50维度、100维度这个样子的dimension; 但是也比-of-N Encoding维度少的多,这是dimension reduce的化身。 类似语义的在这个图上相同位置,而且不同语义中有不同的维度,dimension也会有不同的语义。

Word Emedding

方法

这是一个无监督问题; 机器需要通过读大量的文件学习单词的意思。 而且我们只知道它的输入,不知道它的输出(多少维度的word)。

所以应该怎么做? 我们可以通过上下文来获得,比如马英九和蔡英文通过这样句子的分析,都是上下文类似的,那么必然都是同一种物件。

**所以怎么用这种思维来通过word embedding来表示vector呢?** 有两种方法:

Count based

两个单词越近越好; w i w_i wi w j w_j wj是两个单词,而 V ( w i ) V(w_i) V(wi)是它的向量表示;

Predition based

学习一个neural network来预测下一个单词是某个word的几率。
输出是所有的words的概率!输入和输出都是lexicon words (因为都是1-of-N-encoding)
我们选取hidden layer中的一层就可以表示它的向量了。 为什么用这个prediction based的方法呢?

比如,下面的句子:我们输入蔡英文和马英九那, 我们希望他输出的“宣誓就职”的概率比较大,如果要完成这样的效果那么必须蔡英文和马英九两个的vector应该类似。

Predition based-sharing parameters

当然我们输出下一个单词的概率,输入不能是一个单词,最起码应该是两个或者十个;
其次我们在同时输入两个单词时,他们的权重应该都是共享的。 为什么呢?
如果我们不这么做,两个单词换个位置(比如apple: 00001 换成 10000),那么得到的embedding就会不一样哦! 其次是多个单词不用再用很长的权重维数了;

**但是在训练的时候,我们怎么保证两者的weight是一样的呢? 怎么更新呢?**
上面的肯定不行,而是下面的

问题:propose word vector ,但是neural network不是deep network,而是普通的hidden layer?
tookit他做的很好;
hidden layer运算量少! 可以训练很多的data;

推论

相减

这就是假想的意义!

Multi-lingual Embedding

多语言的嵌入网络,必须输入的是英文和中文的材料。

Multi-domain embedding

就是将类似的图片映射到同一领域

Document embedding

将Document变成bag-of-word,然后使用auto-encoder就可以learn出这个document的Semantic Embedding; 但是呢这样是不够的,只用这个word来表示document是不够的,为什么呢?
因为词汇的顺序有很重要的信息。
比如下面的两句话,它们的bag-of-word是一样的,因为相同的单词;但是他们的语义却完全不同。

bag - of -word: 就是只是单独考虑一个单词的意思,所以说是布袋里的单词,都是孤零零的!

Beyond bag of word

下面是有监督的,上面的是无监督的
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值