11

BERT在文档级排序中的应用

 3 years ago
source link: https://mp.weixin.qq.com/s?__biz=MzIwMTc4ODE0Mw%3D%3D&%3Bmid=2247520621&%3Bidx=1&%3Bsn=76062a6ad21d46881a9bb9f2ecd46e90
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

EnAnQz.gif!mobile

©PaperWeekly 原创 · 作者|金金

单位|阿里巴巴研究实习生

研究方向|推荐系统

jiuMzu2.png!mobile

简介

近年来 BERT 的出现,让预训练模型在各大自然语言处理任务上实现了屠榜。但是由于 BERT 模型本身的设计,使其在处理长度大于 512 个 token 的文本时面临着一些挑战。所以直接将 BERT 应用于文档级排序(document ranking)任务存在一定的困难,具体来说主要体现在以下两个方面:

  • 训练阶段,我们尚不清楚要向模型提供什么形式内容。关键问题是在文档级别的数据集提供了用于文档排序的相关性判断(例如 TREC 集合),即它们是整个文档的注释。显然,对“相关”的判断来自包含“相关内容”的文档,但是未知该内容如何在整个文档中分布。

  • 推断阶段,如果文档太长而无法全部输入 BERT,我们必须决定如何预处理文档。我们可以将其分段,但是有很多设计选择:例如,使用固定宽度的跨度还是诸如句子之类的自然单位?此外,对文档中的不同片段完成推断仍然需要一些聚合分数的方法。

在本文中,我们将介绍目前研究者针对上述问题的提出的一系列解决方案。

IbQFVj6.png!mobile

Birch:基于句子的文档级排序

Birch [1] 针对上述两个问题的解决方案可以总结如下:

  • 通过利用不存在长度问题的数据进行训练,然后将这些相关性匹配模型迁移到目标域/任务中,从而完全避免训练问题。

  • 对于推段问题,将估计文档相关性的任务转换为估计单个句子的相关性的任务,然后汇总结果分数。

具体来说,Birch 要计算文档相关性,对文档中的每个句子进行推断,然后将 top-n 个得分与原始文档得分组合(即 first stage score),如下所示:

Jfyqye2.png!mobile

其中 是根据 BERT 的第 i 个最高得分句子的分数,而对每个句子的推断与 monoBERT 完全相同。换句话说,文档的相关性得分来自原始候选文档得分(例如,来自 BM25)和来自由 BERT 模型确定的文档中最高得分句子贡献的组合。

作者在 Robust04,Core17 和 Core18 三个测试集上 模型的效果,训练阶段,作者分别选用在 MB 数据集、MS MACRO 数据集和先 MS MACRO 数据集上微调 BERT Large,最终结果表明该方案的有效性。

IN363iI.png!mobile

本工作可以带给我们以下两点启发:

  • BERT 具有强大的 zero-shot 跨域相关性分类能力。也就是说,我们可以使用来自一个域的相关性判断来训练 BERT 模型,并将该模型直接应用于不同域中的相关性分类,并实现高水平的有效性。

  • 文档中评分最高的句子的相关性得分可以很好地代表整个文档的相关性。换句话说,似乎可以通过仅考虑几个最重要的句子来准确地估计文档级别的相关性。

ZJfe2i7.png!mobile

BERT-MaxP:基于段落分数聚合的文档级排序

BERT-MaxP [2] 针对上述两个问题的解决方案可以总结如下:

  • 对于训练阶段,作者将文档分割成重叠的段落(passage):将相关文档中的所有段落视为相关,将不相关文档中的所有段落视为不相关。

  • 对于推理阶段,以相同的方式分割文档,估计每个段落的相关性,然后对段落相关性分数进行简单汇总,以得出文档相关性分数。

更详细地讲,文档使用 150 个单词的滑动窗口(跨度为 75 个单词)分成多个段落。针对每个段落的相关性推理,与 monoBERT 完全相同。得到每个段落的分数后,采用以下的三种方式得到文档级的相关性分数:

  • BERT–MaxP:使用最大的段落级相关分数作为文档级相关分数。

  • BERT–FirstP:使用第一段的段落级相关分数作为文档级相关分数。

  • BERT–SumP:使用全部的段落级相关分数和作为文档级相关分数。

作者在 Robust04 和 ClueWeb09b 两个数据集上测试模型效果,评价指标选择 NDCG@20,可以看出该方法显著的优势。

q2qyAr6.png!mobile

本工作主要带给我们两点启发:

  • 简单将所有段落相关分数中的最大值作为文档相关分数效果不错。

  • BERT 可以利用信息需求的丰富语言描述(包括非内容词)来估计相关性,这与以前的关键字搜索技术有所不同。

JFbIRjv.png!mobile

PCGM:基于段落分数累积的文档级排序

作为 BERT–MaxP 的扩展,PCGM [3] 考虑了在训练时对段落级别相关性判断进行分级是否可以得到更有效的排名。针对这一问题,作者在中文新闻语料库中标注了段落级别的累积收益,定义为读者阅读文档至指定段落后会积累的相关信息量。该工作将自然段作为段落。因此,根据定义,文档级别的累积增益是最高的段落级别的累积增益。

基于这些人类注释,作者发现了以下结论:

  • 平均而言,高度相关的文档要比其他类型的文档更长,无论是段落数还是单词数。

  • 文档级别的累积增益越高,用户在通过段落级别的累积增益达到文档级别的累积增益之前需要阅读的段落越多。

这些发现表明,可以从最相关的段落中准确地预测文档是否相关,这与 BERT–MaxP 和 Birch 以及上面引用的用户研究一致。但是,为了准确地区分不同的相关性等级(例如,相关性与高度相关性),模型可能需要积累来自多个段落的分数,这表明 BERT–MaxP 可能不够。直观上,观察多个段落的重要性与整个文档中积累的相关性信息有关。

为了利用其段落级别的相关标签,作者提出了 PCGM 模型,该模型首先应用 BERT 获得单独的查询-段落表示(即 [CLS])。然后,将查询-段落表示的顺序输入 LSTM 进行汇总,并对模型进行训练以预测每个段落的收益。作者将之前段落的预测增益的嵌入与查询段落的表示形式相连,以完成模型。

在推断时,将文档最后段落的收益用作文件级收益。与 Birch 相比,人们可以将 PCGM 视为一种更合理的方法来汇总来自多个段落的分数,前者简单地采用了前 k 个段落得分的加权总和。PCGM 具有两个主要优点:LSTM 能够对段落序列进行建模和提取信号,并且与 BERT–MaxP 和 Birch 不同,该模型可以进行端到端训练。

vy6raqI.png!mobile

PCGM 模型在两个中文测试集上进行了评估。尽管实验结果表明,与 BERT–MaxP 相比,有效性有所提高,但这种提高在统计学上并不显著。

ZJVFFrb.png!mobile

PARADE:基于段落表示聚合的文档级排序

PARADE [4] 是一系列模型,可以将长文本分成多个段落,并对每个段落的 [CLS] 表示形式进行汇总。具体来说,PARADE 将长文本分割为固定数量的固定长度的段落。当文本包含较少的段落时,将在表示聚合过程中对段落进行填充和屏蔽。当文本包含更多段落时,始终保留第一个和最后一个段落,而其余段落将被随机采样。连续的段落部分重叠,以最大程度地减少将相关信息与其上下文分离的机会。

单个段落的相关性表示计算方法如下:

作者提出了四种将一串段落表示聚合为文档表示的变种,具体如下:

  • 对段落表示进行平均池化:

  • 对段落表示执行最大池化:

  • 通过使用前馈网络为每个段落生成注意力权重,计算段落表示的加权平均值:

mEfMvuB.png!mobile

  • 使用两个随机初始化的 transformer 编码器的小堆栈来聚合段落表示,这些编码器将段落表示作为输入。与 BERT 相似,[CLS] 被添加到传递给 transformer 编码器堆栈的通道表示之前;但是,没有 [SEP] 来终止序列。最终 transformer 编码器的 [CLS] 输出表示用作文档表示:

前三种方法将段落表示的每个维度视为独立特征。在所有情况下,最终文档表示都被馈送到具有两个输出节点的全连接层,然后再馈入 softmax 以产生最终相关性得分。

作者在 Robust04 和 Gov2 两个数据集上测试了模型的效果,均优于 Birch 和 BERT-MaxP。

22EjauJ.png!mobile

我们从 PARADE 中看到了两个主要启发:首先,聚合段落表示比聚合段落分数更有效。段落表示要丰富得多,而在计算段落分数时,很多信号已经“丢失”。其次,对长文本进行分段落并执行段落级推断似乎是解决 BERT 长度限制的可行策略,可以作为直接增加 BERT 输入序列最大长度的替代方法。

rmYZZrJ.png!mobile

总结

本文总结了目前研究界针对直接将 BERT 应用于文档级排序(document ranking)任务存在一定的困难这一问题的一些解决方案进行了总结,从句子级分数聚合到段落级分数聚合到段落级表示聚合,层层递进。总体来说,该问题大致已经得到了解决。

muAnmeQ.png!mobile

参考文献

muAnmeQ.png!mobile

[1] Z. Akkalyoncu Yilmaz, W. Yang, H. Zhang, and J. Lin. Cross-domain modeling of sentence-level evidence for document retrieval. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 3490–3496, Hong Kong, China, 2019.

[2] Z. Dai and J. Callan. Deeper text understanding for ir with contextual neural language modeling. In

Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval, pages 985–988. ACM, 2019b.

[3] Z. Wu, J. Mao, Y. Liu, J. Zhan, Y. Zheng, M. Zhang, and S. Ma. Leveraging passage-level cumulative gain for document ranking. In Proceedings of The Web Conference 2020 (WWW 2020), pages 2421–2431, 2020b.

[4] C. Li, A. Yates, S. MacAvaney, B. He, and Y. Sun. PARADE: Passage representation aggregation for document reranking. arXiv:2008.09093, 2020a.

更多阅读

eEBjeeA.png!mobile

UZnQ7b7.png!mobile

ZNFvMzU.png!mobile

2mUBJnB.gif!mobile

# 投 稿 通 道 #

让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢? 答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是 最新论文解读 ,也可以是 学习心得技术干货 。我们的目的只有一个,让知识真正流动起来。

:memo:  来稿标准:

• 稿件确系个人 原创作品 ,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

:mailbox_with_mail:  投稿邮箱:

• 投稿邮箱: [email protected] 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

:mag:

现在,在 「知乎」 也能找到我们了

进入知乎首页搜索 「PaperWeekly」

点击 「关注」 订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击 「交流群」 ,小助手将把你带入 PaperWeekly 的交流群里。

R7nmyuB.gif!mobile

nUvi2i.jpg!mobile


Recommend

  • 51
    • Github github.com 5 years ago
    • Cache

    GitHub - google-research/bert

    README.md BERT Introduction BERT, or Bidirectional Embedding Representatio...

  • 35

    Multi-task learning and language model pre-training are popular approaches for many of today’s natural language understanding (NLU) tasks. Now, Microsoft researchers have released technical details of an AI system that c...

  • 253
    • fancyerii.github.io 5 years ago
    • Cache

    BERT模型详解

    本文详细介绍BERT模型的原理,包括相关的ELMo和OpenAI GPT模型。阅读本文需要先学习Transformer模型,不了解的读者可以先阅读Transformer图解和 Transformer代码阅...

  • 52

    BERT 是谷歌近期发布的一种自然语言处理模型,它在问答系统、自然语言推理和释义检测(paraphrase detection)等许多任务中都取得了突破性的进展。在这篇文章中,作者提出了一些新的见解和假设,来解释 BERT 强大能力的来源。作者将语言理...

  • 25
    • www.tuicool.com 5 years ago
    • Cache

    BERT to the rescue!

    In this post, I want to show how to apply BERT to a simple text classification problem. I assume that you’re more or less familiar with what BERT is on a high level, and focus more on the practical side by showing you ho...

  • 53

    作者: 高开远 学校: 上海交通大学 研究方向: 自然语言处 理 写在前面 ...

  • 44
    • www.tuicool.com 5 years ago
    • Cache

    详解BERT阅读理解

    作者: SunYanCN 研究方向: 自然语言处理 BERT的简单回顾 Google发布的论文《Pre-training of Deep Bidirection...

  • 24
    • www.tuicool.com 4 years ago
    • Cache

    图解Bert之Transformer实战

    一、Transformer简介 1.1、Seq2seq model Transformer(变形金刚)简单来讲,我们可以将其看作一个seq2seq with self-attention model。我们可以这幺理解,Transformer整体作为一个翻译器,输入法文的句子,模型将其翻译...

  • 21
    • flashgene.com 4 years ago
    • Cache

    BERT大火却不懂Transformer?

    Transformer由论文《Attention is All You Need》提出,现在是谷歌云TPU推荐的参考模型。论文相关的Tensorflow的代码可以从GitHub获取,其作为Tensor2Tensor包的一部分。哈佛的NLP团队也实现了一个基于PyTorch的版本,并注释该论文。 在本...

  • 16
    • www.jiqizhixin.com 4 years ago
    • Cache

    BERT在多模态领域中的应用

    BERT (Bidrectional Encoder Representations from Transformers) 自提出后,凭借着 Transformer 强大的特征学习能力以及通过掩码语言模型实现的双向编码,其大幅地提高了各项 NLP 任务的基准表现。 鉴于其强大的学习能力,20...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK