multi-task learning for document ranking and query suggestion(2018ICLR)

在这里插入图片描述

  BM25是基于查询词和文档词的精确匹配,并采用各种平滑、加权和归一化技术。

Related Work

近年来,基于深度神经网络的ad-hoc检索方法取得了长足的进步。现有的神经网络排名模型分为两类:**representation focused interaction focused **。

 representation focused:
 Po-Sen Huang, Xiaodong He, Jianfeng Gao, Li Deng, Alex Acero, and Larry Heck. Learning deep structured semantic models for web search using clickthrough data. Proceedings of the 22nd ACM International on Conference on Information and Knowledge Management, pp. 2333–2338, 2013.
 Jianfeng Gao, Li Deng, Michael Gamon, Xiaodong He, and Patrick Pantel. Modeling interestingness with deep neural networks, June 13 2014. US Patent App. 14/304,863.
 interaction focused:
 Jiafeng Guo, Yixing Fan, Qingyao Ai, and W Bruce Croft. Semantic matching by non-linear word transportation for information retrieval. In Proceedings of the 25th ACM International on Conference on Information and Knowledge Management, pp. 701–710. ACM, 2016b.
  1. 早期的神经排序模型主要集中在基于representation focused的模型上,首先将查询和文档嵌入到连续向量中,然后根据它们嵌入的相似度计算排名。
  2. interaction focused的神经模型,从词级交互中学习查询文档匹配模式。为了进一步改进,可以将交互和面向表现的模型结合起来。

介绍

通常,用户查询日志被划分为搜索session,即同一用户在短时间间隔内发出的查询和单击序列。搜索session提供了关于用户意图的有用上下文信息,并有助于缩小歧义,同时对当前查询的文档进行排序,并预测用户将提交的下一个查询,即上下文感知。由于用户的点击行为和查询重新格式化都是由底层搜索意图驱动的,因此联合建模这两个任务可以使彼此受益。本文提出一个称为多任务神经session框架(M-NSRF)来预测用户在搜索会话中的结果点击和未来的查询
在这里插入图片描述
M-NSRF的一般工作流程如图1所示。给定来自同一搜索session的一系列查询,例如“cheap furniture”和“craig list virginia”,M-NSRF经过训练,可以预测当前查询和下一个查询“cheap furniture for sale“得点击结果。很明显,在这个搜索会话中,用户一直在重新编写查询,因为他/她的信息需求没有通过先前提交的查询中的结果点击来满足,这反映在添加和删除的查询词中。这样的修改暗示了他/她可能想点击下一步。结果点击建模和查询重构相互加强,从而揭示用户的潜在搜索意图。在M-NSRF中,将用户的搜索意图建模为一个session级的循环状态,这种状态的学习由文档排序和查询预测任务来辅助。

多任务神经会话关联框架

在这里插入图片描述

在这里插入图片描述

将session定义为一系列查询, Q Q Q={ Q 1 Q_1 Q1,…, Q n Q_n Qn},由用户在短时间间隔内按时间顺序提交,以满,足特定的搜索意图。session中的每个查询 Q i Q_i Qi都与一组相关文档 D D D={ D 1 D_1 D1,…, D m D_m Dm},需要根据它与查询的相关性进行排序,并且 o o o={ o 1 o_1 o1,…, o m o_m om}是 D D D中每个文档的相关标签集。在典型的搜索引擎日志中, o j o_j oj通常通过用户单击来近似,例如,当且仅当文档 D j D_j Dj被单击时, o j o_j oj= 1 1 1。一个查询 Q i Q_i Qi和文档 D j D_j Dj由一系列字组成,即 Q i Q_i Qi={ w w w 1 ^1 1 i _i i,…, w w w q ^q q i _i i}和 D j D_j Dj={ w w w 1 ^1 1 j _j j,…, w w w d ^d d j _j j},其中 q q q=| Q i Q_i Qi |和 d d d=| D j D_j Dj |分别是查询和文档长度。 V V V是在查询和相关文档上构建的词汇表的大小。

文档排序是指在用户的搜索意图下,根据检索结果与给定查询的相关性对检索结果进行排序的任务。准确地建模文档和查询之间的相关性是这项任务的关键。本文将相关文档的排序建模为一个点式分类问题,目标是预测查询和文档之间的关联标签。本文得解决方案可以扩展到成对或列表排序模型。

查询suggestion是指在同一个session中,根据之前的查询{ Q 1 Q_1 Q1,…, Q i Q_i Qi − _- 1 _1 1}预测下一个查询 Q i Q_i Qi的任务。以帮助他们探索搜索空间。关键的挑战是保持被预测的查询和用户原始查询之间的语义一致性,这与用户的搜索意图有关

传统的IR方法分别考虑文档排序和查询建议任务,尽管这两个任务都是由用户潜在的搜索意图驱动的。相比之下,M-NSRF设计成通过在会话中嵌入共享搜索上下文来联合学习文档ranker和query recommender 。基于从同一会话中所有先前的查询和单击推断出的潜在会话状态,文档ranker被训练为预测当前查询的候选文档中的用户点击,并以seq2seq的方式训练query recommender 来预测用户的下一个查询。对于同一会话中的所有查询,将按顺序重复该过程。

文档Ranker

Query Encoder.

Query Encoder将查询编码为向量。采用具有最大池的双向LSTM(BiLSTM max),因为其优越的实际性能。把查询看作一个单词序列 Q i Q_i Qi={ w w w 1 ^1 1 i _i i,…, w w w q ^q q i _i i},由正向和反向LSTM组成的编码器从两个相反的方向读取序列:
在这里插入图片描述
其中 h t h_t ht ∈ ∈ r r r 2 ^2 2 d ^d d是查询级的递归状态, d d d是初始化为零向量的LSTM隐藏单元的维数。为了形成可变长度查询的固定大小向量表示,在隐藏单元的每个维度上选择最大值,
在这里插入图片描述
其中 Q Q Q i _i i , , , k _k k是潜向量 Q i Q_i Qi的第 k k k个元素。

Document Encoder.

Document Encoder.的目标是将文档编码成连续的向量。使用与Query Encoder相同的BiLSTM max技术来编码Document。唯一的区别在于LSTM隐藏单元的维数。一般来说,由于文档(正文或标题)比查询长,所以将更大尺寸的稠密向量视为文档的连续表示。

Session Encoder

Session Encoder生成一个表示来对系统目前接收到的查询进行编码。与可以读取完整编码查询和文档的Query Encoder和Document Encoder.不同,Session Encoder没有来自未来查询的信息。因此,使用单向LSTM进行会话编码。Session Encoder接收查询表示 Q 1 Q_1 Q1,…, Q n Q_n Qn作为输入序列,并计算session-level递归状态的序列。
在这里插入图片描述
其中 S i S_i Si ∈ ∈ r r r d ^d d是初始化为零向量的session-level递归状态。因此,session中的每个查询都有其会话级的递归状态,即可汇总用户的信息需求。

Ranker.

首先通过non-linear transformation将当前查询表示 Q i Q_i Qi与前一个会话级递归状态 S S S i _i i − _− 1 _1 1连接起来。这种组合表示反映了在同一会话中当前查询和过去查询中反映的搜索意图。然后通过sigmoid函数(带二进制相关标签)计算文档 D j D_j Dj在查询下的排名得分作为其相关概率:
在这里插入图片描述在这里插入图片描述
d q d_q dq d s d_s ds d d d_d dd是查询编码器、会话编码器和文档编码器隐藏单元的维数,σ是sigmoid函数。因此,检索到的文档列表可以按此排名分数排序。

Query Rec

query recommender 通过在session中使用嵌入在潜在向量中的前一个查询来推断潜在的搜索意图,从而向用户建议相关的查询。M-NSRF中query recommender以序列对序列的方式预测用户的下一个查询。query recommender 模块估计下一个查询 Q i Q_i Qi={ w w w 1 ^1 1 i _i i,…, w w w q ^q q i _i i}的可能性,给定session中位置 i i i − − 1 1 1之前的所有查询,如下所示,
在这里插入图片描述
使用LSTM作为query recommender 程序的基本构建块。在一个session中,先前查询的所有信息 S i S_i Si将传递给查询推荐程序。最后,用 S i S_i Si的非线性变换初始化query recommender的递归状态, h 0 h_0 h0=tanh( W q W_q Wq S i S_i Si+ b q b_q bq),其中 h 0 h_0 h0 ∈ ∈ r r r d ^d d为初始递归状态。然后通过
h t h_t ht=LSTM t _t t h h h t _t t − _− 1 _1 1, w w w t ^t t i _i i)计算query recommender 的循环,其中 h h h t _t t − _− 1 _1 1是上一个隐藏状态, w w w t ^t t − ^- 1 ^1 1 i _i i是之前的查询术语(term)。最后,利用线性变换和softmax函数的组合,将每个递归状态映射到 V V V大小词汇表上的概率分布。概率最高的单词被选为序列中的下一个单词。
在这里插入图片描述
其中 g g g是softmax函数,输出一个表示下一个单词分布的向量,其中第 j j j个元素的的分布定义为
在这里插入图片描述

Query Suggestion

在解码阶段,使用贪婪解码算法来建议下一个查询。给定位置 i i i − − 1 1 1的一系列查询,一个被推荐的的查询 Q i Q_i Qi为:
在这里插入图片描述
其中Q
是所有可能查询的空间。生成Q*={ w 1 w^1 w1,…, w q w^q wq},使用贪婪的方法,其中 w t w^t wt=arg max w _w w P P P w w w | w w w 1 ^1 1 : ^: : t ^t t − ^− 1 ^1 1 Q Q Q 1 _1 1 : _: : i _i i − _− 1 _1 1)来提供可变长度的查询建议,使用标准的字级解码技术。迭代地考虑长度 t t t的最佳前缀 w w w 1 _1 1 : _: : t _t t,并通过在等式(2)中给定分布的最可能单词抽样来扩展它。当获得包含特殊查询结束标记的格式良好的查询时,该过程结束。
在这里插入图片描述

端到端学习

在一个session中,M-NSRF对一组候选文档进行排序,并根据当前查询序列预测下一个查询。因此,M-NSRF的训练目标包括两个方面。

  1. 第一个是文献ranker的二进制交叉熵损失:
    在这里插入图片描述
    其中 o j o_j oj表示 D j D_j Dj的二进制点击标签。

  2. 第二项是来自查询suggestion模型的正则化负对数似然损失,
    在这里插入图片描述在这里插入图片描述
    是避免等式(2)中单词分布高度倾斜的正则项,而λ是控制正则项的超参数。最后的目标是对所有查询的 L 1 L_1 L1 L 2 L_2 L2求和。

请注意,文档ranker和query recommender 共享相同的文档、查询和session编码器,可以使用以下过程在线完成M-NSRF的培训。

 在前向传播阶段,M-NSRF计算查询和相应的文档编码,更新session-level的循环状态,每个候选文档的单击概率,以及给每个查询的在session中的对数似然(在给定先前查询的条件下)。在反向传播阶段 ,将根据adam更新规则计算梯度并更新参数

实验

dataset

AOL查询日志数据集
此数据集中的查询是在2006年3月1日至2006年5月31日期间抽样的。总共有16946938个查询由657426个独立用户提交

预处理

从查询中删除所有非字母数字字符,应用分词和小写转换。以30分钟的非活动时间窗口来定义session,并根据session的长度过滤session(最少2个,最大10个)。只保留了最常用的| V V V |=100k个单词,并在构建词汇表时将所有其他单词映射到一个标记上。

随机抽取1032459session进行训练,129053session用于development,91108节用于测试,没有重叠。总共有2987486个查询训练,287138个查询development,259117个测试查询。查询和文档(仅标题字段)的平均长度分别为3.15和6.77。

在实验中,将查询和文档的最大允许长度分别设置为10和20。在文档排名任务中,需要将最相关(例如,最可点击的)文档排在最前面。

三个标准的排名指标,(MAP)、(MRR)和(NDCG)度量在位置1、3、5和10处计算来衡量性能。由于AOL搜索日志只包含点击的文档,因此实验中根据BM25构造候选文档的排名。测试集中的每个查询包含50个候选文档,包括单击的文档。但是,为了减少训练时间和内存占用,训练和开发集中的每个查询只包含5个候选查询。

在查询建议任务中,需要向用户建议语义上最相关的查询。由于没有用户对建议查询的反馈,实验将用户下一次提交的查询视为基本事实,并使用BLEU分数作为评估指标,这是机器翻译和文本生成任务中常用的指标。此外(MRR)评估了查询建议质量,即测试该算法是否可以将用户的下一个查询排在其推荐列表的首位。 在这组实验中,给定一组候选查询,查询建议模型会给出生成候选的可能性分数。

对比实验

文档Ranking

在这里插入图片描述

查询建议

在这里插入图片描述

在这里插入图片描述
模型进行了端到端的训练,使用小批量SGD和Adam进行优化。两个动量参数分别设置为0.9和0.999。使用GloV e训练的300维词向量对8400亿个token进行初始化。从零均值单位方差正态分布中抽样值,随机初始化词汇表外单词。所有的训练都使用了一个32的小批量大小,以适应单个GPU内存。学习率固定为0.001。使用了DDROPOUT(0.20),在等式(3)中为熵正则化设置λ=0.1。M-NSRF在PyTorch中实现,它在单个GPU(TITAN X)上运行,每个epoch的运行时间大约为90分钟。一般来说,M-NSRF最多运行20个周期。

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值