向量空间模型 (或者 词组向量模型) 作为向量的标识符(比如索引),是一个用来表示文本文件的代数模型。它应用于信息过滤、信息检索、索引以及关联规则。SMART是第一个使用这个模型的信息检索系统。
文档和查询都用向量来表示。
每一维都相当于是一个独立的词组。如果这个术语出现在了文档中,那它在向量中的值就非零。已经有很多不同的方法来计算这些值,这些值叫做(词组)权重。其中一种广为人知的算法就是tf_idf权重(见下面的例子)。 我们是根据应用来定义词组的。典型的词组就是一个单一的词、关键词、或者较长的短语。如果字被选为词组,那么向量的维数就是出现在词汇表中不同字的个数。
向量运算能通过查询来比较各文档。
通过文档相似度理论的假设,比较每个文档向量和原始查询向量(两个向量的类型是相同的)之间的角度偏差,使得在文档中搜索关键词的关联规则是能够计算的。 实际上,计算向量之间夹角的余弦比直接计算夹角本身要简单。
其中 是文档向量(即右图中的d2)和查询向量(图中的q)的点乘。 是向量d2 的模,
而 是向量q的模. 向量的模通过下面的公式来计算:
由于这个模型所考虑的所有向量都是严格非负的,如果其余弦值为零,则表示查询向量和文档向量是正交的,即不符合(换句话说,就是该检索词在文档中没有找到)。如果要了解详细的信息可以查看余弦相似性。
范例: tf-idf 权重
Salton, Wong 和 Yang 提出的传统向量空间模型,一个词组在文件向量中权重就是局部参数和全局参数的乘积,这就是著名的tf-idf模型(词频_逆向文件频率)。文档的权重向量d就是 ,其中
- 是词组t在文档d中出现的频率(一个局部参数)
- 是逆向文件频率(一个全局参数)。 是文件集中的文件总数; 是含有词组t的文件数。
文件dj 和查询q之间的余弦相似度通过一下公式来计算:
在简单的词组计算模型中,词组的权重不包含全局参数,而是单纯的计算词组出现的次数: 。
优点
相对于标准的布尔数学模型,向量空间模型具有如下优点:
- 基于线性代数的简单模型
- 词组的权重不是二元的
- 允许计算文档和查询之间的连续相似程度
- 允许其根据可能的相关性来进行文件排序
- 允许局部匹配
局限
向量空间模型有如下局限:
- 不适用于较长的文件,因为它的相似值不理想(过小的内积和过高的维数)。
- 检索词组必须与文件中出现的词组精确匹配,不完整词组(子字串会导致“假阳性”匹配)。
- 语义敏感度不佳;具有相同的语境但使用不同的词组的文件不能被关联起来,导致“假阴性匹配”。
- 词组在文档中出现的顺序在向量中间中无法表示。
- 假定词组在统计上是独立的。
- 权重是直观上获得的而不够正式。
然而,这些局限中的多数能够通过多种多样的方法集成来解决,包括数学上的技术,比如奇异值分解和词汇数据库(比如wordnet)
基于模型的以及扩展的向量空间模型
基于模型的和基于扩展的向量空间模型包括:
- 广义的向量空间模型
- (增强的)基于主题的向量空间模型
- 潜在的语义分析
- 潜在的语义索引
- DSIR模型
- 词组辨识
- Rocchio分类
向量空间模型(VSM)