信息检索(IR)—信息检索模型(二)

时间:2024-04-13 12:19:30

信息检索(IR)—信息检索模型(二)

接上一篇文章:

  1. 信息检索(IR)—信息检索模型(一)

1 扩展的布尔模型

1.1 模型引入

在之前的文章中,我们介绍了信息检索中的布尔模型,在布尔模型中我们基于关键词的布尔表达式进行匹配,在匹配的过程的中,我们只能够保证关键词的逻辑关系是否符合布尔表达式,但是确不能确定无法区别出结果的差异性。

信息检索(IR)—信息检索模型(二)

为了体现出返回结果的差异性,我们这里使用布尔模型和向量空间模型进行结合。在这个过程中,首先利用布尔模型获取返回结果,在用向量空间模型对返回结果进行排序。

这种方式的问题在于,我们应该如何选择一个布尔查询式?如果对于布尔查询采用“与”的操作,则返回的结果可能太少,因此可能会影响了后面的排序过程。如果采用“或”应用于布尔表达式,这样就和单纯的使用向量空间模型没有区别了。所以,这里我们使用扩展的布尔模型。

1.3 扩展布尔模型中的“或”

首先,我们给定一个或关系的查询式:xyx∨y,假设文档djd_j中x和y的权重被归一化在(0,1)区间之内,则有如下的计算过程:
wx,j=tfx,j/maxl(tfl,j)idfx/maxi(idfi)w_{x,j}=tf_{x,j}/max_l(tf_{l,j})*idf_x/max_i(idf_i)
sim(qor,dj)=[(x2+y2)/2]0.5where,x=wx,j,and,y=wy,jsim(q_{or},d_j)=[(x^2+y^2)/2]^{0.5},where ,x=w_{x,j},and ,y=w_{y,j}

信息检索(IR)—信息检索模型(二)

1.4 扩展布尔模型中的“与”关系

给定一个查询式的形式xyx∧y,给定相似度计算公式为:
sim(qamd,dj)=1{[(1x)2+(1y)2]/2}0.5sim(q_{amd},d_j)=1-\{[(1-x)^2+(1-y)^2]/2\}^{0.5}

信息检索(IR)—信息检索模型(二)

1.5 扩展的布尔模型相似度计算实例

信息检索(IR)—信息检索模型(二)

1.6 观察分析

信息检索(IR)—信息检索模型(二)

1.7 P-norm

最后,我们可以将查询式扩展成多个关键词构成的布尔形式,也可将幂进行扩展,具体形式如下:

信息检索(IR)—信息检索模型(二)

2 基于语言模型的信息检索模型

2.1 语言模型回顾

本文不是重点叙述语言模型的文章,所以这里我们只是简单的进行回顾,有兴趣的读者可以参考其他的文章进行具体的了解。

首先,语言模型的基本作用是根据序列历史的N-1个词来预测当前词,在语言模型中,某个句子产生的概率为:
p(S)=p(w1,w2,w3,...,wn)=p(w1)p(w2w1)p(w3w1,w2),....,p(wnw1,w2,...,wn1)p(S)=p(w_1,w_2,w_3,...,w_n)=p(w_1)p(w_2|w_1)p(w_3|w_1,w_2),....,p(w_n|w_1,w_2,...,w_{n-1})

具体的来讲,根据所依赖的历史的词的数量的不同,N-gram语言模型中的N可以取不同的值。假设N=3,模型称为trigram,其基本的计算形式如下:

p(wiw1,w2,...,wi1)p(wiwi2wi1)p(w_i|w_1,w_2,...,w_{i-1})≈p(w_i|w_{i-2}w_{i-1})

假设N=1,模型称为unigram,其基本的计算过程如下:
p(S)=p(w1w2,...,wn)=p(w1)p(w2),...,p(wn)p(S)=p(w_1w_2,...,w_n)=p(w_1)p(w_2),...,p(w_n)
在一元的语言模型中,所有在词表中的词,遵循多项式分布:
wVp(w)=1∑_{w∈V}p(w)=1

2.2 信息检索中的语言模型

2.2.1 Query Likelihood

信息检索的任务是根据文档与查询之间的相关性,对文档进行排序:
p(Dq)=p(qD)p(D)p(q)p(qD)p(D|q)=\frac{p(q|D)p(D)}{p(q)}∝p(q|D)
这里,如果采用词汇之间的独立性假设,则有:
p(w1,w2,..,wnD)=wqp(wMD)p(w_1,w_2,..,w_n|D)=∏_{w∈q}p(w|M_D)
其中w1,w2,..,wnw_1,w_2,..,w_n构成了查询q。MDM_D表示文档D中的语言模型。

现在,假设每一个文档D对应一个语言模型MDM_D,然后我们来估计由这个语义模型来生成一个查询的可能性。因此,这个任务就变成了估计一个精确的语言模型MDM_D。并且根据计算出来的可能性的值,我们可以对文档的相关性进行排序:

信息检索(IR)—信息检索模型(二)

2.2.2 从文档D中构建语言模型

这个过程就是从文档中根据设定的N-gram进行统计:

信息检索(IR)—信息检索模型(二)

2.2.3 IR中的LM总结

文档语言模型:

每个文档对应一个统计语言模型,称为文档的语言模型。它描述了该文档中的各个单词的统计分布的特征。因此每一个文档看作是由其他的语言模型抽样产生的一个样本。

基于文档的语言模型来计算出现概率:

一个查询式也可以看做是由文档的语言模型抽样产生的一个样本。因此,可以根据每个文档的语言模型抽样生成检索的概率来对其进行排序,其概率值越大,则该文档就越满足该检索需求。

2.3 举例说明

信息检索(IR)—信息检索模型(二)
根据上面的计算结果,我们不难发现,文档2和检索更加的相关。

2.4 局限性

上面的计算过程是假定query中的各个词汇都在文档中出现了,我们下面来考虑一种其他的情况,假设query中的某个词并没有在文档中出现,那么就有P(wMD)=0P(w|M_D)=0,那么整个query计算出来的相似性结果也就不存在了。例如下面的情况:

信息检索(IR)—信息检索模型(二)

当时,这种计算结果显然是不能满足需求的。所以,我们接下来就要简单的介绍几种语言模型中的平滑方法。

2.5 平滑方法

2.5.1 加一平滑

p(wMD)=nw+1wVnw+wp(w|M_D)=\frac{n_w+1}{∑_{w∈V}n_w+w}
这种平滑的思想是在所有的N-gram单元中加1,在计算概率的时候,分母加上词表的大小。

2.5.2 “劫富济贫”

这是一种平滑的思想,在一个query中,“the”,“for”等冠词和介词在文档中所占的比重很大,而query中的关键词在文档中所占的比重比较小,甚至为0。通过这种思想,我们可以降低无关词汇的权重,提高关键词汇的权重。具体的方法可以参考其他文章。

3 基于本体论的信息检索模型

3.1 本体论的概念

本体论最早是哲学的分支,研究客观事物存在的本质。本体的含义是形成现象的根本实体。是客观存在的一个系统的解释或者说明,关心的是客观现实的抽象本质。它与认识论相对应,认识论研究人类知识的本质和来源。

3.2 本体的分类和内容

本体的分类:

本体是采用某种语言对概念化的描述,本体的分类按照表示和描述形式化程度不同。可以分成:完全非形式化的,半形式化的,严格形式化,形式化程度越高,越有利于计算机进行自动处理。

本体的内容:

从概念化对象的定义来看,一个领域的术语,术语的定义以及各个术语之间的语义网络,应该是任意一个领域本体论所必须包含的基本信息。

概念之间的关系包括:

  1. 同义关系:表达了在相似数据源之间的一种等价关系,是一种对称关系。
  2. 上下位关系:不对称的,是一种偏序关系,具有传递性。
  3. 其他各种语义关系。

各个概念之间的复杂的语义关系组成了语义网络图,概念在其中表现为节点,而节点之间的边代表了上述关系。

上下位关系如下图所示:

信息检索(IR)—信息检索模型(二)

语义网络如下图所示:

信息检索(IR)—信息检索模型(二)

3.3 基于本体的检索过程

  1. 用户向信息检索系统提出检索申请。
  2. 信息检索系统产生一个界面和用户进行交互。界面接收用户提出的查询关键字后,系统查询本体库,从中找出出现该关键字的各个领域,然后将其领域已经在该领域下的关键字的含义罗列给用户。
  3. 用户可以根据自己的意图,在界面上确定所需查找的领域和含义。
  4. 系统将经过本体规范之后的请求交给全文搜索引擎进行检索。
  5. 全文搜索引擎检索之后返回给用户检索信息。

4 参考

  1. 哈工大—信息检索