Twitter 预测未来推特的情绪

Twitter 预测未来推特的情绪,twitter,machine-learning,data-mining,classification,Twitter,Machine Learning,Data Mining,Classification,我试图预测推特用户发布的下一条推特的情绪。现在我有以下步骤(步骤1和步骤2已经在python中实现): 了解如何将推文分类为积极(1)、中性(0)或消极(-1)。我使用了一个朴素的贝叶斯分类器,效果非常好 对来自用户的现有推文进行分类。这会产生一系列类似这样的数字:[0,1,-1,-1,0,1,1,…]还有关于发布时间的信息 是否有可能预测下一条推特的情绪(1、0或-1) 我可以使用什么算法来处理这个问题 我还不知道这个模型是如何工作的,但是隐马尔可夫模型是合适的还是某种回归pos。这可以通过计

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

  • 了解如何将推文分类为积极(1)、中性(0)或消极(-1)。我使用了一个朴素的贝叶斯分类器,效果非常好

  • 对来自用户的现有推文进行分类。这会产生一系列类似这样的数字:[0,1,-1,-1,0,1,1,…]还有关于发布时间的信息

  • 是否有可能预测下一条推特的情绪(1、0或-1)

    我可以使用什么算法来处理这个问题


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

    此站点有一些java库:

    隐马尔可夫模型也应该起作用。HMM是条件随机场的一种特殊情况,它允许您查看其他因素,例如天气或新闻事件


    我想知道一个人的下一条推文是否也会受到a)everyone b)当前推文或他们关注的推文的影响,我认为一种很有吸引力的方式来考虑这一点,即先发和情绪的可能性。NaiveBayes是一个可能性模型(假设这条推文是正面的,我看到这条推文的可能性有多大?)。考虑到目前为止你已经观察到了一系列的情绪,你问的是下一条推特被肯定的可能性。有几种方法可以做到这一点:

    • 最简单的方法是用户发出的积极推文的分数,即下一条推文可能是积极的
    • 然而,这忽略了最近性。你可以提出一个基于转换的模型:从每个可能的前一个状态来看,下一条推特可能是正面的、负面的或中性的。因此,你有一个3x3的转移矩阵,下一条tweet为正的条件概率是转移概率pos->pos。这可以通过计数来估计,这是一个马尔可夫过程(基本上,前一个状态才是最重要的)
    • 这些过渡模型会变得越来越复杂,例如,当前的“状态”可能是最后两条推文的情绪,或者实际上是最后n条推文的情绪,这意味着你会以模型中越来越多的参数为代价得到更具体的预测。您可以通过平滑方案、参数绑定等来克服这一问题

    最后一点,我认为@Anony Mousse关于先验是弱证据的观点将是正确的:真的,不管你的先验告诉你什么,我认为这将被似然函数所支配(所讨论的tweet中的实际内容)。如果你也看到了Twitter,那么考虑一个CRF作为@ Neil McGuigan建议。< /P>一个想法:简单地创建另一个分类器,它具有一个特性:<代码> K-1/代码>类标签(什么类是前一个推特),<代码> K-2/代码>类标签,<代码>…>代码>,看看这是否是足够的数据来产生一个有效的预测。(我个人的猜测是,这还不够,但除非你尝试,否则我们不知道。)基本上你正在做的是。你可以尝试这样做,但人类通常不那么容易预测。下一条推文的情绪可能不会很大程度上取决于之前的推文,而是更多地取决于你在推文中没有观察到的外部因素。在评估时,要小心不要让机器人出现在你的数据中。嗯,这是不合适的,因为“状态”(情绪)并没有隐藏,至少就问题大纲的状态而言是如此。实际上,我们可以观察情绪的顺序。类似地,CRF只有在我们看到有问题的推文时才真正有用,但我相信OP希望得到情绪的先验概率分布(而不是看到有问题的推文)。