N-gram Injection into Transformers for Dynamic Language Model Adaptation in Handwritten Text Recognition

该论文提出了一种在推理阶段动态注入外部 n-gram 语言模型的方法,使基于 Transformer 的手写文本识别网络能够在不针对目标域图像 - 文本对进行额外训练的情况下,有效适应语言分布偏移并显著提升识别性能。

Florent Meyer, Laurent Guichard, Denis Coquenet, Guillaume Gravier, Yann Soullard, Bertrand Coüasnon

发布于 2026-03-05
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇文章主要解决了一个手写文字识别(HTR)中的常见难题:当训练模型用的“教材”和实际要识别的“考题”语言习惯不同时,识别率为什么会暴跌?以及作者是如何用一种巧妙的方法解决这个问题。

我们可以把这篇论文的故事拆解成以下几个部分,用生活中的比喻来解释:

1. 背景:聪明的“翻译官”也有偏科的时候

想象你雇佣了一位非常聪明的翻译官(这就是现在的 AI 模型,基于 Transformer 架构)。

  • 训练阶段:你让他读了成千上万本法国菜谱(源数据),他因此变得非常擅长识别和翻译法国菜的名字。
  • 实际工作:突然,你让他去翻译法国历史档案里的地名和人名(目标数据)。虽然都是法语,但菜谱里全是“土豆、洋葱、炖煮”,而档案里全是“巴黎、路易、街道”。
  • 结果:这位翻译官因为太习惯菜谱的词汇,看到“巴黎”时,大脑里还在想“土豆”,导致翻译错误百出。

在学术界,这被称为**“语言分布偏移”(Language Shift)**。目前的顶尖 AI 模型在训练数据上表现完美,但一旦遇到语言习惯不同的新数据,性能就会断崖式下跌。

2. 核心问题:为什么不能直接重练?

通常的解决办法是:“既然菜谱不行,那就用历史档案重新训练他吧!”
但现实很骨感:

  • 没有“标准答案”:在工业界(比如识别手写投诉信),我们只有手写的图片,没有对应的文字(因为还没人把字打出来)。
  • 成本太高:重新训练一个巨大的 AI 模型既花钱又花时间。

作者的目标是:能不能在不重新训练模型、没有“标准答案”的情况下,让这位翻译官在考试时瞬间切换思维模式?

3. 解决方案:给翻译官配一个“随身小词典”(NGI)

作者提出了一种叫**"N-gram 注入”(NGI)**的方法。

  • 什么是 N-gram?
    想象一下,你手里有一本**“概率小词典”**。它不教完整的句子,只告诉你:“如果前面出现了‘法’字,后面跟着‘国’字的概率是 90%,跟着‘式’字的概率是 10%"。这种基于统计的小词典非常轻量,计算极快。

  • 怎么做“注入”?
    作者没有把这本小词典放在最后让翻译官“事后检查”(传统的后处理方法),而是直接把小词典的内容“喂”进翻译官的大脑里,让他一边看字一边参考。

    • 比喻:就像翻译官在翻译时,左手拿着图片,右手拿着一本实时更新的概率小词典
    • 动态切换:最关键的是,这本小词典是可更换的
      • 做菜谱翻译时,换一本“菜谱小词典”。
      • 做历史档案翻译时,瞬间换成一本“历史地名小词典”。
    • 无需重练:因为小词典是外部提供的,翻译官(AI 模型)本身不需要重新学习,只需要学会如何灵活使用这本小词典即可。

4. 实验过程:给模型造了个“偏科”考场

为了证明这个方法有效,作者自己搞了一些“偏科”的数据集:

  • IAM 和 RIMES 数据集:他们把原本的数据集强行切分,让“训练集”和“测试集”的词汇完全不同(比如训练集全是常用词,测试集全是生僻词)。
  • N2S 数据集:这是一个真实的工业场景,专门识别手写表单里的“名字”和“姓氏”。

结果令人惊喜:

  • 没有小词典时:模型在遇到生僻词或新领域时,错误率直接翻倍(比如从 4% 飙升到 30%)。
  • 注入小词典后:模型在测试集上的表现大幅回升,错误率显著降低,甚至接近在训练集上的水平。

5. 为什么这个方法很厉害?(三大优势)

  1. 灵活(Dynamic):就像给汽车换轮胎一样,遇到什么路况(什么语言环境),就换上什么轮胎(什么 N-gram 词典),不需要把车拆了重造。
  2. 便宜(Low Cost):N-gram 小词典非常小,计算速度极快,几乎不增加额外的时间成本。
  3. 聪明(Smart Integration):作者把小词典直接“注入”到模型的最底层,让模型学会自己判断什么时候该听小词典的,什么时候该相信自己看到的图片。比如,如果字迹太潦草看不清,模型就会更依赖小词典的提示;如果字迹很清晰,模型就主要看图片。

总结

这篇论文就像是在说:

“别指望让 AI 记住世界上所有的语言习惯(那太累了)。不如给它配一个智能的、可随时更换的‘外挂小抄’。当它遇到陌生的手写内容时,只要给它一本对应领域的小抄,它就能瞬间从‘菜谱翻译’切换成‘历史专家’,而且不需要重新上学。”

这种方法让手写识别技术在面对真实世界中千变万化的文档(如不同行业的表格、不同人的书写习惯)时,变得更加鲁棒实用