137 lines
3.3 KiB
Markdown
137 lines
3.3 KiB
Markdown
# skill小程序:基于朴素贝叶斯的垃圾信息识别小程序(社区交互+商用)
|
||
|
||
## 1. 目标
|
||
|
||
复刻一个可商用的小程序,满足以下闭环:
|
||
|
||
1. 用户发布文本(公共/私有/私信)
|
||
2. 后端实时检测垃圾信息(朴素贝叶斯)
|
||
3. 命中阈值即拦截并入库备案
|
||
4. 用户可对拦截信息发起申诉
|
||
5. 管理员人工复核与申诉处理
|
||
6. 样本持续回流并重训模型
|
||
|
||
## 2. 技术框架
|
||
|
||
### 2.1 前端环境(微信小程序)
|
||
|
||
- 微信开发者工具开发与调试
|
||
- 页面模块:
|
||
- 注册/登录
|
||
- 文本发布(发布框+提交按钮)
|
||
- 实时状态反馈(发布成功/拦截警告)
|
||
- 个人发布历史
|
||
- 拦截信息申诉
|
||
- 私信收件箱
|
||
- 界面规范:
|
||
- 遵循小程序设计规范
|
||
- 卡片化布局 + 统一主题色 + 移动端自适配
|
||
|
||
### 2.2 后端环境(Flask RESTful)
|
||
|
||
- Flask 提供 API
|
||
- JWT 身份认证与会话管理
|
||
- SQLAlchemy 数据持久化
|
||
- 模型服务:TF-IDF + MultinomialNB
|
||
- 核心职责:
|
||
- 接收发布文本
|
||
- 调用模型检测
|
||
- 阈值决策拦截/放行
|
||
- 拦截日志入库
|
||
- 申诉与人工复核
|
||
- 管理员日志查询与阈值调节
|
||
|
||
## 3. 数据模型
|
||
|
||
1. `users`
|
||
- 用户信息、管理员标记
|
||
|
||
2. `content_posts`
|
||
- 文本内容、发布类型、检测概率、阈值、发布状态
|
||
- 人工复核状态
|
||
- 申诉状态与处理结果
|
||
|
||
3. `spam_prediction_logs`
|
||
- 检测原始日志
|
||
|
||
4. `spam_training_samples`
|
||
- 训练样本(seed/import/feedback/manual_review)
|
||
|
||
5. `detection_configs`
|
||
- 动态检测阈值
|
||
|
||
## 4. 功能模块映射
|
||
|
||
### 4.1 用户功能模块
|
||
|
||
- 个人信息注册/登录/维护
|
||
- 文本信息编辑与上传
|
||
- 公共信息发布
|
||
- 私有信息发布
|
||
- 用户私信信息发布
|
||
- 私信信息拦截
|
||
- 拦截信息申诉
|
||
- 发布历史查看
|
||
|
||
### 4.2 管理员功能模块
|
||
|
||
- 用户信息编辑/删除
|
||
- 垃圾信息编辑(复核结果更新)
|
||
- 确认垃圾信息(人工复核属实)
|
||
- 申诉处理(通过/驳回)
|
||
- 垃圾信息历史记录查看
|
||
- 检测阈值动态调节
|
||
|
||
### 4.3 垃圾信息识别模块
|
||
|
||
- 信息检测(朴素贝叶斯)
|
||
- 信息拦截
|
||
- 阈值动态调节
|
||
- 信息发布拦截
|
||
- 垃圾信息入库备案
|
||
- 信息上报管理员
|
||
|
||
## 5. 关键接口
|
||
|
||
### 用户端
|
||
|
||
- `POST /api/content/publish`
|
||
- `GET /api/content/posts/history`
|
||
- `GET /api/content/posts/inbox`
|
||
- `POST /api/content/posts/<id>/appeal`
|
||
|
||
### 管理端
|
||
|
||
- `GET /api/admin/intercepts`
|
||
- `PUT /api/admin/intercepts/<id>/review`
|
||
- `GET /api/admin/appeals`
|
||
- `PUT /api/admin/appeals/<id>/process`
|
||
- `GET /api/admin/detection/threshold`
|
||
- `PUT /api/admin/detection/threshold`
|
||
|
||
## 6. 实施步骤
|
||
|
||
1. 初始化数据库并导入种子样本
|
||
2. 训练初始朴素贝叶斯模型
|
||
3. 接入发布接口并实现实时反馈
|
||
4. 完成历史、申诉、私信收件箱
|
||
5. 完成管理员复核与阈值配置
|
||
6. 打通样本回流和模型重训
|
||
|
||
## 7. 商用落地建议
|
||
|
||
1. 使用 HTTPS 和网关限流
|
||
2. 管理操作写审计日志
|
||
3. 默认管理员密码上线前替换
|
||
4. 密钥全部改环境变量注入
|
||
5. 申诉处理增加 SLA 与状态通知
|
||
|
||
## 8. 验收标准
|
||
|
||
1. 发布文本可实时检测并返回明确状态
|
||
2. 疑似垃圾信息会被拦截且可申诉
|
||
3. 管理员可人工复核与处理申诉
|
||
4. 阈值可在线调节且立即生效
|
||
5. 页面在不同手机尺寸下排版正常
|
||
6. 样本可回流并用于模型迭代
|