同义词反馈机制

1.   介绍

因为搜索算法自己的局限性,对于用户的语义、意图等理解不够,而基于用户行为的点击调权,做为对传统搜索算法的补充,在搜索中扮演着重要的做用。尽管用户行为已经被证实在搜索中的效果,可是一直只是停留在query-url层面,或者ngram-url层面[1],没有深刻反馈到检索算法中的基础策略,好比:同义词、紧密度、省略等,这些策略影响了url与query之间的关系。本文以对同义词的反馈为例,提出一个通用的基于用户行为的基础策略反馈框架。算法

因为同义词词典与线上应用算法的限制,检索系统中存在部分质量很差、或者原本质量好可是应用时错误下降了权值的同义词。在同义词召回出来结果后,呈如今用户面前,用户的行为数据能够帮助咱们识别同义词的好坏。在计算出同义词的好坏后,就能够直接应用于同义词的退场或者调整应用的权值。框架

 

2.   反馈框架

在进行反馈机制的挖掘中,主要分为三部分:机器学习

1)       日志记录。主要进行基础策略用户行为的记录、以及query-url对进行用户行为数据的统计,解决如何利用用户行为衡量query-url转义问题。这部分还要记录影响具体query-url的策略,好比,这个url是哪一个同义词所召回,或者是哪一个term被省略。ide

2)       反馈机制挖掘。根据query-url中统计的基础策略的用户行为数据,进行基础策略的统计。这个地方不一样的基础策略的衡量方式能够保持相同,可是基础策略提取的信息不同。好比同义词是替换对,省略是指省略的term等。学习

3)       线上反馈应用。将第二步挖掘的词典,应用于具体的query,好比进行上下文的匹配,以及一些应用策略。ui

以上的框架比较笼统,下面针对同义词的反馈作具体的讨论。搜索引擎

3.   日志记录及统计

这部分首先须要记录具体的策略,好比在这个query下,每条url是由哪一个基础策略所影响的,并且须要更加具体。好比同义词须要记录由那些具体的同义词所召回。由于每每一个query有不少同义词,可是真正每条url只是其中1到2个同义词影响的。url

衡量query-url是否转义是很是关键的步骤,本文主要篇幅是讨论这个。衡量的方法须要借助用户的行为。在搜索引擎的日志系统中,对query-url有以下的用户行为统计量:(下面的讨论中,url的统计都是和query相关的,再也不特殊说明)日志

展示次数:用户搜索后,搜索引擎返回的url在前k条展示的次数(display)排序

点击次数:用户点击url次数(click)

满意点击次数:考虑是否知足用户的需求的点击(相对停留时间,是不是最后点击) (satisfy)

所以咱们能够用click/disply、satisfy/display来衡量url的好坏。但有以下问题:

1.位置偏置问题:点击次数对位置很是敏感,搜索结果中, url的点击次数随着url的排序位置越靠后,其点击次数越少,并且越后面减小得越快。所以位置在前的url,虽然转义了,但也有不少用户点击;反之,位置在后的url,虽然知足用户需求了,但也不多有用户点击。这样很容易让咱们的反馈系统失效。

2.在搜索引擎中,用户对搜索结果的满意大体能够分为两个层次:1) 检索出来的url的标题和摘要是否和用户的query的意图一致。2) url内容的质量是否知足用户的需求,好比是否死链、知道页面没有人回答、做弊页面等。咱们的目标是识别出转义的替换词对,这些只和第1个层次的满意相关。咱们能够假设用户既然点击了这个url,说明这个url的title摘要是没有转义的,至于网页的质量不是同义词自己的质量所能影响的。

为了解决问题1,能够从这一角度考虑。排在后面的url点击次数少的缘由是用户看到的次数少,所以不能用展示来与click作比值,能够利用一些方法来估计用户看到的次数,咱们称之为检查次数(check)。这里有一些很简单的方法。好比对于每次用户的搜索,用户最后点击的url位置为p,那么位置在p以前url检查次数是1,在p以后的url的检查次数依次以一个几率衰减。这些几率能够采用一些贝叶斯的方法进行学习。[2]

采用检查次数能够部分解决位置偏置问题,可是学习到的衰减参数是对全部的query-url,但不一样的query-url有很大的差异,这也是该方法的不足之处。

4.   反馈挖掘和应用

4.1 反馈挖掘

基于第3章中日志记录的工做,能够采用click次数用来表示url知足query的次数,而check-click表示url不知足query的次数。这样用click/(check-click)这个值来表示url知足query程度。对于具体的同义词反馈任务,能够把多条query-url结果中记录的一样的同义词替换进行统计click和check次数(即统计的key是 原词 替换词 二元组),把最后获得的click/(check-click)做为衡量这个同义词替换的类似度,即同义词的反馈替换类似度:

这个地方还有一大问题是,因为不少同义词是上下文相关的,好比:考虑一对同义词 看->治疗,在某些上下文下,好比:哪里看病比较好,是同义的;而在某些上下文下,好比:哪里看还珠格格连播。所以为了更智能的在不一样的上下文进行同义词的反馈,须要在统计的时候考虑上下文,即统计的key为:原词 上下文 替换词 三元组。

可是不能把整个query做为上下文,这样统计会有很大的数据稀疏性,而若是随便把单个词做为上下文,会有很大的准确率问题。好比 哪里看->治疗 以及->观看 都是支持的。所以为了兼顾上下文数据的稀疏以及准确问题,须要一个上下文选择算法。在天然语言处理中一般采用似然比的方法(llr, likelihood ratio)[3],用来衡量orig与context的搭配强度,从而搭配强度越强,这个context词能够认为是orig词的替换上下文。其计算方法为:

其中a表示orig,context共现次数;b表示orig出现,context不出现的次数;c表示orig不出现,context出现的次数;d表示oirg和context都不出现的次数。N=a+b+c+d表示总共的样本数,那么llr的计算公式为:

4.2 反馈应用

反馈机制应用时,是针对每个替换进行独立的判断,即已知替换对(orig sub),须要先进行上下文的选取。上下文相关的同义词,本质上来讲被替换词是一个多义词,对于大部分query来讲,只用一个上下文词就能够限定被替换词的意义。所以从简单的角度考虑,以及多个词的上下文融合所带来的噪音以及融合方式的问题,反馈机制应用时只选择一个在必定上下文窗口内的词语。

最后计算所选择的上下文,利用4.1节中训练的数据,做为替换的反馈类似度,即sim(orig,contex,sub)。利用这个值做为同义词的置信度应用于线上:或退场,或降权,或升权。

5.    总结和展望

在检索系统中,对基础策略作基于用户行为的反馈是一个比较新的方向,对于改进基础数据具备很是重要的意义。本文根据对用户行为的深刻调研,探讨了一些方法和指标。

从整体上来讲,本框架的至关于作了两个假设:用户行为与相关性的关系正相关,url相关性与基础策略正确性正相关。

第一个假设涉及到基础统计特征的调研思考角度。点击 检查是体现这些关系的特征之一,另外还能够考虑更多的特征,好比:满意点击,点击的url条目。还有飘红对点击的影响,用户的做弊识别等干扰基础特征的统计。这一点不一样的基础策略是能够统一的

第二个假设涉及到基础策略以什么形式来表示这些基础的统计特征。这个是和基础的策略紧密相关。好比同义词选择上下文的方法,以及上下文的位置,多个上下文,或者不须要上下文的替换对识别等。另外还需关注基础策略的应用问题,好比同义词不转义,url转义的问题,这对基础策略的识别会产生误导。

从机器学习的角度上,该方法主要从生成模型的角度出发,所以模型的各个步骤解释性很强,可是没法利用更多的特征,能够挖掘更多的特征并采用机器学习的方法来利用这些特征。

6.    参考文献

[1] Huihsin T, Longbin C, Fan Li etc. 2009. Mining Search Engine Clickthrough Log for Matching N-gram Features . Proceedings of the 2009 Conference on EMNLP, 524-533.

[2] Ricardo Baeza-Yates, Carlos Hurtado,etc. Modeling User Search Behavior. In LA-WEB 05

[3] Christopher D. Manning, Hinrich Schutze. Foundations of Statistical Natural Language Processing. The MIT Press. 172-175

by xuwenzhi

相关文章
相关标签/搜索