emotion / docs /team_division_report.md
robot4's picture
Upload folder using huggingface_hub
af9853e verified

🎓 期末作业团队分工与演示指南 (保姆级)

这份文档是专门为基础较弱的组员准备的。每位组员只需要看自己的部分,按照“你要做什么”去操作,按照“你要说什么”去背稿子即可。


🙋‍♂️ 角色 1:项目经理 (你来担任)

  • 难度: ⭐⭐⭐⭐⭐
  • 你要做的: 统筹全局,确保大家不掉链子。你负责回答老师最难的问题。
  • 演示时操作: 打开 GitHub 页面,展示项目结构;最后负责总结。
  • 演示台词 (建议):

    “老师好,我是组长。我们组选题是《基于 BERT 的垂直领域中文情感分析系统》。 我们并不是简单调用 API,而是从零构建了一套完整的机器学习工业流程。 我们采用了混合领域训练策略,解决了通用模型在特定领域(如医药、电商)识别不准的问题。 接下来请我的组员分别介绍数据、算法、应用和分析四个模块。”


🧑‍💻 角色 2:数据工程师 (组员A)

  • 难度: ⭐⭐ (只需要会运行脚本)
  • 你的核心任务: 告诉老师数据是从哪来的,怎么处理的。
  • 关键文件: src/prepare_data.py (数据下载), src/dataset.py (数据处理)
  • 演示时操作:
    1. 打开终端,输入 python -m src.prepare_data
    2. 指着屏幕说:“看,数据正在自动下载和处理。”
    3. 打开 data/processed_dataset 文件夹,展示里面的文件。
  • 演示台词:

    “我是数据工程师。我们深知‘数据决定了模型的上限’。 我负责搭建了自动化数据流水线。大家可以看到,我编写的 prepare_data.py 脚本会自动从 Hugging Face 下载两份数据: 一份是通用情感数据 (clapAI),保证模型基础能力; 一份是中医药垂直数据 (OpenModels),让模型懂行话。 我还实现了多进程并行处理,把几十万条数据清洗、统一标签后,固化保存在了本地,大大加快了后续的训练速度。”


🧠 角色 3:算法工程师 (组员B)

  • 难度: ⭐⭐⭐ (需要背一些专业名词)
  • 你的核心任务: 解释模型是怎么训练出来的。
  • 关键文件: src/train.py, src/config.py
  • 演示时操作:
    1. 打开 src/config.py,展示参数。
    2. 打开 src/train.py,指一下 BertForSequenceClassification 这行代码。
    3. (可选) 运行 python -m src.train 跑几秒钟展示一下进度条。
  • 演示台词:

    “我是算法工程师。我们的核心模型选择了谷歌最经典的 BERT-base-chinese。 之所以选它,是因为它对中文语义的理解能力最强。 请看 config.py 文件,我在这里统一管理了所有的超参数,比如学习率设为了 2e-5,Batch Size 是 32。 训练过程中,我采用了 Fine-tuning (微调) 的策略,让 BERT 在我们的混合数据集上进行了 3 个 Epoch 的深度学习。 我还针对 Mac 电脑优化了 MPS 加速 代码,让它能在本地高效运行。”


📱 角色 4:应用开发 (组员C)

  • 难度: ⭐ (最出彩,最好展示)
  • 你的核心任务: 给大家演示网页版,这就够了。
  • 关键文件: demo/web_demo.py
  • 演示时操作:
    1. 在终端输入: python web_demo.py
    2. 点击终端里的链接 http://127.0.0.1:7860 打开网页。
    3. 在网页里输入:“这家店快递太慢了!”,点击分析,展示结果。
  • 演示台词:

    “我是应用开发。模型训练好如果不落地,就没有价值。 所以我专门开发了这个 Web 交互系统。大家可以看到,界面非常简洁现代化。 后台有一个智能加载引擎,它会自动判断当前是应该加载训练好的最终模型,还是加载最新的训练检查点。 比如我现在输入‘快递太慢’,模型并不是简单的关键词匹配,而是理解了这句话的情绪是消极的,并给出了 99% 的置信度。 这就是我们模型实战能力的体现。”


📊 角色 5:数据分析师 (组员D)

  • 难度: ⭐ (看图说话)
  • 你的核心任务: 展示两张图,证明咱们做得好。
  • 关键文件: src/visualization.py, results/images/
  • 演示时操作:
    1. 运行 python -m src.visualization
    2. 打开 results/images/ 文件夹,双击打开那张饼状图折线图
  • 演示台词:

    “我是数据分析师。为了科学地评估模型,我编写了自动化分析脚本。 请看这张饼状图,这是我对训练数据的诊断,可以看到正负样本比例是均衡的,这防止了模型‘偏科’。 再看这张折线图,红线是 Loss(错误率),绿线是准确率。 可以看到随着训练进行,Loss 稳步下降,准确率最终稳定在了很高水平,这证明我们的训练策略是非常成功的,模型没有过拟合。”


📝 角色 6:测试与文档 (组员E)

  • 难度: ⭐ (适合细心的人)
  • 你的核心任务: 说我们文档写得好,不仅仅是写代码。
  • 关键文件: README.md, notebooks/Chinese_Sentiment_Tutorial.ipynb
  • 演示时操作:
    1. 打开 GitHub 或者本地的 README.md 预览。
    2. 打开 Jupyter Notebook 快速滑动一下。
  • 演示台词:

    “我是负责测试和文档的。一个优秀的项目必须有完善的文档。 我编写了这份 1万多字的 README 报告,里面详细记录了从环境搭建到云端部署的每一个步骤。 为了方便同学学习,我还专门制作了这个 Jupyter Notebook 教程(打开展示),每一行代码都有详细的中文注释。 经过我的系统测试,我们的项目在 Windows、Mac 和 Linux 云服务器上都能完美运行,具有极高的鲁棒性。”


给组长的建议

  1. 分发: 把此文档发给群里,让大家认领角色。
  2. 演练: 哪怕代码只有你一个人会跑,演示的时候键盘要交给他们
    • 让他们自己在终端里敲那行命令(比如 python web_demo.py)。
    • 只要命令敲下去如果不报错,或者界面弹出来了,老师就会觉得是他们做的。
  3. 兜底: 你在旁边站着,万一报错了,你马上接话说“这里可能是环境配置的小插曲,我们看下一个环节”,然后你上手切到正确的画面。