Ranking Relevance小结
Ranking Relevance是搜索排序算法的各个影响因子中相当重要的一个部分。对于Ranking Relevance的计算,过去的技术往往分为两个大的方向:Click Behavior和Text Match。
1. Click Behavior类的feature
主要是利用用户的点击行为来计算query-doc relevance,直观上,点击越多的query-doc pair,relevance也越高,当然Click Behavior类的feature还包括:是否是首次点击,是否是最后一次点击,是否是唯一点击,等等。
但是Click Behavior类的feature的缺点也显而易见:
1)Sparsity。只有“有过点击”的query-doc pair,我们才可以计算它们的relevance,而对那些历史上根本没有过点击的query-doc pair,往往束手无策。
2)Noisy。另外一个更常见的问题是,对于长尾的query-doc pair,展现数和点击数过少,所以得到的query-doc的展现CTR等数据噪音较大,虽然也可以通过贝叶斯平滑的方式来缓解(详见博客:http://www.cnblogs.com/bentuwuying/p/6389222.html,和http://www.cnblogs.com/bentuwuying/p/6498370.html)。
总结来看,Click Behavior类的feature,对于Top的query-doc pair(即展现次数&点击次数较多)比较可靠,对于长尾的,甚至是没出现过的query-doc pair,则不太可靠。
2. Text Match类的feature
包括Term Match(term级别的匹配),和Topic Match(语义级别的匹配)。Text Match并不受到query-doc的展现次数和点击次数的多少的影响,即当query和doc确定后,这类feature的值就确定了(当然前提是采用相同的模型计算的),并不会随着时间的推移而改变,是一种静态的relevance关系。
2-1. Term Match
包括:直接根据query和doc的term进行各种匹配,各种计算得到,比如,词频(term frequency),TF-IDF,布尔模型,空间向量模型(将query和doc各自分词后的term组成一个共享的词典vector,然后各自表示成相同维度的vector,计算相似度),BM25,query与doc各个field的term级别重叠比例(重叠term个数占query term个数的比例,重叠term个数占doc各个field的term个数的比例,query-doc的N-gram重叠比例,query能覆盖doc的N-gram prefix的比例,query-doc是否perfect match)等。
Term Match的缺点在于:
1) 无法解决近义词的问题,由于是term级别的匹配,那么近义词虽然表达的意思近似,但是却无法匹配,或者说在向量空间上距离很远,即无法表达近义词。
2)query和doc上的term的语法表达的区别,例如query中的“how much”与doc中的“price”,意思虽然近似,但是存在语法语义上的区别。
2-2. Topic Match
包括:一般是将query和doc都映射到一个隐含层空间向量上(隐语义空间),然后基于这个隐含层空间上的vector计算相似度,一般可以用pLSA,或者LDA等NLP模型来处理)
Topic Match的缺点在于,解释性较差,不同于Term Match中我们把query和doc切分到term级别,解释性较强,而在Topic Match中,映射到隐语义空间上时,vector每个维度表达的意思并不知道,不利于验证和debug。
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 }
span.s1 { font: 12.0px "Helvetica Neue" }
Ranking Relevance小结的更多相关文章
- Ranking relevance in yahoo search (2016)论文阅读
文章链接 https://www.kdd.org/kdd2016/papers/files/adf0361-yinA.pdf abstract 点击特征在长尾query上的稀疏性问题 基础相关性三大技 ...
- 【阅读笔记】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 ...
- Facebook Architecture
Facebook Architecture Quora article a relatively old presentation on facebook architecture another I ...
- 使用点击二分图计算query-document的相关性
之前的博客中已经介绍了Ranking Relevance的一些基本情况(Click Behavior,和Text Match):http://www.cnblogs.com/bentuwuying/p ...
- 使用点击二分图传导计算query-document的相关性
之前的博客中已经介绍了Ranking Relevance的一些基本情况(Click Behavior,和Text Match):http://www.cnblogs.com/bentuwuying/p ...
- KDD2016,Accepted Papers
RESEARCH TRACK PAPERS - ORAL Title & Authors NetCycle: Collective Evolution Inference in Heterog ...
随机推荐
- Token在android中的使用
首先Token是一个怎么样的东西,Token存在的意义又在哪里?学过php或是其他web开发的人都知道一个东西叫session和cookie,这些东西可以在服务器或是本地保存一些东西,比如说登录状态, ...
- JS排序算法
1.冒泡排序 冒泡算法是比较相邻的两项,如果前者比后者大,就交换他们. 假设一共有n项,那么一共需要n-1趟,第一趟需要交换n-1次,但是第一趟结束后,最后一项基本确定就是最大项了,所以第二次需要交换 ...
- ajax 实现页面加载和内容的删除
ajax最大的好处就在于加载和删除的时候不会跳转页面,现在的网页大多都会选择用ajax来写,相比嵌入PHP代码来说减少了代码量,同时加载页面也会比较快, 下面是用ajax以数据库fruit表为例写的 ...
- Archlinux 中安装 LyX
LyX 是 Latex 的 GUI 界面程序.使用效果类似 Office Word 和 wps.可直接生成 PDF 文件. 我使用的是 LyX + TexLive + XeTeX 组合.近期 Arch ...
- iOS回顾笔记(06) -- AutoLayout从入门到精通
iOS回顾笔记(06) -- AutoLayout从入门到精通 随着iOS设备屏幕尺寸的增多,当下无论是纯代码开发还是Xib/StoryBoard开发,自动布局已经是必备的开发技能了. 我使用自动布局 ...
- java自加和自减
public class Add { public static void main(String[] args) { int i = 0; i=i++ + ++i; int j = 0; j= ++ ...
- Java实现读取文章中重复出现的中文字符串
在上个星期阿里巴巴一面的时候,最后面试官问我如何把一篇文章中重复出现的词或者句子找出来,当时太紧张,答的不是很好.今天有时间再来亲手实现一遍.其实说白了也就是字符串的处理,所以难度并不是很大. 以下是 ...
- 微信JS图片上传与下载功能--微信JS系列文章(三)
概述 在前面的文章微信JS初始化-- 微信JS系列文章(一)中已经介绍了微信JS初始化的相关工作,接下来本文继续就微信JS的图片上传功能进行描述,供大家参考. 图片上传 $(function(){ v ...
- css动画特效与js动画特效(一)------2017-03-24
1.用css做动画效果: 放鼠标才会发生 利用hover <head> <style> #aa{ background-color: red; width: 100px; he ...
- redux核心思路和代码解析
最近在公司内部培训的时候,发现很多小伙伴只是会用redux.react-redux.redux-thunk的api,对于其中的实现原理和数据真正的流向不是特别的清楚,知其然,也要知其所以然,其实red ...