【信息检索与数据挖掘期末笔记】(四)概率检索模型
创始人
2024-03-12 02:33:50
0

为什么需要概率检索

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

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

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

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

概率模型与其他模型比较

布尔模型

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

向量空间模型

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

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

概率论

  • 联合概率

在这里插入图片描述

  • 条件概率

    在这里插入图片描述

  • 链式法则:

    在这里插入图片描述

  • 全概率定理:

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

概率排序原理(PRP)

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

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

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

二值独立模型(BIM)

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

在这里插入图片描述

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

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

简化表示,我们定义

在这里插入图片描述

可以得到这样一个表

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

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

最后用于排序的量称为==RSV(retrievalstatusvalue)RSV(retrieval\, status\, value)RSV(retrievalstatusvalue) 检索信息状态==

RSV

在这里插入图片描述

我们定义==ctc_tct​ 为优势率比率的对数值==

优势率比率的对数值 ctc_tct​

可以看到,ctc_tct​ 是 RSVdRSV_dRSVd​ 求和中的一项

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

在这里插入图片描述

在这里插入图片描述

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

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

在这里插入图片描述

但是 qtq_tqt​ 和 utu_tut​ 是不知道的,且两个加起来不等于 1。因为一个是在相关文档的集合中考虑的,一个是在不相关文档中考虑的

如何估计一个词项的 ctc_tct​ 呢?

通过统计得出

相关文档数目为 SSS , 文档总数为 NNN , dftdf_tdft​ 为包含 ttt 的文档数

在这里插入图片描述

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

utu_tut​ 部分的简化

假设相关文档只占文档集很小的一部分,我们可以简化不相关文档那部分的数据。这是 idfidfidf 的表达式。这种优化很难扩展到 ptp_tpt​ 上

在这里插入图片描述

在这里插入图片描述

ptp_tpt​ 部分的假设

  • 假设对于查询中的所有词项 xtx_txt​ , pt=0.5p_t = 0.5pt​=0.5。

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

  • 因此决定 ctc_tct​ 的就是 idfidfidf

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

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

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

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

Okapi BM25:一个非二值的模型

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

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

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

    在这里插入图片描述

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

    在这里插入图片描述

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

    • LdL_dLd​:文档 d 的长度

    • LaveL_{ave}Lave​:所有文档的平均长度

    • k1k_1k1​:一个取正值的调优参数

      • 取0,则对应 BIMBIMBIM 模型

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

        在这里插入图片描述

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

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

    在这里插入图片描述

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

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

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

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...