使用 VADER 进行 NLTK 情绪分析的优缺点

本文是使用 Python 和开源自然语言工具包的情感分析系列的第四篇。在这篇文章和其他文章中,我们将尝试改进我们分析社区情绪的方法。

我们将回顾一下如何使用 NLTK 和 Python 使用 VADER 快速从 Reddit 获取帖子的情绪分析,以及这种方法的权衡。

本系列情感分析的目标是使用 Python 和开源自然语言工具包 (NLTK) 构建一个库,用于扫描对 Reddit 帖子的回复并检测发帖者是否使用负面、敌对或其他不友好的语

听取反馈对于项目、产品和社区的成功至关重要。但是,随着受众规模的增加,理解用户在说什么变得越来越困难。为此,情绪分析可以提供帮助。

在使用预训练的 VADER 模型进行 NLTK 情绪分析中,我们检查了情绪分析在识别其他人可能对您的品牌或活动产生的积极和消极感受方面所起的作用。分析非结构化文本是自然语言处理 (NLP) 中一项足够常见的活动,因此有主流工具可以使其更容易上手。

Python 的自然语言工具包 (NLTK) 就是这些工具之一的示例。在上一篇文章中,我们学习了如何从 Reddit 及其非常受欢迎的在线社区中检索数据。然后,我们使用 VADER 分析根据 Reddit 数据得出情绪评分。情绪分数有助于我们了解 Reddit 数据中的评论是代表正面意见还是负面意见。

在这篇文章和其他文章中,我们将尝试改进我们分析社区情绪的方法。我们将首先回顾我们迄今为止使用的 VADER 模型的优缺点。

情绪分析的词汇方法

VADER Sentiment Analyzer 使用词汇方法。这意味着它使用已经分配了预定分数的单词或词汇表作为正面或负面的。分数基于由人工审阅者标记的预训练模型。

例如,这里有一条来自 Reddit 数据的评论:Python复制代码

import praw

# Connect to reddit to query a specific posting
reddit = praw.Reddit(client_id=’your-id’,    
         client_secret=’your-secret’, 
         user_agent=’your-agent’)
post = "https://www.reddit.com/r/learnpython/comments/fwhcas/whats_the_difference_between_and_is_not"
submission = reddit.submission(url=post)

# Get the comments from the post replacing ‘more’ expansion
submission.comments.replace_more(limit=None)
comments = submission.comments.list()
print(comments[116].body)

输出是:复制代码

'This is cool!'

“This”、“is”和“cool”这三个词的情绪强度都在 -4 到 +4 之间。这是标记“cool”的词典条目:Python复制代码

cool    1.3 0.64031 [1, 1, 2, 1, 1, 1, 2, 2, 2, 0]

其他规则涵盖了标点符号等语法元素。例如,感叹号用于修饰短语或句子的整体强度。其他术语,例如“但是”或“不是”,将在相反方向修改强度。

这种方法有一些明显的优势:

  • 对于许多应用程序,例如评估舆论、执行竞争分析或增强客户体验,这种方法很容易理解。
  • 词法方法可以快速实现,只需要现成的库和几行代码。
  • 捕获数据集进行分析很容易。
  • 它在分析大型数据集时非常有效。

这种方法也有一些缺点:

  • 拼写错误和语法错误可能会导致分析忽略重要的单词或用法。
  • 讽刺和讽刺可能会被误解。
  • 分析是特定于语言的。
  • 可能无法识别有区别的行话、命名法、模因或词组转换。

对于某些寻求更高准确性的用例,可能值得评估替代方案。

更重要的是,某些特定领域的上下文可能需要不同的方法。例如,包含专业术语、语言或知识的目标语料库(如编程社区)与最初使用预训练 VADER 模型的社交媒体帖子有很大不同。例如,源代码除了偶尔具有攻击性的变量名称外,在情绪分析中可能会被误解。

有一些机器学习分类方法可能对此有所帮助。

下一步

在本文中,我们快速了解了使用文本方法进行 NLP 的一些优缺点。

下一步,用于情感分析的 NLTK 和机器学习将涵盖为 NLTK 朴素贝叶斯分类器创建训练、测试和评估数据集。

如果您需要赶上 VADER 分析的前面步骤,请参阅使用预训练的 VADER 模型进行 NLTK 情绪分析。

发表评论

邮箱地址不会被公开。 必填项已用*标注