使用机器学习,通过文本分析,轻松实现原本复杂的情感分析

01、案例说明

本期分享案例是:文字分析-情感分析,内容是关于某部电影评论好坏的分析,使用大量的已知数据,通过监督学习的方法,可以对于未知的评论进行判断其为正面还是负面的评价。

对于数据分析,原来都是处理数值型的问题。直到最近才将数据分析的能力延伸到文本分析的领域之内。通过这个案例我们可以了解对于文字,也同样的可以利用一些聪明的方式,做成数值方式的表现而进行文字分析,如下图所示:

图片

02、数据资料

首先我们看到导入的数据,与之前所经历的数值数据是非常不同,基本在Text的属性里面,是非结构性的文字,其内容与长度都有所不同。这个部分RM是作为文本的方式来处理,也请特别注意,如果是使用EXCEL 等其他外部的数据导入,最好还是使用 Import Guru的功能,避免其辨识为其他种类的属性。

03、操作流程

Step1读入数据

导入数据之后,将目标值设定为情绪反应(Set Role),以及第三个算子(NominalToText)再一次确保其数据是文本而不是多项式的种类。

最主要的核心在第四个操作(Process Document)元之内,这是RM一个特殊的算子,其参数包括设定如何将令牌(Token)输出成为文字向量(Vector),打开其中我们可以看到有几个标准的操作。如下图所示:

图片

第一个算子(Tokenize)将文字首先转换为令牌,使用的方式是只要不是文字,就作为一个令牌,所以所有的空白/标点/特殊符号都会去除掉。

第二个算子(Transform Cases)将所有的英文字转为小写的字体,避免因为大小写而变成不同的令牌。

第三个算子(Filter Stopwords)是使用一个在RM中预先建立的字典,将所有没有意义的字词去除掉。

做完这些之后,其输出的形态变成一个超大的矩阵,如下图所示:

图片

其中一共有200个数据,但是属性却达到13418个属性。而其中的数值(小于1的数值)是其对应令牌在这个数据中的TF-IDF 的数值。

在这里我们就完成了最关键的步骤,也就是将文本的资料转换为实数的数值。通过这个方法,我们之前所学习的所有机器学习模型,都可以应用在这个巨大的矩阵之上。 

Step2 模型建立

有了这个了解,我们就可以用之前我们熟悉的交叉检验的算子对这个数据进行模型的建立。因为属性的庞大,通常我们会使用的是支持向量机(SVM),但是其原理和之前是完全相同的,包括对于精准度的验证,可以直接打开这个(Cross Validation)算子进行观察。

Step3: 测试数据

这个步骤(Create Document),我们自行在系统之内创建了一个测试的数据,然后通过使用这个模型来判断这个数据它的情绪反应为何种。但是请注意,这个所创建的测试数据它们的种类是文本而不是其他的任何一种数据。

第2个步骤是使用之前相同的文本处理的算子,对数据进行令牌建立和向量输出。但是特别注意,因为这个算子它并不能自行创建令牌,必须使用原来模型所使用的令牌,所以需要将在第一个步骤所产生的文本处理的算子,其wor端口必须直接相连,才能够确保这两个算子所使用的令牌是一致的,如下图所示:

图片

Step4: 模型使用

这个步骤就如我们之前所了解的一样,使用已经建立好的模型,对于未知的数据进行判断,并且将其结果输出。

04、结果说明

对于我们所建立的测试数据,系统的判断如下,对于结果其信心度有0.587。但是考量模型本身的精确度仅有63.5%+/-6.26%,再配合我们的信心程度很难确定的说这个判断是否准确,仅能作为参考。而如果细读文字的本身,事实上对于人脑也是一个较为难以立判好坏的数据,所以无法因此证明系统的无效性,如下图所示:

图片

对于电脑要发展到与人脑有类似的功能,仅仅使用这种简单的文档分析的方式,远远不能达到可接受的程度。事实上,这个已经是需要进入神经网络和自然语言处理的全新领域。但是简单的使用这种操作,仍然可以产生出很有趣的结果。

当然另外一个问题,就是对于中文的处理。这个案例里面使用的全部都是英文,其中的文档处理的(Process Document)算子,必须要重新调整使用我们在之前所提到的Jieba的Python程序码才有办法处理中文。相关的案例,如果有兴趣的话可以与我们联络,可以共同讨论。


关于 Altair RapidMiner

Altair RapidMiner 数据分析与人工智能平台,是数据分析领域中最早实现将自动化数据科学、文本分析、自动特征工程和深度学习等多种功能同时集成的企业级一站式数据科学平台,帮助用户解决从数据清洗、准备、数据科学建模到模型管理和部署的全流程需求,同时支持数据和流数据的实时分析可视化,适用于从学术研究到企业级应用的广泛场景。

欲了解更多信息,欢迎关注公众号:Altair 澳汰尔

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/767716.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小阿轩yx-LVS负载均衡群集

小阿轩yx-LVS负载均衡群集 构建群集服务器—通过整合多台服务器使用 LVS 达到服务器的高可用和负载均衡并以同一个 IP 地址对外提供相同的服务 LVS 群集应用基础 群集称呼来自英文单词“Cluster”在服务器领域则表示大量服务器的集合体,区分单个服务器 Cluster …

PLC边缘网关在实际应用中的作用-天拓四方

随着工业自动化的快速发展,PLC已成为工业自动化领域中不可或缺的核心设备。然而,随着工业物联网的兴起,PLC设备面临着数据集成、远程监控以及安全性等方面的挑战。为了解决这些问题,PLC边缘网关应运而生,它作为连接PLC…

[go-zero] goctl 生成api和rpc

文章目录 1.goctl 概述2.go-zero 需要安装的组件3.生成 api4.生成 rpc 1.goctl 概述 goctl支持多种rpc,较为流行的是google开源的grpc,这里主要介绍goctl rpc protoc的代码生成与使用。protoc是grpc的命令,作用是将proto buffer文件转化为相…

《梦醒蝶飞:释放Excel函数与公式的力量》8.3 COUNTBLANK函数

8.3 COUNTBLANK函数 在数据处理和分析中,我们经常需要识别和统计数据集中的空白单元格。COUNTBLANK函数是Excel中用于统计某个范围内空白单元格数量的强大工具。 8.3.1 函数简介 COUNTBLANK函数用于统计指定范围内的空白单元格数量。这在数据清洗、数据完整性检查…

头条系统-05-延迟队列精准发布文章-概述添加任务(db和redis实现延迟任务)、取消拉取任务定时刷新(redis管道、分布式锁setNx)...

文章目录 延迟任务精准发布文章 1)文章定时发布2)延迟任务概述 2.1)什么是延迟任务2.2)技术对比 2.2.1)DelayQueue2.2.2)RabbitMQ实现延迟任务2.2.3)redis实现 3)redis实现延迟任务4)延迟任务服务实现 4.1)搭建heima-leadnews-schedule模块4.2)数据库准备4.3)安装redis4.4)项目…

【OpenSSH】立即检测 OpenSSH 的 regreSSHion 漏洞

OpenSSH regreSSHion 漏洞简介 OpenSSH 是一种广泛使用的网络协议,提供加密的数据通信和远程登录功能。然而,最近发现的一个漏洞(CVE-2024-6387),被称为 regreSSHion,使得未经身份验证的攻击者能够在 Linu…

Android触摸事件分发关键点【笔记摘要】

触摸事件分发:就是一个为了解决触摸事件冲突而设置的机制 1.事件类型 ACTION_DOWN -> ACTION_UP / ACTION_CANCEL ACTION_DOWN -> ACTION_MOVE -> ACTION_MOVE -> ACTION_MOVE -> ACTION_UP / ACTION_CANCEL 这个取消事件ACTION_CANCEL它是一种特殊…

基于物品的协同过滤算法

预估用过户对候选物品的兴趣 计算物品相似度 召回通道 快速做召回条件

iPhone苹果手机怎么取消腾讯视频VIP会员自动续费?

腾讯视频会员分为VIP(同时在线设备5台、同时播放设备2台;)和SVIP(同时在线设备8台、同时播放设备3台;),在iPhone苹果手机上开通腾讯视频连续包月、包季、包年后,需要手动取消才能关闭…

UE4_材质_材质节点_DepthFade

一、DepthFade参数 DepthFade(深度消退)表达式用来隐藏半透明对象与不透明对象相交时出现的不美观接缝。 项目说明属性消退距离(Fade Distance)这是应该发生消退的全局空间距离。未连接 FadeDistance(FadeDistance&a…

被⽹络罪犯利⽤的5⼤ChatGPT越狱提⽰

⾃ChatGPT发布的近18个月以来,⽹络罪犯们已经能够利⽤⽣成式AI进⾏攻击。OpenAI在其内容政策中制定了限制措施,以阻⽌⽣成恶意内容。作为回应,攻击者们创建了⾃⼰的⽣成式AI平台,如 WormGPT和FraudGPT,并且他们还分享了…

Ubuntu22.04上Docker的安装

1. 使用APT安装 首先安装HTTPS传输的软件包和CA证书,确保软件下载过程中不被篡改。 sudo apt-get updatesudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y然后,使用国内源,并添加软件源的 GPG 密钥以防…

删除keil!VSvode+eide+jlink(stlink)配置keil工程,调试使用cortex-debug+openocd

文章目录 目的前期准备1.软件安装2.VScode安装3.VScode插件安装4.安装ARM-GCC交叉编译器 工程导入程序编译jlink在线调试部分常见问题更改为GCC 编译器更改为stlinkopencd一些tips调试变量查看构建器选项配置 目的 提示:这里可以添加技术概要 vscode代替keil进行程…

Ozon、美客多补单测评黑科技:打造无懈可击的自养号补单环境

不管哪个跨境平台的风控都会做升级,相对的补单技术也需要进行相应的做升级,风控升级后,自己养号补单需要注意以下技术问题,以确保补单的稳定性和安全性: 一、物理环境 1. 硬件参数伪装:平台已经开始通过I…

择校秘籍:如何找到口碑爆棚的学校?以星贝育园为例

在为孩子选择学校时,家长们总是慎之又慎,希望能找到一所口碑好、教育质量高的学校,为孩子的未来奠定坚实的基础。今天,我们就以星贝育园为例,来探讨一下如何选择口碑好的学校。 一、考察师资力量 优秀的教师团队是一所…

什么是定时器?

前言👀~ 上一章我们介绍了阻塞队列以及生产者消息模式,今天我们来讲讲定时器 定时器 标准库中的定时器 schedule()方法 扫描线程 手动实现定时器 任务类 存储任务的数据结构 定时器类 如果各位对文章的内容感兴趣的话,请点点小赞&am…

帮找Java Bug,面试,项目,解决Java问题

本人是个Java老程序员,如果你有解决不了的问题,或者面试的时候需要人帮助,或者求职就业上任何问题都可以联系我,下面是我微信,欢迎联系我!

【JUC】可重入锁理解

可重入锁(Reentrant Lock),也称作递归锁,是一种特殊的锁机制,它允许同一个线程多次获取同一个锁。 优点是可以避免死锁。 public class WhatReentrant {public static void main(String[] args) {new Thread(new Runn…

Qt——升级系列(Level Eight):界面优化

目录 QSS 背景介绍 基本语法 QSS设置方式 指定控件样式设置 全局样式设置 从文件加载样式表 使用Qt Designer 编辑样式 选择器 选择器概况 子控件选择器 伪类选择器 样式属性 盒模型 控件样式示例 按钮 复选框、单选框 输入框 列表 菜单栏 登录界面 绘图 基本概念 绘制各种形…

【Kali-linux for WSL】图形化界面安装

文章目录 前言图形化界面安装 前言 之前在WSL中安装了Kali 启动之后发现什么都没有!!! 那我还怎么学习渗透技术??? 看来,得改进下我的kali-linux for wsl,安装个图形化界面 图形化…