到 2021 年,企业将掌握消费者交互数据的获取。
另一方面,过度依赖这些数据点经常导致组织将客户输入视为一种统计数据——这是一种倾听客户声音的相当一维的方法。
客户的声音不能被标记或转换为数字。
它必须被阅读、浓缩,最重要的是,必须被理解。
事实是,公司必须积极倾听消费者在与他们互动的每个渠道上所说的话,无论是通过电话、电子邮件还是实时聊天。
每家公司都应优先监控和评估消费者反馈情绪,但传统上,公司一直在努力处理这些数据并将其转化为有意义的情报。
情绪分析不再是这种情况。
在本教程中,我们将仔细研究情绪分析、它的优势以及如何使用 NLTK 库对数据进行情感分析。
什么是情绪分析?
情感分析,通常称为对话挖掘,是一种分析人们的感受、想法和观点的方法。
情绪分析使企业能够更好地了解他们的消费者,增加收入,并根据客户的意见增强他们的产品和服务。
能够分析客户情绪的软件系统与试图推断它的销售人员/客户服务代表之间的区别在于前者能够从原始文本中得出客观结果——这主要是通过自然语言处理 (NLP) 和 机器学习 技术。
从情感识别到文本分类,情感分析有着广泛的应用。 我们对文本数据进行情绪分析,以帮助公司监控产品评估或消费者反馈的情绪。
不同的社交媒体网站使用它来评估帖子的情绪,如果情绪太强烈或暴力,或者低于他们的阈值,帖子要么被删除,要么被隐藏。
情感分析可用于从情感识别到文本分类的所有领域。
情绪分析最流行的用途是文本数据,用于帮助公司跟踪产品评估或消费者评论的情绪。
不同的社交媒体网站也使用它来评估帖子的情绪,如果情绪太强烈或暴力,或者低于他们的阈值,他们会删除或隐藏帖子。
情绪分析的好处
以下是不应忽视的情绪分析的一些最重要的好处。
- 帮助评估您的品牌在目标人群中的认知度。
- 提供直接的客户反馈以帮助您开发产品。
- 增加销售收入和潜在客户。
- 您的产品冠军的追加销售机会增加了。
- 积极的客户服务是一种实用的选择。
数字可以为您提供营销活动的原始表现、潜在客户电话的参与量以及客户支持中待处理的工单数量等信息。
但是,它不会告诉您发生特定事件的原因或原因。 例如,谷歌和 Facebook 等分析工具可以帮助您评估营销工作的绩效。
但它们并没有让您深入了解该特定活动为何成功。
在这方面,情绪分析有可能改变游戏规则。
情绪分析——问题陈述
目的是根据推文确定一条推文是否对六家美国航空公司有正面、负面或中性的情绪。
这是一个标准的监督学习工作,我们必须在给定文本字符串的情况下将文本字符串分类为预定的类别。
解决方案
我们将使用标准的机器学习过程来解决这个问题。 我们将从导入必要的库和数据集开始。
然后我们将执行一些探索性数据分析,以确定数据中是否存在任何模式。 之后,我们将进行文本预处理,以将文本输入的数字数据转换为 机器学习 系统可以使用。
最后,我们将使用机器学习方法训练和评估我们的情感分析模型。
1. 导入库
加载必要的库。
2. 导入数据集
本文将基于一个数据集,该数据集可在 Github上. 数据集将使用 Pandas 的读取 CSV 函数导入,如下所示:
使用 head() 函数,检查数据集的前五行:
输出:
3. 数据分析
让我们检查数据以确定是否有任何趋势。 但首先,我们将更改默认绘图大小以使图表更加可见。
让我们从每家航空公司收到的推文数量开始。 我们将为此使用饼图:
每个航空公司的公共推文的百分比显示在输出中。
让我们看看这些感受是如何分布在所有推文中的。
输出:
现在让我们检查每个特定航空公司的情绪分布。
根据结果,几乎所有航空公司的大部分推文都是不利的,中立和良好的推文紧随其后。 维珍美国也许是唯一一家三者的感觉比例相当的航空公司。
输出:
最后,我们将使用 Seaborn 库从三个情绪类别中获取推文的平均置信度。
输出:
结果表明,负面推文的置信度高于正面或中性推文。
4. 清理数据
在推文中可以找到许多俚语和标点符号。 在我们训练机器学习模型之前,我们需要清理我们的推文。
但是,在开始清理推文之前,我们应该将数据集分为特征集和标签集。
一旦我们将数据分成特征和训练集,我们就可以清理数据。 正则表达式将用于执行此操作。
5.文本的数字表示
为了训练机器学习模型,统计算法使用数学。 另一方面,数学只适用于数字。
我们必须首先将文本转换为数字,以便统计算法进行处理。 这样做有三种基本方法:词袋、TF-IDF 和 Word2Vec。
幸运的是,Python 的 Scikit-Learn 模块中的 TfidfVectorizer 类可用于将文本特征转换为 TF-IDF 特征向量。
6. 创建数据驱动的训练和测试集
最后,在训练我们的算法之前,我们必须将我们的数据划分为训练集和测试集。
训练集将用于训练算法,测试集将用于评估机器学习模型的性能。
7.模型开发
将数据分成训练集和测试集后,使用机器学习技术从训练数据中学习。
您可以使用任何机器学习算法。 然而,将使用随机森林方法,因为它能够处理非标准化数据。
8. 预测和模型评估
模型训练完成后,最后阶段是进行预测。 为此,我们必须将 predict 方法应用于我们训练的 RandomForestClassifier 类对象。
最后,可以使用混淆度量、F1 度量、准确性等分类度量来评估机器学习模型的性能。
输出:
如结果所示,我们的算法达到了 75.30 的准确度。
结论
情绪分析是最常见的 NLP 工作之一,因为它有助于确定对特定问题的总体舆论。
我们看到了几个 Python 库如何帮助进行情绪分析。
我们对六家美国航空公司的公开推文进行了研究,准确率约为 75%。
我建议您尝试另一种机器学习算法,例如逻辑回归、SVM 或 KNN,看看是否可以取得更好的结果。
发表评论