文档介绍:文本检索
三、隐含语义索引
上面所介绍的都是将文档表示为T维词条权向量的。但用户可能提出的查询中的词条不在用在索引文档的词条中。
例如,从词条相似性的角度来看,词条“数据挖掘”和“知识发现”设有什么直接的共同点。然而,从语义角度来看,这两个词条有很大的相同点。
因此,在提出一个包含其中之一的查询,那么应该考虑包含另一个的文档。解决方法是:预先创建一个把语义相关词条连接在一起的知识库(同义词典或本体集)。然而,这样的知识库存在固有的主观性,因它取决于从何种角度来把词条和语义内容联系起来。
隐含语义索引(latent semantic indexing)(LSI)—一种可选的有趣又有价值的方法。该方法不是仅使用词条出现信息,而是从文本中提取出隐藏的语义结构信息。
实际上,LSI采用T维词条空间中前k个主成分来近似原始的T维词条空间,使用N×T的文档-词条来估计这个方向。
主成分方法的直观解释是,由原始词条的加权组合所构成的单个向量可以非常好的近似由大得多的向量集合所起的效果。于是可以把原来的N×T大小的文档-词条矩阵简化为N×k的矩阵(k<<T),
对于固定的查全率,和前面讨论的向量空间方法相比,LSI可以提高查准率。
对表9-2中的矩阵M计算奇异分解式(SVD)。
目标是,找一个分解式M=USVT。式中U是一个10×6的矩阵,它的每一行是相对特定文档的权向量,S是每个主成分方向特征值的6×6对角阵, 6×6的矩阵VT的各列提供了数据的新共轭基,被称为主成分方向。
S矩阵的对角线元素是(协方差矩阵对应…):
λ1,…, λn={,,,,,}
可见,前两个主成分捕捉了数据中的主要变化,和直觉一致。
当使用两个主成分时,,%。
如果我们在新的二维主成分空间来表示文档,那么每篇文档的系数对应于U矩阵的前两列(两个主成分对应的特征向量,即新的文档权值):
这两列可看作新的伪词条,其作用相当于原来6个词条的线性组合。
看一下前两个主成分方向可以得到的信息(新共轭基):
V1=(,,,,,)
V2=(-,-,-,,,)
这两个方向是原来6维词条空间中数据最分散(具有最大方差)的方向。每方向更突出前两个词条(查询,SQL):实际上这是描述和数据库有关文档的方向。
第二方向突出了后三个词条—回归、似然和线性,这是描述和回归有关文档的方向。图9-4以图形方式说明了这一点(将上面数据用图表示)。
当把文档投影到由前两个主成分方向所决定的平面量,两个不同组的文档分布在两个不同的方向上。注意文档2几乎落在文档1上,使其有点模糊。文档5和文档10的词条向量最大,因此离原最远。
从图可看出,文档间的角度差异显然是相似性的一个有用指标,因为回归和数据库文档在平面上是围绕两个不同的角度聚成簇的。
主成分方法的应用例子:
考虑一个新的文档D1,词条“查询”在该文档
中出现50次,另一个文档D2,包含词条“SQL”50次,两且两篇文档都不包含其他的词条。如果直接使用关键字表示,这两个文档不会被认为是相似的,因为它们没有包含相同的词条。
然而,如果使用两个主成分词条来表示这两篇文档,并把它们投影到这个空间中,那么正如图9-3所示,二者都被投影到“数据库”方向,尽管它们都仅包含和数据库有关的三个词条中的一个。