BERT-based Lexical Substitution
基于BERT的词汇替换
ACL2019
BERT-based Lexical Substitution - ACL Anthology
以前关于词汇替换的研究倾向于通过从词汇资源(例如 WordNet)中找到目标词的同义词来获得替代候选词,然后根据其上下文对候选词进行排名。这些方法有两个局限性:(1) 它们可能会忽略不是词汇资源中目标词同义词的优秀替代候选词;(2) 他们没有考虑到替换对句子的全局上下文的影响。为了解决这些问题,我们提出了一种基于 BERT 的端到端词汇替换方法,该方法可以在不使用任何注释数据或手动策划资源的情况下提出和验证替代候选者。我们的方法首先将 dropout 应用于目标词的嵌入,以部分掩盖单词,使 BERT 能够平衡考虑目标词的语义和上下文来提出替代候选词,然后根据候选词的替换对句子的全局语境化表示的影响来验证候选词。实验表明,我们的方法在提议和排序替代候选人方面都表现良好,在 LS07 和 LS14 基准测试中都取得了最先进的结果。
介绍
词汇替换旨在于不改变句子含义的情况下用替代词替换句子中的目标词,可以用于文本简化、释义生成等任务。
挑战:高精度的替换单词很困难
以前应对这一挑战的大多数方法首先通过从手动策划的词汇资源中选择同义词作为候选词来获得替代候选词,然后根据它们在上下文中的适当性对它们进行排名,或者对词汇表中的所有单词进行排名以避免使用词汇资源。例如:
- 基于知识的词汇替代系统:使用预定义的规则对替代候选人进行评分;
- 向量空间建模方法:使用基于句法上下文的分布稀疏向量表示;
- 替代向量方法:包含该上下文中目标词槽的潜在填充物;
- 单词/上下文嵌入相似性方法:使用词嵌入的相似性对替代词进行排序;
- 监督学习方法:使用去异国化特征对替代候选人进行排名。
图 1:(a) WordNet 和原始 BERT 无法在其 top-K 结果中提出有效的替代品,但应用目标词嵌入 dropout 使 BERT 能够提出它;(b) 不受欢迎的替代词(例如,hot、tough)往往比好的替代词(例如,powerful)更能改变句子的语境化表示。单词后面的数字是单词的上下文化向量与原始目标单词的余弦相似度;而句子后面的数字是替换前后句子的语境化表示的相似性,如方程 (2) 定义。
尽管这些方法在某些情况下效果很好,但它们有两个关键限制:(1) 它们严重依赖词法资源 。虽然这些资源可以提供替代的同义词,但它们并不完美,并且它们可能会忽略一些好的候选者,如图 1(a) 所示。(2) 大多数以前的方法只衡量替换候选词在上下文中的适合度,但它们不考虑替换是否会改变句子的含义。以图 1(b) 为例,虽然 tough 可能适合上下文并且很强大,但它对句子的上下文表示的改变比 powerful 更大。因此,它不是替换中最佳的词汇。
为了解决上述问题,我们提出了一种新颖的基于 BERT 的词汇替换方法,其动机是 BERT (Devlin et al., 2018) 不仅可以预测以双向上下文为条件的掩码目标词的分布 ,还可以测量两个句子的语境化表示的相似性 。为了提出句子中目标词的替代候选者,我们引入了一种新的嵌入 dropout 机制 ,以部分掩盖目标词并使用 BERT 来预测该位置的单词。与完全屏蔽或保留目标词相比,使用嵌入 dropout 进行部分掩码使 BERT 能够平衡地考虑目标词的语义及其上下文,有助于避免生成语义上与目标词不一致或不适合上下文的替代候选词,如图 1(a) 所示。为了验证替代候选,我们建议根据替代对句子语境化表示的影响来评估候选的适合性,这避免了选择会大大改变句子含义的替代,如图 1(b) 所示。我们在官方 LS07 和 LS14 基准测试上进行了实验。结果表明,我们的方法在提出和验证替代候选人方面都大大优于以前的方法,在两个数据集中都取得了新的最先进的结果。
方法:基于BERT的词汇替换
BERT(Bidirectional Encoder Representations from Transformers)(Devlin 等人,2018 年)是一种双向变换器编码器 (Vaswani 等人,2017 年),以掩码语言建模和下一句预测任务为目标进行训练,在各种 NLP 任务中被证明是有效的。在本节中,我们将介绍如何有效利用 BERT 进行词性替换。
1.替代候选提案
由于 BERT 是通过掩盖目标词来训练的双向语言模型 ,因此它可以用来提出一个替代候选者来重建句子。然而,在实践中,如果我们掩盖目标词并让 BERT 预测该位置的词,BERT 很可能会生成语义上与原始目标词不同的候选词,尽管它符合上下文;另一方面,如果我们不掩盖目标词,大约 99.99% 的预测概率分布将落入原始目标词,因此从剩余的 0.01% 概率空间中选择替代候选词是不可靠的,如图 1 所示。
为了在两种极端情况之间进行权衡,我们建议应用嵌入 dropout 来部分掩盖目标词 。它强制目标字的 input embedding 的一部分维度为零 ,如图 2 所示。这样,BERT 只能从目标词接收模糊的信息,因此必须考虑其他上下文来重建句子,这提高了替代候选提案,如图 1(a) 所示。
上面这个公式,对数中的分母表示所有给定第k个位置被dropout掩码后的句子x~,得到不是原始句子x的概率;分子是预测第k个位置上经过BERT还原后得到的不是原始单词而是给定单词xk'的概率,这个分数把预测概率归一化,再取对数,则预测概率越大的单词计算得到的结果越接近0(他的这个数学建模的思想挺好的,可以参考)
2.替代候选验证
并非所有预测的单词都是合适的,候选词可能会改变句子的原意。文中通过比较替换前后句子的语境化表示来评估候选人的适合性,进而得到验证。
这样,我们可以使用 s v (x k |x, k) 来衡量 x k → x 'k 的替换对句子语义的影响。图 1(b) 中 hot 和 tough 等不受欢迎的替代候选人将获得较低的 s v,从而无法获得排名,而像 powerful 这样的合适候选人将获得较高的 s v,因此会成为首选。
在实践中,我们同时考虑方程 (1) 中的提案分数 s p 和方程 (2) 中的验证分数 s v 来对候选人的总体推荐:
其中 α 是提案值的权重。
像这样的词替换方案,不管应用在机器翻译还是文本释义上都会比较合适,就比如说降重操作,就是搞同义词替换,不改变文本原意。