【问题标题】:USING TFIDF FOR RELATIVE FREQUENCY, COSINE SIMILARITY将 TFIDF 用于相对频率、余弦相似度
【发布时间】:2014-09-17 22:20:41
【问题描述】:

我正在尝试使用 TFIDF 作为相对频率来计算余弦距离。我从一个文档中选择了 10 个单词说:文件 1 并从我的文件夹中选择了另外 10 个文件,使用 10 个单词及其频率来检查 10 个文件中哪些与文件 1 相似。说文件夹中的文件总数是46.我知道 DF(是该词出现的文档数) IDF(是 log(文件总数(46)/DF)和 TFIDF(是 TF 的乘积(一个文档中单词的频率)和以色列国防军)

问题:

  1. 假设我上面所说的是 100% 正确,在获得一个文档中所有 10 个单词的 TFIDF 后说:文件 2,我是否将所有 10 个单词的所有 TFIDF 加在一起以获得 TFIDF文件 2?

  2. 余弦距离是多少?

谁能帮忙举个例子?

【问题讨论】:

    标签: similarity information-retrieval tf-idf cosine-similarity dot-product


    【解决方案1】:

    问题是您在余弦相似度和 tf-idf 之间感到困惑。前者是衡量两个向量(在本例中为文档)之间的相似性,而后者只是一种设置向量组件的技术,最终将用于前者。

    特别是您的问题,从每个文档中选择 10 个术语是相当不方便的。我宁愿建议使用所有条款。令 V 为术语的总数(集合中所有文档的联合集的基数)。您可以将每个文档表示为 V 维向量。可以将特定文档 D 的第 i 个分量设置为对应于该术语(例如 t)的 tf-idf 权重,即 D_i = tf(t,D)*idf(t)

    以这种方式表示集合中的每个文档后,您就可以按以下方式计算文档间的相似度。

    cosine-sim(D, D') = (1/|D_1|*|D'|) * \sum_{i=1}^{V} D_i * D'_i
                      = (1/|D_1|*|D'|) * \sum_{i=1}^{V} tf(t,D)*idf(t)*tf(t,D')*idf(t)  
    

    请注意,此总结中的贡献术语仅是在两个文档中都出现的那些。如果项 t 出现在 D 中,但不在 D' 中,则 tf(t,D')=0,因此总和为 0。

    【讨论】:

      猜你喜欢
      • 2016-08-14
      • 2017-03-26
      • 2020-08-12
      • 2011-02-21
      • 1970-01-01
      • 2011-01-01
      • 2021-12-04
      • 2013-02-12
      相关资源
      最近更新 更多