代码之家  ›  专栏  ›  技术社区  ›  Duxa

余弦相似性似乎不符合纯tf-idf方法?

  •  0
  • Duxa  · 技术社区  · 6 年前

    今天我刚刚学习了余弦相似性,在代码实现之前,我在纸上尝试了一些例子,但是我似乎得到了意想不到的结果。

    以下分数是预先计算的TF-IDF分数:

           Doc1 Doc2 Query
    Word1  0.35  0.2     1
    Word2  0.80  0.4     1
    

    如果我们采用纯TF-IDF排名方法,我们最终将得到:

    0.35+0.8 = 1.15 score for Doc1 and 0.2+0.4 = 0.6 score for Doc 2. 
    Clearly Doc 1 is the winner.
    

    为了实现余弦相似性,我们需要:

    对于DOC1:

    (0.35^2+0.8^2)的平方根=0.873212

    对于DOC2:

    (0.2^2+0.4^2)的平方根=0.447214

    到目前为止还不错,DOC1似乎领先。

    现在我们使用这些来规范化并得到以下结果:

            Doc1        Doc2    Query
    Word1   0.400819    0.447213    1
    Word2   0.916158    0.894426    1
    
    SUM:    1.316977    1.34164 
    

    DOC2现在领先,即使我们采用了点产品,它也将领先。这怎么可能呢?显然基于TF-IDF的DOC1几乎是DOC2的两倍。他们怎么这么近?如果在搜索引擎中显示doc2将获得最高的位置。

    请帮我澄清我的困惑?

    0 回复  |  直到 6 年前