我遇到了一个独特的文本分类问题。
我给出了一个描述列表,每个描述包含 3-8 个单词。我知道有些描述几乎相同,但大多数描述彼此之间存在显着差异。我的目标是将大致相同的描述分组,并将其余描述视为唯一的。该数据集可能被认为太长而无法手动标记以进行监督学习。
到目前为止我的思考过程:
- TF-IDF 将派上用场,因为匹配单词的频率极低(因此任何匹配都非常有价值)。
- 像 K 均值这样的无监督聚类技术可能很有用,但是在这个空间中,K 均值存在一个继承的“K”选择问题。例如,如果我们有 1,000 个描述并且只有 10 个描述(2 个描述的 5 个集群)应该彼此聚类(留下 9,990 个唯一描述),我们将需要 9,995 个集群来准确地表示结构(9,990 个集群有 1 个项目和 5 个集群,每个集群 2 个项目)。这个问题将导致一个极其困难的模型构建阶段,因为集群的数量会如此之多(也许这不是问题,应该测试这个理论)。
我对 NLP 使用的无监督学习领域非常陌生。我还有一些想法可以详细说明,但我真的需要一些关于其他人如何以这种方式处理集群文本的建议。如果更好的替代方案更适合问题空间,我不需要使用 K 均值或任何其他具体想法。
编辑:
我开始认为 DBSCAN 将是一个更好的聚类模型。本文档解释说,每个点都可以聚类,并且与真实组(在特定配置下)相比,不考虑离群值更多。用更专业的术语来说,我相信将低分设置eps
为minpts
2 将是一个很好的测试理论。这实质上是假设大多数数据属于自己的集群(大部分数据是唯一的),但某些数据(在弱最小点配置下)确实应该分组到一个集群中。DBSCAN 通过以算法方式处理异常值,避免了 K 均值的陷阱。K 均值将严重依赖于对“K”值的天才猜测。