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的更多相关文章

  1. 【阅读笔记】Ranking Relevance in Yahoo Search (四 / 完结篇)—— recency-sensitive ranking

    7. RECENCY-SENSITIVE RANKING 作用: 为recency-sensitive的query提高排序质量: 对于这类query,用户不仅要相关的还需要最新的信息: 方法:rece ...

  2. Ranking relevance in yahoo search (2016)论文阅读

    文章链接 https://www.kdd.org/kdd2016/papers/files/adf0361-yinA.pdf abstract 点击特征在长尾query上的稀疏性问题 基础相关性三大技 ...

  3. 【阅读笔记】Ranking Relevance in Yahoo Search (一)—— introduction & background

    ABSTRACT: 此文在相关性方面介绍三项关键技术:ranking functions, semantic matching features, query rewriting: 此文内容基于拥有百 ...

  4. 【阅读笔记】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 ...

  5. <<Javascript Patterns>>阅读笔记 -- 第2章 基本技巧(二)

    关于for-in循环 循环数据时, 强烈不推荐使用for-in循环.因为当Array对象被扩展后, 再用for-in循环遍历数据会导致逻辑上的错误, 举例说明: var arr = ['a', 'b' ...

  6. Hadoop阅读笔记(二)——利用MapReduce求平均数和去重

    前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一 ...

  7. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要二

    今天继续分享我的阅读<LEARNING HARD C#学习笔记>知识点总结与摘要二,仍然是基础知识,但可温故而知新. 七.面向对象 三大基本特性: 封装:把客观事物封装成类,并隐藏类的内部 ...

  8. Linux协议栈代码阅读笔记(二)网络接口的配置

    Linux协议栈代码阅读笔记(二)网络接口的配置 (基于linux-2.6.11) (一)用户态通过C库函数ioctl进行网络接口的配置 例如,知名的ifconfig程序,就是通过C库函数sys_io ...

  9. Apollo源码阅读笔记(二)

    Apollo源码阅读笔记(二) 前面 分析了apollo配置设置到Spring的environment的过程,此文继续PropertySourcesProcessor.postProcessBeanF ...

随机推荐

  1. 在scratch中怎样编写抓蝴蝶游戏

    打开scratch2.0软件,进入工作界面,将语言切换为简体中文:将默认的演员猫删除掉:在新建背景中选择“从背景库中选择背景”: 选择户外,来点一个背景图flower bed,然源后点下面的确定: 背 ...

  2. 打造一款 刷Java 知识的小程序(一)

    一.为什么要打造 Java要学的东西太多了,所以准备把这些知识汇总到一起,而小程序是一个比较好的入口,借助微信客户端,打开方便. 二.打造成什么样 首页展示:包含了Java各大知识点模块 知识点展示: ...

  3. Dubbo 路由机制的实现

    Dubbo 路由机制是在服务间的调用时,通过将服务提供者按照设定的路由规则来决定调用哪一个具体的服务. 路由服务结构 Dubbo 实现路由都是通过实现 RouterFactory 接口.当前版本 du ...

  4. 统计分析_集中趋势and离散程度

    1.数组的集中趋势-如何定义数组的中心 1.1 常用几下几个指标来描述一个数组的集中趋势 均值-算术平均数 . 中位数-将数组升序或降序排列后,位于中间的数. 众数-数组中出现最多的数. 1.2 指标 ...

  5. Python常见数据结构-Tuple元组

    Python Tuple基本特点 元组与列表类似,不同之处在于元组的元素不能修改. 与字符串和列表一样,可以根据下标进行切片索引. 元组使用小括号,单一元素的元组定义是必须加一个逗号. Python ...

  6. PHP 语法引用使用及实现

    说明 这里基于 php7.2.5 进行测试,php7 之后内部结构变化应该不是太大,但与 php5.X 有差别. 什么是引用 在 PHP 中引用是一种数据类型 (结构),是指 指向同一个类型的数据结构 ...

  7. 【FreeMarker】【程序开发】数据模型,对象包装

    [FreeMarker][程序开发]数据模型,对象包装 分类: Java.FreeMarker2014-10-25 18:49 413人阅读 评论(0) 收藏 举报 FreeMarker   目录(? ...

  8. 自己实现一个 DFA 串模式识别器

    自己实现一个 DFA 串模式识别器 前言 这是我编译原理课程的实验.希望读完这篇文章的人即便不知道 NFA,DFA 和正规表达式是什么,也能够对它们有一个简单的理解,并能自己去实现一个能够识别特定模式 ...

  9. stand up meeting 1/18/2016

    part 组员                工作              工作耗时/h 明日计划 工作耗时/h    UI 冯晓云  准备最后的发布和整个开发的整理总结    6 release ...

  10. Nightmare BFS

    Ignatius had a nightmare last night. He found himself in a labyrinth with a time bomb on him. The la ...