语义分析后的推文聚类

Tweet clustering after semantic analysis

我想对一组推文进行聚类。我已经检索了这些推文,对其进行了清理,对它们应用了朴素贝叶斯分类器,并将它们分为两个文件,正面和负面。最后,我做了以下工作来搜索每条推文之间的相似之处:

  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 的方法,我不完全确定我在这里采用了正确的方法,因此非常感谢您的帮助。

如果您有一组要聚类的文档(基于它们的内容),最简单的选择是使用工具 Cluto。您基本上必须 运行 分两步完成。

第一步是执行程序 doc2mat,它接受一个输入文件,该文件应该包含所有文档,每行一个文档。 doc2mat 程序将写出一个矩阵文件,其中包含每个文档的 tf-idf 向量表示。

然后您需要将此矩阵文件提供给程序 vcluster,它将生成聚类结果。如果您将参考 class 文件输入到 vcluster.

,您还可以评估聚类结果