首页 > 解决方案 > 如何对推文进行分类(支持与不支持)以预测选举结果

问题描述

这个想法

我正在收集有关 11 月美国总统的三位主要候选人的推文。在收集了来自不同州的推文后,我会对这些推文进行评分,然后从各个方面分析每个候选人的关注者/支持者。

问题

我确定应该使用什么方法对推文进行分类以产生合理的结果。更准确地说,我不知道如何判断一条推文是支持还是反对特定候选人。

我试过的

我尝试使用一个名为textblob的库。给定一条推文,它返回一个 Sentiment(polarity,subjectivity) 形式的元组。Polarity 是一个浮点数,位于 [-1,1] 范围内,其中 1 表示肯定陈述,-1 表示否定陈述。此方法在应用时根本不会返回合理的结果。例如,给定一条类似“唐纳德特朗普太可怕了!我仍然支持他”的推文。,它返回-1.0 (负)的极性,这根本没有任何意义。

进一步的研究

我查找了更多示例并找到了这个。在该示例中,作者使用了一个情绪词汇(来自互联网),然后为每条推文分配了一种情绪。我打算仔细看看那篇文章并应用那里使用的方法。

我的问题

标签: pythontwitternlppredictionsentiment-analysis

解决方案


情感分析是 NLP(自然语言处理)的一个主题。您想知道的是 NLP,它是机器学习的许多有趣分支之一。

您权衡推文极性的方法是正确的。因为你有 3 个不同的候选人。标签,这是一个更有趣的问题。

我会为每条推文存储一个长度为 3 的情感数组,以便计算每个候选人的权重。例如; 类似“A 很糟糕。B 会做得更好!但 C 也可能?”这样的推文 可能会产生 [-1, 0.8, 0.4]。

为此,您需要一个语料库。语料库(即您的数据集)应该包含每条推文的推文和标签,以便您的机器学习模型可以从推文中学习。

有很多方法可以构建机器学习模型并使用您的数据集对其进行训练。那是数据科学的主题。数据科学家试图改进一些性能指标以改进他们的模型。

最简单的方法是,从推文中解析出所有单词,在带有标签的哈希映射中增加它们的值并进行规范化。现在您有了一个包含每个单词的情绪值的哈希图。

但实际上,这不会很好,因为异常值和缺乏数据集会影响您的结果。因此,您需要查看您的数据、问题并选择正确的机器学习模型。查看本文以了解有关构建情感分类器的更多信息。


推荐阅读