使用 NLTK 进行情感分析2025年3月17日 | 阅读 7 分钟 如今,互联网和其他数字服务领域产生的数据量以惊人的速度和巨大的体积。研究人员、工程师和数据分析师经常处理表格或统计数据。这些表格数据列中可能包含分类数据或数值数据。生成的数据包括文本、图片、视频和音频等各种数据格式。在线行为(如出版物、网络内容、博客文章和社交媒体平台)产生非结构化数据的分析。为了有效地发展业务,公司和企业必须检查文本数据,以了解消费者行为、观点和评论。为了处理海量文本信息,文本分析正在以更快的速度发展。 情感分析:它是什么?确定一段内容的好坏、负面或中性的程度的方法称为情感分析。情感分析只是提取揭示品牌社会态度的上下文词语,并帮助企业确定他们正在生产的产品是否能找到市场。情感分析的目标是以支持企业增长的方式来检查公众情绪。 情感分析的过程是什么?第一种方法是自动方法。这种策略利用了机器学习方法。在数据集处理完成后,首先进行预测性分析。从文本中提取单词是后续过程。诸如朴素贝叶斯分类器、回归分析、支持向量机和机器学习算法等不同方法都可以用于分析文本,就像这些机器学习方法一样。 第二种方法是基于规则的策略。在这里,使用了基于规则的分词、解析和词典技术。该策略计算样本中正面和负面词语的数量。如果正面信息多于负面信息,则情绪为正面;否则,则相反。 情感分析最准确的方法是混合方法。该方法结合了上述基于规则和自动化过程。其优点是,与其他主要过程相比,准确性会很高。 情感分析:为什么要进行?据报告,全球大量数据是非结构化的。无论数据是以电子邮件、文件、网站还是其他任何形式存在,都必须进行检查和组织。例如,如果我们想确定产品在满足客户需求方面表现如何,或者是否有市场需求?我们可以通过情感分析来跟踪该产品的评论。当我们拥有大量非结构化数据并希望通过手动标记来对其进行分类时,情感分析非常有效。 ![]() 埃隆·马斯克于2022年11月在推特上分享的关于仇恨言论分析的帖子 NLTK库NLTK库提供了许多工具,您可以使用这些工具有效地处理和分析语言数据。文本分类,可用于各种分类,尤其是情感分析,是其一些高级功能。 情感分析技术包括使用算法将测试文本分类为广泛的正面和负面类别。为了从语言数据中获取想法,您可以使用 NLTK 和这些方法,并借助强大的内置机器学习程序。 基本流程
使用 NLTK 情感分析指南情感分析是一种数据分析,它使用 NLP、计算语言学和文本分类从互联网(特别是社交网络和其他相关来源)中提取和解释主观数据,以调查大多数人对特定主题、人物或想法的态度或情感,并识别证据的情境极性。 我们将使用 Python 中流行的 NLP 工具 NLTK 来检查文本数据。情感分析主要有两种方法。基于词典:它计算特定文本中包含的正面和负面词语的数量;分数越高,文本越积极。文本分类是文本挖掘中最关键的任务之一。这是一种经过广泛观察的技术。 确定作品的体裁或类型,包括网络日志、杂志、网站、新闻文章或推文。它在当今计算机世界的应用包括垃圾邮件识别、CRM 系统中的任务分类、搜索引擎的网站内容分类、美国客户满意度分析等。 在应用 NLTK 情感分析之前,我们需要将 NumPy、pandas、matplotlib 和 seaborn 模块导入我们的代码。下面的演示很好地展示了如何在我们的程序中集成以下模块。 代码 NLTK 中的情感分析分类器情绪分析是找出作者对他们正在写作的主题的感受的技术。要训练模型,我们必须创建一个训练数据集。这是一个有监督的机器学习过程,要求我们为每个训练数据集分配一个“情感”。在本讲座中,我们的模型同时使用了“正面”和“负面”情绪。情感分析可用于将文本分类为多种情绪。 一个系统,它将由一组规则和方程定义,称为模型。它可以是计算体重根据身高的公式,简单得很。将推文与正面或负面情绪相关联的情感分析方法将被开发出来。我们的内容将被分成两部分。 第一部分的目标是创建模型,第二部分的目标是评估模型的性能。NLTK 的朴素贝叶斯分类器将用于完成建模实验。对于模型,需要一个包含单词作为键和值的 Python 字典。 使用 NLTK 的情感分析概念方法以下阶段演示了 NLTK 情感概念分析技术。 首先导入模块通过使用 import 关键字,我们在本阶段加载 pandas、NumPy、matplotlib 和 seaborn 的模块。NumPy 模块处理涉及线性代数的方程。使用 Panda 模块进行文档分析。为了获得更好的可视化效果,使用了 Matplotlib 包。为了获得更好的可见性,也使用了 Seaborn 模块。模块的导入在下面的示例中有所演示。 代码 数据集对于数据集,我们可以使用 flipkart review data 2022_02。数据存储在菜单选项文件中。数据集由我们已使用的多个列组成。 代码 输出 ![]() 使用 info 方法,我们检查 csv 文件的信息。我们正在使用 x 的对象和 info 方法。csv 文件的显示信息显示在下面的示例中。 代码 输出 < class ' pandas.core.frame.Data Frame' > Range Index : 25 entries, 0 to 24 Data columns ( total 12 columns ): # Column Non-Null Count Dtype --- -- -- -- -- --- ---- --- -- -- --- 0 Unnamed: 0 25 non-null int64 1 Product URL 25 non-null object 2 product Title 25 non-null object 3 product Price 25 non-null object 4 average Rating 25 non-null int64 5 review Description 25 non-null object 6 review Author 25 non-null object 7 review At 25 non-null object 8 review Likes 25 non-null int64 9 review Dislikes 25 non-null int64 10 certified Buyer 25 non-null bool 11 reviewer Location 25 non-null object Dtypes : bool(1), int64(4), object(7) memory usage : 2.3+ KB 分析最后一步是对 flipkart 评论进行情感分析,这些评论以评论和评分的形式显示。评分将暗示用户的平均感受。如果用户给予的评分非常低,那么很明显用户对公司的产品不满意。或者,如果用户给予的评分非常高,则意味着客户对产品感到非常兴奋。上述 flipkart 评论数据集的代码实现可以通过下面的条形图来显示。 代码 输出 ![]() 结论情感分析是使用计算机将几个相关的文本示例分组到不同组中的技术。这些方法使用 NLTK 先进的内置机器学习算法来理解语言数据的动态。例如,NLTK 情感分类可以帮助我们确定对某个特定问题有积极和消极参与的程度。 |
Instagram 是当今最受欢迎的社交媒体平台,拥有数十亿用户。在当今时代,Instagram 不仅是人们可以与他人分享图片的地方,还可以利用这个平台来发挥自己的优势。一...
阅读 10 分钟
在下一个教程中,我们将通过 Python 中的 Semaphore 来理解多线程同步。让我们开始理解。理解 Semaphore Semaphore 是一种同步构造。Semaphore 为线程提供了对有限数量资源的同步访问。Semaphore 可以被视为一个...
阅读 4 分钟
这个基于项目的课程旨在教您如何使用 Python 和广受欢迎的框架 Django 从头开始创建一个内容聚合器。访问多个网站和来源来阅读您喜爱主题的信息可能会非常耗时,因为有...
阅读 22 分钟
? 先决条件:Python 中的跳转语句 - break、continue 语句 Pass 语句是 Python 中四种跳转语句之一。为了解释此语句的功能,想象一下这样一个场景:你时间有限,正在尝试理解和分析如何编写一个庞大的……
5 分钟阅读
本教程的问题陈述是,对于给定的二维矩阵,我们必须设计一个算法以螺旋形式将其打印到一维数组中。我们将在 Python 中实现该算法。理解问题的示例输入和输出:输入:{{1, 2, 3,...
阅读 16 分钟
树莓派是一款低成本、信用卡大小的计算机,由英国树莓派基金会开发,用于支持教育机构的基础计算机科学教学。此后,它因各种项目而在创客、爱好者和专家中广受欢迎。Python 是一种流行的、高级的...
阅读25分钟
二叉搜索树是更通用的二叉树的后代,带有一些约束。在二叉搜索树中,节点的排列应遵循某些属性。这些属性是:树的所有父节点的值应大于子节点...
阅读 13 分钟
Bokeh 是 Python 的一个库,用于通过绘制图形和图表进行数据可视化。输出可以在不同平台上获得,例如 Notebook、HTML、JavaScript 和浏览器。Figure 类用于在图表上创建新图形,并且...
阅读 3 分钟
洗牌指的是以随机顺序重新排列元素,这意味着在排列元素时不考虑任何特定顺序。在本教程中,我们将学习如何使用 Python 对列表中的元素进行洗牌。我们将用于洗牌的不同方法...
阅读 3 分钟
在讨论 VIF 之前,有必要先了解线性回归中的多重共线性是什么?当两个独立变量具有强相关性时,就会出现多重共线性。无论我们进行探索性数据分析,目标都是获得影响我们目标的重要参数...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India