语义分析后进行推文聚类

时间:2017-01-25 23:17:21

标签: python nlp cluster-analysis k-means tweets

我想聚集一组推文。我已经检索了推文,将它们清理干净,将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这样的东西,我不完全确定我在这里采取了正确的方法,所以任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:1)

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

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

然后,您需要将此矩阵文件提供给程序 vcluster ,这将生成群集结果。如果将引用类文件输入到vcluster,也可以评估聚类结果。