『IR 信息检索入门必看』#3 向量空间模型(简明)

『IR 信息检索入门必看』#3 向量空间模型(简明),第1张

回忆前两个模型,我们发现统计语言模型在布尔模型上,做出了最佳匹配和排序结果的改进。但是,仍然没有考虑到「 词项的权重 」。

向量空间模型中,我们容易联想到用向量来表示文档和查询,再通过计算余弦来得到两个向量的距离,从而得到相似性度量。

那么,如何选取向量空间 basis vector (基向量)?如何将目标转化为向量?如何为各个维度选取 magnitide (幅值),从而考虑权重?如何在高维空间计算向量距离?

通常地,我们选择用 linearly independent (线性独立) 或 orthogonal (正交) 的基向量来张成 向量空间 ,这样可以使得维度最少。那么,如何选取基向量?

这是一个特征选择问题,在 IR 中,通常有两种方式:

以下我们采用第二种方式。一个 Doc 或 Query 的向量表示就是:所有出现在文档中的 term 的向量之和。

当一个 term 在文档中不断出现时,在这个方向上的向量幅值就会很大。这样比起布尔模型的 0/1 二值,更能反映了这个 term 的重要性。这便是决定权重的 tf ( term frequency ,词项频率) 方法。

然而,原始的 tf 值会面临这样一个严重的问题:即在和查询进行相关度计算时,所有 term 都被认为是同等重要的。

实际上,某些 term 对于相关度计算来说几乎没有或很少有区分能力。一个很直接的想法就是给包含在较多文档中的词项赋予较低的权重。为此,引入变量 df ( document frequency ,文档集频率),即有多少文档包含了该 term。df 值越大,说明该 term 越不重要。

为了计算的方便,将其标准化得到 idf ( inverse document frequency ,逆文档频率):

观察该式发现, idf 虽然可以使得在较多文档中的词项权值降低,但与 tf 相反的是,这样做的缺点是:对那些极少出现的词极度敏感。

为此,我们将二者结合在一起,诞生了 tf·idf 方法——在文本处理领域中使用最广泛的数值权重计算方法。方法基于的思想和构造的统计量都很简单,但是在实际中却表现了很好的性能。

在 VSM 中,我们会将词项的 tf·idf 存储在词典表(词项-文档)矩阵中,作为向量的幅值,用于后续的计算。

当我们已经把文档表示成 上的向量,从而可以计算文档与文档之间的相似度(根据向量内积或者 余弦夹角 )。

设 和 表示 VSM 中的两个向量:

可以借助于 N 维空间中两个向量之间的某种距离来表示文档之间的相似度,常用的方法是使用向量之间的内积来计算:

考虑到向量的 归一化 ,则可以使用两个向量的余弦值来表示相似系数:

要注意,这里使用向量内积,是基于对所有向量相互独立、相互正交的假设,否则计算内积也就失去了意义。对于相关的基向量,应该评估 Term 之间的相关度 ,再把向量当成多项式计算,最后代入 。

此外,在其他的考虑权重的模型中,如 Lucene,在计算相似度时引入了更多的因子,如 tf·idf , , overlap(q,d) 等,对应用情形、平滑度加以考量。

在 IR 中应用 VSM 模型时,相似度在检索结果中有两种体现:

而 VSM 模型也有着致命的 缺点

潜层语义索引,也被称为 LSA (Latent Semantic Analysis,潜在语义分析),是针对向量空间的「 高维稀疏 」问题提出的解决方法,利用线性代数中的 奇异值分解 降低维度(去除噪音),同时尽量减少信息的损失。

参考: >

以上就是关于『IR 信息检索入门必看』#3 向量空间模型(简明)全部的内容,包括:『IR 信息检索入门必看』#3 向量空间模型(简明)、如何查询表和索引所在的表空间、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9754429.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存