如何对 twitter 数据集进行聚类?

数据挖掘 机器学习 数据挖掘 聚类 nlp 社会网络分析
2021-09-18 12:19:37

我有一个 twitter 数据集,我想提取他们的相关主题。因此,我决定使用无监督机器学习算法(如 k-means)将我的推文分类。这种选择是由于监督方法中的训练过程非常耗时。

因此,作为清理推文后的第一步,我将从它们中提取特征(例如 Hashtags...),并使用来自知识库(例如 Wikipedia)的辅助信息来丰富它们。其次,它们将在向量空间中表示。接下来,使用 k-means 并且对于给定的 K=6 个集群,我已经丰富的推文将被分类为 6 个集群。

但是,我不知道如何自动识别与这些集群相关的主题。有什么解决办法吗?

3个回答

k-means对噪声非常敏感

因为它被设计为最小二乘法。噪声偏差在平方后变得更大。

Twitter主要是噪音

Twitter 充满了垃圾邮件和无意义的推文。这些将完全不同于任何其他,因此具有最大的偏差。

您可能会得到一个包含几乎所有内容的“集群”,而其他 k-1 集群由一些带有重复项的推文组成。集群不是主题它们比主题更有可能是重复的。

一个合适的推文聚类算法可能会丢弃 90% 的推文并产生数千个聚类。但这几乎不会比找到所有共同的推文更好 - 大多数推文只有 2-3 个可用词。

你找到好的方法了吗?我现在正从事同样的工作。我的方法如下:

1) 对数据集中的所有文本进行矢量表示,例如使用 tfidf 技术。

2) 取第一个向量并放在一堆。

3)进入以下循环:

3a) 取下一个向量并计算该向量与每个构建桩的质心之间的余弦相似度。

3b) 如果该余弦相似度之一低于预定义阈值,则将该文档表示堆叠在相应的堆中。另一种情况,用这个向量构建一个新的堆。

3c) 重新计算每个修改桩的质心。

该算法将找到相似的推文,我们假设这些推文与同一主题相关。

基本上,如果我改写您的任务-您有一个要总结的大文档。文本挖掘是你的工具——你可以选择传统的方法,如 tf-idf、tf 等。我建议使用 holmertz 技术——在这样的框架中,它可以让事情变得更容易,因为它可以自己检测停用词、提取特征等。层次聚类也可以工作,检查你是否不会得到明显的词作为集群中心——过滤它们需要主题知识和额外的时间。