【metasearch学习笔记】Models for metasearch_SIGIR2001

来源:互联网 发布:王侯将相焉有种乎出自 编辑:程序博客网 时间:2024/06/05 04:01

好久没在这上面写点儿什么了,源于自己这段时间的确没怎么学习。这几天在看metasearch(元搜索),记下笔记。


《Models for metasearch》,发表在SIGIR2001的文章。讲了元搜索的基本方法。


里面的一张图很好,元搜索结果融合算法的分类,如图:


有两个维度,一个是是否有training data,另一个是除了各个搜索引擎的排序结果之外,每个排序的item是否有评分。通常来讲,都是没有training data和没有评分的。反过来,yy一下,如果有training data,既然搜索引擎一般是面向全网的,那么the scale of training data的多大啊,需要多少人工啊。如果支撑元搜索的每个搜索引擎都返回评分,那么现实中这些支撑引擎都是同一个公司开发的,那就不是纯粹的元搜索,而是大搜索中的一个重排序环节了。


如上所述,现实中,最有用的恐怕就是左上角的Borda融合了。

这是借鉴了民主投票的方式。民主投票过程中,对于若干个候选人,很多选民对这些人进行排序,Borda方法就是融合这些排序,最终得到一个反映所有选民意愿的排序名单。元搜索的任务和上述选举过程很像:通过query找到的item,就是候选人,每个搜索引擎就是选民,搜索引擎对每个item按照相关度进行排序,元搜索融合所有排序结果,给出一个反应所有搜索引擎的最终结果。

Borda排序表示成数学公式看起来挺复杂,其实是庸人自扰,用汉语来表达,它的具体过程很简单:如果有N个搜索引擎,对M个item进行排序,那么对于某个搜索引擎的第一个item,记为N分,第二个item,记为N-1分......其他的搜索引擎、其他的item都照办,然后对所有item按照分数排序,就是最终结果。

因为它太简单了,IR学术圈似乎并不怎么研究它,反而是在研究群体决策的领域对它有比较详细的研究。我曾经看过一个ppt,讲Borda的弱点,精心构造了一个例子,就为了说明怎么做,Borda算法都不能圆满处理这个case。不过,好在现实生活中没那么多的极品例子,况且搜索引擎上面,大不了就是质量差点儿罢了,后果不严重。

对Borda算法的一个很自然的扩展,就是对下面支撑的搜索引擎给出的结果,赋予不同的权重。这种权重,可以是先验经验;当有标记数据的时候,也可以训练出来(图中右上角的算法)——具体怎么训练我还没去想, 不过应该不难做。


文章又从Bayes原理出发,提出一种BAYES-FUSE方法。

要计算两种概率:

1. Pr[rel|r1,r2,...,rn] (‘r'是文档,rel表示relative)

2. Pr[irr|r1,r2,...,rn] ('irr'表示irrelative)

用Bayes公式推导,然后计算两种概率的比值,来表示文档r在第i个位置上的权重,进一步进行排序。关键在于计算 Pr[ri|rel] 和 Pr[ri|irr]。文章用了trec中的工具,这在实际中显然是不具备的。其实看一看,如果不考虑 Pr[ri|irr],那么 Pr[ri|rel] 其实很像Borda中的评分,只不过Borda中的评分更加简单、均匀罢了。在没有先验知识的情况下,对 Pr[ri|rel] 的值的最好的估计也是趋向于均匀的。


实验部分。

文章比较了融合前和融合后的结果,自然是融合后的结果好。另外,简单的Borda算法产生的结果就已经足够好了。


相关工作。

1. Min、Max and Sum models

在确定一个item在最终元搜索引擎中的排序的时候,Min方法就是选择item在所有搜索引擎中最后(最小)的那个位置作为最终位置。其他两种方法类似。

2. Averaging Models

当每个搜索引擎不仅仅提供排序,还提供item的概率(或者相关度)的时候,把这些数值计算平均值也是一种方法。

3 Logistic Regression Model

有监督学习,点击模型。

4. Linear Combination Model

和Averaging Models差不多,只不过改成了线性加权,计算最终结果。


完。


转载请注明出处:http://blog.csdn.net/xceman1997/article/details/22333065

0 0
原创粉丝点击