我的场景非常简单:我有一堆新闻文章(目前约为 1k),我知道其中一些文章涵盖了相同的故事/主题。我现在想根据共享的故事/主题(即,基于它们的相似性)对这些文章进行分组。
到目前为止,我所做的是应用基本的 NLP 技术,包括停用词删除和词干提取。我还计算了每篇文章的 tf-idf 向量,并且还可以根据这些 tf-idf 向量计算余弦相似度。但是现在随着文章的分组,我有点挣扎。我看到了两种主要的方法——可能是相关的——来做到这一点:
1)机器学习/聚类:我已经对现有的聚类库进行了一些尝试,或多或少取得了成功;看这里。一方面,诸如 k-means 之类的算法需要聚类的数量作为输入,我不知道。其他算法需要的参数也不能直观地指定(对我来说就是这样)。
2)图算法:我可以将我的数据表示为一个图,其中文章是节点,加权边表示文章之间的成对(余弦)相似度。例如,我可以首先删除所有低于某个阈值的边,然后可以应用图算法来寻找强连接子图。
简而言之,我不确定从这里最好去哪里——我在这个领域还是很新的。我想知道是否有一些最佳实践,或者某种指导方针,哪些方法/算法可以(不)应用于某些场景。
(编辑:忘记链接到我的相关问题)