博主介绍:✌全网粉丝10W+,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌
> 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与我联系了。🍅

点击查看作者主页,了解更多项目!

🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助同学们顺利毕业 。🍅

1、毕业设计:2025年计算机专业毕业设计选题汇总(建议收藏)✅

2、大数据毕业设计:2025年选题大全 深度学习 python语言 JAVA语言 hadoop和spark(建议收藏)✅

1、项目介绍

技术栈:PaddleHub、Erine-tiny、OCEMOTION、PyQt5、Vue、Element UI、Flask
功能:单条/批量中文文本7情感(愉快、难过、喜欢、愤怒、害怕、惊讶、厌恶)细粒度分类;PyQt5桌面端即时预测;Vue+Flask前后端分离Web部署。
意义:将预训练语言模型与轻量化界面结合,零代码完成情感分析落地,适用于舆情监控、客服质检、课堂情感交互等场景。

python情感分类系统 深度学习 细粒度情感分类预测 Flask框架 PaddleHub 计算机 数据集OCEMOTION 毕业设计(建议收藏)✅

2、项目界面

(1)情感分类—愉快
在这里插入图片描述

(2)情感分类—惊讶
在这里插入图片描述

(3)情感分类—厌恶
在这里插入图片描述

(4)QT界面—单条情感分类
在这里插入图片描述

(5)QT界面—批量情感分类
在这里插入图片描述

(6)QT界面—批量情感分类
在这里插入图片描述

(7)QT界面—批量情感分类–输出结果
在这里插入图片描述

3、项目说明

本项目基于PaddleHub预训练模型Erine-tiny,在中文7情感数据集OCEMOTION上微调,实现细粒度情感7分类。PyQt5桌面端支持单条/批量文本预测;Web端采用Vue+Element UI前端与Flask+PaddleHub后端,前后端分离部署,接口返回类别与置信度,可嵌入公众号、客服系统等。整体代码开源、环境一键配置,适合毕业设计、情感AI原型快速验证。

4、核心代码

  import paddlehub as hub
import interface
import sys
import xlrd
import csv
import re
import pandas as pd
import numpy as np
from functools import partial
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QApplication, QMainWindow
from time import time

# 单条文本情感分类
def Single_classification(ui):
    content = ui.textEdit.toPlainText()  # 获取输入的要进行情感分类的文本
    # 要进行情感分类的文本内容不能为空
    if content == '':
        ui.label_3.setVisible(False)     # 隐藏结果
        ui.lineEdit_5.setVisible(False)
        ui.warn1()   # 提示补全文本内容
    else:
        # 格式处理:
        data = []
        list = []
        list.append(content)
        data.append(list)
        t1 = time()
        # 对单条文本进行预测
        label = model.predict(data, max_seq_len=128, batch_size=16, use_gpu=False)  # 若下载了GPU的paddle,可以将此处use_gpu设置为True
        t2 = time()
        # 单条预测时间检测
        print('单条文本分类CPU环境下预测耗时(毫秒):%.3f' % ((t2 - t1) * 1000.0))
        ui.lineEdit_5.setText(label[0])   # 完成预测后在界面显示预测的情感类别
        ui.label_3.setVisible(True)
        ui.lineEdit_5.setVisible(True)

# 批量文本情感分类
def Batch_classification(ui):
    excel_path = ui.lineEdit_2.text()   # 获取输入文件路径
    output_path = ui.lineEdit_4.text()  # 获取输出文件路径
    # 路径不能为空
    if excel_path == '':
        ui.warn2()  # 提示未选择要进行批量情感分类的excel文件
    elif output_path == '':
        ui.warn3()  # 提示未选择生成结果文件输出路径
    else:
        # ui.showloading()   # 显示加载中
        # 读取导入的excel文件
        df = pd.read_excel(excel_path)
        # 格式处理:
        news = pd.DataFrame(columns=['content'])
        news['content'] = df["content"]
        # 首先将pandas读取的数据转化为array
        data_array = np.array(news)
        # 然后转化为list形式
        data_list =data_array.tolist()

        # 批量文本预测
        results = model.predict(data_list, max_seq_len=128, batch_size=16, use_gpu=False) # 若下载了GPU的paddle,可以将此处use_gpu设置为True

        df['label'] = results # 将结果填充到label列上
        # 保存结果文件为excel文件
        df.to_excel(output_path, sheet_name='预测结果', index=False, header=True)
        # ui.cancelloading() # 完成预测后取消显示加载中
        ui.success()  # 提示分类完成

if __name__ == '__main__':

    # 定义要进行情感分类的7个类别
    label_list=['难过', '愉快', '喜欢', '愤怒', '害怕', '惊讶', '厌恶']
    label_map = { 
        idx: label_text for idx, label_text in enumerate(label_list)
    }

    # 加载训练好的模型
    model = hub.Module(
        name='ernie_tiny',
        version='2.0.2',  # 与训练时统一好,若未指定版本将自动下载最新的版本
        task='seq-cls',
        num_classes=7,
        load_checkpoint='../Ernie-model/model.pdparams',   # 注意模型参数一定要加载对!
        label_map=label_map
    )

    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = interface.Ui_Form()
    ui.setupUi(MainWindow)
    MainWindow.show()
    
    # 为按钮绑定相关功能函数完成功能添加:
    # 单条文本情感分类
    ui.pushButton.clicked.connect(partial(Single_classification, ui))
    # 批量文本情感分类
    ui.pushButton_4.clicked.connect(partial(Batch_classification, ui))

    sys.exit(app.exec_())

5、源码获取方式

biyesheji0005  或  biyesheji0001   (绿色聊天软件)

🍅由于篇幅限制,获取完整文章或源码、代做项目的,查看我的【用户名】、【专栏名称】、【顶部选题链接】就可以找到我啦🍅

感兴趣的可以先收藏起来,点赞、关注不迷路,下方查看👇🏻获取联系方式👇🏻

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐