博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
论文笔记 | Towards Interpreting BERT for Reading Comprehension Based QA
阅读量:4290 次
发布时间:2019-05-27

本文共 2343 字,大约阅读时间需要 7 分钟。


作者:迪

单位:燕山大学


论文来源:ACL2020


概述

  BERT及其变体在大多数NLP任务上取得SOTA,但是由于该模型采用了大量参数以及非线性函数,如何预测问题的答案不得而知,于是很多工作人员开始研究BERT的语言理解能力。相较于其他NLU的任务,机器阅读理解(Machine Reading Comprehension)更加复杂,作者也首次分析了BERT的各个层对MRC任务中对文章-问题对的理解能力。

主要贡献

  • BERT的初始层更侧重文章与问题的交互,之后的层更侧重于上下文理解与答案预测
  • BERT在处理有关数字的问题时对数字特别敏感,但是仍然能正确抽取答案

问题定义

  作者使用BERT-BASE模型,共包含12层Transformer的encoder结构。使用的数据集是SQuAD1.1数据集与DuoRC数据集。其中SQuAD数据集使用了90000个训练样本,验证集使用了10000个样本,且每个样本的文章字数在100-300。DuoRC数据集使用了60000个训练样本,验证集使用了13000个样本,每个样本的文章字数在500字左右。

分析方法

  对于给定的文章 P P P n n n个单词组成[ w 1 , w 2 , . . . , w n w_1,w_2,...,w_n w1,w2,...,wn],问题 Q Q Q与带有模型参数 θ \theta θ f f f,预测过程描述如下:

p ( w s , w e ) = f ( w s , w e ∣ P , Q , θ ) p(w_s,w_e)=f(w_s,w_e|P,Q,\theta) p(ws,we)=f(ws,weP,Q,θ)
   w s , w e w_s,w_e ws,we分别代表预测的开始和结束单词。对于给定的层数 l l l,上式等价于:
p ( w s , w e ) = f l ( w s , w e ∣ E l − 1 ( P ) , E l − 1 ( Q ) , θ ) p(w_s,w_e)=f_l(w_s,w_e|E_{l-1}(P),E_{l-1}(Q),\theta) p(ws,we)=fl(ws,weEl1(P),El1(Q),θ)

   f l f_l fl是指从 l l l层到预测的前向传播过程, E l ( ⋅ ) E_l(\cdot) El()是在 l l l层下的对于文章或问题的表示。对于模型 M M M,对每个词 w i w_i wi的词嵌入 x i x_i xi采用积分梯度计算,公示如下:

I G ( x i ) = ∫ α = 0 1 ∂ M ( x ~ + α ( x i − x ~ ) ) ∂ x i d α IG(x_i)=\int_{\alpha=0}^{1}{\frac{\partial M(\widetilde x + \alpha (x_i-\widetilde x))}{\partial x_i} d\alpha} IG(xi)=α=01xiM(x +α(xix ))dα
   x ~ \widetilde x x 是一个0向量,为 w i w_i wi测量积分梯度。 I G l ( x i ) IG_l(x_i) IGl(xi)代表单词 w i w_i wi l l l层的积分梯度。然后作者取50个[0,1]的均匀分布为 α \alpha α进行取值,近似上述积分,最后将得到的所有的 I G ( x i ) IG(x_i) IG(xi)进行归一化得到文章字的概率分布。

结果分析

  • top-k指的是概率为前k低或前k高的词。图(a)与图(b)分别对应的是在SQuAD数据集下将top-2的词保留或去除的实验结果,图©与图(d)分别对应的是在DuoRC数据集下将top-2的词保留或去除的实验结果。

在这里插入图片描述

  经过分析,我们能得到一个层的功能反应在分布概率较高的词上,当删除它们时,其他不太重要的单词几乎是均匀分布的。因此,为了正确判断一个层的功能,应该重点关注那些概率较高的词。

  • 将文档的词分为3类,答案位置的词,支撑答案位置的词(滑动窗口为5且围绕在答案位置周围的词),问题相关的词(文章中出现有关问题的词)。取概率最高的前5个词进行分析,结果如下。表1为在SQuAD数据集上的结果,表2为在DuoRC数据集上的结果:

在这里插入图片描述

  观察到BERT在处理SQuAD数据集与DuoRC数据集时有相同的趋势。模型首先尝试识别文章中出现有关问题的词的部分,随着对答案词越来越有信心,与问题相关的词的重要性会降低。在第四栏中,从最开始的层到最后一层,对上下文的信息关注的越来越多。

  • 针对答案为数字的问题,作者举了一个具体的实例,实例如下表所示。

在这里插入图片描述

  其中蓝色字体代表答案,红色字体代表支撑答案位置的词,绿色字体代表问题词。

  将每个词进行特殊标记,对1层、5层、10层、12层输出的词表示进行可视化,得到结果如下:

在这里插入图片描述

  在第0层中,观察到同一类词的距离都很近;在第4层中,文章、问题与答案开始交互;在第9层中,答案词与其余的词已经分开,但是文章中同类型的词"four"非常接近答案词"eight";在最后一层中,两个同类型词依然区分不开,但是模型依然选择了正确答案。

结论

  作者使用积分梯度在解决抽取式MRC任务时对文章-问题对进行分析,反映出BERT在初始层更重视文章与问题的交互信息,之后的层更关注抽取答案。

番外

  1. 为什么问题词的表达在后面的层中远离支撑答案的词与答案词的表达?
  2. 对易混淆词的关注度从初始层增加到最后一层,为什么BERT仍然拥有较高的准确率?
  3. 有关积分梯度的相关工作,请查看这篇

转载地址:http://nqmgi.baihongyu.com/

你可能感兴趣的文章
网站建设之域名注册和域名备案
查看>>
解决bootstrap时间输入框总被浏览器记住的记录遮挡住的问题
查看>>
git将一个分支完全覆盖另外一个分支如:dev分支代码完全覆盖某一个开发分支
查看>>
elasticsearch7.3版本环境搭建(二)可视化管理后台kibana的安装和配置
查看>>
elasticsearch7.3版本环境搭建(三)可视化管理后台kibana的汉化(设置中文界面)
查看>>
记录一次DDos攻击实战
查看>>
分享一首小诗--《致程序员》
查看>>
为什么百度只抓取了首页而不抓取我的网站的内页的原因分析
查看>>
年薪170万的阿里P8级员工征婚有感--话说阿里真有钱,这员工要求的条件真多
查看>>
又是一年桂花飘香时,祝我们伟大的祖国70年华诞更加繁荣昌盛,祝大家国庆节快乐
查看>>
谷歌浏览器chrome即将在2020年底停止支持flash,我们程序员该怎么办
查看>>
如何将数据采集到 Elasticsearch 服务
查看>>
面试官:mysql表设计要注意什么?
查看>>
一些精致小众网站收集录
查看>>
计算机科学探秘之linux发展史
查看>>
程序员每天早上早来10分钟的好处
查看>>
互联网30年,泡沫如梦,一个个泡沫和风口过后,会是什么样的结局
查看>>
升级centos 6.8 服务器的gcc
查看>>
网络案例分析之999皮炎平出鹤顶红色号的口红
查看>>
API网关在微服务架构中的应用,这一篇就够了
查看>>