机器阅读理解笔记之glove词向量与attentive reader&impatient reader和bi-DAF

glove词向量模型

词向量的表示可以分成两类:

  • 基于统计方法 共现矩阵、svd
  • 基于语言模型 神经网络语言模型,word2vector,glove,elmo
     word2vector中的skip-gram模型是利用类似于自动编码的器网络以中心词的one-hot表示作为输入来预测这个中心词环境中某一个词的one-hot表示,即先将中心词one-hot表示编码然后解码成环境中某个词的one-hot表示(多分类模型,损失函数用交叉熵)。CBOW是反过来的,分别用环境中的每一个词去预测中心词。尽管word2vector在学习词与词间的关系上有了大进步,但是它有很明显的缺点:只能利用一定窗长的上下文环境,即利用局部信息,没法利用整个语料库的全局信息。鉴于此,斯坦福的GloVe诞生了,它的全称是global vector,很明显它是要改进word2vector,成功利用语料库的全局信息。
    这里需要提一点的是 :
    word2vector 得到的词向量是隐藏层的权重矩阵,并非模型的输出

共现概率

共现 :
单词a 出现在单词b的环境中(环境指的是以b为中心的左右各若干个词)
共现矩阵:
单词对共现次数的统计表。我们可以通过大量的语料文本来构建一个共现统计矩阵。
  例如,有语料如下:
  I like deep learning.
  I like NLP.
  I enjoy flying.
在这里插入图片描述共现矩阵的特点:
统计的是单词在给定环境中出现的次数,所以在一定程度上能够表达词间关系。
共现频次的技术是针对整个语料库,而不是在一定程度上能表达词间的关系
共现矩阵是对称的

共现概率比

定义X为贡献矩阵,共现矩阵,共现矩阵中 x i j x_{i j} xij表示词j出现在词i的环境中的次数, x i x_i xi为任一词出现在i环境中的次数(即行和)

P i j = P ( j ∣ i ) = x i j x i P_{i j}=P(j \mid i)=\frac{x_{i j}}{x_{i}} Pij=P(ji)=xixij
为词j出现在词i环境中的概率(用频率代表概率),这个概率就是词i和词j的共现概率,共现概率也就是给定语料环境,某一个词出现的概率。
共现概率比
glove论文中给出了一个有趣的例子
在这里插入图片描述
k是语境词,ice和steam分别是两个中心词,但从这些概率中看不出什么东西。
接着作者对论文把这些概率做了些除法,有趣的东西出现了。
在这里插入图片描述
第一列:solid ice,固态冰,虽然别扭,但显然是个合理的词对(两者都有固体之意);solid steam,固态蒸汽。在背景词solid下,ice与solid的关系比steam要紧密,P(solid|ice)/P(solid|steam)这个比率很大。

第二列:ice gas,冰气;gas steam,都是气体,合理。在背景词gas下,steam与gas的关系比ice要紧密,P(gas|ice)/P(gas|steam)这个比率很小。

第三列:ice water,冰水,没问题;water steam,水蒸气,也没问题;ice和steam都与water相关,P(water|ice)/P(water|steam)趋近于1。

第四列:fashion ice,时尚冰?fashion steam,流行蒸汽?wtf?显然八竿子打不着,P(fashion|ice)/P(fashion|steam)也趋近于1。
作者假设共现概率比,可以由词向量通过函数F得到:
F ( w i , w j , w ~ k ) = P i k P j k F\left(w_{i}, w_{j}, \tilde{w}_{k}\right)=\frac{P_{i k}}{P_{j k}} F(wi,wj,w~k)=PjkPik

使用均方误差损失函数:
J = ∑ i , j = 1 V ( w i T w j + b i + b j − log ⁡ ( X i j ) ) 2 J=\sum_{i, j=1}^{V}\left(w_{i}^{T} w_{j}+b_{i}+b_{j}-\log \left(X_{i j}\right)\right)^{2} J=i,j=1V(wiTwj+bi+bjlog(Xij))2

矩阵分解方法,有个缺点,就是各个词的权重是一样的,处理这个问题,就是添加一个根据词频决定的权重项:
J = ∑ i , j = 1 V f ( X i j ) ( w i T w j + b i + b j − log ⁡ ( X i j ) ) 2 J=\sum_{i, j=1}^{V} f\left(X_{i j}\right)\left(w_{i}^{T} w_{j}+b_{i}+b_{j}-\log \left(X_{i j}\right)\right)^{2} J=i,j=1V<

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值