
中文的连笔粘连与英文的连写、大小写,让双语手写识别比单语更难。分栏、涂改、阅读顺序三关直接决定输出能不能用:栏位归属、内容取舍、排列次序,任何一处判错,文本表面正常却没法直接用。
单语手写识别已经不容易,双语材料还要多一层复杂度:两种文字的书写形态完全不同,对版面理解的要求也不同。中英文手写作文识别的定位是支持中英文手写长文本识别,把两种语言放在同一个问题里看,难点主要体现在三处。
第一处在字本身的形态。中文常用字数量大,字形相近的字多,书写时字距紧凑、连笔普遍,字与字之间没有空格作为天然分隔,字界要靠笔画走向和版面线索去推。英文的字符类别少得多,看起来更"简单",但它有自己的麻烦:字母有大写和小写的形态差异,手写时字母之间常常连写,单词间距忽宽忽窄,标点在潦草书写中容易与相邻字母粘连或被省略。同一个学生写的同一页纸,中文字迹的难点在"字与字分不开",英文字迹的难点在"字母与字母分不开",两者指向的其实是同一类判断——在没有明确分隔符的地方切出正确单元。
第二处在文本的切分逻辑。中文没有词与词之间的空格,语义单元的切分依赖字序和上下文;英文以空格分词,词边界相对明确,但断词换行、缩写与标点都会影响切分结果。一篇中英夹杂的作文里,这两套逻辑要同时成立:中文段落按连续字序还原,英文段落按空格还原,切分策略在同一篇里来回切换。如果按单一逻辑处理,中文部分会被多余的"词"边界切碎,英文部分则可能把两个单词粘成一个。
第三处在版面理解的依赖度。一页纸上同时出现两种文字时,书写密度、留白与断行方式都不一样,版面判断很难用一套统一规则套下来;而版面一旦判错,后续的处理都会建立在错误的基础上。
这些差异叠加起来,决定了双语手写识别不能只做一次"认字",还需要一套针对版面结构的判断规则。三道关就是这套规则要依次通过的地方。
这三处判断有一个共同点:做对了,输出读起来毫无异样;做错了,也不会以报错的方式暴露,而是把问题原样带下去。
多栏排版的第一层难点是"物理相邻不等于阅读相邻"。两栏作文纸里,左栏最后一行与右栏第一行在纸面上隔着一道空白,在阅读顺序上却是紧挨着的。
要过这道关,判断要分三步做。第一步是识别栏与栏之间的空白通道,把画面切成若干纵向区域;第二步是把每个文字块归属到它所在的栏;第三步是在栏内自上而下排序,栏间按从左到右衔接。三步里最容易被忽略的是第二步:文字块贴近栏界、或者某一栏只有短短几行时,归属判断会变难,一个字块判错栏位,它就会跑到另一个完全不相干的位置上。
分栏判断在双语材料里还有一层特殊要求。中文作文字数多、行距紧,栏界附近的书写容易越线;英文单词较长,写到栏末时可能被拆到下一行开头,跨栏的片段看起来像是另一栏的内容。这些都需要在分栏判断时一并考虑,而不是靠单一的空隙宽度阈值来决定。
分栏信息本身不会出现在最终文本里,但它决定了文本的排列方式。分栏判断一旦出错,输出会是一段"每个字都对、顺序全错"的文本。
从识别的角度看,涂改带来的问题有一个共性:纸面上同时存在被否定的内容和被确认的内容,机器必须判断哪些该留下。这个判断在中英文里的表现形式不一样。
中文作文的涂改多为整句划掉和行间补字。划掉的句子往往较长,线条与笔画在图像上会混在一起;补写常在字缝之间,位置紧凑,一两个字挤在上一行的空隙里。英文作文常见的是单词级修改:改写结尾的字母以调整时态或单复数、划掉整个单词后在上方补写、用插入符号添加缺漏的词。单词级修改的难点在粒度更细——补写的一两个字母紧挨着原词,稍不留意就会与相邻字母连成另一个词,读出来是拼写错误,而学生原本写的没问题。
覆盖重写是两种语言都常见的情况。涂改带、涂黑或者直接压在原字上重写,都会让字形不完整,需要结合上下文推断这个位置该是什么字。中文字数多、可选项多,推断难度更高;英文受拼写规则约束,可选项相对少一些。
无论形式如何,下游要的都是同一份产物:内容对应学生最终想表达的版本,涂改痕迹属于过程信息,不该混进结构化文本。这个前提不成立时,下游的批改会大量误判——教师看到的"错误",可能是修改过程留下的痕迹,而不是学生最终的写法。
前两关处理完之后,还有一道关看起来最简单,影响却最直接:阅读顺序。
输出是线性文本。线性意味着顺序本身携带信息——同样的字符按不同顺序排出来,是完全不同的两句话。在中文里,阅读顺序错乱会产生看起来像病句、实际是乱序的字符串;在英文里,单词顺序颠倒会直接破坏语法结构。更麻烦的是,下游处理的都是"按顺序理解"的任务:批改要定位到具体句子,素材整理要能按段落取用,归档要能还原整篇结构。顺序错了,这些动作全部跟着错位。
判断阅读顺序的依据,是人的阅读习惯,而不是像素坐标。多栏排版、页面插图、行间批注、跨栏书写,都会打断图像上的线性排布。中英文混排时这种打断更常见:同一段落内两套排布规则交替出现,行末还可能有一次断词拆行。阅读顺序要还原到"读起来对"的程度,输出才能真正可用。
三关的关系到这里也就清楚了:它们之间存在先后依赖——分栏判断错了,阅读顺序再准也只是在错误的栏位上排序;涂改判断错了,顺序再对也只是把错的内容排整齐。缺其中任何一环,输出都不可用。
输出规范决定了结构化文本能走多远。顺序正确、内容完整的文本,可以进入三条下游路径。
第一条是批改。批改里的诊断动作依赖文本本身的正确性,也需要能定位到具体位置:哪里是学生真正写错的,哪里是表达不够好的。文本顺序错乱时,定位就失去意义;文本缺了涂改后的新内容时,诊断会落在旧内容上。识别的输出规范越稳,教师复核时越省力。
第二条是教研素材。识别出来的作文文本可以进入素材库,供讲评、教研与范文选取使用。这条路径对输出规范的要求偏向结构:段落边界要清晰,中英文段落不该被混成一段,后续按段落取用或按语种筛选时才不必再人工回切。中英夹杂的作文尤其怕这一点——如果中文和英文被并成一段连续字符,按语种做的统计都会失真。
第三条是电子化归档。纸本作文的检索只能靠翻,转成文本后可以按班级、学期、题目归档和检索。归档对输出规范的要求偏向完整与顺序:一篇作文读下来要能还原成学生写的样子,包括中英文混排与较长篇幅的段落。
三条路径的侧重并不相同,但都建立在一个共同前提上:输出的文本要按阅读顺序排列,内容与学生的真实表达一致。
中英文手写作文识别对应接口 HandwritingEssayOCR,默认频率限制 5 次/秒。输入侧有几项参数直接决定能不能识别:Base64 编码后不超过 10M,分辨率建议 600×800 以上,图片下载时间不超过 3 秒,仅支持 PDF 单页识别;可接收的文件格式为 PNG、JPG、JPEG、BMP 与 PDF。双语作文如果分多页拍摄,需要按页分别识别,一页一次调用。
计费按次。后付费 0.24 元/次;预付费资源包 1000 次档 360 元,折合 0.36 元/次,1 万次档 3000 元,折合 0.30 元/次,10 万次档 18000 元,折合 0.18 元/次。按日常价折算,前两档的单次成本都高于后付费,年度用量在万次量级时按量付费反而更省,资源包要到更大的量级才能把单次成本摊到后付费以下。免费额度同样是 1000 次/用户,开通时一次性发放、1 年内有效。
双语手写识别的难处,不在多认几种字,而在同一页纸上同时面对中英文两套书写逻辑,再叠加分栏、涂改、阅读顺序这三道版面判断。任何一关出错,输出看起来正常却用不了——分栏错位、顺序颠倒,或把涂改痕迹混进了正文。三关都过,得到的才是一份按阅读顺序排列、与学生真实表达一致的结构化文本,也才有条件进入批改、教研素材与归档。
如果手写作文的电子化正卡在中英混排和分栏这两处,可以先取一个班的双语作文做小规模验证,重点看分栏归属与阅读顺序的实际表现,再决定覆盖范围。中英文手写作文识别首次开通即发放 1000 次免费额度、一年内有效,用免费额度就够把识别链路验证一遍,不必一上来就付费;确认效果后再按需放量,可对照 文档智能特惠活动 的折扣档位:中英文手写作文识别不限新老用户低至 6 折,按用量选规格更划算。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。