【信息检索与数据挖掘期末笔记】(四)概率检索模型

为什么需要概率检索

给一个用户需求和一个文档集,一个检索系统需要决定文档有多满足查询

  • IR 系统难以理解一个查询背后的信息需求,并且对文档满足查询的程度做了非确定性推测

  • 概率论可以为这种非确定性推理提供一个基本的理论

    • 概率模型利用这个基础来估计文档与查询相关的可能性有多大

概率模型与其他模型比较

布尔模型

概率模型提供了排序,因此要优于布尔模型

向量空间模型

向量空间模型:根据相似度对文档进行排序。相似的概念并不能直接转化为“该文档是否适合提供给用户?”的评估。最相似的文件可以是高度相关的,也可以是完全不相关的。

概率论可以说是我们真正希望IR系统做的事情:给用户提供相关的文档。

概率论

  • 联合概率

在这里插入图片描述

  • 条件概率

    在这里插入图片描述

  • 链式法则:

    在这里插入图片描述

  • 全概率定理:

    在这里插入图片描述

  • 贝叶斯定理:(计算后验概率)

    在这里插入图片描述

  • 优势率:反映概率如何变化的“放大器”:

    在这里插入图片描述

概率排序原理(PRP)

假设相关性是二值的:要么相关,要么不相关 R d , q = 1 / 0 R_{d,q} = 1 / 0 Rd,q=1/0 。概率模型检索回来的文档按 P ( R = 1 ∣ d , q ) P(R=1|d,q) P(R=1d,q) 降序排列

  • 如果检索到的文档按相关性概率递减排序,那么系统的效果达到最好

  • 当返回一个无序文档集而不是排序的结果时,可以使用贝叶斯最优决策原理:返回相关的可能性大于不相关的可能性的文档

二值独立模型(BIM)

文档和查询都表示为词项出现与否的布尔向量

在这里插入图片描述

独立性:指的是词项之间在文档中的出现是相互独立的

针对查询向量来说,返回的文档可以表示成 x ⃗ \vec x x 且是相关文档的概率,也就是向量 x ⃗ \vec x x 对应的文档与查询相关的概率,也就是具体的一篇文档与查询相关的概率

因此,我们按照 P ( R = 1 ∣ d , q ) P(R=1|d,q) P(R=1d,q) 进行排序,在BIM中就对应按照 P ( R = 1 ∣ x ⃗ , q ⃗ ) P(R=1|\vec x,\vec q) P(R=1x ,q ) 进行排序

在这里插入图片描述

针对一个查询,当返回一篇相关文档或不相关文档时,文档表示为 x ⃗ \vec x x 的概率,也就是与查询相关的文档中,文档可以表示成向量 x ⃗ \vec x x 的概率

在这里插入图片描述

先验概率,针对查询,返回一篇相关文档是相关文档 / 不相关文档的概率,也就是文档集中,与查询相关 / 不相关的文档的概率

在这里插入图片描述

我们可以根据文档相关性的优势率对文档进行排序,这样的话可以忽略上面的分母

在这里插入图片描述

同时可以看出,优势率中第一项对一个给定的查询来说,是一个常数,不会影响文档的排序,因此可以忽略

朴素贝叶斯条件独立性假设:在给定查询的情况下,认为一个词的出现与否与其他词是相互独立的

在这里插入图片描述

因此,优势率可以表示成如下形式(将向量的出现,拆分成向量中词的出现, x t x_t xt 代表一个词)

在这里插入图片描述

一个词,在一篇文档中要么出现,要么不出现,因此我们可以写成如下形式

在这里插入图片描述

下面式子的含义是:返回的文档是相关文档,且其中出现了词 x t x_t xt ,因此就是 x t x_t xt 出现在相关文档中的概率

在这里插入图片描述

简化表示,我们定义

在这里插入图片描述

可以得到这样一个表

在这里插入图片描述

同时,假设:查询语句中未出现的词,出现在相关文档和不相关文档中的概率一样。 q t q_t qt 代表查询语句中的一个词

在这里插入图片描述

现在,我们可以只考虑出现在查询中的词,因为未出现的词后面两项都是 1

在这里插入图片描述

第二项因子,考虑的是查询中的词项出现在文档中(分子是出现在相关文档中,分母是出现在不相关文档中)的情况,第三项考虑的是查询中的词项未出现在文档中的情况

在这里插入图片描述

我们将式子转化成如下形式

  • 后面一项,多乘了 t : x t = 1 t:x_t=1 t:xt=1 的情况,因此在前面一项中添加 $\frac{1-u_t}{1-p_t} \$ 以将影响抵消

在这里插入图片描述

这里,式子的第三个因子考虑的是查询中出现的所有词,因此对于一个给定的查询来说,这个因子是个常数。因此,我们可以将其忽略。所以,文档排序中唯一需要估计的量只有第二个乘子

注意:第二个乘子中所有需要考虑的词,仅仅是在查询语句中出现的词

最后用于排序的量称为== R S V ( r e t r i e v a l   s t a t u s   v a l u e ) RSV(retrieval\, status\, value) RSV(retrievalstatusvalue) 检索信息状态==

RSV

在这里插入图片描述

我们定义== c t c_t ct 为优势率比率的对数值==

优势率比率的对数值 c t c_t ct

可以看到, c t c_t ct R S V d RSV_d RSVd 求和中的一项

  • 当查询词项出现在相关文档中时,优势率为 $\frac{p_t}{1-p_t} \$
  • 当查询词项出现在不相关文档中时,优势率为 $\frac{u_t}{1-u_t} \$

在这里插入图片描述

在这里插入图片描述

  • c t = 0 c_t = 0 ct=0 代表词项在相关和不相关文档中优势率相等
  • 若词项更可能出现在相关文档中,那么 c t c_t ct 为正,反之为负

c t c_t ct 实际上给出的是模型中词项的权重,而查询文档的得分是,可以看到这与向量空间模型的操作是相同的,只是词项的权重不一样

在这里插入图片描述

但是 q t q_t qt u t u_t ut 是不知道的,且两个加起来不等于 1。因为一个是在相关文档的集合中考虑的,一个是在不相关文档中考虑的

如何估计一个词项的 c t c_t ct 呢?

通过统计得出

相关文档数目为 S S S , 文档总数为 N N N , d f t df_t dft 为包含 t t t 的文档数

在这里插入图片描述

为了避免出现 0 的概率(比如 s = 0) , 我们通常在每一项上都加上 $\frac{1}{2} \$

u t u_t ut 部分的简化

假设相关文档只占文档集很小的一部分,我们可以简化不相关文档那部分的数据。这是 i d f idf idf 的表达式。这种优化很难扩展到 p t p_t pt

在这里插入图片描述

在这里插入图片描述

p t p_t pt 部分的假设

  • 假设对于查询中的所有词项 x t x_t xt , p t = 0.5 p_t = 0.5 pt=0.5

    • 我们期望的是:查询词项出现在很多但不是所有的相关文档中
    • 我们的假设并不严重反对这一期望
  • 因此 c t c_t ct 的第一项为 0

  • 因此决定 c t c_t ct 的就是 i d f idf idf

对于短文档的一遍查询,该方法能取得不错的结果

前面曾经说过, t f tf tf 很重要,那我们如何在模型中加入 t f tf tf 项,并且考虑归一化呢?

二值独立模型与向量空间模型的区别

  • 其实并不是特别不同
  • 在两种方式下,可以构建相同的信息检索方案
  • 对于概率检索模型,我们不是通过余弦相似度和 tf-idf 来打分,而是通过一个概率论驱动的不同的方式

Okapi BM25:一个非二值的模型

是一个概率模型,加上了词项频率和长度归一化

BIM模型最初主要为较短的编目记录和长度大致相当的摘要所设计,因此没考虑这两个方面

  • 对于文档 d d d ,最简单的文档评分方法是给文档中的每次查询词项赋予一个 i d f idf idf 权重

    在这里插入图片描述

  • 引入词项频率和文档长度

    在这里插入图片描述

    • t f t d tf_{td} tftd :文档 d 中词项 t 出现的次数

    • L d L_d Ld:文档 d 的长度

    • L a v e L_{ave} Lave:所有文档的平均长度

    • k 1 k_1 k1:一个取正值的调优参数

      • 取0,则对应 B I M BIM BIM 模型

      • 取较大的值,对应于使用原始词项频率,后面的式子相当于

        在这里插入图片描述

    • b b b (0<=b<=1):调优参数,决定文档长度的缩放程度

      • 取 1 ,表示基于文档长度对词项权重进行完全的缩放
      • 取 0,表示归一化时不考虑文档长度的影响
  • 对于长查询,对查询词项也可以使用类似的权重计算方法

    在这里插入图片描述

    • t f t q tf_{tq} tftq:词项 t t t 在查询 q q q 中的权重
    • k 3 k_3 k3:取正值的调优参数,用于对查询中的词项频率进行缩放控制
    • 对于查询的长度没有进行归一化,因为查询是固定的
    • 实验结果表明,合理的取值范围: k 1 , k 3 k_1,k_3 k1,k3 1.2~2,b = 0.75

那我们应该用哪种模型呢?

  • 基础的,简单的:向量空间模型,权重的 tf-idf
  • 牛逼的:调好参的 BM25或语言模型
  • 一般的:没调参或者只调了一个参的 BM25或语言模型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长命百岁️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值