5 Glove词向量
【参考文献:Pennington et. al., 2014. GloVe:Global vectors for word representation】
GloVe(global vectors for word representation)词向量模型是另外一种计算词嵌入的方法,虽然相比下没有Skip-grams模型用的多,但是相比这种模型却更加简单。
GloVe词向量模型中,要定义一个量Xij,表示目标词ii出现在上下文j的次数。模型的优化目标如下:
注意:
因为当Xij为0时,logXij没有意义,所以增加一个f(Xij)的加权项,当Xij=0时,f(Xij)=0,另外f(Xij)对于一些频繁词和不频繁词有着启发式的平衡作用;
另外,ΘTiej这一项中,ΘTi和ej都是需要学习的参数,在这个目标算法中二者是对称的关系,所以我们可以一致地初始化Θ和e,然后用梯度下降来最小化输出,在处理完所有词后,直接取二者的平均值作为词嵌入向量。这与前面的算法有所不同。
词嵌入的特征化:
通过上面的很多算法得到的词嵌入向量,我们无法保证词嵌入向量的每个独立分量是能够让我们理解的。我们能够确定是每个分量是和我们所想的一些特征是有关联的,其可能是一些我们能够理解的特征的组合而构成的一个组合分量。使用上面的GloVe模型,从线性代数的角度解释如下:
加入的A项,可能构成任意的分量组合。
6 情绪分类
情感分类就是通过一段文本来判断这个文本中的内容是否喜欢其所讨论的内容,这是NLP中最重要的模块之一。
情感分类任务存在的一个问题就是只有很小的数据集,缺乏训练样本。但是在使用了词嵌入后,则能够带来很好的效果,足以训练一个良好的情感分类模型。
平均值或和的模型:
获取一个训练好的词嵌入矩阵E;
得到每个词的词嵌入向量,并对所有的词向量做平均或者求和;
输入到softmax分类器中,得到最后的输出y^;
缺点:没有考虑词序,可能会导致多数的积极词汇削弱前面消极词汇的影响,从而造成错误的预测。
图8
RNN模型:
获取一个训练好的词嵌入矩阵E;
得到每个词的词嵌入向量,输入到many-to-one的RNN模型中;
通过最后的softmax分类器,得到最后的输出y^。
优点:考虑了词序,效果好很多。
图9
7 词嵌入除偏
【参考文献:Bolukbasi et. al., 2016. Man is to computer programmer as woman is to homemaker? Debiasing word embeddings】
当下机器学习或者人工智能算法已经被应用到做一些非常重要的决策中,因此我们需要尽可能地保证其不受非预期形式的偏见的影响,如性别、种族歧视等等。下面介绍一些在词嵌入中消除偏见的办法。
目前的偏见问题:
以一些预料库中学习到的词嵌入向量,会发现学习到的词向量存在下面一些具有性别、种族等偏见,这反映了人们在历史的写作中存在的这种社会偏见:
图10
消除偏见的方法:
1.定义偏见的方向:如性别
(1)对大量性别相对的词汇进行相减并求平均;
(2)通过平均后的向量,则可以得到一个或多个偏见趋势相关的维度,以及大量不相关的维度。
2.中和化:对每一个定义不明确的词汇,进行偏见的处理,如像doctor、babysitter这类词;通过减小这些词汇在得到的偏见趋势维度上值的大小。
3.均衡:将如gradmother和gradfather这种对称词对调整至babysitter这类词汇平衡的位置上,使babysitter这类词汇处于一个中立的位置,进而消除偏见。
领取专属 10元无门槛券
私享最新 技术干货