项目简介
本项目聚焦细粒度情感分析,借助PaddlePaddle框架,具备评论观点抽取和属性级情感分类功能。采用百度研发的基于情感知识增强的预训练模型SKEP和开源的轻量级小模型PP-MiniLM,同时提供全流程预测脚本和工具,方便开发者运用领先的情感分析技术。
项目的主要特性和功能
- 全面覆盖任务:集成评论观点抽取、属性级情感分类等能力,开源模型并打通模型训练、评估、预测部署全流程。
- 效果表现领先:集成百度SKEP预训练模型,为各类情感分析任务提供强大的情感语义表示能力。
- 预测性能出色:开源小模型PP-MiniLM及量化优化策略,大幅提升预测性能。
- 精准抽取观点:能识别文本中产品或服务不同属性及对应评价。
- 精确情感分类:对抽取出的评论观点进行情感极性分类,区分正负向。
- 小模型优化显著:基于PP-MiniLM的轻量级模型,通过模型压缩技术减小规模、提高效率。
安装使用步骤
环境准备
- 安装python 3.6及以上版本。
- 安装paddlenlp 2.2.2及以上版本。
- 安装paddlepaddle-gpu 2.2.1及以上版本。
数据准备
- 在项目目录下新建
data
和checkpoints
目录,分别用于存放数据和保存模型。 - 下载并解压开源的Demo数据ext_data和cls_data,依次放入
./data/ext_data
和./data/cls_data
目录。
模型加载
从链接ext_model和cls_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 extraction
和sh run_export_model.sh classification
将动态图模型转为静态图,再进入deploy
目录运行sh run_predict.sh
。
自定义训练
- 评论观点抽取模型:使用
ext_data
Demo数据或自定义标注数据,在extraction
目录下执行训练,详情参考extraction。 - 属性级情感分类模型:使用
cls_data
Demo数据或自定义标注数据,在classification
目录下执行训练,详情参考classification。
数据标注
- 在doccano平台定义
Pos-Aspect
、Neg-Aspect
和Opinion
标签。 - 标注数据,导出
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】