信息检索(IR)—信息检索模型(二)
接上一篇文章:
1 扩展的布尔模型
1.1 模型引入
在之前的文章中,我们介绍了信息检索中的布尔模型,在布尔模型中我们基于关键词的布尔表达式进行匹配,在匹配的过程的中,我们只能够保证关键词的逻辑关系是否符合布尔表达式,但是确不能确定无法区别出结果的差异性。
为了体现出返回结果的差异性,我们这里使用布尔模型和向量空间模型进行结合。在这个过程中,首先利用布尔模型获取返回结果,在用向量空间模型对返回结果进行排序。
这种方式的问题在于,我们应该如何选择一个布尔查询式?如果对于布尔查询采用“与”的操作,则返回的结果可能太少,因此可能会影响了后面的排序过程。如果采用“或”应用于布尔表达式,这样就和单纯的使用向量空间模型没有区别了。所以,这里我们使用扩展的布尔模型。
1.3 扩展布尔模型中的“或”
首先,我们给定一个或关系的查询式:
x
∨
y
x∨y
x∨y,假设文档
d
j
d_j
dj中x和y的权重被归一化在(0,1)区间之内,则有如下的计算过程:
w
x
,
j
=
t
f
x
,
j
/
m
a
x
l
(
t
f
l
,
j
)
∗
i
d
f
x
/
m
a
x
i
(
i
d
f
i
)
w_{x,j}=tf_{x,j}/max_l(tf_{l,j})*idf_x/max_i(idf_i)
wx,j=tfx,j/maxl(tfl,j)∗idfx/maxi(idfi)
s
i
m
(
q
o
r
,
d
j
)
=
[
(
x
2
+
y
2
)
/
2
]
0.5
,
w
h
e
r
e
,
x
=
w
x
,
j
,
a
n
d
,
y
=
w
y
,
j
sim(q_{or},d_j)=[(x^2+y^2)/2]^{0.5},where ,x=w_{x,j},and ,y=w_{y,j}
sim(qor,dj)=[(x2+y2)/2]0.5,where,x=wx,j,and,y=wy,j
1.4 扩展布尔模型中的“与”关系
给定一个查询式的形式
x
∧
y
x∧y
x∧y,给定相似度计算公式为:
s
i
m
(
q
a
m
d
,
d
j
)
=
1
−
{
[
(
1
−
x
)
2
+
(
1
−
y
)
2
]
/
2
}
0.5
sim(q_{amd},d_j)=1-\{[(1-x)^2+(1-y)^2]/2\}^{0.5}
sim(qamd,dj)=1−{[(1−x)2+(1−y)2]/2}0.5
1.5 扩展的布尔模型相似度计算实例
1.6 观察分析
1.7 P-norm
最后,我们可以将查询式扩展成多个关键词构成的布尔形式,也可将幂进行扩展,具体形式如下:
2 基于语言模型的信息检索模型
2.1 语言模型回顾
本文不是重点叙述语言模型的文章,所以这里我们只是简单的进行回顾,有兴趣的读者可以参考其他的文章进行具体的了解。
首先,语言模型的基本作用是根据序列历史的N-1个词来预测当前词,在语言模型中,某个句子产生的概率为:
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
)
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})
p(S)=p(w1,w2,w3,...,wn)=p(w1)p(w2∣w1)p(w3∣w1,w2),....,p(wn∣w1,w2,...,wn−1)
具体的来讲,根据所依赖的历史的词的数量的不同,N-gram语言模型中的N可以取不同的值。假设N=3,模型称为trigram,其基本的计算形式如下:
p ( w i ∣ w 1 , w 2 , . . . , w i − 1 ) ≈ p ( w i ∣ w i − 2 w i − 1 ) p(w_i|w_1,w_2,...,w_{i-1})≈p(w_i|w_{i-2}w_{i-1}) p(wi∣w1,w2,...,wi−1)≈p(wi∣wi−2wi−1)
假设N=1,模型称为unigram,其基本的计算过程如下:
p
(
S
)
=
p
(
w
1
w
2
,
.
.
.
,
w
n
)
=
p
(
w
1
)
p
(
w
2
)
,
.
.
.
,
p
(
w
n
)
p(S)=p(w_1w_2,...,w_n)=p(w_1)p(w_2),...,p(w_n)
p(S)=p(w1w2,...,wn)=p(w1)p(w2),...,p(wn)
在一元的语言模型中,所有在词表中的词,遵循多项式分布:
∑
w
∈
V
p
(
w
)
=
1
∑_{w∈V}p(w)=1
w∈V∑p(w)=1
2.2 信息检索中的语言模型
2.2.1 Query Likelihood
信息检索的任务是根据文档与查询之间的相关性,对文档进行排序:
p
(
D
∣
q
)
=
p
(
q
∣
D
)
p
(
D
)
p
(
q
)
∝
p
(
q
∣
D
)
p(D|q)=\frac{p(q|D)p(D)}{p(q)}∝p(q|D)
p(D∣q)=p(q)p(q∣D)p(D)∝p(q∣D)
这里,如果采用词汇之间的独立性假设,则有:
p
(
w
1
,
w
2
,
.
.
,
w
n
∣
D
)
=
∏
w
∈
q
p
(
w
∣
M
D
)
p(w_1,w_2,..,w_n|D)=∏_{w∈q}p(w|M_D)
p(w1,w2,..,wn∣D)=w∈q∏p(w∣MD)
其中
w
1
,
w
2
,
.
.
,
w
n
w_1,w_2,..,w_n
w1,w2,..,wn构成了查询q。
M
D
M_D
MD表示文档D中的语言模型。
现在,假设每一个文档D对应一个语言模型 M D M_D MD,然后我们来估计由这个语义模型来生成一个查询的可能性。因此,这个任务就变成了估计一个精确的语言模型 M D M_D MD。并且根据计算出来的可能性的值,我们可以对文档的相关性进行排序:
2.2.2 从文档D中构建语言模型
这个过程就是从文档中根据设定的N-gram进行统计:
2.2.3 IR中的LM总结
文档语言模型:
每个文档对应一个统计语言模型,称为文档的语言模型。它描述了该文档中的各个单词的统计分布的特征。因此每一个文档看作是由其他的语言模型抽样产生的一个样本。
基于文档的语言模型来计算出现概率:
一个查询式也可以看做是由文档的语言模型抽样产生的一个样本。因此,可以根据每个文档的语言模型抽样生成检索的概率来对其进行排序,其概率值越大,则该文档就越满足该检索需求。
2.3 举例说明
根据上面的计算结果,我们不难发现,文档2和检索更加的相关。
2.4 局限性
上面的计算过程是假定query中的各个词汇都在文档中出现了,我们下面来考虑一种其他的情况,假设query中的某个词并没有在文档中出现,那么就有 P ( w ∣ M D ) = 0 P(w|M_D)=0 P(w∣MD)=0,那么整个query计算出来的相似性结果也就不存在了。例如下面的情况:
当时,这种计算结果显然是不能满足需求的。所以,我们接下来就要简单的介绍几种语言模型中的平滑方法。
2.5 平滑方法
2.5.1 加一平滑
p
(
w
∣
M
D
)
=
n
w
+
1
∑
w
∈
V
n
w
+
w
p(w|M_D)=\frac{n_w+1}{∑_{w∈V}n_w+w}
p(w∣MD)=∑w∈Vnw+wnw+1
这种平滑的思想是在所有的N-gram单元中加1,在计算概率的时候,分母加上词表的大小。
2.5.2 “劫富济贫”
这是一种平滑的思想,在一个query中,“the”,“for”等冠词和介词在文档中所占的比重很大,而query中的关键词在文档中所占的比重比较小,甚至为0。通过这种思想,我们可以降低无关词汇的权重,提高关键词汇的权重。具体的方法可以参考其他文章。
3 基于本体论的信息检索模型
3.1 本体论的概念
本体论最早是哲学的分支,研究客观事物存在的本质。本体的含义是形成现象的根本实体。是客观存在的一个系统的解释或者说明,关心的是客观现实的抽象本质。它与认识论相对应,认识论研究人类知识的本质和来源。
3.2 本体的分类和内容
本体的分类:
本体是采用某种语言对概念化的描述,本体的分类按照表示和描述形式化程度不同。可以分成:完全非形式化的,半形式化的,严格形式化,形式化程度越高,越有利于计算机进行自动处理。
本体的内容:
从概念化对象的定义来看,一个领域的术语,术语的定义以及各个术语之间的语义网络,应该是任意一个领域本体论所必须包含的基本信息。
概念之间的关系包括:
- 同义关系:表达了在相似数据源之间的一种等价关系,是一种对称关系。
- 上下位关系:不对称的,是一种偏序关系,具有传递性。
- 其他各种语义关系。
各个概念之间的复杂的语义关系组成了语义网络图,概念在其中表现为节点,而节点之间的边代表了上述关系。
上下位关系如下图所示:
语义网络如下图所示:
3.3 基于本体的检索过程
- 用户向信息检索系统提出检索申请。
- 信息检索系统产生一个界面和用户进行交互。界面接收用户提出的查询关键字后,系统查询本体库,从中找出出现该关键字的各个领域,然后将其领域已经在该领域下的关键字的含义罗列给用户。
- 用户可以根据自己的意图,在界面上确定所需查找的领域和含义。
- 系统将经过本体规范之后的请求交给全文搜索引擎进行检索。
- 全文搜索引擎检索之后返回给用户检索信息。
4 参考
- 哈工大—信息检索