Shiyin Dong

NLP · 交互式 Web 工具

小格纸

粘贴老师发的生字表,打印看拼音写词语和听写纸。

256 词
注音测试集
A4 + PDF
练习纸和答案页
FastAPI
独立服务,自带页面

概览

小格纸解决一个很具体的问题:家长每周要准备听写,老师在群里发的是一串词语,手工加拼音、画田字格很费时间,Word 的拼音指南一次只能注 30 个字,多音字还经常注错。把生字表粘进来,小格纸拆出词语、逐字注音,排成「看拼音写词语」或听写纸,附答案页,浏览器里直接打印或下载 PDF。

注音准不准是这个工具唯一要紧的指标,所以它有一份按课本注音整理的测试集:一二年级常见词,分多音字、「一」「不」变调和轻声三类,每次改注音逻辑都要重新量准确率,页面上写的数字也来自这里。

这个项目最早是一个「注音与情绪」页面:输入一段中文,返回逐字拼音和情感分数,用来练习把页面、接口和模型能力串起来。后来注音这一半长成了练习纸,情感分析不再接入页面。

用到的技术

按整词注音
多音字只有放在词里才能判断:「重新」读 chóng,「重要」读 zhòng。生字表先拆成词,再整词转拼音;「一」「不」按课本习惯补上变调,常读轻声的词单独处理。
可切换的读音
自动注音总有拿不准的时候,所以每个字都带一组候选读音(全部读音加轻声写法),常见多音字标小圆点提醒核对,点一下拼音就能换。
排版只算一次
分页和每个词的位置在浏览器里算好,预览和 PDF 共用同一份结果;后端只按毫米坐标作画,字体只嵌入用到的字,PDF 几十 KB。
FastAPI
Python 后端框架,把拆词注音和 PDF 生成包成 HTTP 接口,自带接口文档。

交互路径

  1. 01

    粘贴生字表

    序号、拼音、括号、标点都当分隔符,乱格式的词语表也能直接用。

  2. 02

    核对读音

    带小圆点的多音字看一眼,点拼音切换;打乱顺序、每页词数、字号都能调。

  3. 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 由服务动态生成。