Stanford NLP lec 2: word vectors and word senses

总共有六个词(行),每个词用d=5维的向量来表示。每个词都有两个向量表示:u和v。

例如,对于第4个词,当它作为中心词时,其周围词的概率为U·v_4^T,做softmax归一之后便成了概率,这个概率应该越接近实际情况越好。

SGD:只对一个样本进行梯度下降

小批量梯度下降更加常用。

  • 没有SGD那么noisy,因为对整个minibatch求了平均
  • 并行计算,速度提升。

如果用SGD的方法,每次只会更新2m+1个单词的词向量。这样,更新的梯度是非常稀疏的。

只需要记下来需要改变的词向量如何改变即可,不要传一个巨大的、稀疏的矩阵。

回忆:之前我们用朴素的softmax来衡量每个context word出现的概率,分母是vocab中所有词语的概率总和。这显然需要太长的时间来计算!所以,实际上我们使用negative sampling的方法。

  • J_t(\theta)的第一项是中心词c的周围出现了context word o的概率,需最大化之。
  • 第二项中的j就是随机取的一个随便的单词,需最小化其概率。但是由于取了负号,就变成了最大化之。

k就是随机取的随便的词语。

unigram distribution: 只针对每个单词来统计。P(w)就是每个词语随机被取到的概率(Z就是归一化项,是所有的U(w)^{3/4}的总和)。

这节课没有提到的一个和negative sampling 并列的方法是hierarchical softmax。

在训练word2vec模型的时候,用到了两个tricks,一个是negative sampling,每次只采少量的负样本,不需要计算全部的V;另外一个是hierarchical softmax,通过构建赫夫曼tree来做层级softmax,从复杂度O(V)降低到O(log2​V).

hierarchical softmax 主要应用于CBOW模型(从context word 预测 center word)

首先对所有在Vocab中的词,根据词频来构建赫夫曼tree:词频越大,路径越短,编码信息更少。tree中的所有的叶子节点构成了词V,中间节点则共有V-1个,上面的每个叶子节点存在唯一的从根到该节点的path,如上图所示。例如词w2​的path为:n(w2,1)->n(w2,2)->n(w2,3)->w2

假设我们需要计算w2的输出概率,我们定义从根节点开始,每次经过中间节点,做一个二分类任务(左边或者右边),所以我们定义中间节点的n左边概率为

其中vn′​是中间节点的向量,那么右边概率

这样,我们就得到了w1,w2...wV这每个词语的作为中间词概率,这些概率之和为1.这样就已经达成了求概率的目的。

 

LSA:见https://blog.csdn.net/weixin_41332009/article/details/111470786

在2013年之前,人们用LSA(潜在语义分析)来做词向量。

  • term-term matrix: 词和词的共现
  • term-doc matrix:词和文档共现,可以判断文档的相似度

=======================================================================

一个暴力的方法:对每个词语进行聚类,每个聚类都是一个多义词的意思。

一个很自然的想法:对每一个多义词的义项,都有一个词向量;每个多义词义项出现的频率也是不一样的,那么就对这些义项的词向量按频率进行加权平均。

一个担心就是,平均之后会不会这些义项就不可分了、丢失了?比如我说,“我想到了两个数,它们的和是42.” 但是你并不能够知道我想到的这两个数究竟是什么。

但惊讶的是,在这个情形下并不会出现这种情况,由于sparse coding,你还是能够区分出不同的义项。

有两种方法来衡量word2vec方法的好坏:

  • intrinsic evaluation:直接看word2vec值相似的两个词,究竟是否相近?或者,类似“man之于king相当于woman之于?”的问题,看word2vec能否很好的回答。这需要和人工标记的结果做对比。
  • extrinsic evaluation:看word2vec下游任务(如NER)完成的好坏。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值