APP下载

基于对抗式数据增强的深度文本检索重排序①

2021-08-02陈丽萍任俊超

计算机系统应用 2021年7期
关键词:集上信息检索排序

陈丽萍,任俊超

(东北大学 理学院,沈阳 110819)

1 引言

近年来,随着互联网技术的不断发展,信息检索领域的相关研究也取得了巨大突破.信息检索是用户获取查询信息的主要方式.信息检索主要是解决从大量候选信息集中获取与所需信息相关的信息资源,返回的相关信息通常根据某种相关性概念进行排名,排名的结果至关重要.因此,对于信息检索领域中排序模型的研究成为一大热点.

在过去的几十年中,研究人员提出了许多不同的排序模型,包括向量空间模型[1],概率模型[2]和LTR(Learning To Rank)模型[3].最高效的检索方法是使用向量空间模型,其方法包括TF-IDF 关键词权重匹配[4],这些方法是基于词的匹配,更容易受到关键词的限制.例如,候选段落集合为:“这个女明星如此漂亮”,“莉莉”.查询问题为:“这个女明星叫什么名字? ”,如果采用TF-IDF 关键词匹配方法,这个查询的最相关答案是“这个女明星如此漂亮”.显然,此方法只能获得与查询相似的段落,无法得到语义的匹配信息.随着机器学习的发展,LTR模型已经取得了巨大的成功,其主要取决于特征的选取,特征的质量和数量决定了模型的质量,一定程度上缓解了向量空间模型带来的不足,但是依然无法获取连续的语义信息.近年来,神经网络发展快速并且在自然语言处理领域取得了重大突破,神经网络模型被应用到信息检索领域中,神经网络信息检索模型[5]被证明可以有效地从原始输入中学习文本的潜在语义信息,并能一定程度上解决了词语不匹配问题.越来越多的研究者探索双重编码结构[6],该结构使用原始查询和检索到的段落作为输入文本,通过one-hot 编码,Word2Vec[7]和sub-word components[8]等词嵌入方法来表示文本.神经网络模型在信息检索应用中得到了广泛推广,例如段落检索、文档检索和段落排序.

信息检索领域中的段落排序任务,其主要框架如图1所示.段落排序任务通常分为两个阶段:第1 阶段是使用简单高效的检索模型来快速检索候选段落集合中的Top-k;第2 阶段是使用相对复杂的排序模型对Top-k候选集进行重排序.本文主要针对第2 阶段,研究查询结果重排序问题.段落重排序不需要二次检索,仅基于原始检索结果进行重排序.当前主流搜索引擎:Google,Baidu,Bing,在输入查询时将返回一系列查询结果,但用户提交的查询词太短或太长,查询字词无法准确表示用户的意图.查询和查询结果之间存在语义上的不匹配,并且无法获得用户所需的查询结果.此外,用户通常只关注排名最高的搜索结果,而排名较高的搜索结果可能包含不相关的文档.该排序结果直接影响用户体验.因此,如何提高排名的准确性并提高用户对查询结果的满意度一直是搜索引擎中的重点研究问题.

图1 段落排序

利用神经网络排序模型对候选段落集合重新排序.神经网络排序模型对于数据质量要求极高,而信息检索数据集中含有较多噪音,并且缺少大量的标签数据,无法准确获取与查询不相关的文档.训练一个能理解查询意图的深度学习模型是困难的.

本文目标是通过不匹配的查询文档对以提高排序模型的性能.针对信息检索数据集不平衡且缺乏高质量的负样本这一问题,我们提出一个深度的、端到端的生成模型,利用不匹配的查询文档对,生成与查询相似、文档不相关的对抗查询.最后,利用新构造的数据训练深度排序模型.

实验结果显示,与基线模型BERT-base 相比,MSMARCO和TrecQA 数据集利用本文方法AQGM+BERT-base 在MRR 指标上分别提升了0.3%、3.2%.由此可见,AQGM (Adversarial Query Generation Model)算法通过生成的对抗查询,增强了负样本质量,使BERTbase 分类模型更具鲁棒性.

2 相关工作

文本检索重排序任务早前的方法更多是利用简单的方法衡量查询和文档相关性,最高效的衡量方法为BM25[9],其核心思想是对于查询中的每个词语,计算和当前文档的相关性得分,然后对查询中所有词语和文档的相关得分进行加权求和,得到最终得分.这种方法简单高效,但是查询结果往往不那么准确.研究人员对于初步相关性得分进一步探索,其中一种思路是利用文档和文档之间的关系进行检索结果重排序,Plansangket等[10]提出基于文档分类实现检索结果重排序,降低了一些分类分数较低的查询结果的等级.Balinski 等[11]利用从文本、超链接获得的文档之间的距离关系来提高文档得分.其次,借助外部语料信息进行文档重排序,Qu 等[12]利用每个主题构造单独的词库来生成文档向量和查询向量.

随着深度学习的快速发展,深度学习模型已经在各大领域展示了卓越的性能,更多研究者将端到端的模型应用到排序任务中.例如DRMM[13],在查询词级别时使用联合深层架构进行相关性匹配;matchpyramid[14],基于word-leval 级别交互的矩阵匹配思想,用一个二维矩阵来代表query和doc中每个word的交互,能捕获更精确的匹配信息,以及目前最流行的预训练模型BERT[15].

尽管深度模型性能强大,但是对于数据的质量要求极高.研究者主要从两方面对数据进行一系列加强:一是查询扩展,Voorhees[16]提出的词汇查询扩展,利用同义词的信息,利用统计转换建模词语关系[17],以及Browm 大学提出的query2query[18]方法,将原始查询利用生成查询进行扩充,这些技术都是通过加强查询理解来匹配更好的文档;二是文档扩充,doc2query[19],利用文档生成其查询,对文档进行扩充.这些方法都是通过丰富文档信息,来得到最好的匹配结果.

近年来,对抗生成网络[20]发展迅速,应用到图像、语音和文本等领域,从噪音数据中生成样本,极大提高模型的鲁棒性.Wang 等人提出IRGAN[21],将对抗生成网络应用到信息检索排序任务中,基于极小极大化博弈理论,使得分类判别器将真正的样本与生成的对抗性样本尽可能准确区分.Bahuleyan 等人提出VED模型[22],增加生成句子的多样性.Nguyen 等人提出QUARTS 模型[23],增强了模型的稳健性和泛化能力.

本文工作受到生成对抗性样本方法的启发,通过生成对抗查询的方式,增加了查询多样性,并构造高质量的负样本对,利用当前主流深度模型BERT,训练分类模型,得到查询文档对的相关性得分.

3 方法

3.1 AQGM 模型

本文提出AQGM (Adversarial Query Generation Model)方法,通过生成对抗查询,得到高质量的负样本对,对数据进行增强.该方法由3 部分组成:(1)基于词的权重方法获得不相关的查询文档对.(2)通过VED(Variational Encoder-Decoder)模型,生成与查询相似、文档不相关的对抗查询,模型结构如图2.(3)得到最终增强的样本{Q+(1−y)Q_gen,P,y}.其中,y代表查询文档对是否匹配.当y=1,(Q,P)是真正的正例;y=0,(Q+Q_gen,P)是通过对抗查询增强的负例.

图2 VED 模型结构

对于每一个query,Qi={qi},都存在一个对应passage集合其中,p+i代表与query 相关的段落,代表与query 不相关的段落.基于词的权重方法获得不相关文档集中与查询得分最高的文档,我们定义查询文档对的相关性得分:

其中,wt代表单词的权重,qit代表qi中的单词,表示某个搜索文档,R代表每个单词和搜索文档的相关性高低,此处我们采用传统的IDF来定义wt:

其中,N为索引中的全部文档数,我们用n(qit)指代包含qit的文档数.接下来是单词qit与段落的相关性得分衡量:

其中,k1,k2,b为调节因子,b对文档长度因子进行调整,k2对查询词频因子进行调整,k1对文档词频因子进行调整.k1+1,k2+1 保证查询词频及文档词频大于1.从K的定义可得,b越大,K值越小,文档长度对相关性得分的影响越大,反之越小;而文档的相对长度越长,K值将越大,则相关性得分会越小.k1按经验设置为2,k2通常为0–1000,b设置为0.75[24].ft为qit在中出现的频率,qft为qit在qi中出现的频率,pl为段落的长度.avgpl为所有段落的平均长度.

通过以上方法可以得到查询和不相关文档的得分,选择其中得分最高的样本对(q,p−),作为训练样本,利用 VED 模型进行训练,模型结构如图2.其中编码器encoder 输入文档P,并输出平均向量m和偏差向量n,m和n作为z的后验正态分布的参数;解码器根据从后验分布提取的样本z生成查询Q_gen.本文通过模型生成的查询,得到高质量的负样本,构造了增强的数据集:{Q+(1−y)Q_gen,P,y},其中Q代表原始查询.

3.2 深度排序模型

通过深度排序模型得到查询文档的相关性得分.本任务建立基于BERT的分类模型.训练样本为三元组的格式:

其中,Ri代表passage是否是query的正确回答,取值为0 或1,我们通过Pointwise的训练方式建立query和passage的关系.具体的,我们将queryqi和passagepi拼接成一个序列输入,如式(6):

其中,表示分隔符,的位置对应的编码表示query和passage的关系.

利用BERT 对其进行编码,训练一个二分类网络:

经过BERT 编码后,我们取最后一层的位置的隐向量hθ(qi,pi)作为query和passage的关系表示.然后通过softmax计算最终得分yi.后续我们通过改进的交叉熵损失函数来优化我们的模型:

其中,β1为调节因子,取值大于1.通过调节因子的设置,使得模型对正样本的错误预测给予更多的关注.

4 实验设置

4.1 数据集

实验采用了两个基准数据集,分别为MSMARCO[25]和TrecQA[26].数据集的统计信息如表1所示.

表1 数据集统计信息

MSMARCO是由微软提出的基于大规模真实场景数据的数据集,该数据集基于Bing 搜索引擎和Cortana 智能助手中的真实搜索查询产生.MSMARCO数据集包括约880 k的不重复passage,约101 k的query.Query 平均长度为5.97,passage 平均长度为56.58.我们采用的测试集为2019 trec 比赛释放的人工标注好的9260 条数据.

TrecQA是由Wang 等人提供的基准数据集,是从TrecQA的第8–13 轨道收集,由真实的问题组成,主要回答“谁”、“什么”、“哪里”和“为什么”等类型的问题.

4.2 评价指标

信息检索排序问题常用评价指标有MRR、MAP和NDCG.在MAP中,文档和查询要么相关,要么不相关,也就是相关度非0 即1.NDCG中做出改进,相关度分成从0 到r的r+1个等级(r可设定).根据实验数据集的特性,MSMARCO 测试数据集的相关度分为0 到3,TrecQA 测试数据集的相关度非0 即1.因此,对于MSMARCO 数据集我们采用NDCG和MRR指标,对于TrecQA 数据集我们采用MAP和MRR指标.

MRR(Mean Reciprocal Rank)平均倒数排序,公式如下:

其中,Q是问题的个数;pi为第i个问题中的第一个正确答案的排名位置.即把第一个正确答案在排序给出结果中的位置取倒数作为它的准确度,再对所有的问题求平均,这个评价指标只关心第一个正确答案.

MAP(Mean Average Precision):单个查询的平均准确率是每篇相关文档检索出后的准确率的平均值.MAP是每个主题平均准确率的平均值.MAP是反映系统在全部相关文档上性能的单值指标.系统检索出来的相关文档越靠前(rank越高),MAP就可能越高.如果系统没有返回相关文档,则准确率默认为0.

NDCG(Normalized Discounted Cumulative Gain)归一化折损累计增益,计算公式如下:

其中,k表示k个文档组成的集合,rel表示第i个文档的相关度.|REL|表示文档按照相关度从大到小排序,取前k个文档组成的集合.

4.3 训练细节

AQGM 模型的encoder和decoder 部分,采用LSTM 网络[27]进行编码解码,隐单元设置为300.通过该模型获得的训练数据:{Q+(1−y)Q_gen,P,y}.后续采用BERT-base 得到查询文档对的相关性得分,使用谷歌预训练的BERT-base-uncased 作为BERT 模型的初始化参数,在下游分类任务上进行微调.通过对语料的分析,在模型中设置的参数如下:输入模型的句子最大长度为max_sentence_length=384;batch_size=64;学习率为2e–5、3e–5和4e–5;优化函数采用Adam[28];调节因子 β1设置为1.1;训练的epoch设置为5.

本文采用MAP、MRR和NDCG@10 指标作为评测模型性能的度量.在测试集上评测AQGM+BERT-base模型和基线模型的得分,并进行对比.对于MSMARCO数据集,设置BM25,BERT-base,Doc2query+BERTbase 作为基准模型,进行实验对比.为进一步证实模型的有效性,在TrecQA 数据集上设置对照试验,分别为K-NRM 模型[29]与AQGM+K-NRM、BERT-base 模型与AQGM+BERT-base和AQGM+BERT-base 模型与Doc2query+BERT-base.

5 实验结果与分析

为得到AQGM+BERT-base 模型的最优性能,本文采用不同的初始学习率在MSMARCO和TrecQA 数据集上进行实验,MRR指标如表2.结果显示,当学习率为3e–5,该模型在MSMARCO 数据集上性能最优;当学习率为2e–5,该模型在TrecQA 数据集上性能最优.

表2 不同学习率下的性能分析(%)

表3和表4展示了不同数据集上,AQGM+BERTbase 模型和基线模型的MRR、MAP和NDCG@10 评价指标得分.

表3 MSMARCO 评测结果(%)

表4 TrecQA 评测结果(%)

分析表3可得,在MSMARCO 数据集上,与BERT-base 模型对比,AQGM+BERT-base 模型融入生成的对抗查询,使MRR@10 指标提升1.2%,证明对抗式数据增强方式能一定程度上提高神经网络排序模型的性能.与基于文档扩充的Doc2query+BERT-base 模型对比,本文模型在MRR@10,NDCG@10 指标分别提升0.3%和1.5%,证明对抗式数据增强相比文档扩充,具有一定的优势.

为进一步证实算法的有效性,本文在TrecQA 数据集上设置实验进行验证,如表4.K-NRM 模型加入对抗式数据增强方法AQGM,使MRR和MAP指标上升2.5%、3.3%;AQGM+BERT-base 模型与BERTbase 模型相比,指标分别提升3.2%、1.3%;AQGM+BERT-base 模型与Doc2query+BERT-base 模型相比,指标分别提升3.0%、0.7%.以上分析可得,对抗式数据增强方式的有效性.

综上,本文模型相比基线模型,在MSMARCO和TrecQA 数据集上性能均有一定提升,在排序学习中融入对抗查询,提高模型的稳健性.在实际检索文档过程中,返回与查询相关度高的文档,能提高用户的搜索兴趣.

6 结论与展望

本文探索对比得到一种更适应于文本检索重排序的模型.AQGM+BERT-base 模型在MS MARCO和TrecQA 数据集上得到了有效验证.该方法简单且易理解,在数据增强方面,提供了一种新的思路,从更具有挑战性的生成对抗查询的角度出发,获得高质量的负样本.此次尝试获得了有效的验证,这为之后在这一领域的探索打开了良好的开端.

猜你喜欢

集上信息检索排序
关于短文本匹配的泛化性和迁移性的研究分析
作者简介
恐怖排序
节日排序
对大学案理研讨课学生信息检索意识若干问题的思考
中外档案网站信息检索功能比较研究
师如明灯,清凉温润
几道导数题引发的解题思考
公共图书馆信息检索服务的实践探索——以上海浦东图书馆为例
2008年高考考前模拟试题(二)及略解