Python能识别文字情绪?

一、前言

人工智能是Python语言的一大应用热门,而自然语言处理又是人工智能的一大方向。 自然语言处理( natural language processing )简称NLP,是研究人同计算机之间用自然语言通信的一种方法。我们都知道,计算机本质上只认识0和1,但是通过编程语言我们可以使用编程语言同计算机交流。这实际上就是程序员同计算机之间的通信,而我们日常生活中使用的是自然语言,是一种带有情感的语言。那么要怎么使计算机理解这种带有情感的语言呢?这就是自然语言处理研究的内容了。

语言的情绪识别是自然语言处理的一种操作,如果要我们从0开始实现情绪识别是比较繁琐的。首先我们需要准备好足够的数据,为了让计算机更好的理解,我们还需要对数据进行预处理,之后需要训练数据,有了训练数据我们才能开始情绪识别。识别的准确率在于数据的相关性和数据量,数据相关性越高,数据量越大,识别的准确率就越高。

然而,我们使用paddlehub可以很快的实现情绪识别,我们先看看如何安装。

二、安装paddlehub

paddlehub是百度飞桨PaddlePaddle中的一个模型库,使用paddlepaddle可以很快的实现多种多样的操作,其中就有我们今天要说到的文字情绪识别,而且代码非常简单。首先我们需要安装paddlepaddle,我们进入官网https://www.paddlepaddle.org.cn/install/quick,进入官网后可以看到如下界面:

我们可以根据自己Python版本,计算机系统等选择安装方式。关于paddlepaddle支持版本等信息可以在官网中查看,这里就不赘述了。我使用的是Python3.7,这里直接使用pip安装,我们在控制台执行下列语句

python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

然后在控制台查看是否安装成功。先输入Python,然后执行import paddle.fluid,再执行 paddle.fluid.install_check.run_check()如下:

C:\Users\zaxwz>python

Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import paddle.fluid

>>> paddle.fluid.install_check.run_check()

如果显示Your Paddle is installed successfully! Let's start deep Learning with Paddle now就表示安装成功了。另外我们还需要安装paddlehub,这里同样是使用pip安装,执行语句如下:

pip install -i https://mirror.baidu.com/pypi/simple paddlehub

把paddlepaddle和paddlehub安装成功后我们就可以开始写代码了。

三、情绪识别

(1)情绪识别

使用paddlehub完成情绪识别的步骤如下:

导入模块

加载模型

准备句子

识别情绪

而完成上面的步骤只需要四行代码,另外我们需要输出一下识别的结果,一共就是五行代码,下面让我们看看这五行神奇的代码:

# 导入模块

import paddlehub as hub

# 加载模型

senta = hub.Module(name='senta_lstm')

# 准备句子

sentence = ['你真美']

# 情绪识别

result = senta.sentiment_classify(data={"text":sentence})

# 输出识别结果

print(result)

识别结果如下:

[{'text': '你真美', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.9602, 'negative_probs': 0.0398}]

我们可以看到准备的句子是列表类型,识别的结果也是列表类型,结果中列表的元素是一个字典。在这个字典列表中,就包含了我们识别的结果。下面我们来分析一下这个字典。

(2)结果分析

结果字典中包含了4个字段,我们以表格的形式展示一下:

字段名称

字段含义

解释

text

识别的源文本

识别的源文本

sentiment_label

分类标签

1为积极,0为消极

sentiment_key

分类结果

positive为积极,negative为消极

positive_probs

积极率

情绪为积极的可能性

negative_probs

消极率

情绪为消极的可能性

上面的表格是本人编的,用词不当的地方多见谅。我们对照上述表可以分析一下我们上述程序的结果。其含义就是语句“你真美”中包含了积极的情绪。我们再多看几个例子:

import paddlehub as hub

senta = hub.Module(name='senta_lstm')

sentence = [

'你真美',

'你真丑',

'我好难过',

'我不开心',

'这个游戏好好玩',

'什么垃圾游戏',

]

results = senta.sentiment_classify(data={"text":sentence})

for result in results:

print(result)

识别结果如下:

{'text': '你真美', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.9602, 'negative_probs': 0.0398}

{'text': '你真丑', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.0033, 'negative_probs': 0.9967}

{'text': '我好难过', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.5324, 'negative_probs': 0.4676}

{'text': '我不开心', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.1936, 'negative_probs': 0.8064}

{'text': '这个游戏好好玩', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.9933, 'negative_probs': 0.0067}

{'text': '什么垃圾游戏', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.0108, 'negative_probs': 0.9892}

上面有6个句子,大多数都成功识别了情绪,但是我好难过识别的结果为积极,很明显是错误的。总体来说,对于简单语句的识别还是比较准的。另外,如果对识别的准确率不满的话,我们还可以训练自己的数据集,详细操作可以参考项目地址https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/sentiment_classification。

另外在这里顺便给大家免费发点福利:

哈哈,你没有听错苦逼的我也有助理了。

点赞

5

收藏

分享

文章举报

ZackSock

博客专家

发布了33 篇原创文章 · 获赞 4175 · 访问量 26万+

私信

关注

python英文情绪识别_Python能识别文字情绪?相关推荐

  1. python查找图片区域_python批量识别图片指定区域文字内容

    python批量识别图片指定区域文字内容,供大家参考,具体内容如下 简介 对于一张图片,需求识别指定区域的内容 1.截取原始图上的指定图片当做模板 2.根据模板相似度去再原始图片上识别准确坐标 3.根 ...

  2. python提取发票信息发票识别_python 发票识别

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本接口支持机动车销售统一发票和二手车销售统一发票的识别,包括发票号码.发票代码. ...

  3. python 百度ocr安装_Python利用百度文字识别(OCR)服务实现图片文字提取,准确率超高...

    最近和朋友聊天,聊到一个充满使命感但又略显心酸的话题--下班回家在网上给小朋友抄题...那么问题来了,除了大家所知的QQ文字识别功能之外,还有哪些方式可以做到文字识别呢. 作为一名热心的Python小 ...

  4. python智能识别_Python人工智能识别文字内容(OCR)

    环境准备 安装pytesseract和PIL安装这两个包可以借助pip命令行安装 pip install PIL pip install pytesseract 安装识别引擎tesseract-ocr ...

  5. python颜色的字母代码_python字母识别

    广告关闭 提供包括云服务器,云数据库在内的50+款云计算产品.打造一站式的云产品试用服务,助力开发者和企业零门槛上云. 最后识别每个字符. 图片的处理,我采用 python 标准图像处理库 pil. ...

  6. python图片内容长度识别_Python实现识别图片内容的方法分析

    本文实例讲述了Python实现识别图片内容的方法.分享给大家供大家参考,具体如下: python识别图片内容. 这里我的环境为windows64位,python2.7.14 需要用到PIL模块和tes ...

  7. python图形验证码识别_Python验证码识别:利用pytesser识别简单图形验证码

    一.探讨 识别图形验证码可以说是做爬虫的必修课,涉及到计算机图形学,机器学习,机器视觉,人工智能等等高深领域-- 简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形.以及利用计算机进行 ...

  8. python实现人脸识别_python人脸识别代码实现丨内附代码

    Python在人脸识别方面功能很强大,程序语言简单高效,下面小编来编程实现一下如何实现人脸识别.如有错点,还望斧正 识别图片中的人脸位置 #人脸识别分类器路径tool_url = r'C:\Users ...

  9. python相似图片识别_Python+Opencv识别两张相似图片

    Python+Opencv识别两张相似图片 在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话 ...

  10. python爬虫验证码的识别_Python爬虫识别验证码

    Python爬虫识别验证码 安装tesserocr pip3 install tesserocr pillow 识别测试 将验证码图片放到项目根目录下,用tesserocr库识别该验证码,代码如下所示 ...

最新文章

  1. mysql 安装完成后需要做的配置
  2. AAAI 2021 | 用于旋转目标检测的动态锚框学习策略
  3. 一文了解linux内核,一文了解Linux的系统结构
  4. Nginx服务器的压缩功能和缓存功能
  5. Shell常用快捷键
  6. 什么软件可以让头发变黑_头发特别干枯毛躁,请问什么方法可以让头发恢复到顺滑状态?...
  7. 高效沟通的方法和工具
  8. 空间变换与计算_04_4x4矩阵
  9. AWSome Day简介
  10. 关于报错:There is already ‘什么Controller‘ bean method的解决方法
  11. 《富爸爸穷爸爸》读书笔记
  12. uni-app 开发微信公众号(H5)JSSDK 的使用方式
  13. java扑克牌随机发牌_Java练习——扑克牌发牌器
  14. cat3速度 rj45_RJ45公对母延长线 网络线纯铜cat5宽带5类0.3米长线
  15. 进一步认识Deepchem的分子特征化: 将化学分子结构作为到随机森林\CNN\RNN\GNN等机器学习模型输入的三种方法
  16. 1.6 airtest控制MUMU模拟器
  17. 如何将m3u8格式转成MP4以及可播放格式
  18. 基于RealSense的坐姿检测技术
  19. 华为云CDN通过全站加速引领网站性能全面优化
  20. 【渝粤题库】广东开放大学 大学英语2 形成性考核

热门文章

  1. googleseo只做内容不做外链行不行?(e6zzseo)
  2. R plot图片背景设置为透明_万能转换:R图和统计表转成发表级的Word、PPT、Excel、HTML、Latex、矢量图等...
  3. ZPL指令打印标签时出现白色窄条的坑
  4. 路由器服务器修改密码,TP-Link TL-WR842N路由器设置密码
  5. 物联卡中心:物联网卡代理商这么多,我怎么选?
  6. 阿里云对象存储OSS费用内容的说明
  7. 马氏距离 java实现_Python怎么实现马氏距离
  8. win10的任务管理器显示所占内存,比实际占用内存小的原因
  9. 高中数学,解析几何高考压轴题解题技巧
  10. C语言半框,如何挑选适合自己的镜框(镜片)?