NLP · 交互式 Web 工具
小格纸
粘贴老师发的生字表,打印看拼音写词语和听写纸。
- 256 词
- 注音测试集
- A4 + PDF
- 练习纸和答案页
- FastAPI
- 独立服务,自带页面
概览
小格纸解决一个很具体的问题:家长每周要准备听写,老师在群里发的是一串词语,手工加拼音、画田字格很费时间,Word 的拼音指南一次只能注 30 个字,多音字还经常注错。把生字表粘进来,小格纸拆出词语、逐字注音,排成「看拼音写词语」或听写纸,附答案页,浏览器里直接打印或下载 PDF。
注音准不准是这个工具唯一要紧的指标,所以它有一份按课本注音整理的测试集:一二年级常见词,分多音字、「一」「不」变调和轻声三类,每次改注音逻辑都要重新量准确率,页面上写的数字也来自这里。
这个项目最早是一个「注音与情绪」页面:输入一段中文,返回逐字拼音和情感分数,用来练习把页面、接口和模型能力串起来。后来注音这一半长成了练习纸,情感分析不再接入页面。
用到的技术
- 按整词注音
- 多音字只有放在词里才能判断:「重新」读 chóng,「重要」读 zhòng。生字表先拆成词,再整词转拼音;「一」「不」按课本习惯补上变调,常读轻声的词单独处理。
- 可切换的读音
- 自动注音总有拿不准的时候,所以每个字都带一组候选读音(全部读音加轻声写法),常见多音字标小圆点提醒核对,点一下拼音就能换。
- 排版只算一次
- 分页和每个词的位置在浏览器里算好,预览和 PDF 共用同一份结果;后端只按毫米坐标作画,字体只嵌入用到的字,PDF 几十 KB。
- FastAPI
- Python 后端框架,把拆词注音和 PDF 生成包成 HTTP 接口,自带接口文档。
交互路径
- 01
粘贴生字表
序号、拼音、括号、标点都当分隔符,乱格式的词语表也能直接用。
- 02
核对读音
带小圆点的多音字看一眼,点拼音切换;打乱顺序、每页词数、字号都能调。
- 03
打印或下载
A4 练习纸加答案页,浏览器直接打印,或下载 PDF 导入平板手写。
代码地图
main.pyFastAPI 服务:拆词、注音、变调与轻声处理,页面路由。worksheet_pdf.py按前端算好的坐标画 PDF。static/worksheet.html · worksheet.js练习纸页面:输入、分页排版、读音切换、打印。tests/data/pinyin_gold.tsv注音测试集;scripts/pinyin_accuracy.py 量准确率。
部署方式
- 访问路径
- /text-lab/(nginx 反向代理到独立服务)
- 说明
- 作品集站只负责跳转,页面由服务自己提供;练习纸 PDF 由服务动态生成。