内容纲要

欢迎转载,作者:Ling,注明出处:Rank教程: 03-向量空间模型

 

向量空间模型(Vector Space Model)

将Query和Document都表示成一个N维的向量,然后通过向量之间求相似度进行排序。

举例:

假设有3个维度,我们将四个个文档和Query表示成三维的向量,如下图所示:

RK_03_001

具体的,假设有D4,D5两个文档和一个Query:

RK_03_002

我们将其转换特征向量:

RK_03_003

这样,文档和Query都表示成了向量,之后我们就可以通过向量之间的相似度,计算Query和文档之间相关程度。

具体计算公式为:

RK_03_004

其几何意义为:两个向量的距离(夹角),夹角越小,Q和D越相似

RK_03_005

计算:

RK_03_006

D4与Q相似程度大于D5和Q相似程度,我们将D4排再D5前面。

问题: 如何得到每个特征的值

根据文档或者Query最小单位不同,可以分为

  • 单词
  • 词组
  • N-gram片段

根据不同计算方式,可以分为

  • 词频(TF):就是根据每个单词出现的次数计算值

一种变体:可以避免TF差异很大

RK_03_007

另一种变体:避免长文档中词频比短文档高的情况,MAX(Tf)是该文档中词频最高的值,这样可以剔除文档长度因素的影响

RK_03_008

  • 逆文档频率因子(IDF):

RK_03_009

nk表示特征单词k出现在了多少个文档中,也叫文档频率,文档频率越高,说明这个单词太Common,区分度比较小,IDF就越小,N表示总文档个数。

  • Tf*IDF:同时考虑上面两个因素

RK_03_010