# bert-liu **Repository Path**: tjuc/bert-liu ## Basic Information - **Project Name**: bert-liu - **Description**: BERT中文情感分析项目 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-05-23 - **Last Updated**: 2025-08-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BERT中文情感分析项目 这是一个基于BERT的中文情感分析项目,可以对文本进行情感极性(积极/消极)分类。项目使用了预训练的中文BERT模型,并在此基础上进行了情感分类任务的微调。 此项目在Win11环境运行调试。 ## 项目结构 asdasd ``` . ├── data/ # 数据目录 │ ├── dataset.zip # 数据集压缩包 │ ├── train.csv # 训练数据集 │ ├── val.csv # 验证数据集 │ └── test-dataset.csv # 测试数据集 ├── data_processor.py # 数据处理模块 ├── download_data.py # 数据下载脚本 ├── model.py # 模型定义和训练函数 ├── requirements.txt # 项目依赖 ├── train.py # 训练脚本 └── README.md # 项目说明文档 ``` ## 环境要求 - Python 3.6+ - CUDA(可选,用于GPU加速) ## 安装步骤 1. 克隆项目到本地 2. 安装依赖包: ```bash pip install -r requirements.txt ``` 3. 下载并解压数据集: ```bash python download_data.py ``` ## 使用方法 ### 训练模型 运行以下命令开始训练: ```bash python train.py ``` 训练过程中会显示每个epoch的训练损失和验证准确率。最佳模型会自动保存为`best_model.pth`。 ### 模型参数 - 学习率:2e-5 - Dropout率:0.3 - 训练轮数:5 - 批次大小:由data_processor.py中的load_data函数设定 ### 预测示例 模型训练完成后,可以使用train.py中的示例代码进行预测: ```python test_text = "这个产品非常好用,我很满意!" result = predict(model, test_text, tokenizer, device) print(f'预测结果: {"积极" if result == 1 else "消极"}') ``` ## 模型架构 - 基础模型:bert-base-chinese - 分类层:一个带dropout的全连接层 - 输出:2分类(积极/消极) ## 注意事项 1. 首次运行时需要下载BERT预训练模型,请确保网络连接正常 2. GPU训练需要确保CUDA环境配置正确 3. 数据集格式要求请参考data目录下的示例文件 ## 性能指标 模型在验证集上的准确率会在训练过程中显示,最佳模型会被自动保存。 ## 可视化分析 项目提供了一个专门的可视化模块`visualization.py`,用于展示模型的训练过程和预测结果: ```python from visualization import ModelVisualizer # 创建可视化器实例 visualizer = ModelVisualizer() # 在训练过程中记录指标 visualizer.update_metrics(epoch, train_loss, val_accuracy) # 绘制训练进度图 visualizer.plot_training_progress('training_progress.png') # 绘制混淆矩阵 visualizer.plot_confusion_matrix(y_true, y_pred, 'confusion_matrix.png') # 可视化预测示例 visualizer.visualize_prediction_examples(texts, predictions, probabilities, 'prediction_examples.png') ``` ## 贡献指南 欢迎提交Pull Request来改进本项目。请在提交前确保代码风格一致,并通过所有测试。 开发测试时,请不要把过大文件传入Git项目。 ## 许可证 本项目采用MIT许可证,详情请查看LICENSE文件。