博主介绍:✌全网粉丝50W+,前互联网大厂软件研发、集结硕博英豪成立软件开发工作室,专注于计算机相关专业项目实战6年之久,累计开发项目作品上万套。凭借丰富的经验与专业实力,已帮助成千上万的学生顺利毕业,选择我们,就是选择放心、选择安心毕业✌
> 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与我联系了。🍅

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

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

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

2、最全计算机专业毕业设计选题大全(建议收藏)✅

1、项目介绍

本项目主要基于PaddleHub通过预训练模型Erine-tiny在中文7情感分类数据集OCEMOTION上进行微调训练从而实现较为精确的情感7分类任务:
微情感分类: 愉快、难过、喜欢、愤怒、害怕、惊讶、厌恶(7个类别)

(1)基于PyQt5完成了项目可视化界面的开发,支持支持单条和批量文本细粒度情感分类预测。
(2)该项目前后端分离式的web端部署,
所用技术栈:前端:Vue+Element UI;后端:Flask+PaddleHub。

2、项目界面

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

(2)情感分类—惊讶

在这里插入图片描述

(3)情感分类—厌恶

在这里插入图片描述

(4)QT界面—单条情感分类

在这里插入图片描述

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

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

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

3、项目说明

本项目主要基于PaddleHub通过预训练模型Erine-tiny在中文7情感分类数据集OCEMOTION上进行微调训练从而实现较为精确的情感7分类任务:
微情感分类: 愉快、难过、喜欢、愤怒、害怕、惊讶、厌恶(7个类别)

(1)基于PyQt5完成了项目可视化界面的开发,支持支持单条和批量文本细粒度情感分类预测。
(2)该项目前后端分离式的web端部署,所用技术栈:前端:Vue+Element UI;后端:Flask+PaddleHub。

在这里插入图片描述

在这里插入图片描述

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、源码获取方式

🍅由于篇幅限制,获取完整文章或源码、代做项目的,拉到文章底部即可看到个人联系方式。🍅

点赞、收藏、关注,不迷路,下方查看👇🏻获取联系方式👇🏻

Logo

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

更多推荐