text/.trae/documents/垃圾短信分类系统实施计划.md
fa7656ae0d feat: 重构项目结构并添加垃圾短信分类系统核心功能
- 重构项目目录结构,添加src目录包含data/models/agent/llm模块
- 实现数据预处理、验证和分割功能
- 添加机器学习模型训练和预测功能
- 实现LLM服务集成DeepSeek API
- 构建Agent框架实现工具调用和结果整合
- 添加Streamlit可视化应用
- 更新项目配置和依赖管理
- 删除无用文件和旧实现代码
2026-01-15 12:16:42 +08:00

2.9 KiB
Raw Blame History

垃圾短信分类系统实施计划

项目结构设计

├── src/
│   ├── data/
│   │   ├── __init__.py
│   │   ├── preprocess.py        # 数据预处理
│   │   └── validation.py        # 数据验证
│   ├── models/
│   │   ├── __init__.py
│   │   ├── train.py             # 模型训练
│   │   ├── evaluate.py          # 模型评估
│   │   └── predict.py           # 模型预测
│   ├── agent/
│   │   ├── __init__.py
│   │   ├── tools.py             # Agent工具定义
│   │   └── agent.py             # Agent实现
│   ├── llm/
│   │   ├── __init__.py
│   │   └── llm_service.py       # LLM服务
│   ├── main.py                  # 主程序入口
│   └── streamlit_app.py         # Streamlit可视化应用
├── models/                      # 模型保存目录
├── data/                        # 数据目录
│   └── spam.csv                 # 原始数据集
├── .env.example                 # 环境变量示例
├── .gitignore                   # Git忽略文件
├── pyproject.toml               # 项目配置
└── README.md                    # 项目说明文档

实施步骤

1. 项目配置更新

  • 更新pyproject.toml添加所需依赖
  • 更新.gitignore添加必要的忽略规则
  • 创建.env.example文件包含API密钥配置

2. 数据处理

  • 使用Polars完成数据清洗流水线
  • 使用Pandera定义数据Schema
  • 将英文数据集翻译成中文可选用于LLM解释

3. 机器学习模型

  • 实现至少2个模型对比
    • 基线模型Logistic Regression
    • 强模型LightGBM
  • 实现模型训练、评估和保存功能
  • 确保模型性能达到要求Accuracy ≥ 0.85 或 Macro-F1 ≥ 0.80

4. LLM服务

  • 集成DeepSeek API
  • 实现文本解释和建议生成功能

5. Agent实现

  • 使用pydantic-ai框架
  • 定义至少2个工具
    • ML预测工具用于分类短信
    • 解释工具:用于生成分类结果的解释和建议
  • 实现Agent逻辑串联ML模型和LLM

6. 可视化应用

  • 使用Streamlit创建交互式界面
  • 支持上传短信进行分类
  • 显示分类结果和解释

7. 文档编写

  • 编写README.md包含项目说明、安装步骤、使用方法等
  • 按照课程设计要求的模版样式组织文档

关键技术点

  • 数据清洗:处理缺失值、特殊字符、编码问题
  • 特征工程文本向量化TF-IDF
  • 模型优化:超参数调优、交叉验证
  • LLM集成结构化输出、提示工程
  • Agent设计工具调用、结果整合

预期成果

  • 可复现的机器学习训练流程
  • 高性能的垃圾短信分类模型
  • 基于LLM的智能解释和建议生成
  • 完整的Agent系统串联ML模型和LLM
  • 交互式可视化应用
  • 符合课程设计要求的项目结构和文档