2.8 GloVe词向量 word vectors
我们已经学习了许多计算词嵌入的方法,这个带有动量的算法就是GloVe算法。它并没有Word2Vec和skip gram那么常用,但是它更简单。GloVe=global vectors for word representation
Xij表示了i字母在context为j时出现的次数i相当于t,j相当于c正常c、t定义中,Xij=Xji,两者是对称的。但如果你的context word只取在target word之前紧紧挨着,那Xij和Xji就不对称了。 因此Xij计算了i和j分别在对方出现的频率,即两者的相关程度。
最小化 和 之间的差值。我们需要求出参数theta和e,通过梯度下降gradient descent来最小化i、j从1到10000的和。如果Xij为0,logXij将会无限小。因此我们需要再加上一个weighting term: ,当Xij为0时,这个term为0。这个term做的另一件事是平衡高频和低频词。一些出现频率非常高的单词,如this、is、of、a,他们经常被叫做stop words。既不给高频词过高的权重,也不要给低频词过低的权重。在这个式子中,theta i和ej是对称的。
有一个问题是,你没办法保证在词嵌入中每个独立的元素都是interpretable可解释的。右上角的坐标表示,你无法将其他特征与人为设定的可解释的坐标对齐,他们可能是正交的,也可能不是,它也可能是多种特征的组合。但是尽管这种形式的线性转换,我们算出的平行四边形图parallelogram map在我们描述类比analogies时,依旧是可行的。
2.9 情绪分类Sentiment classification
情绪分类有个很大的局限在于没有很多标注好的训练集,但是使用词嵌入,就可以在中等大小的训练集上得到很好的结果。
将所有的单词输入,进行求和或求平均计算,然后经过softmax,输出5个可能的打分结果。这么做有一个问题是他没有考虑单词的前后顺序,只考虑某个单词出现的次数可能会出现错误的判断。因此我们需要使用到RNN模型。
即使absent不在你标注的训练集中,只要它出现在词嵌入模型当中,就可以预测出正确的结果。
2.10 词嵌入除偏Debiasing word embeddings
这些偏见是来自于用于训练的文字的写作者的偏见,但是由于机器学习要用于许多重要决策,我们需要尽可能的避免这些偏见。
定义偏见指向: 将一些已知关系求差取平均。但实际中通常用一个更复杂的方法SVU,singular value decomposition(有点类似于PCA)。
中立化: 对于那些没有指向定义的词汇,取消他们的偏见指向。
均衡词语对: babysister的距离可能与grandmother更近,离grandfather更远。因此我们需要使grandmother和grandfather这对词更相似,且与中心轴距离相同。
如何决定中立哪个单词?训练一个分类器来区分哪些词是性别导向的,哪些词是中立的。
领取专属 10元无门槛券
私享最新 技术干货