寻找按粉丝数排名的推文主题的好算法?

5 投票
2 回答
785 浏览
提问于 2025-04-16 09:27

我刚开始接触数据挖掘,正在做一些实验。

假设我有N个推特用户,我想了解他们发的推文整体上在讨论什么主题。
然后,如果某个用户的粉丝数比较多,我希望给他们的主题更高的权重。

接着,如果有一些主题足够相似,我想把它们合并,但仍然保留推特粉丝数带来的权重。

所以,最终我想得到一个“重要”主题的列表,这些主题是根据用户的推特粉丝数来排名的。

比如说,像news.google.com那样,但排名是基于那些负责该主题的推特粉丝数。

我更喜欢用Python来做,因为这是我最熟悉的语言。

有没有什么想法?

谢谢

编辑:
这是我想做的一个很好的例子(但数据不同)http://www.facebook.com/notes/facebook-data-team/whats-on-your-mind/477517358858

基本上是在分析各种数据及其相互之间的关系:工作类别和每个人的年龄,或者词汇类别和朋友数量,就像这个例子一样。

我应该从哪里开始解决这个问题并生成这样的图表呢?

2 个回答

0

我没有具体的代码,但我觉得你想用的方法是TF-IDF。这种方法在这里有解释:http://en.wikipedia.org/wiki/Tf%E2%80%93idf,它常用于对文本进行分类。

4

一般来说,R语言有一些专门用于文本挖掘和数据挖掘的包,提供了很多不同的技术。我对Python中是否有类似的包不太了解,但这并不意味着它们不存在。我只是觉得自己实现起来会有点复杂,表面上看起来简单的事情,实际上可能没那么容易。

在考虑这个问题时,有几个方面需要注意:

  • 定义“主题”:这指的是他们使用的标签吗?你会把标签分组吗?你是有一个小的、有限的标签列表,还是说这个列表是无限的?
  • 定义“通用主题”:这是否是使用最频繁的主题?如果有多个主题使用频率相同,你该如何处理?如果一个用户写了大约10个主题,情况会怎样?
  • 定义“权重”:这是否等同于用户的数量?是平方根?还是某种类别?

如果你对这些有了大致的了解,就可以开始使用tm包来提取所有信息,并将其转化为可用的格式。这个包是基于矩阵和元数据对象的。这些工具可以让你得到不同主题的加权频率,前提是你已经定义了什么是主题。你还可以使用不同的加权函数来获得你想要的结果。手册可以在这里找到。如果你对自己在做什么不太确定,也可以访问crossvalidated.com获取额外的指导。其实这更多是关于数据挖掘的问题,而不是编程的问题。

撰写回答