Python人工智能应用----文本情感分析

1.问题引入

接着前两节课的内容,今天我们要构建一个人工智能系统。

它的目的是像人类一样,区分评价的情感是正面还是负面的。

接下来,我们要对提取的文本进行感情色彩的分析,这个就是文本情感分析,我们要使用机器学习里面的--------监督学习

2.监督学习

监督学习是机器学习的一种,是指通过让机器去学习我们“标记好”的数据集,训练出一个模型,然后根据该模型对“未标记”的数据进行分类或预测。

举一个通俗的例子:在学习中,父母帮忙指正“对”和“错”。根据父母的指导,我们有了自己的判断。在下次碰到的时候,我们也能分辨出“对”和“错”。这就是我们在父母的帮助下“监督”学习。

在监督学习中,用于训练模型的数据都既有特征(feature)又有对应标签(label)。

我们将这样的数据集称为训练集(train set)。

通常,特征需要使用代码提取,标签则是人工直接标注在数据集上的。

原始的数据集在提取完文本和标签以后,就要被随机划分为2个部分,训练集和测试集;

这个随机的比例不是固定的,我们在自己的代码里面可以进行对应的设置,一般是大部分的用来训练找到对应的算法,少部分测试集用来测试这个算法是否准确;

3.提取数据集中的文本特征和对应的标签

这个其实我们昨天已经实现了,我们昨天的就是提取词频数大于15的,但是我们想要用机器学习实现分类器模型的构造,我们就必须提取所有的评论,而不是评价的次数大于15的词语了,所以我们要把原来的max_features=15去掉:

为了训练分类器模型,我们需要将文本特征从稀疏矩阵转换为一个二维的NumPy数组。

这是因为每条评价都对应多个特征,通过二维数组的行和列,可以清晰定位出某一个词语在某条评价里出现的次数。同时,不论之后选择哪一种机器学习的算法,都可以直接传入NumPy数组进行训练,非常方便。

我们只需对X使用toarray()函数,就可以将其转换为二维数组了。

我们已经获得了数据集,接下来就要提取数据集的标签:

# 创建一个空列表y,用于存储标签
y = []
# TODO 使用for循环遍历data,将遍历的数据存储到allInfo变量中
for allInfo in data:

    # TODO 提取allInfo中的标签数据,并存储在变量label中
    label = allInfo[1]
    
    # TODO 使用append()函数,将标签逐一添加到列表y中
    y.append(label)
    
# 输出列表y进行查看
print(y)

4.将数据集划分为训练集和测试集

我们可以借助sklearn.model_selection这个模块,它包含了划分数据的相关功能。

该模块中有一个train_test_split类,其中的train_test_split()函数,可按照用户设定的比例,将数据集随机划分为训练集和测试集。

# TODO 从sklearn.model_selection中导入train_test_split
from sklearn.model_selection import train_test_split

# TODO 划分数据集,将数据分为训练集和测试集
result = train_test_split(X, y, train_size=0.8, random_state=1)

# 输出result进行查看
print(result)

X:将需要进行划分的数据集的文本特征(简单来说就是前面的评价部分);

y:简单来说就是后面的标签(好评还是差评);

train_size=0.8:我们从数据集里面选择80%的作为训练集(就是通过这个80%)的出一种算法,让剩下的20%测试这个算法;

random_state=1:随机种子,让每次的数据划分一致。

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

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

相关文章

RecyclerView 与 ListView(一):使用

RecyclerView 与 ListView 功能对比 对比项AbsListViewRecyclerView定向刷新不支持支持局部刷新不支持支持刷新动画不支持支持Item点击支持不支持分隔线样式单一自定义样式布局方式列表/网格自定义样式头尾添加支持不支持 Adapter Adapter:1.创建View 2.绑定数据…

理解Three.js的相机

大家都知道我们生活中的相机,可以留下美好瞬间。那Three.js的相机是什么呢?Three.js创建的场景是三维的,而我们使用的显示器显然是二维的,相机就是抽象的定义了三维空间到二维显示器的投影方式。Three.js常见的相机有两类&#xf…

(React组件基础)前端八股文修炼Day6

一 类组件与函数组件有什么异同 在React中,类组件和函数组件是创建组件的两种主要方式。随着React的发展,尤其是自Hooks在React 16.8中引入以来,函数组件的功能变得更加强大,使得它们能够更加方便地与类组件相竞争。下面是类组件…

Apache Paimon实时数据糊介绍

Apache Paimon 是一种湖格式,可以使用 Flink 和 Spark 构建实时 数据糊 架构,用于流式和批处理操作。Paimon 创新地将湖格式和 LSM(日志结构合并树)结构相结合,将实时流式更新引入湖架构中。 Paimon 提供以下核心功能: 实时更新: 主键表支持大规模更新的写入,具有非常…

helm安装chart报unclosed action

我在尝试使用helm安装mysql主从集群,使用bitnami/mysql的官方chart,但是执行helm install mysql-cluster mysql -n mysql-cluster报如下错误: Error: parse error at (mysql/charts/common/templates/_labels.tpl:14): unclosed action 百度…

C++ 类(初篇)

类的引入 C语言中,结构体中只能定义变量,在C中,结构体内不仅可以定义变量,也可以定义函数。 而为了区分C和C我们将结构体重新命名成class去定义 类的定义 标准格式: class className {// 类体:由成员函…

css酷炫边框

边框一 .leftClass {background: #000;/* -webkit-animation: twinkling 1s infinite ease-in-out; 1秒钟的开始结束都慢的无限次动画 */ } .leftClass::before {content: "";width: 104%;height: 102%;border-radius: 8px;background-image: linear-gradient(var(…

“双碳”目标下资源环境中的可计算一般均衡(CGE)模型应用

我国政府承诺在2030年实现“碳达峰”,2060年实现“碳中和”,这就是“双碳”目标。为了实现这一目标就必须应用各种二氧化碳排放量很高技术的替代技术,不仅需要考虑技术上的可靠性,也需要考虑经济上的可行性。可计算一般均衡模型&a…

【C++初阶】第九站:vector的介绍及使用

前言: 🎯个人博客:Dream_Chaser 🎈博客专栏:C 📚本篇内容:vector的介绍及使用 ​ 目录 一、vector的介绍 二、vector的使用 1.vector的定义 2.vector iterator(迭代器)的使用 begin和end(…

第十届蓝桥杯大赛个人赛省赛(软件类) CC++ 研究生组2.0

A立方和 #include<iostream> #include<cmath> using namespace std; int main(){int n, t, flag, x;long long ans 0;for(int i 1; i < 2019; i){t i;flag 0;while(t && !flag){x t % 10;if(x 2 || x 0 || x 1 || x 9) flag 1;t / 10;}if(fl…

基于圆柱体镜子和光线跟踪实现镜反射观测全景观图的matlab模拟仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 光线与圆柱镜面的交点计算&#xff1a; 反射光线计算&#xff1a; 全景图坐标转换&#xff1a; 5.完整程序 1.程序功能描述 基于圆柱体镜子和光线跟踪实现镜反射观测全景观图.模拟的场景…

ISTQB选择国内版,还是国际版呢

1, ISTQB简介 ISTQB&#xff08;International Software Testing Qualifications Board&#xff09;是一个国际软件测试资格认证机构&#xff0c;旨在提供一个统一的软件测试认证标准。ISTQB成立于2002年&#xff0c;是非盈利性的组织&#xff0c;由世界各地的国家或地区软件测…

case语句

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 CASE 语句的执行方式与 IF...THEN...ELSIF 语句的执行方式类似&#xff0c;但是它是通过一个表达式的值来决定执行哪个分支 CASE 选择器表达式 WHEN 条件 1 THEN 语句序列 …

从多模态生物图数据中学习Gene的编码-MuSeGNN

由于数据的异质性&#xff0c;在不同的生物医学背景下发现具有相似功能的基因对基因表示学习提出了重大挑战。在本研究中&#xff0c;作者通过引入一种称为多模态相似性学习图神经网络的新模型来解决这个问题&#xff0c;该模型结合了多模态机器学习和深度图神经网络&#xff0…

Linux gcc day3

find命令&#xff08;importance&#xff09;&#xff1a; 语法&#xff1a;find pathname -options find /root -name test.c which命令&#xff1a; which [指令] 只搜索指令&#xff0c;在什么位置下 为什么文件夹带有颜色呢&#xff1f; 科普补充alias命令&#xff1a; ali…

redis的简单操作

redis中string的操作 安装 下载可视化软件&#xff1a;https://gitee.com/qishibo/AnotherRedisDesktopManager/releases。 Mac安装redis&#xff1a; brew install redisWindows安装redis: 安装包下载地址&#xff1a;https://github.com/tporadowski/redis/releases 1.…

C语言进阶课程学习记录-第20课 - 链接过程简介

C语言进阶课程学习记录-第20课 - 链接过程简介 链接器静态链接实验-静态链接源代码生成目标文件打包生成静态库文件直接编译使用静态库编译 动态链接实验-动态链接源代码生成动态链接库文件直接编译使用动态链接库编译运行test.out删除dlib.so运行test.out 小结 本文学习自狄泰…

[LeetCode][LCR133]位 1 的个数——快速从右边消去1

题目 LCR 133. 位 1 的个数 编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中数字位数为 ‘1’ 的个数&#xff08;也被称为 汉明重量).&#xff09;。 提示&#xff1a; 请注意&#xff0c;在某些语言…

静态路由协议实验1

要求&#xff1a; 使用静态路由协议使得全网可达。 第一步、规划IP地址。并配置IP。 第二步、写静态路由 [r1]ip route-static 192.168.3.0 24 192.168.2.2 [r1]ip route-static 192.168.4.0 24 192.168.2.2 [r1]ip route-static 192.168.5.0 24 192.168.2.2[r2]ip route-st…

计算机中丢失steam_api64.dll怎么办?七个方法教你轻松解决

在计算机使用过程中&#xff0c;我们经常会接触到各种各样的动态链接库&#xff08;DLL&#xff09;文件。其中&#xff0c;steamapi64.dll是Steam游戏平台中的一个关键组件&#xff0c;它为Windows操作系统带来了许多好处。本文将详细介绍steamapi64.dll对Windows的好处以及其…