字母还原:利用一对一和带状RNN逆转中世纪文本中的字符集简化与缩写
摘要
本文提出了用于逆转中世纪文本中字符集简化和缩写的神经方法,采用一对一和带状RNN,并通过自监督或平行语料库进行训练,同时介绍了一个用于字母还原的Python库。
arXiv:2607.09291v1 Announce Type: new
摘要:中世纪文献转录者的实践差异极大;此外,异构的数字化政策导致语料库中的字符集必须被视为流动的。本文以灵活的方式处理字符集之间的转换问题。我们聚焦于一对一字符映射,训练字符级别的一对一RNN通过自监督来撤销这些映射;即便仅有20行文本,也能恢复一半的CER。我们分析了这些一对一网络用于HTR后校正的效果,发现它们在完全忽略插入-删除操作的情况下取得了显著改进。随后,我们使用完全相同的网络,结合从平行语料库编译的字符级对齐真实数据,采用一种称为带状RNN的训练与推理模式。我们利用这些网络成功扩展了中世纪宪章转录中的缩写。最后,我们引入了一种精细的启发式方法,该方法接受两个任意字符集的字符,并定义一个度量来封装我们所认为的字符语义相似度。我们将这种映射的构建称为字母还原,并呈现一个丰富的Python库,可高效执行所有提出的方法。
查看缓存全文
缓存时间: 2026/07/13 07:57
# 文字词形还原:用于逆转中世纪文本字符集简化和缩写的一对一与带状循环神经网络
来源:https://arxiv.org/html/2607.09291
11institutetext:格拉茨大学,奥地利格拉茨
11email:\{firstname\.lastname\}@uni\-graz\.at22institutetext:巴塞尔大学,瑞士巴塞尔33institutetext:那不勒斯腓特烈二世大学,意大利那不勒斯###### 摘要
中世纪文献转录者的实践差异很大;此外,各不相同的数字化策略导致语料库中的字符集必须被视为流动的。本文以灵活的方式处理字符集之间的转换问题。我们专注于一对一字符映射,并训练字符级的一对一循环神经网络通过自监督来撤销这些映射;即使只有20行文本,也能恢复一半的字符错误率。我们分析了这些一对一网络在HTR后期校正中的使用情况,发现它们在完全忽略插入/删除的情况下仍能显著提升性能。然后,我们使用完全相同的网络,基于从平行语料库编译的字符级对齐真实数据,采用一种我们称为带状RNN的训练和推理模式。我们使用这类网络成功扩展了中世纪宪章转录中的缩写。最后,我们引入一种精细的启发式方法,该方法获取两个任意字符集的字符,并定义一个度量标准来封装我们认为的字符语义相似度。我们将这种映射的构建称为文字词形还原,并提供了一个丰富的Python库,高效地实现所有提出的方法。
## 1 引言
本文中,我们探讨了数字化中世纪文献时应使用何种字符集,以及如何在字符集之间有效切换的问题。
虽然我们承认前数字时代的规范化问题[2](https://arxiv.org/html/2607.09291#bib.bib2),以及使转录稿符合中世纪晚期一种难以捉摸的理想语言状态的风险[15](https://arxiv.org/html/2607.09291#bib.bib15),但我们不打算从语言学家的角度讨论这些话题,而是服务于数字语料库策展人和远程读者的实际需求。是否存在对齐字符集的方法,使得训练数字化工具和一致评估其性能变得更加容易,同时又不会抹去那些使这些语料库对数字人文研究者至关重要的时间和空间上的变化?
相互冲突的需求和权衡使得无法给出哪种方法最优的明确答案,但我们试图为此问题提供可量化的见解。光学字符识别(OCR)历史悠久,开源OCR工具推动了该主题的研究[21](https://arxiv.org/html/2607.09291#bib.bib21), [3](https://arxiv.org/html/2607.09291#bib.bib3), [18](https://arxiv.org/html/2607.09291#bib.bib18), [14](https://arxiv.org/html/2607.09291#bib.bib14)。随着神经网络(NN)应用于OCR,OCR性能得到提升[4](https://arxiv.org/html/2607.09291#bib.bib4),以至于它们也能执行可用的手写文本识别(HTR)[20](https://arxiv.org/html/2607.09291#bib.bib20), [19](https://arxiv.org/html/2607.09291#bib.bib19),这是一项更为艰巨的任务。与OCR不同,HTR无法有效利用合成数据训练,且对手写风格更为敏感。如今许多数字化项目采用HTR来数字化其大部分语料库,但通常需要手动转录语料库中的代表性部分,以使HTR引擎适应其数据,并对整个过程进行全面的质量控制。我们的方法假设HTR训练和质量评估是转录文本的主要用例。同时,我们认识到语言分析、远读[17](https://arxiv.org/html/2607.09291#bib.bib17)和语料库自动索引也是重要的用例,而它们在文本编码方面并非都能由相同的字符集最佳地服务于所有用例。字符集也是协调不同语料库以将其合并为更大语料库的关键问题。较小且一致的字符集进一步促进搜索和索引,因为查询及其目标不再需要在每个变体字形的编码上保持一致。
当处理中世纪文献时(我们的用例),中世纪Unicode字体倡议(MUFI)[11](https://arxiv.org/html/2607.09291#bib.bib11)提供了最广泛的字符集,但由于其庞大的规模(1501个字符),引发了许多问题,例如11个字符超出Unicode的基本多文种平面(BMP),以及713个字符位于BMP的私人使用区(PUA),这些不被视为Unicode标准的一部分[22](https://arxiv.org/html/2607.09291#bib.bib22)。即使是MUFI中位于PUA之外、BMP之内的777个字符,对于大多数用例来说也可能过多。最重要的是,由于HTR模型本质上是将每个符号分类为已知符号列表中的一个,更大的字符集使任务更加困难。此外,由于任何类型的统计语言模型都需要语料库中符号的充分统计表示才能优雅地处理它们,单个(或准单个)符号的效用值得怀疑。
为了以非侵入性方式解决字符集问题,我们建议在数字人文(DH)流程中广泛使用字符集简化映射,以便不同的用例可以依赖最适合它们的字符集。
一个密切相关的规范化问题是缩写的处理。中世纪抄写员大量使用缩写,是否转录缩写的原形或展开形式是一个长期存在的难题,对HTR训练和下游搜索产生直接影响。与字符集简化不同,展开缩写并非一对一操作——单个缩写标记可能展开为多个字母——因此需要建模插入和删除,我们通过带状RNN来解决这一问题。
本文的主要贡献如下:我们提出了`pylelemmatize`库,高效实现字符集简化映射(CSM);我们引入了文字词形还原,这是一种字符相似度启发式方法,可在任意一对字符集之间自动推导CSM;我们提出一对一RNN,通过自监督反转CSM,并将其用于获取CSM抑制信息的经验测量以及作为HTR后校正步骤;我们引入了带状RNN,将相同架构扩展到涉及插入和删除的映射,并应用于中世纪缩写展开;最后,我们提供一个用于HTR后校正的语料库,包含机器生成的逼真错误,以及一个由33份宪章中文本行对组成的意大利中世纪缩写平行语料库。
## 2 文字词形还原
在考虑中世纪文献转录策略的替代方案时,我们必须考虑生成的数据最终将如何使用。文档数字化已有悠久传统,可追溯到文档图像无法数字处理的时代。这几十年来塑造了一种思维模式,即数字转录稿应是文档唯一的计算机化版本,因此需记录其所有内容,且尽可能详细。在这方面,数字转录稿在某种程度上类似于几个世纪前在缮写室制作的副本,其功能是促进文档的保存和传播。如今视觉计算的普及使得脱离图像来仔细研究手稿变得不可想象。在当代用例中,文档转录的角色正逐渐转向促进与原始图像结合的细读,以及更大程度上促进大型语料库的自动索引和远读分析。简而言之,转录稿从学者可读的数字表示转变为机器可读的东西。从更功利的角度看,文档转录的主要目的可视为训练HTR模型的真实数据。鉴于一个训练良好的模型可以转录比其训练集大几个数量级的文档集,它本质上将转录者的努力放大了同样的数量级。当然,也存在一些用例,如古文字分析,其中精确表示连字、缩写及类似特征至关重要:这些特定应用不适合简化字母表。
### 2.1 字符集简化映射
从信息角度来看,更大的字符集记录更多信息。我们将字符集简化映射(CSM)定义为一对一的字符映射,包括一个指定的未知字符,所有词汇表外的字符均映射到该字符。基于此,我们建议将CSM作为一种轻量级软件层实时应用,而非持久化到长期存储中,从而允许在流程的任何阶段“调整”字符映射,而无需修改存储的数据。在Python3中,这种行为可以通过`defaultdict`实现,但本质上通用的字典就足够了。因此,我们推出`pylelemmatize`¹¹¹`pylelemmatize`采用MIT许可,网址为https://github.com/anguelos/pylelemmatize,这是一个轻量级Python库,实现了此功能以及更多功能,如unigram语言模型提取、自动字符集对齐和字符错误率(CER)估计。
### 2.2 逆映射
当多个字符映射到单个字符时,每次应用CSM都会移除一些信息。给定一个语料库,可以利用自监督学习撤销映射;这有助于减少此类CSM引入的信息损失。利用CSM的一对一约束,可以更容易地训练循环神经网络(RNN),如长短期记忆网络(LSTM)[12](https://arxiv.org/html/2607.09291#bib.bib12),因为输入和输出完美对齐。在图1 (https://arxiv.org/html/2607.09291#S2.F1)中,可以看到用于学习反转映射过程的建议架构。该架构只有一个参数用于隐藏层大小,该大小在网络中保持一致,唯一的例外是嵌入层,其大小还取决于源字符的数量,以及输出层,其大小取决于目标字符的数量。由于未来和过去事件的上下文都很重要,因此采用双向LSTM层。此类网络的输入是一个整数序列,每个整数对应待逆映射序列中的每个字符,而输出是针对每个输入字符在每个目标字符上的概率分布。我们将这些替换对齐的网络称为一对一RNN。
参考图注
图1:逆映射(一对一)RNN的架构,在输入“SERVVS”上展开。每个输入字符被嵌入,通过一组共享权重的双向LSTM层,然后由一个逐位置线性层投影到目标字符的概率分布。输入和输出一对一对齐,因此网络使用逐位置的交叉熵进行训练。
### 2.3 文字词形还原
字符集简化映射可以手动指定,但为大型字符集表达完整映射是费力的。我们引入文字词形还原:一种启发式方法,通过量化字符之间的相似度,在任意一对字符集之间自动推导CSM。该启发式方法完整描述如下;参考实现可在`pylelemmatize`²²²参考实现:https://github.com/anguelos/pylelemmatize/blob/main/src/pylelemmatize/char_distance.py中获得。
该启发式方法将相同字符的相似度赋值为`1`。对于不同字符,它从以下加权特征中累加得分`s`(初始化为`0`),其中`[P]`表示如果谓词`P`成立则为`1`,否则为`0`;`r(x,y) ∈ [0,1]`是`difflib`序列匹配比率 `2M/(|x|+|y|)`(`M`为匹配字符数);`u(⋅)=unidecode(⋅)`是Unicode到ASCII的音译[5](https://arxiv.org/html/2607.09291#bib.bib5):
- Unicode类别:如果字符共享相同的主要Unicode类别(字母、数字、标点、符号、标记……),则`+0.1`;如果它们的完整两字母类别相同,则再加`+0.2`。
- Unicode名称重叠:当两个字符都有名称时,令`T_a, T_b`为其名称`n_a, n_b`的空白分隔标记集合,添加`0.3 * |T_a ∩ T_b| / max(|T_a|,|T_b|) + 0.2 * r(n_a, n_b) + 0.1 * r(n_a', n_b')`,其中`n'`是名称的前半部分。
- 大小写、空白、标点:如果两个字符均为字母且忽略大小写后相等,或均为空白,或均为ASCII标点,则每个条件`+0.2`。
- ASCII音译:如果`max(|u(a)|,|u(b)|) > 1`,则添加位置加权一致项`(1/(|u(a)|*|u(b)|)) * Σ_{i,j} [u(a)_i = u(b)_j] * w_i * w_j`,权重`w`从`1.5`(最左)线性递减到`0.5`(最右),使得首字符占主导;否则添加`0.7 * [u(a)=u(b)]`。
- 不区分大小写的音译:对上一步的小写形式重复(单字符权重为`0.5`而非`0.7`)。
- 音素类别:使用小写音译,如果相等则加`0.25`,如果两者均为元音则加`0.2`,如果两者均为辅音则加`0.1`。
- 序数邻近度:一个小项`0.05 * σ(|ord(a)-ord(b)|)`,其中逻辑斯蒂函数`σ(x)=1/(1+e^{-x})`。
累加得分通过以下方式挤压到`[0,1]`:
`f(s)=2 * 1/(1+e^{-s}) - 1`, (1)
最终相似度对称化为:
`sim(a,b) = 1/2 * (f(s_{a,b}) + f(s_{b,a}))`。
为了构建CSM,每个源字符映射到与之具有最高相似度的目标字符;如果该最高相似度低于`0.35`,则源字符映射到未知字符。由文字词形还原推导的映射满足一对一约束,因此不能优雅地处理多字符映射(如连字)。图2 (https://arxiv.org/html/2607.09291#S2.F2)显示了来自拉丁语、西里尔语、希伯来语、阿拉伯语和希腊语的非常多样字符之间的指示性距离矩阵`(1-相似度)`。
参考图注
图2:文字词形还原的字符指示性距离矩阵。文字词形还原自动推导的映射可以在`pylelemmatize`中轻松覆盖,但即使对于特定用例不是最佳选择,它们也提供了一个便利的框架。
### 2.4 带状RNN
一对一RNN利用了仅替换的约束:输入和输出序列完美对齐,允许在每一位置使用交叉熵进行训练。相似文章
@rohanpaul_ai: 大型语言模型可能不需要人类风格的语言。即,未来的人工智能系统可能会通过使用密集的、模型可读的消息来节省上下文空间,而不是冗长的常规散文。
本文介绍了BabelTele,一种压缩写作风格,通过使用缩写、符号和多语言片段将文本长度减少72.1%,同时为LLM保留了99.5%的语义保真度,论证了人类可读性与机器可恢复性是可分离的。
学习古希腊字母形态的历时表征
本文介绍了三个数据集(Hell-Char、PaLit-Char、Med-Char),用于古希腊字母形态的历时表征学习,并提出了一种基于相似性加权的有监督对比损失函数,结合空缺驱动增强方法,以鲁棒地学习跨越数百年手写变化的字符嵌入。
自回归大语言模型正式与鱼共眠(Yann LeCun是对的)
CETI项目使用大语言模型的架构解码抹香鲸的咔嗒声,揭示了其语音字母表,但也凸显出AI的统计模式匹配缺乏真正的理解。文章认为,AGI需要具身化、多模态的根基,而不仅仅是基于文本的模型扩展。
基于LLM的跨语言手写OCR自动机器学习:利用GPT-5、GPT-4o和Claude Sonnet 4的闭环神经架构搜索
本文提出了一种基于LLM的流水线,利用GPT-5、GPT-4o和Claude Sonnet 4自动设计跨语言手写OCR的神经网络架构,在阿拉伯语、英语和波斯语文本上实现了超过93%的准确率,无需人工干预。
基于历史文本的预训练语言模型
本文介绍了 TypewriterLM,一个参数规模为 7.24B 的语言模型,仅基于 1913 年之前的英文文本进行训练;同时介绍了 TypewriterCorpus(一个包含 540 亿 token 的清洗后历史语料库)以及指令微调数据集,以避免时间泄露和前瞻偏差。此外,还提出了一个基准测试套件 History-Event,用于评估时间定位能力和泄露情况。