【阅读笔记】Ranking Relevance in Yahoo Search

Ranking Relevance in Yahoo Search

Yahoo! Inc
KDD2016 Industry track best paper

ABSTRACT

queries 和 URLs 之间的 semantic gap 是搜索的主要屏障。点击行为可以帮助我们提高相关性,但是对于大部分长尾 query,点击行为过于稀疏,而且噪声过大。为了增加相关性,时间地点的敏感性对于结果也是很重要的。
本文介绍搜索中的三点关键技术

  • ranking functions,
  • semantic matching features
  • query rewriting。

Keywords: learning to rank; query rewriting; semantic matching; deep learning

INTRODUCTION

搜索排名早期的工作主要集中在 queries 和 documents 的 text matching,例如 BM25,probabilistic retrieval model,vector space model。
后来结合用户行为搜索结果的相关性进一步提高,例如 click modeling。

现在 state of the art 的搜索方法所展现的瓶颈使得我们需要考虑 text matching 和 click modeling 之外的方法:

  • semantic gap 是主要的困难(query: how much tesla -> doc: tesla price)
  • 大量的长尾 query 使得无法利用用户行为信息
  • 用户会把搜索引擎当作是 Q&A systems,产生越来越多的自然语言的搜索
  • 需要考虑时空维度的信息,例如:最安全的汽车(当然是如今最安全的汽车),沃尔玛(附近的)

本文主要的贡献是:

  • 设计了一个全新的 learning to rank 算法和 contextual reranking 算法
  • 发展了 semantic matching features,包括 click similarity, deep semantic matching, and translated text matching
  • 提出了 query rewriting 和搜索相关算法
  • 提出了时空敏感的排序方案

BACKGROUND

Overview of Architecture

Yahoo search engine 可以很快的完成搜索这是因为:

  • 平行的对一个 query 进行多个 servers
  • 不断从 a cheaper ranking function 筛选出候选集然后再用更好一点的 ranking function 筛选

数据集被分为等大小的分片(根据 URL 的 MD5 分配),索引服务器提供接下来的服务。 每个查询由先由分片处理,每个分片返回其最佳候选文档。 然后将它们合并并重新排列以生成最终结果集。
在一个分片中,第一步是查找与查询匹配的所有文档,这称为召回(通常对每个查询词的文档集取交集以获取包含所有词的文档集)。 然后对这些文档进行第一轮排序,对每个文档用轻量级函数进行评分。 然后对分片强制执行简单的多样性约束,例如限制来自单个主机或域的文档数量。 然后,从排名靠前的候选者中提取查询相关特征,然后使用更 expensive 的第二轮函数对其进行排序,也称为 Core Ranking Function。

Ranking Features

  • Web graph:描述文档的质量和流行程度,例如PageRank
  • Document statistics:计算文档的一些基本统计信息,例如各个字段中的单词数
  • Document classifier:文档的分类信息,例如页面的语种,主题,质量等
  • Query Features: term 数,query 和 term 的频率和点击率
  • Text match:文本匹配特征,例如:BM25
  • Topical matching:话题级别的相似度
  • Click:用户点击结果的 feedback
  • Time:跟时间相关的特征

Evaluation of Search Relevance

评价搜索的相关性分为 human labeling 和 user behavioral metrics。一般用 user behavioral 来评价搜索相关性会更复杂一点,因为可能受到字体,位置等的影响。本文采用 human labeling 的方式进行评价,采用的指标是 DCG : D C G N = ∑ I = 1 N G i l o g 2 ( i + 1 ) DCG_N=\sum_{I=1}^N\frac{G_i}{log_2(i+1)} DCGN=I=1Nlog2(i+1)Gi G i G_i Gi表示位置 i i i上的文档的相关性评分。

根据 query 的出现频率,我们可以把 query 分为头部,腰部和尾部。本文主要关注腰部和尾部的 query。

MACHINE LEARNED RANKING

搜索可以被当作二分类问题。 在实验中,我们观察到具有 logistic loss 的 GBDT 通常能够减少顶部位置的不好 URL。但是它不能完美的对 URLs 进行排序。

Core Ranking

We first flat the labels “Perfect”, “Excellent” and “Good” to “Positive” (+1) and “Fair”, “Bad” to “Negative” (-1). The log likelihood (loss) is
L ( y , F ) = l o g ( 1 + e x p ( y F ) ) , y ∈ { 1 , 1 } L(y, F) = log(1 + exp(yF)), y\in \{1, 1\} L(y,F)=log(1+exp(yF)),y{ 1,1}

Then the pseudo-response of stage m m m is
− g m ( x i ) = − [ ∂ L ( y i , F ( x i ) ) ∂ F ( x i ) ] F ( x ) = F m − 1 ( x ) = y i 1 + e x p ( y i F m − 1 ( x i ) ) -g_m(x_i)=-[\frac{\partial L(y_i, F(x_i))}{\partial F(x_i)}]_{F(x)=F_{m-1}(x)}=\frac{y_i}{1 + exp(y_iF_{m-1}(x_i))} gm(xi)=[F(xi)L(yi,F(xi))]F(x)=Fm1(x)=1+exp(yiFm1(xi))

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值