我想聚集一组推文。我已经检索了推文,将它们清理干净,将NaïveBayes分类器应用于它们并将它们分成两个文件,正面和负面。最后,我已经完成以下操作来搜索每条推文之间的相似之处:
with open("positive.txt", "r") as pt:
lines = pt.readlines()
for lineA in lines:
vectorA = text_to_vector(lineA)
for lineB in lines:
vectorB = text_to_vector(lineB)
cosine = get_cosine(vectorA, vectorB)
print lineA, "\n", lineB, "\n", "Cosine:", cosine
现在这应该测量每个句子相对于另一个句子的相似性,我想下一步可能是将所有短语的值相加,所以将句子n关系的所有余弦值相加对所有的句子,在这之后,绘制它们并应用像KMeans这样的东西,我不完全确定我在这里采取了正确的方法,所以任何帮助都非常感谢。
答案 0 :(得分:1)
如果您有一组要集群的文档(基于其内容),最简单的选择是使用工具Cluto。你基本上必须分两步运行它。
第一步是执行程序 doc2mat ,它接受一个应该包含所有文档的输入文件,每行一个文档。 doc2mat程序将写出一个矩阵文件,由每个文档的tf-idf矢量表示组成。
然后,您需要将此矩阵文件提供给程序 vcluster ,这将生成群集结果。如果将引用类文件输入到vcluster,也可以评估聚类结果。