Ranking relevance in yahoo search (2016)论文阅读
文章链接
https://www.kdd.org/kdd2016/papers/files/adf0361-yinA.pdf
- abstract
点击特征在长尾query上的稀疏性问题
基础相关性三大技术:排序函数,语义匹配特征,query改写
- introduction
问题:
1)直接文本匹配的问题:query和doc的语义差异,query中的‘how much’如何匹配doc中的‘price’;
2)大量的长尾query使得点击模型失效;
3)用户视搜索引擎为智能问答系统,希望一键找到答案。
综合相关性:
时效性query:‘safest cars’
地域性query:‘walmart’,‘restaurant’
本文重点:
1)排序函数设计:learning to rank,考虑上下文的rerank
2)三种语义匹配特征,将头部query的点击特征迁移至长尾query:点击相似度(click similarity),深度语义匹配(deep semantic matching),转译文本匹配(translated text matching)
3)query改写:针对长尾query
4)时效性,地域性排序
- background
——overview of architecture
按doc分片索引,并行召回,打分,去重,基础排序(core ranking)
——ranking features
网络拓扑(web graph):通过网页拓扑连接关系决定doc质量或热度。pagerank;与已知优劣网页的距离
doc statistics:网页各域(field)的词数
doc classifier:spam/adult/langrage/main topic/quality/type(navigational,informational)
query features:包含词数;query频次;各词词频(tf);有点比(ctr)
text match:各域文本匹配特征(title, body, abstract, keywords, anchor text, url),可以是计数或更复杂(例如BM25);query各词邻近度(proximity),在doc正文中词之间越近越好
topical matching:主题相似度
click:click,first click,last click,long dwell time click,only click
time:新鲜度(freshness);inlink和outlink的新鲜度
——evaluation of search relevance
dcg@1,3,5;置信度:wilcoxon t-test方法给出p-value
三个query集合:高频(top),低频(torso),长尾(tail)。本文重点关注低频和长尾query的效果。
- machine learned ranking
基础排序(core ranking)使用GBDT model,logistic loss:LogisticRank
使用perfect,excellent,good信息放大梯度信息有更大提升
——core ranking
perfect/excellent/good对应scale:3/2/1
LogisticRank >> GBRank, LambdaMart尤其在高频query上
GBRank(混合了pairwise loss和pointwise loss) > LambdaMart(listwise loss,只学习doc的相对顺序)
长尾query上:GBRank接近LogisticRank,LogisticRank在去除bad结果效果明显
在LTR challenge data set上DCG@5:LambdaMart > GBRank > LogisticRank,原因是商用搜索引擎数据中有明显更多的bad query-doc pair
定义基线为‘background’部分所述特征+LogisticRank。
——contextual reranking
在少量数十个top results上提取上下文特征:
rank:对url的rank增序排列,实际中使用rank值效果比直接使用core ranking的分数好,因为索引更新时分数会漂移
mean:top30 url的特征值均值
variance:top30 url的特征值方差
normalized feature:使用均值和方差将特征归一化
topic model feature:聚合top30 url的主题向量作为query的主题向量,分别算query-url的主题相似度
rerank的目的在于区分perfect/excellent/good,core ranking目的在于去除bad results
——implementation and deployment
core ranking部署在index节点上,rerank在汇集节点上
- semantic matching features
长尾query上有点击稀疏性问题,相关doc的锚文本也稀少,另外有query-doc在词汇上的不匹配(比如‘how much’和‘price’),所以从点击日志中提取三种重要的语义匹配特征:点击相似度(click similarity),深度语义匹配(deep semantic matching),转译文本匹配(translated text matching)
——click similarity,CS
VSM具有词汇不匹配的问题。因此从点击二部图(bipartite click graph)中提取query和doc的向量表示,都使用query的词典为各维度含义。具体方法:
使用点击数作为点击二部图中边的权重,提取doc的co-click query作为doc的表示,参考query的co-click doc向量表示将doc vector中的terms传递给query,轮流迭代。
每轮迭代只保留top-k个term,在数轮迭代后qv(query vector)和dv(doc vector)可收敛。
用qv和dv的內积作为click similarity。
每月更新,qv保存在汇集节点,dv保存在正排索引中。
——translated text matching,TTM
click similarity不能计算点击日志之外的query和doc。统计机器翻译(statistical machine translation,SMT)将query和doc互译可作为启发,用户解决词汇差异。
使用clicked query-title pair做一个翻译模型(translation model)。用此模型将q翻译成k个alternate q,在title词典上表示。对于每个alternate q,都和d算一个cosine similarity值,最后将k个值取max/avg/median作为最终query-doc的相似度。
试验取k=10,将k个值max是实测中最好的,即EXT_Q_TLM1特征;另外有一个AGG_Q_TLM特征,使用title LM下的rewritten queries和query LM下的rewritten titles计算。
为了控制延时实际服务中使用cache,对于cache miss的使用裁剪过的translation model进行在线计算
——deep semantic matching,DSM
CS和TTM都在word级别,deep model可以提取语义和上下文信息,泛化到低频和长尾query上。
使用DSSM模型。使用一年的数据,用简单规则去除spamming queries,拼session后去掉abandon(即无任何点击)的session。使用10-slot窗口从上往下滑动,first slot作为d+,其余9个是d-。doc的输入特征除了title还要考虑site名称(比如wiki, weather, imdb),按照DSSM的做法,3-letter shingling BOW,将embedding的內积作为特征。
实际部署中,正排中存储预算好的title和site的embedding,在线预估query的embedding,然后算相似度。
- query rewriting
为了性能,大型搜索引擎会在recall阶段将包含所有query terms的doc预筛选出来。词汇差异导致相关doc不通过筛选。rewriting可用来改善这一问题。
——methodology
分两个阶段learning phase和decoding phase。
learning phase,从query-doc中学习phrase级别的翻译:
co-click query-title pairs作为平行语料,按照典型的SMT过程:词对齐(word alignment),phrase提取,phrase打分。由于title长于query,需要控制null-word alignment
decoding phase,为query生成候选:
为每个feature function算出candidate q(即qc)和q的打分,然后对所有feature functions打分加权求和(权重可拍可学),找出分最高的qc作为rewritten query(即qw)。
常用的feature function:
1)learning phase学到的:q的LM分数, word panalty,phrase penalty, distortion
2)query/rewrite query feature functions:词数,停用词数,LM分数,query频次,包含词的平均长度,分别作用在query/rewrite query上
3)pair feature functions:二部图上q和qc共现url的Jaccard similarity,q和qc频次上的差异,词级别q和qc的cosine similarity,q和qc词数上的差异,q和qc共有的词,q和qc在LM分数上的差异,q和qc在停用词数上的差异,q和qc在包含词的平均长度的差异
——ranking strategy
将q和qw召回的docs合并,重复的doc取两者的最高分。使用线上搜索效果评估。
- comprehensive experiments
baseline,+3features,+rewrite
- recency-sensitive ranking
结合大量无时效性标注数据和少量时效性标注数据训练。用一个分类器判定query-doc pair时效性高低,如果是,训练数据标注增加时效性得分。训练GBDT ranker时先训练相关性,补充更多树学习时效性分数。
- location-sensitive ranking
【TODO】
- conclusion
高效、实用,对垂直搜索引擎也合适。
Ranking relevance in yahoo search (2016)论文阅读的更多相关文章
- 【阅读笔记】Ranking Relevance in Yahoo Search (四 / 完结篇)—— recency-sensitive ranking
7. RECENCY-SENSITIVE RANKING 作用: 为recency-sensitive的query提高排序质量: 对于这类query,用户不仅要相关的还需要最新的信息: 方法:rece ...
- 【阅读笔记】Ranking Relevance in Yahoo Search (一)—— introduction & background
ABSTRACT: 此文在相关性方面介绍三项关键技术:ranking functions, semantic matching features, query rewriting: 此文内容基于拥有百 ...
- 【阅读笔记】Ranking Relevance in Yahoo Search (三)—— query rewriting
5. QUERY REWRITING 作用: query rewriting is the task of altering a given query so that it will get bet ...
- 【阅读笔记】Ranking Relevance in Yahoo Search (二)—— maching learned ranking
3. MACHINE LEARNED RANKING 1) 完全使用不好的数据去训练模型不可行,因为负面结果不可能覆盖到所有方面: 2) 搜索可以看做是个二分问题,在此实验中,我们使用gradient ...
- 【论文阅读】Motion Planning through policy search
想着CSDN还是不适合做论文类的笔记,那里就当做技术/系统笔记区,博客园就专心搞看论文的笔记和一些想法好了,[]以后中框号中间的都算作是自己的内心OS 有时候可能是问题,有时候可能是自问自答,毕竟是笔 ...
- 论文阅读笔记 Improved Word Representation Learning with Sememes
论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...
- 【医学图像】3D Deep Leaky Noisy-or Network 论文阅读(转)
文章来源:https://blog.csdn.net/u013058162/article/details/80470426 3D Deep Leaky Noisy-or Network 论文阅读 原 ...
- Event StoryLine Corpus 论文阅读
Event StoryLine Corpus 论文阅读 本文是对 Caselli T, Vossen P. The event storyline corpus: A new benchmark fo ...
- [论文阅读]阿里DIN深度兴趣网络之总体解读
[论文阅读]阿里DIN深度兴趣网络之总体解读 目录 [论文阅读]阿里DIN深度兴趣网络之总体解读 0x00 摘要 0x01 论文概要 1.1 概括 1.2 文章信息 1.3 核心观点 1.4 名词解释 ...
随机推荐
- Shell表达式,如${file##*/}
Shell表达式,如${file##*/} 2017年10月26日 15:24:40 阅读数:343 今天看一个脚本文件的时候有一些地方不太懂,找了一篇文章看了一些,觉得不错,保留下来. 假设我们定义 ...
- SDUT 3377 数据结构实验之查找五:平方之哈希表
数据结构实验之查找五:平方之哈希表 Time Limit: 400MS Memory Limit: 65536KB Submit Statistic Problem Description 给定的一组 ...
- 使用python进行数据转码
大数据最烦的就是数据质量差,为了把数据导入到sequoiadb中,需要要求文本是UTF-8模式的,使用enca查看文件编码是gb2312,然后是enca转utf-8报错.google了整个地球都不知道 ...
- easyUI datagrid 分页参数page和rows
Struts2获取easyUI datagrid 分页参数page和rows 用pageHelper分页时,只要是能够获取前台传来的两个参数page和rows基本就完成了很大一部分. 获取方法:定义两 ...
- HDU 5033 Building (维护单调栈)
题目链接 题意:n个建筑物,Q条询问,问所在的位置,看到天空的角度是多少,每条询问的位置左右必定是有建筑物的. 思路 : 维护一个单调栈,将所有的建筑物和所有的人都放到一起开始算就行,每加入一个人,就 ...
- Python中的切片操作
python中的切片操作功能十分强大,通常我们利用切片来进行提取信息,进行相关的操作,下面就是一些切片的列子. 列如我们从range函数1-100中取7的倍数,函数及结果如下所示: >>& ...
- HTTP 协议 -- 状态码
HTTP 协议状态码(Http Status Code) 使用ASP.NET/PHP/JSP 或者javascript都会用到http的不同状态,一些常见的状态码为: 200 – 服务器成功返回网页 ...
- JavaFx 实现画图工具
制作一款类似于Windows画图工具程序 功能需求: (1)在画布上绘制直线.曲线.矩形.椭圆等图形 (2)实现输入文字,橡皮擦 (3)可以绘制填充图形以及设置画笔的颜色和粗细 (4)实现撤销操作.保 ...
- hyperledger fabric 中java chaincode 支持离线打包
联盟链由于其本身的特性,目前应用在一些大型国有企业银行比较多.出于安全考虑,这些企业一般会隔离外网环境.所以在实际生产需求中可能存在需要在一个离线的环境中打包安装chaincode的情况. 本文基于这 ...
- 洛谷P4360 [CEOI2004]锯木厂选址(斜率优化)
传送门 我可能根本就没有学过斜率优化…… 我们设$dis[i]$表示第$i$棵树到山脚的距离,$sum[i]$表示$w$的前缀和,$tot$表示所有树运到山脚所需要的花费,$dp[i]$表示将第二个锯 ...