Understanding the Behaviors of BERT in Ranking

Posted Facico

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Understanding the Behaviors of BERT in Ranking相关的知识,希望对你有一定的参考价值。

Understanding the Behaviors of BERT in Ranking

该文章主要是研究BERT在passage re-ranking任务上的效果

数据集

MS MARCO数据集:QA问答数据集,从Bing上的用户搜索日志中的一些query,以及对应的一些候选passage。该任务的要求便是从候选的passage中选择能够回答该query的正确passage,包含一百多万个query和一百多万个passage。ClueWeb数据集类似

四种基于BERT的模型

  • 1.BERT(Rep)
    用顶层的[CLS]来作为询问和文章的表示,然后使用余弦相似度来排序。相当于做成一个representation提取器。

  • 2.BERT(Last-Int)
    用文章的句子模型表示,和询问的原句用一个参数矩阵算出一个分数。相当于一个interaction-based的排序器

  • 3.BERT(Mult-Int)
    在第二个模型的形式上,句子模型表示用bert上每一层的[CLS]来加权

  • 4.BERT(Term-Trans)
    在第一个模型的形式上,对Bert每一层的query和document的每个词之间计算cosine距离,然后取平均。再用这些分数对每层加权求和(为了避免负的cosine干扰匹配分数的平均值,这里做了个relu层)

实验

各个模型的表现

  • 把bert当做representation使用效果不好且近似随机,说明在排序问题上bert不适合做一个representation model(可能是没有归一化)
  • 稍微复杂的模型效果会变差,说明很难在fine-tune中显著地修改预训练的BERT

attention的可视化

y轴是大于average 或 majority attention的token个数

  • 这里说明[SEP],[UNK]这种markers的很重要
  • 当网络越深,attention就传播到整个句子上面,且embedding是与上下文有关的

随机去掉一个词对效果的影响

x轴是未去掉词之前的分数,y轴是去掉某个词之后的分数

  • 说面对bert而言,分数偏向0或1,学习效果较好
  • 去掉某个词之后结果影响不是很大(集中在左下角和右上角),说面bert是一个上下文学习很好的模型

以上是关于Understanding the Behaviors of BERT in Ranking的主要内容,如果未能解决你的问题,请参考以下文章

Understanding LSTM Networks

Understanding sun.misc.Unsafe

转载Understanding and using FireMonkey Layouts

Understanding Tensorflow using Go

py - understanding zip function

py - understanding zip function