Press "Enter" to skip to content

BERT在文档级排序中的应用

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

©PaperWeekly 原创 · 作者|金金

 

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

 

研究方向|推荐系统

 

 

简介

 

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

 

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

 

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

 

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

 

 

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

 

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

 

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

 

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

 

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

 

 

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

 

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

 

 

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

 

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

 

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

 

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

 

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

 

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

 

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

 

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

 

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

 

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

 

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

 

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

 

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

 

 

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

 

 

总结

 

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

 

 

参考文献

 

 

[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.

Be First to Comment

发表评论

邮箱地址不会被公开。 必填项已用*标注