搜索中的Query扩展技术(二)

2020 年 11 月 16 日 AINLP

一、前言

这一期我们继续来聊Query扩展的问题,在上一期我们梳理了目前Query扩展技术可以大致分为相关性建模翻译模型建模两种思路。 
(传送门:
搜索中的Query扩展技术
在介绍现有Paper工作的同时,结合我们自身场景,如果对文档能够构建概述主旨的concept短语。那么利用文档中的entity与concept就可以使用贝叶斯一众的概率模型构建一个相关性网络。随后在Query端,完成实体链接,获取其中的entity,最后利用相关性模型就可以实现Query扩展的功能。

在此基础上,本文将讨论如何进一步改进扩展效果,以及目前在该领域都有哪些工作思路可以借鉴。

二、相关模型 or 生成模型?

看到上图,细心的同学一定发现了,相关性模型的基础是Query中的term,或者如我们使用的entity。如果Query较短,比如仅包含一个单一实体时,这类方法是比较适合的。但是当Query较长,包含复杂语义时,再使用相关性模型做Query扩展可能会造成语义偏差过大的情况:

所以,我们的结论是,可以根据Query的长度来选择扩展的策略。当Query较短时,仅包含单一实体时,用户并没有表达出明确的搜索意图,除了满足字面匹配的准确性,Query扩展是为了补充近似于“推荐”的功能;而对于长Query的情况,文本中不仅出现单个实体词,也会存在多个实体,并相互作为限制词、定语,或者描述实体词的属性等。总的来说,Query越长,用户的意图越聚焦,希望获取的内容越具体,这种情况下,Query扩展是为了实现在准确捕捉语义后,扩展出相同语义的不同表述

三、捕捉复杂语义

所以,当Query存在复杂语义时,具体需要解决哪些问题呢?我们总结了以下三个方面

a. Query中包含多于一个的实体词,或包含除实体词以外的文本。这种情况通常表达的是对某个实体附加了限定条件(如:HP的治疗方案),或者在表达与多个实体相关的事件(如:上海 疫情)。这类Query包含了某个完整的语义,在处理时不能割裂成多个词,而是想办法encode整个Query,比如各种embedding的方法;

b. 用户对某个事物的表述是多种多样的,并不是所有Query的表述都是精确的,某些情况下由于分词的原因或者BM25计算的原因,不标准的表述可能无法搜索到期望的内容。此时Query扩展能够补充的,是在忠实执行原文本的检索后,也提供一个标准表述下检索结果。(比如:胃溃疡的治疗文件 –> 胃溃疡的诊疗指南);

c. 某些时候,用户对想要搜索的内容有个大致的概念,但是可能一时想不起具体的名字,搜索Query会以围绕目标展开,由多个相关的Query组成一个session(比如:冰与火之歌 -> 马王 -> 海王主演 -> 杰森莫玛)。这类问题目前也有不少工作研究了如何通过Query Session来捕捉到复杂语义;

四、Query扩展思路

在任务形态上,常见有两种类型,一种是首先获得一批Candidates,模型负责对Query与Candidate的pair打分,最高分者为目标Query或扩展的Term;另一种是由模型直接生成目标Query或Term。

查阅已有工作,与我们在此讨论相关的存在Query ExpansionQuery Suggestion两个子领域,前者会更偏重在检索时,使用扩展出的Query来扩充检索内容;后者更偏重Query的reform,比如在搜索引擎使用时的Query补全这类功能。而对于如何对query做encode的部分,许多技术思路是类似的,本文就不再深究两个子领域的细微差异。

1.编码完整Query

想要对整个Query做编码,很自然就会想到使用embedding的方式。具体编码的方式就很多了,比如用Word2Vec叠加、LSTM或者Transformer都可以。

《Deep Neural Networks for Query Expansion using Word Embedding》

比如在本工作中展示了一个比较基础的网络结构,Query词使用word embedding表示,序列模型编码整句话,最后使用全连接作为原始Query与Candidate的交互层。

《Click Feedback-Aware Query Recommendation Using Adversarial Examples》

那么,后续的工作在encoder上就会有不同的玩儿法,比如在序列模型上加attention,在输入加入adversarial sample (虽然文章作者使用对抗学习作为标题,但是感觉并不足以作为工作的亮点)

另外在结构上的变化是也可以对搜索Query、点击Query和 Candidate Query的向量做各种求和、内积、拼接等等。

《Using BERT and BART for Query Suggestion》

除了在encoder的结果上做调整,另一个思路是用预训练模型:

方法与目前一些主流使用预训练做QA、IR任务类似,把原始Query与Candidates使用分隔符隔开作为输入语料,用生成任务完成预训练。理论上用上了预训练之后,上下文的context可以被编码得更好。

2.对Query Session建模

除了对单个Query编码,目前很多工作也会关注如何对用户一组Query Session进行建模,Session中包含了上下文语境,也包含了Query经多次修改最终成为目标Query的转移关系。

《Learning to Attend, Copy, and Generate for Session-Basedery Suggestion》

如果构建Query Suggestion的生成模型,baseline方案一般就是准备好Query pairs,扔进NMT里。本工作是在此基础上做一些改进,首先input端将编码整个search session,其次是在模型中加入attention和copy机制。这些可以说都是借鉴了文本摘要生成的一些技巧,这项task也比较类似,所以最终结果相较seq2seq是有所提升的。

3. 挖掘更多维度的特征

除了捕捉Query Session内的语义,后续相关工作的关注点也在我们如何利用query以外的信息作为特征。

《RIN: Reformulation Inference Network for Context-Aware Query Suggestion》

比如在本篇工作中,整体架构是做了Candidate Query判别器、Query生成以及Query改写这三项任务的 Multi task,模型中增强了session中相邻Query的交互。

重点是在feature部分,作者利用Query点击的网站,构建起了图结构,使用Node2Vec获得各节点的向量,将向量融合进了Query编码中。

《Context Attentive Document Ranking and Query Suggestion》

对Query与Website的点击关系可以展开成Term到Website的关联,相应的,对文档一侧也可以对Term做展开。

这里就对Document的信息做了进一步的编码,一起融合进网络中,以此提高对上下文语义的感知度。同时,排序的相关Loss也被计算在内,协同优化Query Suggestion的效果。

五、总结

对于较长的Query如何做Query扩展,我们在本文记录了相关工作调研,总结起来需要注意的是:Query编码整体与其他NLP任务类似,注意负样本的采样,可以尝试各种attention、copy和交互方法;可以尝试将具体task目标融入到扩展任务中(比如IR的各指标);最后是我们一直秉承的观念,平时多注意数据结构化工作,在下游任务中才有额外的feature用得上。

参考文献

[1] Deep Neural Networks for Query Expansion using Word Embeddings

[2] Improving Search Query Suggestion With User Feedback

[3] Using BERT and BART for Query Suggestion

[4] Context Attentive Document Ranking and Query Suggestion

[5] A Hierarchical Recurrent Encoder-Decoder for Generative Context-Aware Query Suggestion

[6] RIN- Reformulation Inference Network for Context-Aware Query Suggestion

[7] Click Feedback-Aware Query Recommendation Using Adversarial Examples

[8] ReQue- A Configurable Workflow and Dataset Collection for Query Refinement

[9] Learning User Reformulation Behavior for Query Auto-Completion

[10] Learning to A‚ttend, Copy, and Generate for Session-Basedƒery Suggestion

[11] Click Feedback-Aware Query Recommendation Using Adversarial Examples



由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方"AINLP",进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

欢迎加入AINLP技术交流群
进群请添加AINLP小助手微信 AINLPer(id: ainlper),备注NLP技术交流

推荐阅读

这个NLP工具,玩得根本停不下来

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)

从数据到模型,你可能需要1篇详实的pytorch踩坑指南

如何让Bert在finetune小数据集时更“稳”一点

模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏

登录查看更多
3

相关内容

【WSDM2021】通过学习中间监督信号改进多跳知识库问答
专知会员服务
10+阅读 · 2021年1月14日
医疗健康领域的短文本理解
专知会员服务
32+阅读 · 2021年1月2日
最新《知识图谱:构建到应用》2020大综述论文,261页pdf
专知会员服务
288+阅读 · 2020年10月6日
专知会员服务
20+阅读 · 2020年9月11日
【斯坦福CS520】向量空间中嵌入的知识图谱推理,48页ppt
专知会员服务
100+阅读 · 2020年6月11日
【SIGMOD2020-腾讯】Web规模本体可扩展构建
专知会员服务
29+阅读 · 2020年4月12日
【论文扩展】欧洲语言网格:概述
专知会员服务
6+阅读 · 2020年3月31日
知识图谱更新技术研究及其应用,复旦大学硕士论文
专知会员服务
103+阅读 · 2019年11月4日
推荐系统主流召回方法综述
AINLP
10+阅读 · 2020年7月16日
Query 理解和语义召回在知乎搜索中的应用
DataFunTalk
24+阅读 · 2020年1月2日
推荐系统(一):推荐系统基础
菜鸟的机器学习
25+阅读 · 2019年9月2日
论文浅尝 | 基于复杂查询图编码的知识库问答
开放知识图谱
17+阅读 · 2019年7月22日
论文浅尝 | 知识图谱相关实体搜索
开放知识图谱
14+阅读 · 2018年12月18日
论文浅尝 | 面向简单知识库问答的模式修正强化策略
开放知识图谱
3+阅读 · 2018年11月7日
【知识图谱】大规模知识图谱的构建、推理及应用
产业智能官
37+阅读 · 2017年9月12日
漆桂林 | 知识图谱之语义网络篇
开放知识图谱
19+阅读 · 2017年8月12日
自然语言处理技术(NLP)在推荐系统中的应用
人工智能头条
7+阅读 · 2017年6月29日
美团点评旅游搜索召回策略的演进
美团技术团队
4+阅读 · 2017年6月16日
Arxiv
0+阅读 · 2021年1月25日
Embedding Logical Queries on Knowledge Graphs
Arxiv
5+阅读 · 2018年9月6日
Arxiv
4+阅读 · 2018年4月26日
VIP会员
相关VIP内容
【WSDM2021】通过学习中间监督信号改进多跳知识库问答
专知会员服务
10+阅读 · 2021年1月14日
医疗健康领域的短文本理解
专知会员服务
32+阅读 · 2021年1月2日
最新《知识图谱:构建到应用》2020大综述论文,261页pdf
专知会员服务
288+阅读 · 2020年10月6日
专知会员服务
20+阅读 · 2020年9月11日
【斯坦福CS520】向量空间中嵌入的知识图谱推理,48页ppt
专知会员服务
100+阅读 · 2020年6月11日
【SIGMOD2020-腾讯】Web规模本体可扩展构建
专知会员服务
29+阅读 · 2020年4月12日
【论文扩展】欧洲语言网格:概述
专知会员服务
6+阅读 · 2020年3月31日
知识图谱更新技术研究及其应用,复旦大学硕士论文
专知会员服务
103+阅读 · 2019年11月4日
相关资讯
推荐系统主流召回方法综述
AINLP
10+阅读 · 2020年7月16日
Query 理解和语义召回在知乎搜索中的应用
DataFunTalk
24+阅读 · 2020年1月2日
推荐系统(一):推荐系统基础
菜鸟的机器学习
25+阅读 · 2019年9月2日
论文浅尝 | 基于复杂查询图编码的知识库问答
开放知识图谱
17+阅读 · 2019年7月22日
论文浅尝 | 知识图谱相关实体搜索
开放知识图谱
14+阅读 · 2018年12月18日
论文浅尝 | 面向简单知识库问答的模式修正强化策略
开放知识图谱
3+阅读 · 2018年11月7日
【知识图谱】大规模知识图谱的构建、推理及应用
产业智能官
37+阅读 · 2017年9月12日
漆桂林 | 知识图谱之语义网络篇
开放知识图谱
19+阅读 · 2017年8月12日
自然语言处理技术(NLP)在推荐系统中的应用
人工智能头条
7+阅读 · 2017年6月29日
美团点评旅游搜索召回策略的演进
美团技术团队
4+阅读 · 2017年6月16日
Top
微信扫码咨询专知VIP会员