littlebot
Published on 2025-04-11 / 4 Visits
0

【源码】基于PaddlePaddle框架的细粒度情感分析系统

项目简介

本项目聚焦细粒度情感分析,借助PaddlePaddle框架,具备评论观点抽取和属性级情感分类功能。采用百度研发的基于情感知识增强的预训练模型SKEP和开源的轻量级小模型PP-MiniLM,同时提供全流程预测脚本和工具,方便开发者运用领先的情感分析技术。

项目的主要特性和功能

  1. 全面覆盖任务:集成评论观点抽取、属性级情感分类等能力,开源模型并打通模型训练、评估、预测部署全流程。
  2. 效果表现领先:集成百度SKEP预训练模型,为各类情感分析任务提供强大的情感语义表示能力。
  3. 预测性能出色:开源小模型PP-MiniLM及量化优化策略,大幅提升预测性能。
  4. 精准抽取观点:能识别文本中产品或服务不同属性及对应评价。
  5. 精确情感分类:对抽取出的评论观点进行情感极性分类,区分正负向。
  6. 小模型优化显著:基于PP-MiniLM的轻量级模型,通过模型压缩技术减小规模、提高效率。

安装使用步骤

环境准备

  • 安装python 3.6及以上版本。
  • 安装paddlenlp 2.2.2及以上版本。
  • 安装paddlepaddle-gpu 2.2.1及以上版本。

数据准备

  • 在项目目录下新建datacheckpoints目录,分别用于存放数据和保存模型。
  • 下载并解压开源的Demo数据ext_datacls_data,依次放入./data/ext_data./data/cls_data目录。

模型加载

从链接ext_modelcls_model下载预训练模型,重命名为best.pdparams,分别放入./checkpoints/ext_checkpoints./checkpoints/cls_checkpoints中。也可自行训练模型。

运行预测

  • 快速体验:运行sh run_demo.sh,以交互式方式体验情感分析能力。
  • 文本批量预测:将测试集文件test.txt放入./data目录,每行一个待预测语句,运行sh run_predict.sh进行批量预测,结果保存为sentiment_results.json
  • 高性能预测:先运行sh run_export_model.sh extractionsh run_export_model.sh classification将动态图模型转为静态图,再进入deploy目录运行sh run_predict.sh

自定义训练

  • 评论观点抽取模型:使用ext_data Demo数据或自定义标注数据,在extraction目录下执行训练,详情参考extraction
  • 属性级情感分类模型:使用cls_data Demo数据或自定义标注数据,在classification目录下执行训练,详情参考classification

数据标注

  • 在doccano平台定义Pos-AspectNeg-AspectOpinion标签。
  • 标注数据,导出jsonl文件重命名为doccano.json放入./data目录。
  • 运行python doccano.py --doccano_file ./data/doccano.json --save_ext_dir ./data/ext_data --save_cls_dir ./data/cls_data转换数据格式。

评估与优化

使用提供的评估脚本评估模型性能,利用小模型优化策略对PP-MiniLM进行性能优化。

部署

使用提供的工具进行模型导出和部署。

注意事项

  • 运行脚本前确保文件路径和参数设置正确。
  • 根据需求调整训练参数和配置以达最佳性能。
  • 自定义数据集格式和标注规则需遵循项目要求。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】