古书虫蛀缺字怎么办?别让 AI 瞎猜——一篇新论文说:给模型外挂一个"历史词典",让它能去查
- 关联论文:2607.21936
你有没有这种崩溃时刻?
翻一本古书 / 族谱 / 老档案,关键那几行字正好被虫蛀、墨迹剥落——你盯着残缺的笔画猜了半天,越猜越没谱。
在历史学、文献学、古籍数字化领域,缺字补全几乎是一切下游工作的"卡脖子第一步"——
检索、问答、可视化都要等文本补全才能跑。但这一步偏偏是 AI 最容易"瞎编"的环节。
arXiv:2607.21936(作者把它命名为 ARI)做了一件很朴素但工程价值很高的事:
把"补全任务"切两半——Masked LM(掩码语言模型)负责通用字词填空(这部分 AI 已经很稳),RAG(检索增强生成)专门负责命名实体消歧(人名、年号、地名、官职)。
一句话:在缺字是"人名 / 年号 / 地名"那种需要历史背景知识的地方,模型可以去查一个外挂知识库,而不是硬凭内置先验瞎猜。
为什么这件事值得大众关注
"AI 自动修古书"听起来小众,但实际上是数字人文、图书馆、档案馆、古籍数字化项目的真痛点。
之前两条老路都撞墙:
- 纯 Masked LM:让模型根据上下文填空。对普通字词很稳,但遇到"需要历史背景才能确定的人名 / 年号 / 官职"——猜错率非常高,要么瞎编一个看起来合理的(hallucination),要么填个错的。
- 纯 LLM 补全:模型内置知识可能覆盖到一些名人,但训练截止时间 + 语料偏好决定它对长尾实体(地方小官、民间人物、生僻年号)几乎必然失败。
核心矛盾:"局部上下文"信息量根本不够——
人名背后的典故、年号对应的年表、地名在不同时期的归属、官职变迁、家族谱系关系——这些信息本来就不在残页里。模型没有外部知识,强行补只能靠幻觉。
ARI 的设计直觉:让 LLM 负责"语言",让外挂知识库负责"事实"
ARI 的架构只有一句话:
LLM 给出"候选" → 知识库检索给"证据" → LLM 重新排序决定用哪个。
三步流程(简化版)
第一步:候选生成
把每个缺字位置当作"问句",让 LLM 给出 top-k 个候选字符或词。这一步保留了 Masked LM 的"局部填空"能力,作为后续检索的"问句"。
第二步:实体级检索(关键创新)
针对每个候选实体(不是整段文本),去外部知识库召回相关条目:
- 人名词典(带字形变体、号、谥号)
- 年号表(年号→公元纪年对照)
- 地名词典(不同时期的归属变迁)
- 官职表(朝代官职名称、品级、职能)
- 家族谱系、官方档案
这一步是 RAG,但检索粒度是"实体级 + 候选级"——只对"可能出错"的命名实体去查库,普通字词不走检索。
这有两个直接好处:
- 精度高:检索 query 就是被 mask 的实体本身,召回空间小、信噪比高。
- 成本低:普通字词不触发检索,节省延迟与算力。
第三步:重排序 + 证据注入
把候选 + 检索证据一起塞回 LLM 的 prompt,让 LLM 在"我看到的事实"和"我已有的语言模型先验"之间权衡。
这一步把"该不该信检索结果"也交给 LLM 判断,而不是简单投票——这是 ARI 的核心机制。
为什么这跟朴素 RAG 不一样
朴素 RAG:把整段文本塞进检索器,召回的是"段落级证据"——容易把候选淹没在噪声里。
ARI:实体级 + 候选级检索。只对"可能出错"的命名实体候选去查库,普通字词直接走 Masked LM 跳过检索。
这个设计思路对所有"高实体密度"任务都有迁移价值——
- 法律文书(罪名、条款、当事人)
- 医疗记录(药名、症状、检查项目)
- 专利文献(发明人、技术术语)
这些场景里,实体一旦错,全文就废。 ARI 的"实体级 RAG"是这类任务的通用工程模板。
数据与定位
论文在朝鲜王朝历史文档上验证:
- 普通字符补全:相对基线显著提升
- 命名实体补全:提升幅度更大——正是 RAG 模块设计的靶点
- 专家评估(domain expert):确认 ARI 输出可作为研究辅助工具——专家不是"否决"而是说"可用"
论文定位是"研究辅助"而非"自动出版"——专家仍需对关键事实复核。这一点符合历史学界的谨慎传统,也对工程落地很关键:全自动出版会引入伪史,研究辅助 + 人工复核才是稳的路径。
⚠️ 几处需要警惕的边界
- 检索库覆盖面决定上限:冷僻人物、年号、变体写法仍会失败。论文未明确知识库规模与维护成本——冷启动要花大力气。
- 仅在韩文历史文档验证:跨语种(中文、阿拉伯文、拉丁文古文献)泛化未知。
- 不支持结构性损伤:候选生成仍依赖 Masked LM 思路,对"整段缺失""版面错位""图像级污损"未覆盖。
- 延迟 / 成本未充分讨论:长文档场景下未明确 LLM 调用成本。
- 检索库偏差会被放大:知识库如果偏向官方 / 主流文献,民间记载与女性相关史料可能被系统性边缘化。
- 没有"宁可不补"的保守策略:检索得分低的时候要不要强行补?原文没说。工程落地必须补这一层——建议:当检索得分 < 0.5 且无多源一致证据时,标注
[?]留待专家,不要强行填空。
对普通人意味着什么
如果你做古籍数字化 / 档案智能化:ARI 给出"分层补全"的工程模板——先 Masked LM 处理通用字词(快、低成本、高准确),再 RAG 单独打命名实体消歧(慢、高成本、高价值)。这是最划算的成本结构。
如果你做 RAG 系统:ARI 的"实体级 + 候选级检索"是一个被低估的范式。段级 / 文档级检索在补全、问答、纠错这类任务上粒度太粗——实体级 + 候选级是更稳的工程模板。
如果你做数字人文 / 图书馆 / 博物馆:把已有的人名词典 / 年表 / 地名词典结构化,做最小可行知识库,再迭代检索器。这是大多数文献机构能立刻动手的路径。
如果你做内容审核 / 事实核查:ARI 的"外挂知识库 + 显式检索证据"思路——把"知识"和"模型"解耦后,编辑知识库比 fine-tune 模型便宜得多,也更容易接受同行评审。这是高合规要求场景下的产品感工程建议。
如果你关心 AI 幻觉:ARI 给了一个朴素但强大的答案——模型不知道的事,让它能去查。不要把所有事情都塞进模型的"内置先验"。
一句话总结
2607.21936(ARI)不是"更强的 Masked LM"——
它是 "Masked LM + 可外挂的知识库 + 实体级 RAG" 的组合拳。它解决的不是炫技问题,而是"低资源 + 高实体密度"文本补全里最朴素也最顽固的那一截——
模型不知道的事,让它能去查。
下次听到"AI 幻觉"——✨ 别急着加 RLHF,先想想你的领域里有没有可外挂的知识库。
📎 论文 ID:2607.21936 📚 应用领域:数字人文 / 古籍数字化 / 档案智能化
三个标题变体(便于分发到不同平台)
- 专业向:古书缺字补全的"实体级 RAG"范式——ARI 把语言先验与事实知识解耦,专门解决命名实体幻觉
- 工程向:别让 AI 瞎猜古籍缺字——给它外挂一个"历史词典",让它能查而不是编
- 科普向:古书虫蛀了关键那几行字怎么办?AI 的朴素答案是:别瞎猜,去查词典
小红书风格卡片文案(直接复制)
📜 古书虫蛀关键那几行字怎么办? AI 的朴素答案:去查词典 📜
你有没有这种崩溃时刻?
翻一本古书 / 族谱 / 老档案,关键那几行字正好被虫蛀、墨迹剥落——你盯着残缺笔画猜半天,越猜越没谱 😭
在历史学 / 文献学 / 古籍数字化领域,缺字补全几乎是一切下游工作的"卡脖子第一步"——
检索、问答、可视化都要等文本补全才能跑。但这一步偏偏是 AI 最容易"瞎编"的环节。
arXiv 2607.21936(作者命名为 ARI)给了一个超朴素的解法:
把"补全任务"切两半——Masked LM 负责通用字词填空(这部分 AI 已经稳),RAG 专门负责命名实体消歧(人名 / 年号 / 地名 / 官职)
一句话:在缺字是"需要历史背景"的地方,模型可以去查外挂知识库,而不是硬凭内置先验瞎猜 ✅
之前两条老路为啥都撞墙?🤔
❌ 纯 Masked LM:让模型根据上下文填空。对普通字词很稳,但遇到"需要历史背景的人名 / 年号 / 官职"——猜错率非常高,要么瞎编一个看起来合理的(hallucination),要么填个错的
❌ 纯 LLM 补全:模型内置知识可能覆盖到一些名人,但训练截止时间 + 语料偏好决定它对长尾实体(地方小官、民间人物、生僻年号)几乎必然失败
核心矛盾:"局部上下文"信息量根本不够——
人名背后的典故、年号对应的年表、地名不同时期的归属、官职变迁、家族谱系关系——这些信息本来就不在残页里。模型没有外部知识,强行补只能靠幻觉。
ARI 的设计直觉:三步流程 💡
🔹 第一步:候选生成 把每个缺字位置当作"问句",让 LLM 给出 top-k 个候选字符或词
🔹 第二步:实体级检索(关键创新 ✨) 针对每个候选实体(不是整段文本),去外部知识库召回相关条目: - 人名词典(带字形变体、号、谥号) - 年号表(年号 → 公元纪年对照) - 地名词典(不同时期的归属变迁) - 官职表(朝代官职名称、品级、职能) - 家族谱系、官方档案
这一步只对"可能出错"的命名实体去查库,普通字词不走检索 - ✅ 精度高:检索 query 就是被 mask 的实体本身,召回空间小、信噪比高 - ✅ 成本低:普通字词不触发检索,节省延迟与算力
🔹 第三步:重排序 + 证据注入 把候选 + 检索证据一起塞回 LLM 的 prompt,让 LLM 在"我看到的事实"和"我已有的语言模型先验"之间权衡
把"该不该信检索结果"也交给 LLM 判断,而不是简单投票——这是 ARI 的核心机制
为什么这跟朴素 RAG 不一样?🤨
朴素 RAG:把整段文本塞进检索器,召回"段落级证据"——容易把候选淹没在噪声里
ARI:实体级 + 候选级检索
这个设计思路对所有"高实体密度"任务都有迁移价值—— - ⚖️ 法律文书(罪名、条款、当事人) - 🏥 医疗记录(药名、症状、检查项目) - 📑 专利文献(发明人、技术术语)
这些场景里,实体一旦错,全文就废 💥
数据与定位 📊
论文在朝鲜王朝历史文档上验证: - ✅ 普通字符补全:相对基线显著提升 - ✅ 命名实体补全:提升幅度更大——正是 RAG 模块设计的靶点 - ✅ 专家评估:确认 ARI 输出可作为研究辅助工具——专家不是"否决"而是说"可用"
论文定位是 "研究辅助"而非"自动出版"——
专家仍需对关键事实复核。这符合历史学界的谨慎传统,也对工程落地很关键:全自动出版会引入伪史,研究辅助 + 人工复核才是稳的路径 🛡️
⚠️ 几个落地前必看的坑
❌ 检索库覆盖面决定上限:冷僻人物、年号、变体写法仍会失败
❌ 仅在韩文验证:跨语种(中文、阿拉伯文、拉丁文古文献)泛化未知
❌ 不支持结构性损伤:对"整段缺失""版面错位""图像级污损"未覆盖
❌ 延迟 / 成本未充分讨论:长文档场景下未明确 LLM 调用成本
❌ 检索库偏差会被放大:知识库偏向官方文献 → 民间记载被系统性边缘化
❌ 没有"宁可不补"的保守策略:建议当检索得分 < 0.5 且无多源一致证据时,标注 [?] 留待专家,不要强行填空
对普通人意味着什么 🤔
📜 做古籍数字化 / 档案智能化:ARI 给出"分层补全"的工程模板——先 Masked LM 处理通用字词(快、低成本、高准确),再 RAG 单独打命名实体消歧(慢、高成本、高价值)
🔍 做 RAG 系统:ARI 的"实体级 + 候选级检索"是被低估的范式。段级 / 文档级检索在补全、问答、纠错这类任务上粒度太粗
🏛️ 做数字人文 / 图书馆 / 博物馆:把已有的人名词典 / 年表 / 地名词典结构化,做最小可行知识库,再迭代检索器
✅ 做内容审核 / 事实核查:把"知识"和"模型"解耦后,编辑知识库比 fine-tune 模型便宜得多,也更容易接受同行评审——这是高合规要求场景下的产品感工程建议
🧠 关心 AI 幻觉:ARI 给了一个朴素但强大的答案——模型不知道的事,让它能去查。不要把所有事情都塞进模型的"内置先验"
📎 论文 ID:2607.21936 📚 应用领域:数字人文 / 古籍数字化 / 档案智能化
💬 评论区聊聊:你做 AI 应用时遇到过"模型瞎编人名 / 实体"的崩溃时刻吗?你打算怎么搭一个外挂知识库破局?👇