基于BERT与主题模型联合增强的长文档检索模型

2023-07-04 02:51覃俊刘璐刘晶叶正张泽谨
关键词:文档排序检索

覃俊,刘璐,刘晶,叶正,张泽谨

(中南民族大学 计算机科学学院 & 湖北省制造企业智能管理工程技术研究中心 & 农业区块链与智能管理湖北省工程研究中心,武汉 430074)

Ad-hoc文档检索是在给定用户查询的情况下,从大型文档库中返回一组与查询相关的文档列表.现在的Ad-hoc文档检索通常采用二级或多级排序架构,其中第一阶段检索致力于从大型文档库中召回一组与查询相关的文档候选集,第二阶段或之后的阶段使用重排序器对第一阶段产生的相关性文档候选集进行重新排序.早期一定数量的模型作为重排序器被提出,模型可分为两大类,即传统的基于表示学习的文档检索排序模型[1-3]和基于交互学习的文档检索排序模型[4-7].最近,BERT[8]和GPT[9]系列等经过预先训练上下文表示的预训练模型在各种自然语言处理任务中效果都有不同程度的提升,其中也包含Ad-hoc文档检索领域.预训练模型利用大量数据的共性对预训练文本编码器进行训练,并在下游任务中根据不同任务数据的特性微调预训练模型,使之更适用于下游任务.

尽管预训练模型的引入使得Ad-hoc文档检索任务取得了进步,但是由于 Ad-hoc 文档检索任务中文档库通常由大量的长文本组成,而预训练模型的输入长度限制给Ad-hoc 文档检索任务带来了挑战.早期为了将预训练模型引入Ad-hoc文档检索任务通常对长文档采用截断处理,例如monoBERT[10].但截取处理显然丢失了文档的大部分信息,并且与查询相关的文档内容有极大可能分散在文档的各个位置,会造成大量假负例的存在.有研究者提出了利用滑动窗口将文档分割为段落[11], 也有研究者提出将文档划分为句子集[12]等方法充分利用文本信息.上述方法虽然在一定程度上缓解了长文本由于截断产生的大量文本信息丢失的问题,但仍存在一定的问题.比如说采用将文档划分为句子集的方法,文档划分为句子后,对于句子集中超过预训练模型输入长度的句子,在读取句子时采用的也是直接截取.

本文采用将文档划分为句子集的方法来解决因截断而导致的大量文本信息丢失问题,并针对BERT模型对句子截断引起的文本信息丢失问题,引入以非监督学习的方式对文档的隐含语义结构进行聚类的主题模型[13]来补充句子的完整文本信息,并利用隐含狄利克雷分布(LDA)[13]将集中每篇文档的主题以概率分布的形式给出,然后通过分析分到同一主题下的文档抽取其实际的主题,根据主题分布进行主题聚类或文本分类.主题模型[13]可为Ad-hoc文档检索的查询与句子间的匹配建模提供额外的特征.在Ad-hoc文档检索的第一阶段,研究者们就提出利用主题模型来生成相关性文档候选集的产生[14-15].由于主题模型已被用于领域自适应[16-17],因此主题模型对于处理特定领域的词卓有成效.最近神经体系结构方面的研究表明,主题的整合可以改善其他任务,如机器问答[18]、机器翻译[19]、文本摘要[20]和语义相似度检测[21].因此提出一种融合主题模型和BERT的结构.本文的贡献点如下:

(1) 提出RWT-BERT,它是一个组合BERT模型、LDA主题模型和R-drop[22]的Ad-hoc文档检索模型.

(2) 实验证明,LDA主题模型能学习到领域特定词的良好特征作为数据集的额外特征来为Adhoc文档检索中查询与句子间的匹配建模提供积极帮助.RWT-BERT在3个Ad-hoc文档检索数据集上取得了进步,在nDCG@20和更严格的指标上都优于Birch[12]和其他基于BERT表征的Ad-hoc文档检索模型.

1 相关工作

深度学习被引入Ad-hoc文档检索领域,使得Ad-hoc文档检索从简单的基于关键词匹配的检索[23]向深层的语义检索更近了一步.当前基于分布式假设[24-25]的深度文本匹配模型是深度学习Ad-hoc文档检索研究的主流模型.根据分布式假设,用上下文表示词的语义可以避免很多问题,例如由一词多义引起的误匹配问题等.根据研究侧重点的不同,可将深度文本匹配模型划分为3种:深度语义表示匹配模型[1-3]、深度文本交互匹配模型[4-7]和联合文本匹配模型[26-28].

深度语义表示匹配模型一般采用一个编码器分别对查询和文档进行编码,把代表查询与文档的向量进行融合后,再经过一个浅层的分类器,生成查询与文档的匹配分数.但深度语义表示匹配模型的缺点在于,分别从查询与文档中单独提取特征,很难捕获匹配中的结构信息,缺乏对查询与文档精确匹配信号建模的能力,模型的性能依赖于模型的文本表示能力.随着文本语义表示能力更好的预训练模型的出现,将预训练模型整合到深度语义表示匹配模型中,进一步提高模型的排序性能成了一种自然而然的选择.

NOGUEIRA等[10]首次将预训练模型BERT引入Ad-hoc信息检索领域,将查询与文档构造的输入标记(对于超过BERT的输入长度的输入标记采取截断处理)传递给BERT,为每个标记生成上下文向量表示,并将上下文向量表示作为单层全连接网络的输入,以获得候选文档与查询相关的概率表示.但对于长文档采用直接截断的做法,会丢失大量的文本信息.

针对截断引起的大量文本信息丢失的问题,DAI等[11]将文档划分段落后,估计每个段落的相关性,然后对段落相关性得分进行简单的分数聚合,得出整个文档相关性得分.但笼统地将相关文档中的所有段落归类为相关段落,与实际情况不符.YILMAZ等[12]提出在训练阶段,通过利用不存在长度问题的数据(即训练数据集中的文档没有超过BERT的输入长度)来训练模型,然后将这些相关匹配模型转移到Ad-hoc文档检索任务中,完全避免了文档超过BERT输入限制而导致的不能使用完整文档微调BERT的问题.在推理阶段,将估计文档相关性任务转换为估计单个句子的相关性任务,并汇总句子结果分数,但单个句子仍然存在超出BERT模型输入限制的缺陷.MACAVANEY等[26]提出CEDR模型对长文档分割成块,并且BERT推理被独立地应用于每个块.CEDR通过平均每个块的[CLS]表示来创建聚合[CLS]表示.与深度文本交互匹配模型一样,CEDR在来自查询的术语和来自候选文本的术语之间构建相似矩阵,然后,将每个块中候选文本的术语上下文嵌入连接起来,形成整个文本的上下文嵌入序列.但由于模型过大,效率不高.

2 RWT-BERT模型

在本节中,首先介绍Ad-hoc文档检索任务的问题说明,然后介绍本文提出的Ad-hoc文档检索模型RWT-BERT,最后介绍模型的训练方法及检索方法.

2.1 Ad-hoc文档检索问题说明

给定一个查询,Ad-hoc文档检索的目的是从一个大型语料库中获取一个以与查询相关程度为排序基准的文档排序列表.形式上,给定一个数据集其中Qi为用户查询,Di=[di1,di2,…,dik]表示查询Qi在Ad-hoc文档检索第一阶段返回的查询相关的文档候选集列表.简单来说,Ad-hoc文档检索是从C学习到一个模型,该模型赋予相关性高的查询-文档对高分,赋予不相关的文档对低分.然后对任何一个查询-文档对(q, d),模型可以给出score(q, d)反映查询q与文档d之间的相关性分数,从而可以根据模型预测的分数对语料库C中的文档进行排序.

2.2 RWT-BERT模型

本文研究主题模型是否能在Ad-hoc信息检索领域提高BERT模型的性能.针对Ad-hoc信息检索任务构建了如图1所示的模型.

图1 RWT-BERT模型架构Fig.1 Model architecture of RWT-BERT

图2 Core17的β取值Fig.2 β Value of Core17

图3 Core18的β取值Fig.3 β Value of Core18

图4 Robust04的β取值Fig.4 β Value of Robust04

为了解决Ad-hoc信息检索任务引入BERT预训练模型带来的输入限制问题,将文档以句子为单位进行划分,即di=[Si1,Si2,…,Sim],m为文档的句子数目.根据BERT模型对输入的长度限制对句子进行截取和填充后为Si=[ti1,ti2,…,til],输入的文档为查询qi=[ti1,ti2,…,tjr]和句子s'i.以[CLS] [tj1,tj2,…,tjr] [SEQ] [ti1,ti2,…,til] [SEQ]的形式作为BERT模型的输入,使用CLS Token相对应的BERT模型的最后一层的CLSvec作为查询与句子的结对表示:

引入LDA主题模型[13]来对仅仅使用BERT产生的文本信息丢失进行补充,将查询qj和句子si分别利用LDA主题特征编码器进行主题表征,对查询和句子中的每个词进行词语主题表示,每个词Ti都对应一个词主题向量表示,如公式(2)所示:

其中,wi为词Ti对应的词主题向量.

再分别对查询和句子的主题词向量表示进行平均以获得整体的查询主题词向量表示和句子主题词向量表示,如公式(3),(4)所示:

其中,r为查询中的单词数目,L为句子中的单词数目,WQ为查询主题词向量表示,WS为句子主题词向量表示.

综上,可以获得查询-句子对的BERT向量表示、查询与句子的LDA主题模型主题词向量表示,再将得到的向量采取拼接的方式进行组合获得融合向量F,如公式(5)所示:

在融合了语义信息和主题信息的拼接向量F基础上,对文本信息进行深入挖掘.构建提取融合浅层文本的主题特征与BERT向量表示的深层文本信息的神经网络结构来提取查询与句子相似的特征,并以此特征F'作为模型得分的根据,如公式(6)所示:

将F’送入Softmax层得到预测分数y,如公式(7)所示:

由于将文档划分为句子集,所以本文选取文档中得分最高的前k个句子,使用这k个句子加权求和的分数来代表整个文档的分数.为了进一步提高检索性能,将原始排序分数与RWT-BERT模型得到的排序分数做线性组合,则最后文档的分数为Sf,计算过程如公式(8)所示:

其中Scoreinit为初始排序分数即使用BM25+RM3[29-30]模型得到的查询对应文档的排序分数,Scorererank为RWT-BERT模型输出的排序分数,β表示初始检索模型所占比重,1-β为RWT-BERT模型所占比重,计算不同的β对检索性能的影响,并选取最佳结果.

2.3 模型训练

在训练过程中,使用交叉熵损失函数来优化所提出模型中的所有参数,即:

其中,yi表示样本i的标签,pi为样本i预测为正类的概率.此外,在上述损失中引入一个简单有效的双向Kullback-Leibler(KL)正则化技巧R-drop[22],引入的R-drop通过最小化两个子模型输出的同一数据样本的两个分布之间的双向KL 散度,使得两个分布是一致的,如公式(10)所示:

其中,P1和P2为RWT-BERT模型输出的同一数据样本的两个分布.

综上所述,本文使用的损失函数Llast如下:

其中L为交叉损失函数;Lco为同一数据样本的两个分布之间的差距,α是超参数,经过初步实验探索,α取值为4.

3 实验结果与分析

3.1 实验设置

3.1.1 数据集及评估指标

本文在Robust04、Core17、Core18三个标准的TREC评测数据集上进行了端到端的Ad-hoc文档检索排序实验.表1总结了3个TREC数据集的相关信息.

表1 实验数据集的统计信息Tab.1 Statistics of the experimental datasets

本文使用3个评估指标来对模型的有效性进行测试:平均准确率均值(MAP)、Top-20准确率(P@20)和归一化折算累计增益(nDCG@20).

3.1.2 模型配置

实验使用Anserini工具包进行第一阶段检索.对于第二检索阶段,根据初步探索将k设置为3;对于查询与句子将其拼接长度填充到512个词.在本阶段检索中,首先在MS MARCO数据集和MB数据集上使用经过微调的BERTLarge模型,该模型的所有参数为340 M.在微调过程中采用AdamW算法进行优化,初始学习率为1×10-5,衰减指数为0.1,Epochs为5,batch_size为16;然后,在经过微调的BERTLarge模型上进行RWT-BERT模型的实验推理,推理过程中采用AdamW算法进行优化,初始学习率为1×10-7,衰减指数为0.1,batch_size为16.

3.2 模型对比

在本小节中,将RWT-BERT与现有基线进行对比,包括:

BM25+RM3[29-30]:该模型采用BM25经典概率检索模型,加上RM3作为扩展查询,以此作为文档检索任务的一个强基准模型,实验中采用Anserini默认参数.

BERT-MaxP[11]:该模型利用滑动窗口将长文档划分成段落,将划分后的段落与对应查询输入BERT中,取分数最大的段落作为整个文档的分数.

Birch[12]:该模型将长文档划分为以句子为单位的句子集,并且利用BERT具有强大的域转移特性.利用其他数据集学习到的相关性特征,再在目标数据集上进行测试.

RWT-BERT:该模型为本文提出的模型,实验中直接加载已经在MS MARCO数据集和MB数据集上微调过的预训练模型.

如表2所示,RWT-BERT模型在3个数据集上对于nDCG@20和P@20的评价指标,都有不同程度的提高.

表2 模型对比Tab.2 Model comparison

综上分析,对于主题模型是如何提高BERT模型信息检索的性能,认为主要有如下两点原因:

首先,由于BERT模型对输入文本长度的限制,即便将文档划分为句子,也有一定数量的句子单词数超过BERT的输入长度限制.由于主题模型没有长度限制,所以本实验可以利用主题模型达到保留句子完整语义的目的.

其次,由于领域特定词和命名实体词的存在,对于训练前不太可能出现的领域特定词和命名实体词,BERT模型可能没有学习到好的表征,因此无法做出正确的预测.在这里,主题模型可以作为数据集特定信息的额外来源,具体示例如表3所示.

表3 在Core17中的预测和人工注解Tab.3 Forecast and manual annotation in Core17

3.3 参数分析

3.3.1 主题模型向量表示维度

在本文中LDA主题模型生成的向量维度是一个超参数.因此在Ad-hoc信息检索任务上,对不同数据集上采用不同向量维度进行了分析,实验随机抽取了各个数据集各五分之一的数据进行实验,通过nDCG@20评价指标的值来探索向量维度不同取值对Ad-hoc文档检索性能的影响,实验结果如表4所示.

表4 主题模型向量维度Tab.4 Topic model vector dimension

根据表4中的数据,实验在Core17数据集上选取向量维度为100,在Core18数据集上选取向量维度为70,在Robust04数据集上选取向量维度为100.

3.3.2 初始模型所占比重

如图2-4所示β取不同值时,模型的表现有所不同,β表示初始检索模型所占比重,实验通过计算nDCG@20值的变化来探索β不同取值对Ad-hoc文档检索性能的影响.实验对每个数据集都采用五折交叉验证.

通过实验对比,同一个数据集中不同的β取值对结果都有所影响,但β取值的波峰基本在[0.1,0.2]这个区间内,也说明了RWT-BERT模型的Scorererank分数对实验结果影响较大.

4 结论

本文提出了一个基于BERT联合LDA主题模型的联合学习模型,该模型引入预训练模型来更好地获取查询与句子的交互语义信息,有效地解决了分别从两个对象单独提取特征时很难捕获匹配中的结构信息的问题.该模型通过引入LDA主题模型的文本表征来补充丢失的全句信息,并为LDA主题模型的表征和BERT模型的交互表征建立了联合网络.该模型引入了R-drop来解决对于交互网络中dropout引起的训练和推理阶段之间存在不可忽视的不一致性,使得Ad-hoc信息检索性能得到提升,实现了nDCG@20、P@20精度的提高,并可以推广到不同的数据集.在未来工作中,计划在其他大规模和更复杂的Ad-hoc信息检索数据集上评估所提出的方法,并准备将句子与查询的BERT交互模型替换为双塔结构,在保证模型性能的前提下来提升检索的效率.

猜你喜欢
文档排序检索
浅谈Matlab与Word文档的应用接口
排序不等式
有人一声不吭向你扔了个文档
恐怖排序
2019年第4-6期便捷检索目录
节日排序
基于RI码计算的Word复制文档鉴别
专利检索中“语义”的表现
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
国际标准检索