我对聚类技术还不太熟悉,之前只实现过几个算法。我需要根据相似性对推文进行聚类。一种方法是仅使用标签,但我认为这不够信息量大。因此,应该分析完整的推文内容。
此外,我在网上搜索了用于聚类信息流的算法。
我遇到的一种是TF-IDF。我想知道是否有比TF-IDF更好的算法,可以在几个小时内实现。另外,我对有关Twitter信息流聚类的信息来源也很感兴趣。
附注:推文数量:10^5
回答:
正如Anony Mousse在上面的评论中指出的,TF/IDF只是一个标准化措施,确保在所有文档中过于流行的词不会获得过多的重要性。
对于数据准备,我建议阅读这篇文章以及它的第二部分(通过上面的链接连接),如果你还没有读过的话。从每条推文中获取一个数字向量是非常重要的。一般来说,在机器学习中,获取特征向量是很重要的,因为这样,你就可以对数据应用数学算法了。
现在,你已经为集合中的每条推文获得了一个特征向量,事情就变得简单了一些。我想到的两个聚类算法,你可以在几个小时内分别完成,可能需要一个周末进行广泛的测试。
- K均值聚类
- 单链接层次聚类
仅有10万条推文,你实际上应该能够在一台计算机上实现这些算法(即这不是大数据——不需要集群计算),使用你喜欢的语言(C++、Java、Python、MATLAB等)。就我个人而言,我认为实现K均值聚类(我之前做过)比层次聚类(我也做过)更容易。
编辑:请仅在你有标记的训练数据时才遵循下面的评论,即你有标记了情感的推文(如,快乐用户、一般、产品不好、愤怒用户、辱骂用户),并且你想回答的问题是:给定一条新推文,它的情感是什么?
这里有一个非常好的资源,你应该看看,以更好地理解K最近邻算法:
一般来说,对于其他两个算法,有很多资源,维基百科文章是最好的起点。就我个人而言,我觉得K最近邻(简称k-NN)是三者中最容易实现的,并且会给你快速的结果。