EveryDay Learning AI 学习应用
企业 AI/NLP 项目。把用户收藏的文章整理成题目、选项和 7 天复习任务,接进 Everyday Learning 的 Android 学习流程。
角色
- AI/NLP 开发工程师
- MHR × 诺丁汉大学
技术栈
- Python
- PyTorch
- Hugging Face Transformers
- T5
- AWS Lambda
- Flask
- MySQL
- Kotlin/Android
问题
文章被收藏下来只是起点。要让它真正变成学习内容,产品还需要把文章变成题目、选项和合适时机出现的复习提醒。
约束
- 问答生成必须把文章变成应用能直接消费的结构化题目,而不是停在自由文本。
- 错误选项既要和正确答案区分开,又不能脱离文章上下文乱生成。
- 复习调度要按用户和题目维度看历史,只安排首次复习或满 7 天的题目。
- 这是企业项目,没有公开仓库,也不在这里写内部指标或业务数据。
我做了什么
- 用 Hugging Face Transformers 和 T5 搭文章分块、问答生成和结构解析,把模型输出整理成 Android Quiz 能直接消费的“问题—正确答案”记录。
- 把文章上下文、问题和正确答案一起编码,接入专门的 Distractor Generation T5 模型生成错误选项,并处理特殊 token、分隔符、空白和大小写重复。
- 通过本地 Flask API 和 AWS Lambda 双通道读取待处理文章、回写 MySQL,把文章到题目的整条链路接进产品数据流。
- 做了 7 天间隔复习和学习进度回写:按用户—问题历史做 SQL 聚合,只调度该复习的题,并汇总每周复习量。
怎么做的
- 先把文章切成适合生成的片段,再用 T5 跑问答生成,并把输出规范成题目和正确答案。
- 错误选项生成时,把上下文、问题和正确答案一起送进模型,尽量减少答非所问或和答案撞车的情况。
- 通过 MySQL 把题目、复习资格和学习活动记录下来,直接供 Android 端 Quiz 和复习模块使用。
怎么验
- 把“文章入库—问题生成—选择题构建—复习调度—学习记录回写”当作一条完整链路来验,确保每一环都能接上。
- 在落库前检查特殊 token、分隔解析、空白输出和只差大小写的重复选项。
- 因为没有公开代码仓库或评测报告,这里不写准确率、留存或使用规模。
结果
- 最终交付的是一条真正接进产品的 AI 学习链路,把文章、题目、选项、复习和学习记录串成一套完整流程。
- 因为这是企业内部项目,作品集只写职责、方法和可确认的交付范围,不写无法公开核验的数据。
依据和链接
李智峰于 2023 年 11 月至 2024 年 4 月以 AI/NLP 开发工程师身份参与 Everyday Learning 项目。
本人提供的实习与项目说明该工作覆盖问答生成、干扰项生成、7 天复习调度、MySQL 回写,以及 Android Quiz 对结构化数据的消费。
本人提供的实习与项目说明