【阅读笔记】Ranking Relevance in Yahoo Search (二)—— maching learned ranking
3. MACHINE LEARNED RANKING
1) 完全使用不好的数据去训练模型不可行,因为负面结果不可能覆盖到所有方面;
2) 搜索可以看做是个二分问题,在此实验中,我们使用gradient boosting trees(GBDT) with logistic loss,该方法可以用来减少首页出现的bad urls -
该方法首先确定urls与给定query相关与否的分界线(logistic loss);
而后在模型中加入Perfect、Excellent、Good的信息去区分urls(GBDT);
3.1 Core Ranking(相当于chinaso中booster的功能)
使用GBDT和logistic loss;
3.1.1 logistic loss:采用二分思想,用来减少首页出现的bad/fair urls
1)步骤:
- 按标签分等级:Perfect、Excellent、Good:+1;Fair、Bad:-1
- 公式:待加
2)优点
logistic loss相对于其他种类的loss函数(如hinge loss)更能提供靠谱的排序
因为:logistic loss always places the force on positive/negative towards positive/negative infinite;
3.1.2 GBDT 用来区分Perfect、Excellent、Good
1)步骤:
- 使用different levels区分Perfect、Excellent、Good(使Perfect data samples get relatively higher forces to positive infinite than Excellent ones, which are higher than the Good ones)
- 公式:待加
备注:其中scale(label)可以按经验设置为scale(Perfect)=3, scale(Excellent)=2, scale(Good/Fair/bad)=1以用来区分Perfect / Excellent / Good;
2)对于Fair / Bad samples,因为他们的分数始终为负值,所以没有必要为他们分等级;
3.1.3 评估分析(name this learning algorighm: LogisticRank)
compare with GBRank, LambdaMar
1)前期准备:
数据 - 200万query-url配对;
2)结果&分析
图表待加;
3.2 Contextual Reranking(相当于chinaso中tuner的功能)
1)reranking的执行时机:
- core ranking仅仅考虑了query-url配对的特征,而忽略了其他contextual information(因为在进行core ranking的时候,数据量太大);
- reranking解析适用于从core ranking得到的大约几十个结果在一台机器上的排序操作(因为数据少所以可以利用模型中的重要特征进行提取);
2)在tens of results中提取的特征:
- Rank: soring URLs by the feature value in ascending order to get the ranks of specific URLs
- Mean: calculating the mean of the feature values of top 30 URLs
- Variance: .... the variance of ...
- Normalized feature(特征归一化): normalizing the feature by using mean and standard deviation
- Topic model feature: aggregating the topical distributions of 30 URLs to create a query topic model vector, and calculating similarity with each individual result
3.3 Implementation and deployment
core ranking的部署相当于chinaso中的leaf
reranking的部署相当于chinaso中的searchroot
【阅读笔记】Ranking Relevance in Yahoo Search (二)—— maching learned ranking的更多相关文章
- 【阅读笔记】Ranking Relevance in Yahoo Search (四 / 完结篇)—— recency-sensitive ranking
7. RECENCY-SENSITIVE RANKING 作用: 为recency-sensitive的query提高排序质量: 对于这类query,用户不仅要相关的还需要最新的信息: 方法:rece ...
- Ranking relevance in yahoo search (2016)论文阅读
文章链接 https://www.kdd.org/kdd2016/papers/files/adf0361-yinA.pdf abstract 点击特征在长尾query上的稀疏性问题 基础相关性三大技 ...
- 【阅读笔记】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 ...
- <<Javascript Patterns>>阅读笔记 -- 第2章 基本技巧(二)
关于for-in循环 循环数据时, 强烈不推荐使用for-in循环.因为当Array对象被扩展后, 再用for-in循环遍历数据会导致逻辑上的错误, 举例说明: var arr = ['a', 'b' ...
- Hadoop阅读笔记(二)——利用MapReduce求平均数和去重
前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一 ...
- 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要二
今天继续分享我的阅读<LEARNING HARD C#学习笔记>知识点总结与摘要二,仍然是基础知识,但可温故而知新. 七.面向对象 三大基本特性: 封装:把客观事物封装成类,并隐藏类的内部 ...
- Linux协议栈代码阅读笔记(二)网络接口的配置
Linux协议栈代码阅读笔记(二)网络接口的配置 (基于linux-2.6.11) (一)用户态通过C库函数ioctl进行网络接口的配置 例如,知名的ifconfig程序,就是通过C库函数sys_io ...
- Apollo源码阅读笔记(二)
Apollo源码阅读笔记(二) 前面 分析了apollo配置设置到Spring的environment的过程,此文继续PropertySourcesProcessor.postProcessBeanF ...
随机推荐
- Eclipse(Eclipse for android)代码自动提示设置
java代码和xml资源代码在有的eclipse中可以自己提示,但有的并不支持这个功能,还得我们人为去调整,主要原因是因为你们下载的elipse的渠道不同,获得的版本有的官方原版,有的是个人备份版等等 ...
- Mysql大数据量问题与解决
今日格言:了解了为什么,问题就解决了一半. Mysql 单表适合的最大数据量是多少? 我们说 Mysql 单表适合存储的最大数据量,自然不是说能够存储的最大数据量,如果是说能够存储的最大量,那么,如果 ...
- 中阶 d03.5 (正篇)完整的Dao 操作数据库
1.目录结构: util---JDBCUtil.java(工具包,整合建立链接和释放资源的方法) dao---UserDao.java(接口,定义方法) impl---UserDaoImpl.java ...
- xftp连接centos7
1.下载xftp文件,并正常进行安装 2.安装好之后运行,并新建会话,此时可见如下界面: 注意: 名称,可随便输入,自己能看懂是什么就行 主机,输入当前Linux服务器的ip(如何获取服务器 ...
- vue 中 history 模式的配置和打包
在使用 vue 进行项目开发中,默认的路由形式是 hash,表现形式就是 url 中始终带有 # 号,在后台管理类的项目中并不影响使用,但是在特殊场景,比如微信分享的H5链接中,微信会自动拼接参数,由 ...
- 加锁的位置 (eq:map<key,map<>> 双集合 怎么 只加锁 在用到的对象位置,而不是把整个集合锁住)
比如上边的map里套map 定义变量为data,例如组队副本 npc 为1 下有众多房间 即Map<1,<roomId,room>> ,处于多线程下,一个线程在 npc为1的下 ...
- 【Java】Array 数组
概述 数组是多个相同数据类型按一定顺序排列的一组数据 特点: - 数据类型相同!! - 长度固定!! 构成数组的几个要素 - 数组名称 - 下标,又称索引 - 元素 - 数组长度 数组是一种引用类型, ...
- python教程:使用 async 和 await 协程进行并发编程
python 一直在进行并发编程的优化, 比较熟知的是使用 thread 模块多线程和 multiprocessing 多进程,后来慢慢引入基于 yield 关键字的协程. 而近几个版本,python ...
- 5000+图片找到你喜欢的那个TA,Python爬虫+颜值打分
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 罗罗攀 PS:如有需要Python学习资料的小伙伴可以加点击下方链接 ...
- Daily Scrum 12/9/2015
Done: Yandong: multi query的代码整合完成,之前采用的是将不同query的score相加的方法,目前改用将不同query的score相乘,搜索效果得到明显提升: Zhaoyan ...