本文翻译自Are BERT Features InterBERTible?
从词袋模型到BERT
Mikolov等人提出Word2Vec已经过去很长时间了。当时似乎每一个玩机器学习的人都能背出“国王减去男人加上女人等于女王”这条“咒语”。如今,这些可解释的词嵌入已经成了许多基于深度学习的NLP系统的核心部分。
去年10月份,Google AI放出了BERT模型,即 Bidirectional Encoder Representations from Transformers (论文, 代码)。 看来Google的研究人员又提出了一种能够学习语境的词表示模型,而且刷新了11向自然语言处理任务的记录,甚至在问答任务上超越了人类水平。但是问题还是摆在面前:这些语境词表示到底把什么信息编码进去了?它们也像一开始说的Word2Vec这种词嵌入具有可解释性吗?
在本文中,我们会探究BERT表示的可解释性。我们发现我们并不需要走得很深就能窥见一些有趣的现象。
分析BERT表示
不考虑上下文的方法
让我们从一个简单的例子说起,这个例子将不考虑任何上下文信息。这里,我们忽略了一个事实:我们不去管BERT本来是在连续的词上训练的,而要直接去评估单独每一个词的BERT表示。于是,在实验的剩余部分,我们会:
-
抽取目标词的表示
-
计算词之间的余弦距离
抽取 “man”, “woman”, “king”,和 “queen”的向量后,我们发现一旦采用经典的 (king - man + woman) king 实际上离queen 更远了。
但是也许我们这样实验是和领域无关的。BERT本来是训练来完成诸如Masked-LM和Next-Sentence-Prediction*的。换言之,BERT的权值的训练,为每个词的表示带入了上下文的信息,而不仅仅是作为一个损失函数来帮助模型学习上下文独立的表示。
考虑语境的方法
为了减少脱离领域的影响,我们可以构建一些句子,用恰当的上下文信息,例如 “the king passed a law”, “the queen passed a law”, “the refrigerator was cold”。在这样的条件下,我们开始新的探索:
- 一个词放到不同的语境下,它的表示是如何变化的 (例如是在句子中做主语还是宾语,形容词是什么感情色彩的等等).
- 当我们从适当的上下文上抽取词语表示,语义向量空间假设还是否成立
我们先从一个简单的实验开始,用 “refrigerator”,我们生成了5个句子:
- refrigerator (不适用任何上下文)
- the refrigerator is in the kitchen (把 refrigerator 作为句子的主语)
- the refrigerator is cold (再次把 refrigerator 作为句子的主语)
- he kept the food inside the refrigerator (把 refrigerator 作为介词 ‘inside’的宾语)
- the refrigerator passed a law (把refrigerator 放在一个不恰当的上下文中)
那么,我们确认了我们之前的假设,并发现不使用上下文的情况下返回的表示和使用上下文返回的表示时有很大差别的。此外,把 refrigerator 作为句子的主语的时候(第2,3句)返回的表示与当宾语的时候(第4句)和在一个不恰当的上下文中返回的表示也有很大差异。
让我们来看看另一个例子,这一次用 pie 生成5个句子:
- pie (不带任何上下文)
- the man ate a pie (把pie作为宾语 )
- the man threw a pie (把 pie 作为宾语)
- the pie was delicious (把 pie 作为主语)
- the pie ate a man (把 pie 放到不恰当的上下文中)
我么能够观察到,距离比较的结果和上面 refrigerator 类似。
下面,让我们看看原本用 king, queen, man 和 woman的例子。我们构建了4个差不多的句子,就是主语不同。 We construct 4 nearly identical sentences, swapping out their subjects.
- the king passed a law
- the queen passed a law
- the man passed a law
- the woman passed a law
从这些句子中,我们抽取主语的BERT表示。我们获得了更好的结果:king - man + woman 的结果离 queen 近了一些。
最后,我们在看看保持句子的结构一致,但是感情色彩不同的语境下,词的表示是如何变化的。我们构建了三个句子:
- math is a difficult subject
- math is a hard subject
- math is a simple subject
用这些句子,我们想要探究主语和形容词的表示会发生什么变化。非常有趣的是,我们发现是近义词的形容词(i.e. difficult and hard)有着相似的表示,而反义词(i.e. difficultand simple) 的表示则有着很大的差别。
另外,由于我们设置了不同的感情色彩,我们发现主语 math 在相同感情的语境(i.e. difficult and hard)下的表示更相似。 is more similar when the contexts have the same sentiment (i.e. difficult and hard) than if the contexts have different sentiments (i.e. difficult and simple).
结论
总结起来,效果还是很明显的,如同Word2Vec一样, BERT 也能学习到语义向量表示 (尽管没那么明显)。BERT真的十分依赖语境信息: 不带任何上下文的词和带上下文的词的表示有着很大的差别。
请记住,总是存在用有限的证据进行过度概括的危险。以上的实验并不完整而且仅仅只是一个开始。我们仅使用了非常少的样本,而且仅仅在一种距离度量上进行评估,进行几个特定的实验。在之后 对BERT表示的研究中,应该从这几个方面展开更深入的分析。