[论文]在语义文本匹配任务中使用先验知识指导BERT的注意力机制的方法

「这是我参与11月更文挑战的第18天,活动详情查看:2021最后一次更文挑战

在语义文本匹配任务中使用先验知识指导BERT的注意力机制的方法
已被 WWW2021 接收
From:

  • 吉林大学人工智能学院研究生-夏婷玉 、人工智能学院院长-常毅教授
  • 北卡罗莱纳大学教堂山分校 王悦教授

主要介绍了在文本相似性任务中,通过探究BERT模型本身拥有哪些知识,分析在BERT模型的哪些位置需要哪些知识。从而进一步将现有的先验知识注入到BERT的多头注意力机制中,在没有额外增加新的训练任务的同时提升模型的效果。

论文:arxiv.org/pdf/2102.10…
源码:github.com/xiatingyu/B…

背景知识

image.png

实验部分

  • 实验一:BERT已经学会了什么?BERT的那个部分帮助BERT学会了语义知识
    • 数据增强研究:在数据集上增加各种类型的先验知识,和原始数据集进行比较。如果有哪一种知识能够提高模型的效果,则反映了模型欠缺相关能力。
    • 分层效果研究:冻结BERT模型各分层(除softmax外)执行STS任务,观察BERT在哪一层存储了与STS任务语义相关知识最多和最少。

数据增强主要使用了6种方法(针对英文数据集):

[1]S plit and swap 拆分交换:将句子随机拆分,互换位置;尽管不和语法但是基本意义应该保留。

[2]A dd random word 随机添加单词:在每个句子中,随机添加一个句子中没有的词汇;断章取义的词应该不会影响句子的主要意思。

[3]Back translation 回译:将句子翻译为其他语言再翻译回来;用不同方式重写句子,但意思保留。

[4]Add high-TFIDF word 添加一个高频TFIDF词:找到TFIDF最高的词随机插入句子任意位置;重复高频TFIDF并不会对句子有太大影响。

[5]Delete low-TFIDF word 删除一个低频TFIDF词:找删除TFIDF最低的词删除改词;TFIDF较低的值往往是停用词也不会对句子产生很多影响。

[6]Replace synonyms 替换同义词:从wordnet中查找近义词替换;假设同义词不会改变句子原意

0为不数据增强的基准模型,1-6分别对应上述数据增强方法,左 BERT 右 ESIM

可以发现:

ESIM:除了方法2均可提高模型效果,说明非BERT模型掌握的语义理解能力很差,确实很多语义特征的提取。

BERT:只有方法6可以提高BERT的效果,说明BERT已经具备一些语义知识,但缺少对单词相似度的语义知识。

依次从下到上冻结BERT各层,可以发现BERT模型在中间层很擅长语义匹配任务,在开始和结尾阶段表现要差很多。

这个最新的BERT论文相呼应:BERT在低层表现出对所有单词的广泛注意,中间层主要捕获可转移的语义和语法知识。

作者给出的解释是:并不是上层表现不好,而是上层是专门针对训练前的BERT masked任务

  • 实验二:先验知识 + BERT

主要算法:将wordnet的同义词信息,通过hadamard乘积的形式,添加到attention的计算中,方式就是在计算QK的时候变成计算QK*hadamard乘积。

生成词相似矩阵注入到BERT模型第一层的多头注意力机制中去。

上图可以发现,BERT-Sim可以有效提高模型性能

上图可以发现,不同数据集大小下,BERT-Sim的表现总体上略优于原生BERT

此外作者还针对 只在第一层注意力的位置注入先验知识的有效性上做了消融实验,结果显示蓝色线(做了)要略好于红色线(未做),在所有层的注意力机制上进行先验知识注入会使模型效果变差。

收获

  • 收获一些数据增强的方法和对应的增强效果。
  • BERT模型已经习得了一定程度的语义知识,习得语义的主要架构在BERT的中间层,
  • 先验知识(通过相似度矩阵注入BERT的注意力矩阵的方法)要比数据增强效果更好、训练速度更快。
  • Q&A
    • 问到是否有在中文数据集的相关工作:可以参考AAAI2020来自北大工作的K-BERT模型
    • 反义词和无关次词是如何区分的: 1 if 是近义词 else 利用wordnet中的wu-palmer相似度方法比对

Guess you like

Origin juejin.im/post/7031906492311830542