# 垃圾短信分类系统实施计划 ## 项目结构设计 ``` ├── 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 - 交互式可视化应用 - 符合课程设计要求的项目结构和文档