Skip to content

TylerAndClaude/Sentiment-Analysis-Multi-Style-Text-Transformation-System

Repository files navigation

EmoStyle: 情感分析与多风格文本转换系统

这是一个基于自然语言处理(NLP)的情感分析与文本风格转换项目,使用了预训练语言模型实现情感识别和多风格文本生成。

项目功能

  • 情感分类:使用BERT模型识别文本中的情感倾向
  • 风格转换:使用T5模型将文本转换为不同风格(如对话体、诗歌体、正式体、叙事体)
  • 可视化界面:提供直观的GUI界面,方便用户输入文本、查看情感分析结果并进行风格转换

项目结构

6405NLP/
├── GUI.py              # 图形用户界面实现
├── train_T5.py         # T5模型训练脚本
├── train_sentiment.py  # 情感分类模型训练脚本
├── dataset.py          # 数据集处理模块
├── dataset_long_format.csv  # 格式化数据集
├── predict.py          # 预测脚本
├── run_evaluate.py     # 模型评估脚本
├── whole_data_trained_t5_final_model.zip  # 训练好的T5模型
├── LICENSE             # 许可证文件
└── README.md           # 项目说明文档

技术栈

  • 编程语言:Python
  • 深度学习框架:PyTorch
  • NLP库:Transformers (Hugging Face)
  • GUI框架:Tkinter
  • 数据处理:Pandas
  • 模型
    • 情感分类:BERT-base-uncased
    • 文本风格转换:T5-small

安装步骤

  1. 克隆项目仓库:
git clone <repository-url>
cd 6405NLP
  1. 安装依赖:
pip install -r requirements.txt
  1. 安装必要的额外库(如果未包含在requirements.txt中):
pip install torch torchvision torchaudio
pip install transformers
pip install pandas openpyxl
pip install scikit-learn
pip install tqdm

使用方法

1. 训练模型

训练情感分类模型(BERT)

python train_sentiment.py --train_path dataset_long_format.csv --out_dir saved_model

训练风格转换模型(T5)

python train_T5.py

2. 运行GUI界面

python GUI.py --clf-model-path saved_model/best_model.pt --t5-model-path final_model

3. 使用GUI界面

  1. 在"Input"文本框中输入要分析的文本
  2. 点击"Predict Emotion"按钮,系统会使用BERT模型分析文本情感
  3. 在"Rewrite Style"部分选择想要转换的风格(conversational、poetic、formal、narrative)
  4. 点击"Convert by Style (T5)"按钮,系统会使用T5模型将文本转换为选定的风格
  5. 转换结果会显示在"Output"文本框中

模型说明

情感分类模型

  • 基础模型:BERT-base-uncased
  • 模型结构:BERT + Dropout + Linear分类层
  • 训练数据:dataset_long_format.csv中的情感标注数据
  • 评估指标:准确率(Accuracy)和F1分数(Macro)

风格转换模型

  • 基础模型:T5-small
  • 训练数据:dataset_long_format.csv中的风格转换数据
  • 支持的风格
    • conversational(对话体)
    • poetic(诗歌体)
    • formal(正式体)
    • narrative(叙事体)
  • 评估指标:ROUGE分数

项目流程

  1. 数据收集与处理:准备情感标注和风格转换数据集
  2. 情感识别模型训练:使用BERT模型训练情感分类器
  3. 文本风格转换模型训练:使用T5模型训练风格转换模型
  4. GUI界面实现:开发用户友好的图形界面
  5. 模型评估:评估模型性能并优化

示例

输入文本

I am so happy to see you today.

情感分析结果

joy

风格转换结果(诗歌体)

Oh, what a radiant day it is,
To gaze upon your face with bliss!
My heart sings out in pure delight,
For in your presence, all feels right.

许可证

本项目采用MIT许可证,详见LICENSE文件。

贡献

欢迎对项目提出改进建议或贡献代码!

联系方式

如有问题或建议,请通过以下方式联系:


:本项目使用了Hugging Face的预训练模型,需要互联网连接下载模型权重。训练模型需要一定的计算资源,建议在GPU环境下运行以获得更快的训练速度。

About

基于自然语言处理(NLP)的情感分析与文本风格转换项目,使用了预训练语言模型实现情感识别和多风格文本生成。

Resources

License

Stars

5 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages