Deep Learning Note: 5-8 Word Embedding 的应用

1. 情感分类

  情感分类(Sentiment Classification)指的是根据一段文本,预测作者是否喜爱文中所讨论的事物。对于情感分类任务,我们可能无法获得大量的训练数据,比如总共只有 1 万到 10 万个单词,但通过 Word Embedding,我们使用不多的数据就可以构建一个很好的情感分类器。

  例如使用顾客对一家餐厅的评价来预测顾客对该餐厅的喜爱程度,输入的 $x$ 是顾客的评价,输出的 $y$ 是顾客对餐厅的评分,如图 1 所示。

图 1

图 1

  一个简单的情感分类模型是将评价中的每个单词取出来,使用词汇表进行独热编码后,使用一个在大量语料上学习得到的 Embedding 矩阵 $E$ 进一步编码为 Embedding 向量。对每个单词的 Embedding 向量求和或者求平均后,将结果输入一个 Softmax 分类器,输出 $\hat{y}$,即 1 到 5 的评分,如图 2 所示。

图 2

图 2

  通过各个单词的 Embedding 向量求和或求平均,Softmax 分类器输入数据的大小固定为一个 Embedding 向量的长度,因此适用于各种长度的文本。

  以上算法相当于平均了文本中每个单词所代表的评价等级,它的一个缺点是不关心文本中单词出现的顺序,如对于这样一句话:

Completely lacking in good taste, good service, and good ambience.

这是一个非常负面的评价,但句子 good 这个单词出现了 3 次,前面的算法很可能会预测这是一个正面的评价。

  可以使用 RNN 来构建一个更复杂的情感分类器。将评价中的每个词转换为 Embedding 向量后,输入一个 RNN,来预测顾客的喜爱程度,如图 3 所示。

图 3

图 3

  图 3 所示的 RNN 是一个多对一的结构,它输入的是一个单词序列,单词具有先后顺序,从而能够发现 “lacking in good …” 实际上是一个负面的评价。此外,通过 Word Embedding,该模型的性能可以很好地泛化到训练集中没有出现过的单词上。例如模型学会了 “lacking in good …” 是一个负面的评价后,对于 “absent of good …” 的评价,即使 absent 并不在情感分类的训练集中,只要 Word Embedding 的训练数据包含 absent,lacking 和 absent 具有相似的 Embedding 向量,则模型也能预测 “absent of good …” 是一个负面的评价。

2. 消除 Word Embedding 的偏见

  前面提到,Word Embedding 可以学习类比的概念,如 Man : Woman 类似于 King : Queen。Man is to Computer Programmer as Woman is to Homemaker? Debiasing Word Embeddings 一文指出,Word Embedding 可能会认为 Man : Computer Programmer 类似于 Woman : Homemaker,以及 Father : Doctor 类似于 Mother : Nurse 等等。Word Embedding 会反映训练文本中所包含的性别、种族、年龄、性取向等偏见。机器学习和 AI 算法被越来越多地用于如贷款审批等各种重要决策,我们希望算法不会带有任何形式的偏见。

  前述论文 提出了一种消除 Word Embedding 中的偏见的方法。举例来说,假设我们已经习得了一系列 Word Embedding 如图 4 所示,消除偏见的步骤为:

图 4

图 4

  1. 确定偏见的方向

  首先要确定目标偏见在 Word Embedding 空间中的方向,假设我们的目标是消除性别偏见,则可以将表示不同性别的单词相减,如计算 $e_{he} – e_{she}$、$e_{boy} – e_{girl}$ 等,对这些结果求平均,就可以得到表示性别偏见的方向,与偏见方向正交的是非偏见的方向,如图 5 所示。

图 5

图 5

  假设 Embedding 向量的长度为 300,这里为了方便说明,则可以认为偏见方向是一个 1 维的子空间,而非偏见方向是一个 299 维的子空间。(实际上偏见方向可能是大于 1 维的子空间,以下只是消除 Word Embedding 的偏见的一个简化的方法,详情可以参考原论文

  1. 中和

  对于每一个非定义性的词,将它们映射到到非偏见的方向。像 grandmother、girl、man、he 之类的词,其本身就包含性别的定义;而像 doctor、babysitter 之类的词,无论是对于不同的性别还是种族等条件,都应该是中立的。对于消除性别偏见的目标,我们将图 5 中的 doctor 和 babysitter 映射到非偏见的方向,来消除它们的 Embedding 中在性别偏见方向的成分,如图 6 中蓝色箭头所示。

图 6

图 6

  1. 均衡化单词对

  注意到图 6 中,中和后的词于其他定义性的词之间的距离并不相同,例如 babysitter 在非偏见方向的映射与 grandmother 的距离要小于与 grandfather 的距离,如图 7 中红色箭头所示。这会让 Embedding 认为 grandmother 与 babysitter 之间的关系更紧密,从而导致偏见。

图 7

图 7

  所以对于包含性别定义的单词对,如 (grandmother, grandfather)、(girl, boy) 等,我们希望每一组中两个词间唯一的区别是性别,即让每一组中的两个词与非偏见方向的距离相等,如图 8 中绿色箭头所示,从而使得它们与如 babysitter 等性别中立的词之间的距离相等。

图 8

图 8

  为了决定哪些词需要被中和,原论文的作者训练了一个分类器来进行判断,结果发现英文中的大部分单词都不是定义性的;只有一小部分如 grandmother、grandfather、girl、boy 之类的词包含特定的定义,不需要被中和,因此需要被均衡化的单词对也很少,对于上面消除性别偏见的例子,甚至可以手工选择要均衡化的单词对。