Ranking Relevance小结

Ranking Relevance是搜索排序算法的各个影响因子中至关重要的一个部分。对于Ranking Relevance的计算,过去的技术每每分为两个大的方向:Click BehaviorText Matchhtml

1. Click Behavior类的feature

主要是利用用户的点击行为来计算query-doc relevance,直观上,点击越多的query-doc pair,relevance也越高,固然Click Behavior类的feature还包括:是不是首次点击,是不是最后一次点击,是不是惟一点击,等等。算法

可是Click Behavior类的feature的缺点也显而易见:spa

1)Sparsity。只有“有过点击”的query-doc pair,咱们才能够计算它们的relevance,而对那些历史上根本没有过点击的query-doc pair,每每一筹莫展。debug

2)Noisy。另一个更常见的问题是,对于长尾的query-doc pair,展示数和点击数过少,因此获得的query-doc的展示CTR等数据噪音较大,虽然也能够经过贝叶斯平滑的方式来缓解(详见博客:http://www.cnblogs.com/bentuwuying/p/6389222.html,和http://www.cnblogs.com/bentuwuying/p/6498370.html)。htm

总结来看,Click Behavior类的feature,对于Top的query-doc pair(即展示次数&点击次数较多)比较可靠,对于长尾的,甚至是没出现过的query-doc pair,则不太可靠。blog

 

2. Text Match类的feature

包括Term Match(term级别的匹配),和Topic Match(语义级别的匹配)。Text Match并不受到query-doc的展示次数和点击次数的多少的影响,即当query和doc肯定后,这类feature的值就肯定了(固然前提是采用相同的模型计算的),并不会随着时间的推移而改变,是一种静态的relevance关系。排序

2-1. Term Match

包括:直接根据query和doc的term进行各类匹配,各类计算获得,好比,词频(term frequency),TF-IDF,布尔模型,空间向量模型(将query和doc各自分词后的term组成一个共享的词典vector,而后各自表示成相同维度的vector,计算类似度),BM25,query与doc各个field的term级别重叠比例(重叠term个数占query term个数的比例,重叠term个数占doc各个field的term个数的比例,query-doc的N-gram重叠比例,query能覆盖doc的N-gram prefix的比例,query-doc是否perfect match)等。get

Term Match的缺点在于:博客

1) 没法解决近义词的问题,因为是term级别的匹配,那么近义词虽然表达的意思近似,可是却没法匹配,或者说在向量空间上距离很远,即没法表达近义词。it

2)query和doc上的term的语法表达的区别,例如query中的“how much”与doc中的“price”,意思虽然近似,可是存在语法语义上的区别。

2-2. Topic Match

包括:通常是将query和doc都映射到一个隐含层空间向量上(隐语义空间),而后基于这个隐含层空间上的vector计算类似度,通常能够用pLSA,或者LDA等NLP模型来处理)

Topic Match的缺点在于,解释性较差,不一样于Term Match中咱们把query和doc切分到term级别,解释性较强,而在Topic Match中,映射到隐语义空间上时,vector每一个维度表达的意思并不知道,不利于验证和debug。

 

版权声明:

   本文由笨兔勿应全部,发布于http://www.cnblogs.com/bentuwuying。若是转载,请注明出处,在未经做者赞成下将本文用于商业用途,将追究其法律责任。

相关文章
相关标签/搜索