【阅读笔记】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 ...
随机推荐
- Linux基础篇,正则表达式
一.正则表达式特殊符号: 二.grep的用法 grep [-A|B|a|c|i|n|v] [--color=auto] '搜索字串' filename -A ===> after缩写,后面接数字 ...
- Flask 入门(十三)
上文提到的Blueprint和厉害吧? 可是有个缺点,就是,还不够框架,因为一个功能不可能就一个文件啊?多文件怎么解决? 还和上文项目架构一样 1.新建两个目录,admin,function 2.ad ...
- 30.1 HashSet存储自定义对象 未去重解决
问题: package day30_HashSet; import java.util.HashSet; /* * 通过hashset存储自定义对象,没有进行去重. * * */ public cla ...
- 22.4 Extends --super 和 this 的区别
/* * this和super的区别 this:当前对象的引用 调用子类的成员变量 调用子类的成员方法 在子类的构造方法第一行调用子类其他构造方法 super:子类对象的父类引用 调用父类的成员变量 ...
- MySQL REPLACE INTO 的使用
前段时间写游戏合服工具时出现过一个问题,源DB和目标DB角色表中主键全部都不相同,从源DB取出玩家数据再使用 replace into 写入目标DB中,结果总有几条数据插入时会导致目标DB中原有的角色 ...
- 双色球的Python实现
代码如下: red_ball = [] blue_ball = [] count = 0 while count < 6: n = int(input('\033[31mPlease enter ...
- Threejs从入门到入门
前言threejs官网:https://threejs.org/ github各个版本:https://github.com/mrdoob/three.js/tags 版本更迭很快,我用的时候还是r9 ...
- D - Free Candies UVA - 10118
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- .NET Core 发布时去掉多余的语言包文件夹
用 .NET Core 3.x 作为目标框架时发布完之后,会发现多了很多语言包文件夹,类似于: 有时候,不想要生成这些语言包文件夹,需要稍微配置一下. 在 PropertyGroup 节点中添加如下的 ...
- Windows DC域控由server08r2升级至server2016测试
测试环境 原DC: csctest.com CSCDC01 192.168.100.1 server08r2 CSCDC02 192.168.100.2 server08r2 要求: 原两台旧主机均更 ...