信息检索导论第9章-相关反馈及扩展查询

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010772289/article/details/79048385

第9章 相关反馈及扩展查询

9.1 相关反馈及伪相关反馈

RF(relevance feedback,相关反馈)的主要思想是,在信息检索的过程中通过用户交互来提高最终的检索效果。

1. Rocchio相关反馈算法

Rocchio算法是相关反馈中的一个经典算法,它可以将相关反馈信息融入到向量空间模型中,即修改查询向量的权重

1. 基本理论
假设我们要找一个最优查询向量 q⃗  ,它与相关文档之间的相似度最大,和不相关文档之间的相似度最小。若 Cr 表示相关文档集, Cnr 表示不相关文档集,我们希望找到的最优的 q⃗ 

q⃗ opt=argmax[sim(q⃗ ,Cr)sim(q⃗ ,Cnr)]=argmax(1|Cr|djCrq⃗ dj1|Cnr|djCnrq⃗ dj)=argmax(q⃗ a⃗ )

其中,sim是余弦相似度, q⃗  是查询向量的单位向量, d⃗  是文档d的单位向量,而

a⃗ =1|Cr|djCrdj1|Cnr|djCnrdj

若使 q⃗ a⃗  最大, q⃗  需要与 a⃗  平行,且 q⃗  为单位向量,
因此,

q⃗ =1|Cr|djCrdj1|Cnr|djCnrdj

这就是说,最优的查询向量等于相关文档的质心向量和不相关文档的质心向量的差。然而,这个q是不能直接求出来的,因为检索本来的目的就是要找相关文档,而所有的相关文档事先是未知的。

2. Rocchio算法
在真实的检索情景中,假定有一个用户查询,并知道部分相关文档和不相关文档的信息,则可以得到修改后的 q⃗ m :

q⃗ m=αq⃗ 0+β1|Dr|djDrdjγ1|Dnr|djDnrdj

其中, q⃗ 0 是原始的查询向量, Dr Dnr 是已知的相关和不相关文档集合。修改后的新查询从 q⃗ 0 开始,向着相关文档的质心向量靠近了一段距离,而同时又与不相关文档的质心向量远离了一段距离。

相关反馈可以同时提高准确率和召回率,然而,实际表明该技术在一些重召回率的情况下对于提高召回率非常有用。

2. 基于概率的相关反馈方法

如果已知一些相关和不相关文档,我们可以通过建立分类器而不是修改查询向量的权重进行相关反馈。一种实现分类器的方法是采用朴素贝叶斯概率模型,这样,就可以根据文档的相关性,来估计词项 t 出现在该文档中的概率,即

3.相关反馈的作用时机
1. 用户需要有足够的知识来建立一个不错的初始查询。
2. 相关反馈要求相关文档间非常相似。Rocchio相关反馈模型通过计算簇质心向量,隐式的将相关文档看成单个簇。如果相关文档包括多个不同子类,即它们在向量空间中可以聚成多个簇,那么Rocchio方法效果会不太好。

Web搜索很少使用相关反馈,大部分用户都希望在一次交互中完成搜索任务。

4. 伪相关反馈
伪相关反馈,也称为盲相关反馈,它将相关反馈的人工操作部分自动化,因此,不同于Rocchio算法,用户不再需要进行额外的交互。该方法首先进行正常的检索过程,返回最相关的文档构成初始集,然后假设排名靠前的k篇文档时相关的,最后在此假设上像以往一样进行相关反馈。

5. 间接相关反馈
利用间接的资源而不是显著的反馈结果作为反馈的基础,这种方法称为 隐式相关反馈。

Web搜索引擎DirectHit就引入了一种文档排序的思路,即对于某文档,如果用户浏览的次数越多,它的排名越高。

9.2 查询重构的全局方法

最普遍的查询扩展方法是通过某种同义词词典进行分析,对于查询中的每个查询词项 t, 通过在词典中找出 t 的同义词或相关词对查询进行自动扩展。

同义词词典构建的两种方法:

  • 人工构建
  • 自动构建

猜你喜欢

转载自blog.csdn.net/u010772289/article/details/79048385