在Twitter上预测未来推特的情绪

时间:2013-05-03 19:37:21

标签: twitter machine-learning data-mining classification

我试图预测Twitter用户发布的下一条推文的情绪。现在我有以下步骤(步骤1和2已经在python中实现):

  1. 了解如何将推文分类为postive(1),neutral(0)或negative(-1)。我使用了一个天真的贝叶斯分类器,它的效果非常好。

  2. 对用户的现有推文进行分类。这导致一系列数字如下:[0,1,-1,-1,-1,0,1,1,..]还有关于发布时间的信息。

    < / LI>

    是否有可能预测下一条推文的情绪(1,0或-1)?

    我可以使用什么算法?

    我不知道这个是如何工作的,但隐藏的马尔可夫模型是适合的还是某种回归?

2 个答案:

答案 0 :(得分:3)

我认为,考虑到这一点的一个有吸引力的方式是先前和情绪的可能性。朴素贝叶斯是一个可能性模型(鉴于它是正面的,我怎么可能看到这个确切的推文?)。鉴于您到目前为止已经观察到一定的情绪序列,您问的是下一条推文是否为正的先验概率。有几种方法可以做到这一点:

  • 最天真的方式是用户说出的推文的一小部分是肯定的是下一个推文是正面的概率
  • 然而,这忽略了新近感。你可以提出一个基于过渡的模型:从每个可能的先前状态,下一个推文有正面,负面或中立的可能性。因此,你有一个3x3转换矩阵,并且下一个推文的正条件概率是正的,因为最后一个是正的是转移概率pos-> pos。这可以从计数中估算出来,并且是一个马尔可夫过程(基本上,前一个状态非常重要)。
  • 你可以通过这些转换模型变得越来越复杂,例如,当前的“状态”可能是最后两个,或者实际上是最后一个推文的情绪,这意味着你可以获得更多具体的预测而牺牲更多以及模型中的更多参数。您可以通过平滑方案,参数绑定等来克服这个问题。

作为最后一点,我认为@ Anony-Mousse关于先前弱证据的观点是正确的:真的,无论你先前告诉你什么,我认为这将由似然函数主导(实际上是什么)在推文中有问题)。如果你也可以看到推文,可以考虑使用@Neil McGuigan建议的CRF。

答案 1 :(得分:0)

在机器学习方面,您可以考虑顺序关联:

http://web.mit.edu/rudin/www/RudinEtAlCOLT11.pdf

这个站点有一些java库:

http://www.philippe-fournier-viger.com/spmf/

隐马尔可夫模型也应该有用。 HMM是条件随机场的特例,它可以让您查看其他因素,例如天气或新闻事件。

我想知道一个人的下一条推文是否也受到a)每个人b)或他们关注的那些推文的当前推文的影响