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

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

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

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

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

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

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

  4. 【阅读笔记】Ranking Relevance in Yahoo Search (二)—— maching learned ranking

    3. MACHINE LEARNED RANKING 1) 完全使用不好的数据去训练模型不可行,因为负面结果不可能覆盖到所有方面: 2) 搜索可以看做是个二分问题,在此实验中,我们使用gradient ...

  5. Hadoop阅读笔记(三)——深入MapReduce排序和单表连接

    继上篇了解了使用MapReduce计算平均数以及去重后,我们再来一探MapReduce在排序以及单表关联上的处理方法.在MapReduce系列的第一篇就有说过,MapReduce不仅是一种分布式的计算 ...

  6. 【unix网络编程第三版】阅读笔记(五):I/O复用:select和poll函数

    本博文主要针对UNP一书中的第六章内容来聊聊I/O复用技术以及其在网络编程中的实现 1. I/O复用技术 I/O多路复用是指内核一旦发现进程指定的一个或者多个I/O条件准备就绪,它就通知该进程.I/O ...

  7. 【unix网络编程第三版】阅读笔记(二):套接字编程简介

    unp第二章主要将了TCP和UDP的简介,这些在<TCP/IP详解>和<计算机网络>等书中有很多细致的讲解,可以参考本人的这篇博客[计算机网络 第五版]阅读笔记之五:运输层,这 ...

  8. 《大象Think in UML》阅读笔记(三)

    Think in UML 阅读笔记(三) 把从现实世界中记录下来的原始需求信息,再换成一种可以知道开发的表达方式.UML通过被称为之概念化的过程来建立适合计算机理解和实现的模型,这个模型被称为分析模型 ...

  9. Kafka 权威指南阅读笔记(第三章,第四章)

    Kafka 第三章,第四章阅读笔记 Kafka 发送消息有三种方式:不关心结果的,同步方式,异步方式. Kafka 的异常主要有两类:一种是可重试异常,一种是无需重试异常. 生产者的配置: acks ...

随机推荐

  1. 使用 python 查看谁没有交作业

    话说实验报告每天都要查人数,何不用程序实现 使用 python 查看谁没有交作业 version 1.0 程序嘛,肯定是可以改进的.使用该程序的前提是实验报告文件名中包含学号信息.将以上程序放在实验报 ...

  2. Python Modules and Packages – An Introduction

    This article explores Python modules and Python packages, two mechanisms that facilitate modular pro ...

  3. TCP协议的安全性分析

    有算法就有破解法,因为它们都遵循了一定的数据结构和数学知识.所以网络安全是一个相对的概念,不可能出现绝对的安全!作为当今最流行的网络协议--TCP也是如此.那么TCP的安全问题究竟是哪些因素引起的呢? ...

  4. 超过百万的StackOverflow Flutter 问题

    老孟导读:今天分享StackOverflow上高访问量的20大问题,这些问题给我一种特别熟悉的感觉,我想你一定或多或少的遇到过,有的问题在stackoverflow上有几十万的阅读量,说明很多人都遇到 ...

  5. stand up meeting 1/19/2016

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

  6. stand up meeting 12/10/2015

    part 组员 今日工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云 修改了详细释义的自动换行功能:设计并完成了背景图片的切换功能    6 完成单词释义热度排序    6 PDF Reade ...

  7. Java 基础讲解

    Hello,老同学们,又见面啦,新同学们,你们好哦! 在看完本人的<数据结构与算法>专栏的博文的老同学,恭喜你们在学习本专栏时,你们将会发现好多知识点都讲解过,都易于理解,那么,没看过的同 ...

  8. JS-Array-新增方法

    1. filter( ) var arr = [5,4,3,2,1]; newarr = arr.filter((item)=>{ return item<3 }) ;  // => ...

  9. python第三方库安装与卸载

    一.检查python环境是否正常 python安装完毕并设置环境变量后,可在cmd中运行python查看,显示版本等信息  二.查看已经安装的第三方库 通过pip list可查看已安装的库,以及对应的 ...

  10. PHP文件包含漏洞(利用phpinfo)复现

    0x01 简介 PHP文件包含漏洞中,如果找不到可以包含的文件,我们可以通过包含临时文件的方法来getshell.因为临时文件名是随机的,如果目标网站上存在phpinfo,则可以通过phpinfo来获 ...