我有兴趣做一些文档聚类,现在我正在考虑使用TF-IDF。
如果我没有错,TF-IDF特别用于评估文档给定查询的相关性。如果我没有特定的查询,我该如何将tf-idf应用于聚类?
答案 0 :(得分:4)
实际上并非如此: tf-idf 为您提供给定文档中相关性。
因此,您可以通过计算接近度来完美地将其用于群集,这类似于
proximity(document_i, document_j) = sum(tf_idf(t,i) * tf_idf(t,j))
对于doc i和doc j中的每个术语t。
答案 1 :(得分:4)
用于文档群集。最好的方法是使用 k-means算法。如果您知道有多少类型的文档,您就知道k是什么。
使其适用于文档:
a)说随机选择初始k文件。
b)使用群集文档的最小距离将每个文档分配给cluser。
c)将文档分配给群集后,通过获取每个群集的质心,将K个新文档作为群集。
现在,问题是
a)如何计算两个文档之间的距离:除了初始聚类的文档术语的余弦相似性之外,它只是其余的。这里的术语只是TF-IDF(每个文档的早期计算)
b)质心应:给定术语/否的TF-IDF之和。的文件。对于群集中的所有可能术语,这样做。这将给你另一个n维文件。
希望这有帮助!
答案 2 :(得分:1)
TF-IDF有不同的用途;除非您打算重新发明轮子,否则最好使用像Carrot这样的工具。如果您希望自己实施一个算法,Google搜索文档聚类可以为您提供许多算法。