第 9章 根据内容检索
本章目标
? 介绍根据内容检索的基本概念。
? 介绍检索系统的评介方法。
? 讨论针对文本数据的根据内容检索问题,
集中讨论向量空间表示,以及文档中匹配
查询的算法、隐含语义索引和文档分类。
? 介绍用于对个人偏好建模的自动推荐系统。
第 9章 根据内容检索
本章目标
? 讨论图像检索算法中表示和检索问题。
? 介绍匹配时间序列和序列的基本概念。
9.1 简介
? 传统的数据库查询定义为:查询是一种返回
精确匹配指定要求的记录集合 (或表项集合 )的
操作。例如,查询, [level=MANAGER]
AND [age<30]”,返回的结果是有具有重
要职务的年轻雇员的列表。
? 但在数据分析时,所感兴趣的是更一般的但
不很精确的查询。
? 例如,假设已知一个患者的人口统计学信息
(比如年龄性别等等 )、血液和其他常规检查的
结果,以及生物医学方面的时间序列,X-光
和 图像。
? 为了辅助对这个患者进行诊断,医生希望了
解医院数据库中是否包含类似的患者,如果
有类似的患者,那么他们的诊断、治疗方法
和最终结果如何?
? 这个问题的难点在于如何根据不同的数据类
型 (多元变量、时间序列和图像数据 )来判断
各个患者间的相似性。这类问题采用精确匹
配是行不通的,因为数据库中不可能存在各
项指标完全匹配的患者。
? 因此,需要解决的是在数据库找出和指定查
询或指定对象最相似的 k个对象的各种技术问
题。
? 可以把这种形式的检索看是交互式的数据挖
掘,因为用户直接参与了探索数据集的过
程 — 指定查询并解决匹配过程得到的结果。
? 如果数据集是根据内容批注的,那么检索问
题就简化为标准的数据库索引问题,如果数
据库没有被预先索引,我们仅有要寻找目标
Q(查询模式 )的一个实例,根据这个查询模式
Q,我们要推论出数据集中哪些其他对象和
它相近。
? 这种检索方法被称为根据内容检索 (retrieval
by content),它的最著名应用是在文本中
检索。在文本检索中,查询模式 Q通常是很
短的 (查询词汇列表 ),然后在很大的文档集
合匹配这个模式。
? 这类问题由三个基本部分组成,
1.如何定义对象间的相似尺度;
2.如何实现高计算效率的搜索算法 (对于给定的
相似尺度 );
3.如何在检索过程中融入用户的反馈并进行交
互。
? 本章主要讨论第一和第三个问题,第二个问
题通常是一种索引问题 (一个好的索引可以极
大提高效率 )。
? 在下面的分析中,我们使用, 相似, 这个词,
又使用, 距离, 这个词。对应的是相似尺度
最大化和距离尺度最小化,其他章节的相似
度和相异度。
? 根据内容检索需要解决的几个问题,
1.如何客观地评估特定检索算法的性能。
2.如何决定用以计算相似尺度的表示。
? 例如,通常用颜色、纹理和相似特征来地、
表示图像;用单词的出现次数来表示文本。
9.2 检索系统的评价
一、评价检索性能的困难之处
? 在分类和回归中,总能以一种客观的方式
来评判模型的性能。然而,对于根据内容
检索来说,评价一个特定算法或技术的性
能要复杂和棘手的多。
? 主要的难点是检索系统的最终性能尺度是
由检索出的信息对用户的实用性来决定的。
检索是一种以人为中心的交互过程,这给
评价检索性能带来了很大困难。
? 首先我们假定相对一个特定的查询,可以把
对象标记为相关或不相关。换句话来说,对
于任一个查询 Q,我们假定存在一个二值分类
标签的集合,该集合对应数据中的所有对象,
指出哪个对象是相关的,哪个是不相关的。
最后我们假定已经以某种方式为每个对象附
加标签 (假定是以一种比较客观并与人类判相
一致的方式 )。
? 基于这些假定,就可以把检索问题看作一种
特殊形式的分类问题 — 类标签依赖于查询 Q,
? 也就是,,对于查询 Q相关还是不相关,,然
后相对 Q来估计数据库中对象的类标签。
? 检索分类的特点,
1.分类变量的定义是由用户掌握的 (用户定义查
询 Q),因此每次运行系统时都可能变化。
2.主要目标不是分类出数据库的所有对象,而
是返回与用户查询最相关的对象。
二、查准率对查全率
? 假定我们在一个独立的检验数据集上评价一个
指定检索系统相对特定查询 Q的性能。检验数
据中的对象已经被预先分类为相对于查询 Q是
相关还是不相关。假定这个检验数据集没有被
这个检索算法使用过,我们可以把检索算法想
象为就是要对这个数据集中的对象作出分类
(按照相对于查询 Q的相关性 )。
? 如果这个算法是使用距离尺度 (数据集中的每
个对象相对于 Q的距离 )来排列对象集合的,那
么这个算法通常具有一个阈值参数 T。
? 算法将返回 KT个对象 — 和查询对象 Q的距离小
于 T的 KT个对象的有序列表。通过改变 T来改
变检索系统的性能。
? 假定对于有 N个对象的检索数据集合,检索系
统返回了 KT个可能相关的对象,那么可以用表
9-1来归纳这个算法的性能。
? 表 9-1中,实验中已经标记出了各文档相关还
是不相关 (相对于查询 Q)。列对应于真实情况,
行对应于算法对文档的判断。 TP,FP,FN,
TN分别对应于真的正,假的为正,假的为负
和真的为负,其中正负是指算法所给出的分类
是否相关。理想的检索算法将产生 FP=FN=0
的对角矩阵。
? 其中,
N=TP+FP+TN+FN(对象总数 )
KT=TP+FP(返回对象的数量 )
TP+FN是相关对象的总数。
? 查准率,TP/(TP+FP) (行 )
? 查全率,TP/(TP+FN) (列 )
? 存在着这样一个问题:当 KT增大时 (提高阈值
将返回更多的对象分类为相关 ),查全率上升
(极限情况,可以返回所有对象,查全率为 1),
然而查准率会下降。
? 如果使用不同的阈值 T来运行检索算法,那么
会得到一系列 (查全率,查准率 )的点对。反过
来使用这些点对描出这个特定检索算法 (相对
于查询 Q、特定的数据集、以及数据标签 )的
查全率 -查准率曲线,如图 9-1所示。
? 图 9-1是三种假想查询算法的查全率 -
查准率曲线。由图可见,在大多数情
况下,难以判断哪一种算法有绝对优
势,因此不能完全根据查全率 -查准率
曲线来判定一个算法就比另一个算法
更好。尽管如此,这些曲线对于在一
定操作条件范围内评价检索算法的相
对、绝对性能还是有价值的。
三、查准率和查全率的实践应用
? 查准率 -查全率评价在文本检索中一直
特别流行。文本检索会议 (TREC)就是
查准率 -查全率评价试验的一个大型例
子。在这项试验中使用几个 G字节大小
的文本文档数据集合,大约是由一百
万个独立的文档 (对象 )组成的,平均
每个文档有 500个术语索引。
? 主要问题是如何评价相关性,特别是
如何决定相关文档总数以计算查全率。
? 如果使用 50个不同查询,那么就需要
每个人工裁判员给出 5千万个分类标签 !
由于 TREC会议的参展系很多 (>30),
所以 TREC裁判员把他们的裁判范围限
制在所有检索系统所返回文档的前
100篇文档的联合,并假定这个集合
通常已经包含了几乎所有的相关文档。
因此,每个裁判者仅需作出几千个相
关性判断,而不是几千万个。
9.3 文本检索
? 传统上,一直把对文本信息的检索称为信
息检索 (IR),互联网搜索引擎的出现使其
成为一个备受关注的课题。
? 文本由两个基本单位组成,即文档和词条。
? 按照 IR惯例,文本查询是由词条集合指定
的。
一、文本的表示
? 大多数关于文本检索的研究集中在寻找支
持如下两个特征的通用表示,
1.尽可能保留数据语义内容的能力;
2.可以高效的计算查询和文档间的距离。
目前的 IR系统通常依赖于简单的词条匹配和
计数技术,即通过词条出现次数向量隐含
并近似地捕捉了文档语义。
? 假定已经预先定义了要检索的一系列词条
tj,1≤j≤T,然后把每一篇文档 Di,1≤i≤N
表示为词条向量,
Di=(di1,di2,…,diT)
其中 dij表示第 j个词条在第 i篇文档中出现的某
种信息,各个 dij被称为词条权。
? 在布尔表示中,dij取 1或 0。在向量空间表
示中,可以是某个实数值的数字。
? 下面考虑一个涉及 10篇文档和 6个词条的简
单例子。六个词条是,
t1=数据库,t2=SQL,t3=索引,t4=回归
t5=似然,t6=线性的。
表 9-2为 10× 6的文档 -词条频率矩阵 M。
? 文档间的距离尺度采用余弦距离,
? 这是两个向量夹角的余弦 (等价于把它们标
准化为单位长度后的内积 ),因此它反映了
两个向量的词条分量的相对分布相似性。
该距离尺度在 IR试验中特别有效。同样地,
我们也可以使用其它距离尺度,如欧氏距
离。
? ?
?
?
??
T
k
T
jkik
T
k jkik
jic
dd
dd
DDd
1
2
1),(
? 下图是表 9-2中的文档 -词条频率矩阵的像
素形式距离矩阵。上图是欧氏距离矩阵,
下图是余弦距离矩阵。
? 较亮的方块表示两篇文档比较接近,较暗
的地方表示不相近。
? 对于欧氏距离,白色对应两篇文档间的距
离为 0;黑色对应最大距离。
? 对于余弦距离,较亮的像素对应于较大的
余弦值 (较小的角度 );较暗的像素对应于较
小的余弦值 (较大的角度 )。
? 在两种距离矩阵中都可以清楚的看出存在
两个文档簇,一类是关于数据库的文档,
另一类是关于回归的文档,图中的两个颜
色较淡的方块区域。
? 从图中可见,余弦距离更好的区分了两个
组。
? 在欧氏距离中,文档 3和文档 4(数据库簇中 )
到文档 5(另一篇数据库文档 )的距离比到文
档 6,8和 9(关于回归的文档 )的距离还要远。
导致这一现象的原因就是文档 3和 4(以及
6,8和 9)与文档 5相比更靠近原点。
? 余弦距离发挥了基于角度距离的优点,更
强调各个词条的相对分布,因此产生的区
分更加明显。
? 上例的一个推广,对于具有 N篇文档的 T个
词条的集合,我们可以构造一个 N× T的矩
阵。通常这个矩阵是非常稀疏的。比如上
面提到的 TREC文档群大约仅 0.03%的单
元是非零的。
? 在文本检索系统时,出于对词条 -文档矩阵
稀疏性的考虑,原始的文档 -词条矩阵被表
示为一种倒排文件结构 (而不是直接表示为
矩阵形式 ),也就是按照 T个词条来索引文
件,每个词条 tj指向一个 N个数字的列表,
这些数字描述了每篇文档中出现该词条的
情况 (dij,j固定 )。
二、匹配查询和文档
? 也可以使用与文档相同的基于词条的表征
来表达查询。实际上,可以把查询本身当
作一篇文档来表示,只不过是通常查询仅
包含很少的词条。
? 在向量空间中,可以把查询表示为一个权
向量。词条没有出现时权值为 0,词条在查
询出现时,用户可以指定权值,以表示每
个词条的相对重要性 (权值限定在 0~ 1之
间 )。
? 令 Q=(q1,…,qT)为查询权向量。最简单的
形式,权值要么为 1要么为 0。下面二值模
式的例子,考虑三个查询,每个都是由一
个词条组成的,分别是, 数据库,,
,SQL”,,回归, 。 根据前面例子,可以
把这三个查询表达为三个向量,
(1,0,0,0,0,0),(0,1,0,0,0,0)和
(0,0,0,1,0,0)。利用余弦距离在表 9-2所
示的数据中匹配这三个查询,得到最相近
的文档,分别是 d2,d3和 d9。
? 更一般的情况,是如何设置匹配查询中权
值,以提高检索的性能。许多 IR文献有相
关的报导。
? 已经证明一种被称为 TF-IDF加权的特殊加
权模式在实践中特别有效。 TF(term
frequency)代表词条频率,表 9-2中的文
档 -词条示例矩阵就是以 TF的形式表示的。
? 然而,如果一个词条在文档集合中的很多
文档中频繁出现,那么利用 TF代表权进行
检索的判断力就很小了,也就是它会提高
查全率但是查准率可能很差。文档频率倒
数 -IDF(inverse-document-frequency)
权可以提高判别力。
? IDF定义为,log(N/nj),式中 N为文档总
数,nj为包含词条 j的文档数量。
? IDF权偏向于仅在很少文档中出现的词条,
也就是说它是有判别力的。采用对数形式
是使这个权对文档总数 N不特别敏感。
? TF-IDF权就是特定词条在特定文档中的 TF
权和 IDF权的乘积。表 9-2中的文档矩阵所
产生的 IDF权是:
(0.105,0.693,0.511,0.693,0.357,0.6
93)。由此可得 TF-IDF文档 -词条矩阵 (即
把表 9-2中的 TF权乘以对应的 IDF权 ),如
表 9-3所示。
? 在文档中匹配查询的经典方法是,
●把查询表示为词条向量,1表示词条出现在
查询中,0表示不出现;
●利用向量分量的 TF-IDF权把文档表示为词
条向量;
●使用余弦距离尺度按照文档到查询的距离
来排列文档。
? 表 9-4显示了一个简单查询实例,比较了 TF
和 TF-IDF方法。
? 上表中查询包含的词条是, 数据库, 和
,索引,,即 Q=(1,0,1,0,0,0);使用表
9-2矩阵;采用余弦距离。如果使用 TF矩阵,
文档 d5是最相近的;使用 TF-IDF权,d2是
最相近的。