【阅读笔记】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 better results and, more importantly, to help solve the recall problem.
- can treat it as a machine translation problem: language of user queries(S) <=> language of web documents(T)
5.1 Methodology
两个阶段:
- learning phase: learns phrase-level translations from queries to documents;
- decoding phase: generates candidates for a given query;
Learning Phase =>
此阶段存在的困难:获取大量query - 可以提高相关度的rewritten query训练数据;
困难原因:1)好的翻译模型需要超大量的双语文本;2)编辑不能很好的选择什么样的query可以提高相关性;
解决方案:
- 使用click graphs(加权无向图:queries和doc是nodes,edges代表queries和document的点击,权重是点击数)
- 使用文章title作为对应的rewritten query(因为相对于文章body,文章title与query更加相似)
- 根据得到的query-title配对,we follow the common steps for a typical phrase-based matching translation framework to learn phrase-level translations;
Decoding Phase =>
作用:
每个query(q)都有很多分词的方法得到多个phrase,而且每个phrase都有很多translation,这导致将出现成百上千的候选rewritten_query;
=》decoding phase将在这些候选词中挑出最可靠的rewritten_query(qw);
公式:(待添加)
hi(qc,q)代表第i个feature function;λi指定该function的权重,λi可以被人工指定或者通过loss function学习得到;
特征函数:
对于每对(qc,q),本论文包含3种类型的feature function:Query feature functions, Rewrite query feature functions, Pair feature functions;
(Query feature functions)
h1 - number of words in q;h2 - number of stop words in q;h3 - language model score of the query q;h4 - query frequency of q;h5 - average length of words in q;
(Rewrite query feature functions)
h6 - number of words in qc;h7 - number of stop words in qc;h8 - language model score of the query qc;h9 - query frequency of qc;h10 - average length of words in qc;
(Pair feature functions)
h11 - Jaccard similarity of URLs shared by q and qc in the query-URL graph;
h12 - difference between the frequencies of q and qc;
h13 - word-level cosine“余弦” similarity between q and qc;
h14 - difference between the number of words between q and qc;
h15 - number of common words in q and qc;
h16 - difference of language model scores between q and qc;
h17 - difference of the number of stop words between q and qc;
h18 - difference of the average length of words between q and qc;
=》经实验,发现h11, h12, h13是最重要的三个feature functions;
5.2 Ranking Strategy
根据original query和rewritten query,有两种排序策略:
Replace the original query with the rewritten query (未采用)=>
评估:直接采用replace的方式很冒险,一些低质量的rewrites会对相关度造成负面影响;
Blending mode(采用) =>
方法:
1)分别使用original query(q)和rewritten query(qc)从搜索引擎中获取top-N个文档,并记录下两次获得的文档的序列和分值(O, R);
2)从O和R中取交集:若文档D同时出现在O和R中,D的最终分数未max(O, R);
3)在此基础上根据各文档的分值进行排序,选择top-N作为original query搜索的最终结果;
两种排序策略的评估:
两种方法都能对tail query的搜索相关度进行显著的提高;
但是由于rewritten query可能改变original query的目的,Replace策略的结果不如Blending Mode的好;
【阅读笔记】Ranking Relevance in Yahoo Search (三)—— query rewriting的更多相关文章
- 【阅读笔记】Ranking Relevance in Yahoo Search (一)—— introduction & background
ABSTRACT: 此文在相关性方面介绍三项关键技术:ranking functions, semantic matching features, query rewriting: 此文内容基于拥有百 ...
- 【阅读笔记】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 (二)—— maching learned ranking
3. MACHINE LEARNED RANKING 1) 完全使用不好的数据去训练模型不可行,因为负面结果不可能覆盖到所有方面: 2) 搜索可以看做是个二分问题,在此实验中,我们使用gradient ...
- Hadoop阅读笔记(三)——深入MapReduce排序和单表连接
继上篇了解了使用MapReduce计算平均数以及去重后,我们再来一探MapReduce在排序以及单表关联上的处理方法.在MapReduce系列的第一篇就有说过,MapReduce不仅是一种分布式的计算 ...
- 【unix网络编程第三版】阅读笔记(五):I/O复用:select和poll函数
本博文主要针对UNP一书中的第六章内容来聊聊I/O复用技术以及其在网络编程中的实现 1. I/O复用技术 I/O多路复用是指内核一旦发现进程指定的一个或者多个I/O条件准备就绪,它就通知该进程.I/O ...
- 【unix网络编程第三版】阅读笔记(二):套接字编程简介
unp第二章主要将了TCP和UDP的简介,这些在<TCP/IP详解>和<计算机网络>等书中有很多细致的讲解,可以参考本人的这篇博客[计算机网络 第五版]阅读笔记之五:运输层,这 ...
- 《大象Think in UML》阅读笔记(三)
Think in UML 阅读笔记(三) 把从现实世界中记录下来的原始需求信息,再换成一种可以知道开发的表达方式.UML通过被称为之概念化的过程来建立适合计算机理解和实现的模型,这个模型被称为分析模型 ...
- Kafka 权威指南阅读笔记(第三章,第四章)
Kafka 第三章,第四章阅读笔记 Kafka 发送消息有三种方式:不关心结果的,同步方式,异步方式. Kafka 的异常主要有两类:一种是可重试异常,一种是无需重试异常. 生产者的配置: acks ...
随机推荐
- Martinjingyu的开发环境
Mac Pro Book一台去年新款,最近这4年多折腾的东西总结下. Mac的包管理器首选HomeBrew,安装如下: ruby -e "$(curl -fsSL https://raw.g ...
- 路由与交换,cisco路由器配置,静态路由
网络是一个大型的拓扑结构,在路由表中,最重要的是管理距离和度量值 管理距离 管理距离用来确定路由的优先级.管理距离的范围是0-255之间的整数值.值越低代表优先级越高.0代表最高优先级.并且只有直连路 ...
- javascript 入门 之 bootstrap 第一个程序
<table data-toggle="table"> <thead> <tr> <th>Item ID</th> &l ...
- Linux网络篇,ssh原理及应用
一.对称加密与非对称加密 对称加密: 加密和解密的秘钥使用的是同一个. 非对称加密: 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥:简称公钥和私钥 对称加密 对称加密的密 ...
- 【python实现卷积神经网络】卷积层Conv2D实现(带stride、padding)
关于卷积操作是如何进行的就不必多说了,结合代码一步一步来看卷积层是怎么实现的. 代码来源:https://github.com/eriklindernoren/ML-From-Scratch 先看一下 ...
- 推荐一款超实用的GitHub可视化代码树插件:Octotree
前言 大家在GitHub查看代码的时候,是不是会经常跳转搜索代码!过一段时间就不知道自己跑到哪里了!有了这款工具,妈妈再也不用担心我找不到代码位置了! 直接上效果图 插件名称 : octotree 作 ...
- AtomicInteger的并发处理
AtomicInteger的并发处理 博客分类: Effective Java JDK1.5之后的java.util.concurrent.atomic包里,多了一批原子处理类.主要用于在高并发环 ...
- [算法总结]DFS(深度优先搜索)
目录 一.关于DFS 1. 什么是DFS 2. DFS的搜索方式 二.DFS的具体实现 三.剪枝 1. 顺序性剪枝 2. 重复性剪枝 3. 可行性剪枝 4. 最优性剪枝 5. 记忆化剪枝 四.练习 一 ...
- Python导出数据到Excel表格-NotImplementedError: formatting_info=True not yet implemented
在使用Python写入数据到Excel表格中时出现报错信息记录:“NotImplementedError: formatting_info=True not yet implemented” 报错分析 ...
- C# 基础知识系列- 11 委托和事件
0. 前言 事件和委托是C#中的高级特性,也是C#中很有意思的一部分.出现事件的地方,必然有委托出现:而委托则不一定会有事件出现.那为什么会出现这样的关系呢?这就需要从事件和委托的定义出发,了解其中的 ...