4

我对做一些文档聚类很感兴趣,现在我正在考虑为此使用 TF-IDF。

如果我没记错的话,TF-IDF 特别用于评估给定查询的文档的相关性。如果我没有特定查询,如何将 tf-idf 应用于集群?

4

3 回答 3

4

用于文档聚类。最好的方法是使用k-means 算法。如果你知道你有多少种文档,你就知道 k 是什么。

要使其适用于文档:

a) 说随机选择初始 k 个文档。

b) 使用文档与集群的最小距离将每个文档分配给集群。

c) 将文档分配到集群后,通过取每个集群的质心,将 K 个新文档作为集群。

现在,问题是

a)如何计算2个文档之间的距离:它只不过是具有初始聚类的文档术语的余弦相似度。这里的术语不过是 TF-IDF(之前为每个文档计算的)

b)质心应该是:给定术语/编号的 TF-IDF 之和。的文件。对集群中的所有可能项执行此操作。这将为您提供另一个 n 维文档。

希望这有帮助!

于 2010-04-02T00:47:05.990 回答
4

实际上并不完全正确:tf-idf为您提供给定文档中术语的相关性所以你可以通过计算接近度
来完美地将它用于你的集群,这就像

proximity(document_i, document_j) = sum(tf_idf(t,i) * tf_idf(t,j))

对于 doc i 和 doc j 中的每个术语 t。

于 2010-03-29T07:40:54.483 回答
1

TF-IDF 有不同的用途;除非您打算重新发明轮子,否则最好使用像Carrot这样的工具。如果您希望自己实现一种算法,那么在谷歌上搜索文档聚类可以为您提供许多算法。

于 2010-04-02T00:57:47.417 回答