信息检索(IR)—评价指标(一)
1. 信息检索基本介绍
1.1. 信息检索任务
1.1.1 任务描述
信息检索是指在给定自然语言的文档(或者图片,视频等多媒体)集合和用户的查询(query)的条件,通过系统的处理,返回与query相关的经过排序的文档(或者多媒体)的文档子集。
1.1.2 query的基本形式
根据上述的概念描述,我们可以知道query的基本形式可以包括关键词,带有布尔操作的关键词,自由文本,示例文档,图片,视频等等。
1.1.3 基本分类
列表式检索:例如百度,Google等检索。
推荐式检索:例如购物网站中检索某个关键词之后返回的具有推荐含义的检索过程。
对话式检索:与机器进行多轮对话式的检索。
1.2 信息检索系统的基本结构
1.3 目前搜索引擎的基本框架
2. 信息检索的评价
2.1. 评价内容
- 相关性
返回的文档中包含了多少相关文档。
所有的相关文档中返回了多少。
返回文档中的位置问题。 - 检索速度
时空开销
响应速度 - 规模
覆盖率
访问量 - 新鲜度
数据更新的速度。
2.2. 评价的前提条件
- 具备一个文档集合C。检索系统从该集合中按照查询要求检索出相关文档。
- 一组用户查询{ q 1 , q 2 , . . . , q n q_1,q_2,...,q_n q1,q2,...,qn}。每一个查询要求 q i q_i qi描述了用户检索的信息需求。
- 对应于每一个用户的查询要求的标准相关文档集{ R 1 , R 2 , . . . , R n R_1,R_2,...,Rn R1,R2,...,Rn},相关文档集作为标准答案集合,一般由人工进行构造。
- 一组评价指标,这些指标反映了系统的检索性能。
- 相同的文档集合,相同的查询主题集合,相同的评价指标,不同的检索系统进行比较。
2.3. 相关性理论和 “pooling”方法
在介绍着部分内容之前,我们先来分析一下,在上述中提到了,对于一个 q i q_i qi,由人工构建出相关文档集合。但是,随着数据量的不断增加,相关文档的集合的规模可能成千上万的进行计数,换句话来将,人工构建的相关文档集合的规模远远跟不上数据增长的规模,那么是否有一种方法能够自动的去构建相关文档集合呢? 下面,我们来来介绍相关性理论和“pool”方法。
2.3.1. 相关性理论
在相关性理论中,对于一个用户查询和一个给定的文档集合,存在并且只存在一个和该查询相关的文档集合。检索系统的目标就在于检出相关文档而排出不相干文档。
2.3.2 “pooling”方法
两个假设:
- 假设绝大多数的相关文档都收录在这个文档池中。
- 没有进行判断的文档即被认为是不相干的。
具体操作:
针对某一个检索问题,所有参与其检索试验的系统分别给出各自检索结果中的前K个文档(例如K=100)。将这些结果文档集合汇集起来,就得到了一个可能相关文档的文档池(“pool”)。最后对于这些结果文档进行去重,在由主题的构建者评判出每一个文档的相关性。
2.4 准召率和F值
2.4.1 文档划分和混淆矩阵
在介绍部分内容之前,我们先来分析,对于一个query,在所有的文档集合中能够检索出来的情况有哪些?首先,整个文档集合可以别划分成检索出来的文档和没有被检索出来的文档。对于检索出来的文档,可以划分成相关的和不相干的文档,对于没有被检索出来的文档,可以分成相关的文档和不相关的文档。我们用一张图来描述一下这种结果。
进一步,我们可以利用这些结果来构造混淆矩阵:
2.4.2 准召率计算
下一步,根据构建出来的混淆矩阵,我们给出召回率和准确率的评价指标:
召
回
率
(
R
e
c
a
l
l
)
=
检
索
出
的
相
关
文
档
数
量
相
关
文
档
的
总
数
量
召回率(Recall)=\frac{检索出的相关文档数量}{相关文档的总数量}
召回率(Recall)=相关文档的总数量检索出的相关文档数量
准
确
率
(
P
r
e
c
i
s
i
o
n
)
=
检
索
出
来
的
相
关
文
档
数
量
检
索
出
来
的
总
的
文
档
数
量
准确率(Precision)=\frac{检索出来的相关文档数量}{检索出来的总的文档数量}
准确率(Precision)=检索出来的总的文档数量检索出来的相关文档数量
这里,我们给出一个计算的实例,假设当前有两个检索系统,两个检索{ q 1 , q 2 q_1,q_2 q1,q2},两个系统对于两个查询的检索结果如下图所示:
则对于系统1和查询1.其准确率和召回率为:
P
=
2
/
5
,
R
=
2
/
4
P=2/5,R=2/4
P=2/5,R=2/4
对于系统2和查询1,其准确率和召回率为:
P
=
2
/
4
,
R
=
2
/
4
P=2/4,R=2/4
P=2/4,R=2/4
2.4.3 准召率之间的关系
从上图可以看出,准召率之间实际上是矛盾的。实际上,不同用户对于准召率的要求不同,有的用户希望返回的结果全一点,此时要求召回率比较高。有的用户希望返回的结果更准确一点,也就是准确率高一点。
2.4.4 准召率的局限性
- 准召率的计算是基于文档集合的,文档集合本身是无序的,而实际上返回结果中的位置也是很重要的(我们希望越重要的文档在返回结果中的位置越靠前),也就是说准召率存在一定的局限性。
- 在召回率的计算中,我们需要提前获知所有的相关文档集合,在大规模的文本集合中,统计所有的相关文档集合是困难的。
2.4.5 F值
我们给出准召率的调和平均数来综合两者:
1
F
(
j
)
=
1
2
(
1
r
(
j
)
+
1
p
(
j
)
)
\frac{1}{F(j)}=\frac{1}{2}(\frac{1}{r(j)}+\frac{1}{p(j)})
F(j)1=21(r(j)1+p(j)1)
F
=
2
∗
P
∗
R
P
+
R
F=\frac{2*P*R}{P+R}
F=P+R2∗P∗R
进一步,我们可以调节P和R的比例:
F
=
1
−
1
+
b
2
b
2
r
(
j
)
+
1
p
(
j
)
F=1-\frac{1+b^2}{\frac{b^2}{r(j)}+\frac{1}{p(j)}}
F=1−r(j)b2+p(j)11+b2
F
=
(
b
2
+
1
)
∗
P
∗
R
b
2
∗
P
+
R
F=\frac{(b^2+1)*P*R}{b^2*P+R}
F=b2∗P+R(b2+1)∗P∗R
3 参考
- 哈工大—《信息检索》