假设我有 100 个文本文档,我想对这些文档进行聚类。
第一步是100X100为文档构建成对相似度矩阵
我的问题是:
衡量两个文档之间相似性的常用方法是什么?
谢谢,
假设我有 100 个文本文档,我想对这些文档进行聚类。
第一步是100X100为文档构建成对相似度矩阵
我的问题是:
衡量两个文档之间相似性的常用方法是什么?
谢谢,
一般来说,有两种方法可以找到文档-文档相似度
您可以使用 NLTK、Scikit learn、Gensim 等库来实现 Tf-Idf。Gensim 提供了许多附加功能。见: https ://www2.cs.duke.edu/courses/spring14/compsci290/assignments/lab02.html
谷歌的 Doc2Vec,在 Gensim 库中可用,可用于文档相似度。另外,Doc2Vec 模型本身可以计算相似度分数(没有余弦或任何需要她的东西)。您只需要通过标记化(使用 NLTK)对文档进行矢量化,并使用 gensim 和 fins 相似性以及许多使用 Gensim 内置方法(如 model.n_similarity)来制作两个文档之间的相似性的 Doc2vec 模型。
此外,由于您的目标是对文档进行聚类,您可以尝试使用 LDA(潜在 Dirichet 分配)或 LSI(潜在语义索引)进行主题建模。
我可能会通过为每个文档创建一组特征来解决这个问题,例如,您可以使用Bag of words representation或TF-IDF term weighting。在此之后,您可以通过一些距离度量来计算这些特征的接近度,并将其用作相似度的度量。