聚类小文本描述

数据挖掘 文本挖掘 k-均值 无监督学习 主题模型 数据库扫描
2022-03-09 07:52:58

我遇到了一个独特的文本分类问题。

我给出了一个描述列表,每个描述包含 3-8 个单词。我知道有些描述几乎相同,但大多数描述彼此之间存在显着差异。我的目标是将大致相同的描述分组,并将其余描述视为唯一的。该数据集可能被认为太长而无法手动标记以进行监督学习。

到目前为止我的思考过程:

  • TF-IDF 将派上用场,因为匹配单词的频率极低(因此任何匹配都非常有价值)。
  • 像 K 均值这样的无监督聚类技术可能很有用,但是在这个空间中,K 均值存在一个继承的“K”选择问题。例如,如果我们有 1,000 个描述并且只有 10 个描述(2 个描述的 5 个集群)应该彼此聚类(留下 9,990 个唯一描述),我们将需要 9,995 个集群来准确地表示结构(9,990 个集群有 1 个项目和 5 个集群,每个集群 2 个项目)。这个问题将导致一个极其困难的模型构建阶段,因为集群的数量会如此之多(也许这不是问题,应该测试这个理论)。

我对 NLP 使用的无监督学习领域非常陌生。我还有一些想法可以详细说明,但我真的需要一些关于其他人如何以这种方式处理集群文本的建议。如果更好的替代方案更适合问题空间,我不需要使用 K 均值或任何其他具体想法。


编辑:

我开始认为 DBSCAN 将是一个更好的聚类模型。文档解释说,每个点都可以聚类,并且与真实组(在特定配置下)相比,不考虑离群值更多。用更专业的术语来说,我相信将低分设置epsminpts2 将是一个很好的测试理论。这实质上是假设大多数数据属于自己的集群(大部分数据是唯一的),但某些数据(在弱最小点配置下)确实应该分组到一个集群中。DBSCAN 通过以算法方式处理异常值,避免了 K 均值的陷阱。K 均值将严重依赖于对“K”值的天才猜测。

2个回答

在我的头顶上:

  • 使用常规聚类技术,您可以尝试使用特定于文本的距离/相似性度量,而不是仅将不同的单词视为元素。有混合字符串相似性度量,例如 SoftTFIDF,它考虑了基于字符和基于单词的相似性。
  • 使用引理代替单词,以促进相同概念的匹配
  • 对于更具体的 NLP 方法,您可以查看主题建模和/或词义归纳技术。两者以不同的方式遵循相似的想法:前者在语义上更接近您的情况,后者旨在使用类似于您的简短描述大小的小型上下文窗口。我不确定现在的最新技术是什么,但潜在语义分析是不久前的标准。Afaik 这些技术适用于大量数据,但它们可能值得一试。

听起来你的想法是对的。正如您所说,对这些描述进行词形还原,然后使用(字数、TF-IDF 或二进制编码)进行矢量化。尝试将其传递给 DBscan,并使用它返回的集群作为描述的分组。

当您使用 DBscan 时,请务必尝试改变metric您使用的方式,因为有很多可用的。

找到最佳eps可能有点棘手,因为您使用的是无监督方法(除非您想使用聚类指标来调整它,例如轮廓分数)。最好的办法可能是手动进行试验,直到您的输出看起来最适合您。