使用百度API进行情感分析(python)(二)

2023-11-12

编写代码

代码中的
将代码中的token值改为上一篇得到的Access_token值,即可;该值的时间期限约是一个月,一个月之后需要重新获取Access_token值,获取方法与之前相同。
代码示例:

import re
import requests
import json

# 将text按照lenth长度分为不同的几段
def cut_text(text, lenth):
    textArr = re.findall('.{' + str(lenth) + '}', text)
    textArr.append(text[(len(textArr) * lenth):])
    return textArr  # 返回多段值

def get_emotion( data):  # 情感分析
    # 定义百度API情感分析的token值和URL值
    token = '24.493282d99e2b2dc2a97bc1b91f02e95c.2592000.1592913393.282335-19580524' 
    url = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify?charset=UTF-8&access_token={}'.format(token)

    # 百度情感分析API的上限是2048字节,因此判断文章字节数小于2048,则直接调用
    if (len(data.encode()) < 2048):
        new_each = {
            'text': data  # 将文本数据保存在变量new_each中,data的数据类型为string
        }
        new_each = json.dumps(new_each)
        res = requests.post(url, data=new_each)  # 利用URL请求百度情感分析API
        # print("content: ", res.content)
        res_text = res.text  # 保存分析得到的结果,以string格式保存
        result = res_text.find('items')  # 查找得到的结果中是否有items这一项
        positive = 1
        if (result != -1):  # 如果结果不等于-1,则说明存在items这一项
            json_data = json.loads(res.text)
            negative = (json_data['items'][0]['negative_prob'])  # 得到消极指数值
            positive = (json_data['items'][0]['positive_prob'])  # 得到积极指数值
            print("positive:",positive)
            print("negative:",negative)
            # print(positive)
            if (positive > negative):  # 如果积极大于消极,则返回2
                return 2
            elif (positive == negative):  # 如果消极等于积极,则返回1
                return 1
            else:
                return 0  # 否则,返回0
        else:
            return 1
    else:
        data = cut_text(data, 1500)  # 如果文章字节长度大于1500,则切分
        # print(data)
        sum_positive = 0.0  # 定义积极指数值总合
        sum_negative = 0.0  # 定义消极指数值总和
        for each in data:  # 遍历每一段文字
            # print(each)
            new_each = {
                'text': each  # 将文本数据保存在变量new_each中
            }
            new_each = json.dumps(new_each)
            res = requests.post(url, data=new_each)  # 利用URL请求百度情感分析API
            # print("content: ", res.content)
            res_text = res.text  # 保存分析得到的结果,以string格式保存
            result = res_text.find('items')  # 查找得到的结果中是否有items这一项
            if (result != -1):
                json_data = json.loads(res.text)  # 如果结果不等于-1,则说明存在items这一项
                positive = (json_data['items'][0]['positive_prob'])  # 得到积极指数值
                negative = (json_data['items'][0]['negative_prob'])  # 得到消极指数值
                sum_positive = sum_positive + positive  # 积极指数值加和
                sum_negative = sum_negative + negative  # 消极指数值加和
                # print(positive)
        print(sum_positive)
        print(sum_negative)
        if (sum_positive > sum_negative):  # 如果积极大于消极,则返回2
            return 2
        elif (sum_positive == sum_negative):  # 如果消极等于于积极,则返回1
            return 1
        else:
            return 0  # 否则,返回0

def main():
    txt1 = "你好优秀"
    txt2 = "难过!"
    print("txt1测试结果:",get_emotion(txt1))
    print("txt2测试结果:",get_emotion(txt2))

if __name__  == "__main__":
    main()

代码运行结果 :
在这里插入图片描述
2 - - - 表示信息偏向积极
1 - - - 表示信息积极和消息值接近
0 - - - 表示信息偏向消极

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用百度API进行情感分析(python)(二) 的相关文章

随机推荐

  • 关于idea 右键找不到Diagrams 按钮(类的继承关系图)

    在idea的setting的plugin里面已下载的找到JBoss 查看是否开启 如果没有开启 点击enable 后重启idea 即可
  • 用Python做兼职是如何挣钱的?

    我当时学习python大概有半年的时间 学的还可以 后面一个认识的朋友给我介绍了一点私活 当时接单赚了2K左右 后又自己接过开发网站后台接口 做数据处理等事情 七七八八的加起来也有一些收入 其实我学python也是凑巧 我本身是学电商的 后
  • 用例模型与概念模型的区别和联系

    1 首先研究它究竟是什么 what 三者的定义 用例 即use case 一种描述系统需求的方法 用例建模 使用用例的方法来描述系统需求的过程 概念模型 是现实世界到机器世界的一个中间层次 2 怎样关联的 how 分析业务过程 建立用例模型
  • 翻译:Attention Is All You Need

    摘要 主要序列转导模型基于包括编码器 encoder 和解码器 decoder 的复杂递归或卷积神经网络 性能最佳的模型还通过注意机制连接编码器和解码器 我们提出了一种新的简单网络架构 Transformer 完全基于注意机制 based
  • 结构化开发方法--结构化分析方法

    说在前面 本系列文章专注于软考备考复习内容梳理 文章内容是对教材中知识点和考点的提炼 备考过程中可以有针对的进行复习 减少阅读量 有的放矢 导航目录 一 结构化分析方法概述 二 数据流图 三 数据字典 DD 结构化分析与设计方法是一种面向数
  • PyQt5 音乐播放器实现

    PyQt5 音乐播放器 import sys from PyQt5 QtWidgets import QApplication QMainWindow QFileDialog QListWidgetItem from PyQt5 QtCor
  • 【计算机基础知识8】深入理解OSI七层模型

    目录 一 前言 二 OSI七层模型概述 三 第一层 物理层 四 第二层 数据链路层 五 第三层 网络层 六 第四层 传输层 七 第五层 会话层 八 第六层 表示层 九 第七层 应用层 十 OSI七层模型与实际网络通信的关系 十一 总结 一
  • Flask + Flask-socketio 实现简单的 WebServer(可与C++程序进行通信)

    Flask Flask socketio 实现简单的 WebServer 最近手头上的项目要给树莓派上的一个程序实现一个web客户端 公司之前用的goahead c 实现的 正好最近在看Python 鉴于python有强大的web开发框架
  • Firefox火狐浏览器显示你的连接不安全,是什么意思?

    当 Firefox 连接到一个安全的网站时 网址最开始为 https 它必须确认该网站出具的证书有效且使用足够高的加密强度 以充分保护您的隐私 如果证书无法通过验证 或加密强度过低 Firefox 会中止连接到这个网站 并向您显示SSL证书
  • 纯代码干货-Python基于YOLOv5的车辆检测并计数

    首先 你需要安装YOLOv5 可以通过官方文档了解安装步骤和相关依赖 接着 你需要准备训练好的车辆检测模型和测试图片或视频 1 导入库 import cv2 import torch from models experimental imp
  • sqlite 在实现记录存在即更新,不存在就插入

    在一次写sql语句的时候突发奇想 为什么不能把插入和更新记录写在一起呢 这样一条语句就能完成两个操作了 而且有时候可能也会碰到需要这样的逻辑 于是找了还真有 但是由于sqlite是比较小型的数据库所以具体方式不太一样 insert into
  • RS485通信与Modbus协议 附源码下载

    RS485通信与Modbus协议 附源码下载 RS485通信的特点 1 采用差分信号 2 RS485通信速率快 最大传输速率可以达到10Mb s以上 3 RS485内部采用平衡驱动器和差分接收器的组合 抗干扰能力大大增加 4 传输距离最远可
  • android播放gif图片,Android SurfaceView 播放gif

    Android SurfaceView 是Android系统中的高级组件 它有自己的绘制界面 可以在一个独立的线程进行UI的绘制 因此不会阻塞主线程 这也是我们使用SuefaceView播放gif图片的原因 先简单说一下思路 gif图其实就
  • Openwrt编译python3时出现错误:No rule to make target `package//host/compile'

    步骤 1 在package目录下添加python3 包含Makefile files和相关patches文件 2 执行make package python3 compile V s make 1 No rule to make targe
  • 纯css3制作手风琴选项卡

    前言 平时工作中时常会制作手风琴以及选项卡 制作这些我们首先想到的是使用 js 操作 而其实 css3 也是可以完成 不需要使用 js 下面我们就使用 css3 完成 效果如下 手风琴 结构代码如下 ul class box li li u
  • 美团-分布式会话跟踪系统架构设计与实践

    前言 随着美团点评的业务发展 公司的分布式系统变得越来越复杂 我们亟需一个工具能够梳理内部服务之间的关系 感知上下游服务的形态 比如一次请求的流量从哪个服务而来 最终落到了哪个服务中去 服务之间是RPC调用 还是HTTP调用 一次分布式请求
  • Hibernate中用hql查询部分字段

    hql查询单表部分字段 在hibernate中 用hql语句查询实体类 采用list方法的返回结果为一个List 该List中封装的对象分为以下三种情况 1 查询全部字段的情况下 如 from 实体类 list中封装的对象为实体类本身 各属
  • 如何禁用GeForce Experience的奖励广告

    NVIDIA s GeForce Experience software now displays notification advertisements for free to play games If you don t want n
  • 系统错误!!!VCRUNTIME140.dll找不到的解决方案

    相信各位很多一定有过这样的经历 当你打开steam 打算开开心心玩一场游戏 当你打开电脑 想登个QQ 然后 太淦了 对不对 笔者百度了一下 教程挺多 不过试试我的也是可以的 至少我觉得简单实用吧 而且以后电脑软件有什么小毛病都可以试试 通过
  • 使用百度API进行情感分析(python)(二)

    编写代码 将代码中的token值改为上一篇得到的Access token值 即可 该值的时间期限约是一个月 一个月之后需要重新获取Access token值 获取方法与之前相同 代码示例 import re import requests