我们可以将多个 K-Means 模型组合成一个模型吗?

数据挖掘 nlp 聚类 k-均值 词嵌入 word2vec
2022-02-19 14:31:42

我有一个 NLP 问题陈述,我使用 Word2Vec 嵌入预训练模型将关键文本转换为向量,然后在一组术语上运行 k-means 聚类以获得最终模型k

对于不同的术语集,我会开发一个不同的模型,并将其存储到磁盘中。

我的问题是,如果有一个新术语,我希望将它分类为它应该从所有模型中指向哪个集群,我可以遵循以下方法吗?

  1. 将所有模型加载到内存并获取它们的聚类中心。
  2. 基于与之前相同的预训练模型获取新词的向量。
  3. 获取从每个集群中心到新向量的距离,并且可以将最近的那个视为获胜集群

我想知道这种方法的可能缺点是什么。

我的假设是,由于向量空间与预训练模型定义的相同,因此聚类中心将位于同一空间中。

1个回答

我同意你的假设,向量空间是相同的,所以我认为这种方法没有任何重大问题。这种方法仍然可能会导致一些更微妙的偏差,具体取决于模型之间的差异(术语集、聚类数)。我可以想象会发生以下问题:

  • 如果模型之间的聚类数量差异很大,则具有更多聚类的模型更有可能包含最接近的匹配,这仅仅是因为它具有更多的质心。这可能有利于最精确的集群(这实际上可能是一件好事,取决于)。
  • 如果有很多模型,有时模型中可能会有很多接近的质心,这可能会使它们之间最接近的质心的选择几乎是随机的:质心的确切位置相对于同一模型中的其他质心很重要,而不是必然相对于模型外的其他质心。