近年来, 随着互联网技术的不断发展, 信息检索领域的相关研究也取得了巨大突破. 信息检索是用户获取查询信息的主要方式. 信息检索主要是解决从大量候选信息集中获取与所需信息相关的信息资源, 返回的相关信息通常根据某种相关性概念进行排名, 排名的结果至关重要. 因此, 对于信息检索领域中排序模型的研究成为一大热点.
在过去的几十年中, 研究人员提出了许多不同的排序模型, 包括向量空间模型[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阶段是使用简单高效的检索模型来快速检索候选段落集合中的
利用神经网络排序模型对候选段落集合重新排序. 神经网络排序模型对于数据质量要求极高, 而信息检索数据集中含有较多噪音, 并且缺少大量的标签数据, 无法准确获取与查询不相关的文档. 训练一个能理解查询意图的深度学习模型是困难的.
本文目标是通过不匹配的查询文档对以提高排序模型的性能. 针对信息检索数据集不平衡且缺乏高质量的负样本这一问题, 我们提出一个深度的、端到端的生成模型, 利用不匹配的查询文档对, 生成与查询相似、文档不相关的对抗查询. 最后, 利用新构造的数据训练深度排序模型.
实验结果显示, 与基线模型BERT-base相比, MSMARCO和TrecQA数据集利用本文方法AQGM+BERT-base在MRR指标上分别提升了0.3%、3.2%. 由此可见, AQGM (Adversarial Query Generation Model)算法通过生成的对抗查询, 增强了负样本质量, 使BERT-base分类模型更具鲁棒性.
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)是通过对抗查询增强的负例.
对于每一个query, Qi={qi}, 都存在一个对应passage集合
$score\left( {{q_i},p_{i,j}^ - } \right)\; = \sum\limits_t^k {{w_t}} R\left( {{q_{it}},p_{i.j}^ - } \right)\;$ | (1) |
其中, wt代表单词的权重, qit代表qi中的单词,
${w_t}\; = \log \frac{{N - n\left( {{q_{it}}} \right) + 0.5}}{{n\left( {{q_{it}}} \right) + 0.5}}$ | (2) |
其中, N为索引中的全部文档数, 我们用n(qit)指代包含qit的文档数. 接下来是单词qit与段落
$R\left( {{q_{it}},p_{i.j}^ - } \right)\; = \frac{{{f_t}{\rm{\cdot}}\left( {{k_1} + 1} \right)}}{{{f_t} + K}}\;.\frac{{q{f_t}{\rm{\cdot}}\left( {{k_2} + 1} \right)}}{{q{f_t} + {k_2}}}$ | (3) |
$K = {k_1}\left( {1 - b + b\frac{{pl}}{{avgpl}}} \right)$ | (4) |
其中, 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在
通过以上方法可以得到查询和不相关文档的得分, 选择其中得分最高的样本对(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的分类模型. 训练样本为三元组的格式:
$C = \left( {{q_i}} \right.,{p_i},\left. {{R_i}} \right)$ | (5) |
其中, Ri代表passage是否是query的正确回答, 取值为0或1, 我们通过Pointwise的训练方式建立query和passage的关系. 具体的, 我们将queryqi 和passagepi拼接成一个序列输入, 如式(6):
${X_i} = \left[ { < CLS > ,{q_i}, < SEP > ,\left. {{p_i}} \right]} \right.$ | (6) |
其中, < SEP>表示分隔符, <CLS>的位置对应的编码表示query和passage的关系.
利用BERT对其进行编码,训练一个二分类网络:
${y_i}\; = softmax \left( {{h_{\rm{\theta}} }\left( {{q_i},{p_i}} \right)} \right)$ | (7) |
经过BERT编码后, 我们取最后一层的<CLS>位置的隐向量
$L = - \left[ {{{\rm{\beta}} _1}{R_i}\cdot\log \left( {{y_i}} \right) + \left( {1 - {R_i}} \right)\cdot\log \left( {1 - {y_i}} \right)} \right]\;\;$ | (8) |
其中,
实验采用了两个基准数据集, 分别为MSMARCO[25]和TrecQA[26]. 数据集的统计信息如表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)平均倒数排序, 公式如下:
$MRR = \frac{1}{Q}\sum\limits_{i = 1}^{|Q|} {\frac{1}{{{p_i}}}} $ | (9) |
其中, Q是问题的个数; pi为第i个问题中的第一个正确答案的排名位置. 即把第一个正确答案在排序给出结果中的位置取倒数作为它的准确度, 再对所有的问题求平均, 这个评价指标只关心第一个正确答案.
MAP(Mean Average Precision): 单个查询的平均准确率是每篇相关文档检索出后的准确率的平均值. MAP是每个主题平均准确率的平均值. MAP是反映系统在全部相关文档上性能的单值指标. 系统检索出来的相关文档越靠前(rank 越高), MAP就可能越高. 如果系统没有返回相关文档, 则准确率默认为0.
NDCG (Normalized Discounted Cumulative Gain)归一化折损累计增益, 计算公式如下:
$NDCG@k = \frac{{DCG@k}}{{IDCG@k}}$ | (10) |
$DCG@k = \sum\limits_{i = 1}^k {\frac{{{2^{re{l_i}}} - 1}}{{{{\log }_2}(i + 1)}}} $ | (11) |
$IDCG@k = \sum\limits_{i = 1}^{|REL|} {\frac{{{2^{re{l_i}}} - 1}}{{{{\log }_2}(i + 1)}}} $ | (12) |
其中, 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]; 调节因子
本文采用MAP、MRR和NDCG@10指标作为评测模型性能的度量. 在测试集上评测AQGM+BERT-base模型和基线模型的得分, 并进行对比. 对于MSMARCO数据集, 设置BM25, BERT-base, Doc2query+BERT-base作为基准模型, 进行实验对比. 为进一步证实模型的有效性, 在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数据集上性能最优.
表3和表4展示了不同数据集上, AQGM+BERT-base模型和基线模型的MRR、MAP和NDCG@10评价指标得分.
分析表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模型与BERT-base模型相比, 指标分别提升3.2%、1.3%; AQGM+BERT-base模型与Doc2query+BERT-base模型相比, 指标分别提升3.0%、0.7%. 以上分析可得, 对抗式数据增强方式的有效性.
综上, 本文模型相比基线模型, 在MSMARCO和TrecQA数据集上性能均有一定提升, 在排序学习中融入对抗查询, 提高模型的稳健性. 在实际检索文档过程中, 返回与查询相关度高的文档, 能提高用户的搜索兴趣.
6 结论与展望本文探索对比得到一种更适应于文本检索重排序的模型. AQGM+BERT-base模型在MS MARCO和TrecQA数据集上得到了有效验证. 该方法简单且易理解, 在数据增强方面, 提供了一种新的思路, 从更具有挑战性的生成对抗查询的角度出发, 获得高质量的负样本. 此次尝试获得了有效的验证, 这为之后在这一领域的探索打开了良好的开端.
[1] |
Salton G, Wong A, Yang CS. A vector space model for automatic indexing. Communications of the ACM, 1975, 18(11): 613-620. DOI:10.1145/361219.361220 |
[2] |
Robertson SE, Jones KS. Relevance weighting of search terms. Journal of the American Society for Information Science, 1976, 27(3): 129-146. DOI:10.1002/asi.4630270302 |
[3] |
Liu TY. Learning to rank for information retrieval. Foundations and Trends in Information Retrieval, 2009, 3(3): 225-331. |
[4] |
Wu HC, Luk RWP, Wong KF, et al. Interpreting TF-IDF term weights as making relevance decisions. ACM Transactions on Information Systems, 2008, 26(3): 13. |
[5] |
Mitra B, Craswell N. An introduction to neural information retrieval. Hanover: Now Foundations and Trends, 2018.
|
[6] |
Lee K, Chang MW, Toutanova K. Latent retrieval for weakly supervised open domain question answering. arXiv preprint arXiv: 1906.00300, 2019.
|
[7] |
Goldberg Y, Levy O. Word2Vec explained: Deriving Mikolov et al.’s negative-sampling word-embedding method. arXiv preprint arXiv: 1402.3722, 2014.
|
[8] |
Kim Y, Jernite Y, Sontag D, et al. Character-aware neural language models. Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence. Phoenix, AZ, USA. 2016.
|
[9] |
Robertson S, Zaragoza H. The probabilistic relevance framework: BM25 and beyond. Foundations and Trends® in Information Retrieval
, 2009, 3(4): 333-389. |
[10] |
Plansangket S, Gan JQ. Re-ranking Google search returned web documents using document classification scores. Artificial Intelligence Research, 2017, 6(1): 59-68. |
[11] |
Baliński J, Daniłowicz C. Re-ranking method based on inter-document distances. Information Processing & Management, 2005, 41(4): 759-775. |
[12] |
Qu YL, Xu GW, Wang J. Rerank method based on individual thesaurus. NTCIR Workshop, 2007.
|
[13] |
Guo J, Fan Y, Ai Q, et al. A deep relevance matching model for Ad-hoc retrieval. Proceedings of the 25th ACM International on Conference on Information and Knowledge Management. Indianapolis, IN, USA. 2016. 55–64.
|
[14] |
Pang L, Lan YY, Guo JF, et al. A study of MatchPyramid models on Ad-hoc retrieval. arXiv preprint arXiv: 1606.04648, 2016.
|
[15] |
Devlin J, Chang MW, Lee K, et al. BERT: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv: 1810.04805, 2019.
|
[16] |
Voorhees EM. Query expansion using lexical-semantic relations. In: Croft BW, van Rijsbergen CJ, eds. SIGIR’94. London: Springer, 1994. 61–69.
|
[17] |
Berger A, Lafferty J. Information retrieval as statistical translation. Proceedings of the 22nd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. Berkeley, CA, USA. 1999. 222–229.
|
[18] |
Zerveas G, Zhang RC, Kim L, et al. Brown University at TREC deep learning 2019. Proceedings of the 8th Text Retrieval Conference (TREC) Notebook 2019. Gaithersburg, ML, USA. 2019.
|
[19] |
Nogueira R, Yang W, Lin J, et al. Document expansion by query prediction. arXiv preprint arXiv: 1904.08375, 2019.
|
[20] |
Goodfellow IJ, Pouget-Abadie J, Mirza M, et al. Generative adversarial networks. Advances in Neural Information Processing Systems, 2014, 3(2672): 2680. |
[21] |
Wang J, Yu LT, Zhang WN, et al. IRGAN: A minimax game for unifying generative and discriminative information retrieval models. Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval. Shinjuku, Japan. 2017. 515–524.
|
[22] |
Bahuleyan H, Mou LL, Vechtomova O, et al. Variational attention for sequence-to-sequence models. arXiv: 1712.08207, 2018.
|
[23] |
Nguyen TV, Rao N, Subbian K. Learning robust models for e-commerce product search. arXiv: 2005.03624, 2020.
|
[24] |
Yang PL, Fang H, Lin J. Anserini: Reproducible ranking baselines using lucene. Journal of Data and Information Quality, 2018, 10(4): 16. |
[25] |
Bajaj P, Campos D, Craswell N, et al. MS MARCO: A human generated Machine reading Comprehension dataset. arXiv: 1611.09268, 2018.
|
[26] |
Kingma DP, Ba JL. Adam: A method for stochastic optimization. Proceedings of the 3rd International Conference on Learning Representations. San Diego, CA, USA. 2015.
|
[27] |
Sundermeyer M, Schlüter R, Ney H. LSTM neural networks for language modeling. Proceedings of the Interspeech, 13th Annual Conference of the International Speech Communication Association. Portland, ON, USA. 2012.
|
[28] |
Wang MQ, Smith NA, Mitamura T. What is the jeopardy model? A quasi-synchronous grammar for QA. Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Prague, Czech Republic. 2007. 22–32.
|
[29] |
Xiong CY, Dai ZY, Callan J, et al. End-to-end neural Ad-hoc ranking with kernel pooling. Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval. Shinjuku, Japan. 2017. 55–64.
|