【问题标题】:java - how to implement Cosine Similarity with tf*idf score of the document?java - 如何使用文档的 tf*idf 分数实现余弦相似度?
【发布时间】:2012-05-03 23:55:58
【问题描述】:

我有一组要在其中搜索关键字的文档。我已经计算了关键字和所有文档的 tf-idf 值。假设,我将我的 tf-idf 值存储在所有文档的数组中,我如何使用它来计算我的余弦相似度?任何形式的代码帮助表示赞赏!

【问题讨论】:

  • 我一定会工作的。有什么帮助吗?

标签: java similarity trigonometry tf-idf


【解决方案1】:

您可以将数组视为vectors 的集合,每个文档对应一个元素,其元素数等于词条数。要确定两个文档的相似性,您可以按照通常的方式计算对应向量的scalar product(对应向量分量的乘积之和),然后将其除以两个向量的范数的乘积。

在计算相似度之前对向量进行归一化是很实用的。在这种情况下,您只需使用文档向量的标量积,因为规范将是一个。

【讨论】:

  • 我是否必须为文档中的所有条款计算 tfidf?我只是在计算我的关键字和文档的 tfidf 值。
  • 你可以计算任何你喜欢的向量的分数。如果要与关键字进行比较,可以将其视为仅包含单个术语的虚构文档。
  • 哦,这样!非常感谢。
猜你喜欢
  • 1970-01-01
  • 2013-04-18
  • 2012-11-20
  • 1970-01-01
  • 2017-02-03
  • 1970-01-01
  • 2012-04-27
  • 2020-02-20
  • 2011-01-23
相关资源
最近更新 更多