陈颂光
全栈工程师,承接从编译器到网站的各类软件开发与咨询,也可以聊历史哲学。
关注我的 GitHub

联机手写文档分析的现状与未来

随着触摸屏和笔式输入设备的普及,人们可以用电子设备代替传统的纸张作为书写的介质,从而更便于共享。不过,仅仅记录书写的轨迹并未充分体现电子化的优势,为了更好地支持编辑、搜索和各种自动化处理,还需要把手写的内容转换为更结构化的形式。与通过扫描或拍照等方式获取的手写文档图片相比,轨迹不但提供了时间、坐标和其它信息(如压感、倾斜角),而且夹杂了更少的的背景噪声,这就使得联机手写文档分析有比脱机手写文档分析做得更好的可能性。然而,做到完美仍然不太可能,所以如何利用不准确的结果就成为实用化的关键。

文档分析的任务

传统的联机手写文档分析一般先把笔画分成若干个对象并判断它们的类型,然后再分别识别它们的详细内容,前者被称为版面分析而后者被称为手写识别。这里所说的典型对象包括文本行、公式和绘画等等。

以下是一些现成的SDK:

  • MyScript的Interactive ink支持约70种自然语言的文本,另外支持数学公式识别和图表识别。
  • Google的ML Kit支持超过300种语言的文本,另外支持形状识别。
  • Microsoft的Win32 API同时支持版面分析和文本识别。

现有的主流技术

固然,我们可以把轨迹渲染为图片再使用脱机文档分析的技术,甚至可以通过把时间等信息嵌入到图像中以避免信息丢失,但这里主要简介联机手写能用的额外技术。

版面分析

识别

以典型的文字识别为例,我们列出一些标准的方法:

以公式识别为例,我们列出调参以外的一些可能可提高准确率的策略:

  • 数据增强。为了提高识别系统的泛化能力,可以通过合成数据来提高训练样本的多样性,从而抑制过度拟合。
  • 多任务学习。通过设计其它与识别任务共用部分参数的任务并与识别任务一起训练,可以引导模型学习到更通用的知识。
  • 限制识别范围。序列解码器有时会输出不合法的输出(如产生花括号不配对的LaTeX代码)或者输出应用场景不允许的结果(如在数字字段输出“lO”而非“10”)。通过约束识别范围可以确保结果合法并区分相似的符号。
  • 与脱机识别模型或语言模型相结合。联机识别模型更着重于时间信息,脱机识别模型更着重于空间信息,语言模型则着重于上下文信息,它们之间有互补性,故组合模型往往比单个模型更可靠。
    • 利用语言困惑度或其它模型对候选公式进行重新排序。
    • 利用n-gram或其它生成模型调整各候选符号的置信度。

参考资源

要进入联机手写文档分析领域的话,在公开的数据集上复现前沿论文的工作是一个不错的出发点。

数据集

数据集是开发联机手写技术的基本材料,以下是笔者知道的部分联机手写数据集:

数据集 来源 内容 主要用途
IAMonDo 伯恩大学 英文文档 版面分析
Kondate 东京农工大学 日文、泰文和英文文档 版面分析
CASIA-onDo 中科院 中文和英文文档 版面分析
Unipen Unipen基金会 英文字符、词和行 文字识别
IAMonDB 伯恩大学 英文文本行 文字识别、手写合成
VNOnDB 东京农工大学 越南文词、行和段落 文字识别
CASIA OLHWDB 中科院 汉字字符和中文文本行 文字识别
SCUT-COUCH2009 华南理工大学 汉字字符、词、拼音和中文文本行 文字识别
SCUT-onHCCTestDB 华南理工大学 汉字字符 文字识别
HIT-OR3C 哈工大 汉字字符 文字识别
Nakayosi 东京农工大学 日文字符 文字识别
Kuchibue 东京农工大学 日文字符 文字识别
ADAB 斯法克斯大学 阿拉伯文地名 文字识别
AltecOnDB ALTEC 阿拉伯文 文字识别
Online-KHATT 混合 阿拉伯文字符和句子 文字识别
Omniglot 混合 多语言字符 语言检测
CROHME 混合 数学公式 公式识别
Detexify Kirel 数学符号 公式识别
HWRT Martin Thoma 数学符号 公式识别
HOMUS 阿利坎特大学 音符 音符识别
Quick draw Google 手绘 形状识别
CASIA OHFC 中科院 流程图 图表识别
OHFCD 南特大学 流程图 图表识别
FC 捷克技术大学 流程图 图表识别
FA 捷克技术大学 有限自动机 图表识别
SigComp2009 DFKI 签名 签名鉴定
SigComp2011 DFKI 中文和荷兰文签名 签名鉴定
SigWiComp2013 DFKI 日文签名 签名鉴定
DeepSignDB 混合 签名 签名鉴定

论文

如果希望了解本领域的进展,可以跟进本领域比较有影响力的期刊和会议上发表论文。

会议 年份
International Conference on Document Analysis and Recognition (ICDAR) 单数年份
International Conference on Frontiers of Handwriting Recognition (ICFHR) 双数年份
期刊 类型
International Journal on Document Analysis and Recognition (IJDAR) 季刊
Pattern Recognition 月刊
Pattern Recognition Letters 月刊

另外,可以重点关注在本领域有影响力的团队发表的论文,以及它们的参考文献与引用它们的论文。

团队带头人 单位
Cheng-Lin Liu (刘成林) 中科院
Lianwen Jin (金连文) 华南理工大学
Jun Du 中国科学技术大学
Harold Mouchère 南特大学
Masaki Nakagawa 东京农工大学
Richard Zanibbi 罗切斯特理工学院
Olga Radyvonenko 三星研发部(乌克兰)

最后,也可以去预印本网站如ArXiv或论文搜索引擎如Semantic scholar搜索有关关键词。

未来的可能方向

纵使未来无法预知,但凭经验来说,笔者认为以下方向有较大的发展空间:

  1. 交互设计。在文档分析系统不容易取得突破的前提下,良好的交互设计正是提高用户体验的关键。呈现和修正文档分析结果的方式有很多可以探索的地方,与键盘和语音等其它输入方式的结合有时也可以弥补手写的弱点。
  2. 结果的自动化验证。假如可以较准确地判断结果是否正确并向用户提示可能的错误位置,将可以大幅减低用户校对所需的时间。即使现在的文档分析系统往往能给出置信度,但它们通常并不能准确地反映结果正确的概率(例如不意味着100个置信度99%的结果中大约有99个正确),还需要进行校准或利用其它算法估算。
  3. 错误感知的应用。在一些场景下,应用可能应该尝试利用不完全准确识别结果。例如,检索系统可以利用识别候选或识别系统的混淆矩阵做查询扩展,从而提高召回率。又如,在电话号码、证件号和邮箱等输入框,可以把结果限制/修正到相应范围。
  4. 无标注笔迹的利用。云端存储、分析与识别服务可以收集到大量笔迹,而人手对它们进行标注成本高昂且难以保障用户的隐私,因此如何自动化地利用这些笔迹来优化文档分析系统就是一个重要的课题。半监督学习和联邦学习中的技巧也许可以派上用场。
  5. 少样本定制。在只有少量样本或先验知识的情况下支持一个字符或者一种版面有利于提高文档分析系统的可定制性。这可能可以通过设计或学习字符或版面的抽象特征来实现。
  6. 用户习惯自适应。每个用户的书写风格和惯用语都不同,通过逐渐学习用户的特点,可以让软件越用越好用。
  7. 其它手写对象的识别。设计通用的框架去识别乐谱、化学结构式和各种工程图等等可扩展手写的应用范围。
关键词 文档分析