为什么重要
表单(发票、申请书、报销单)是文档 AI 里最典型的业务形态,它的难点不是识字,而是理解「哪个标签对应哪个值」。FUNSD 把这件事形式化得很干净:先标出每个文本块是 question / answer / header / other,再标出 question 与 answer 之间的关联边。
这个「实体识别 + 关系抽取」的两段式定义,后来成了 Key Information Extraction(KIE)方向的标准范式。LayoutLM 系列正是在 FUNSD 上证明了「把版面坐标一起喂进去」的价值——纯文本模型做不对的键值对,加上 2D 位置信息就能做对。这条结论奠定了整个多模态文档预训练的基础。
今天 FUNSD 已经接近饱和,但它仍是最好的入门标尺:199 份表单、标注规范清晰、评测口径统一,做文档模型的回归验证非常方便。
构建方式
- 收集 199 份真实扫描表单(来自历史营销材料档案)
- 人工标注每个文本块的边界框与文本
- 为每个文本块打语义标签:question(字段名)/ answer(字段值)/ header(标题)/ other
- 标注 question 与 answer 之间的关联关系(哪个值属于哪个字段)
- 评测分两个子任务:语义实体标注(F1)与实体链接/关系抽取(F1)
任务示例
一份表单上有:
[header] Application Form
[question] Name: [answer] John Smith
[question] Date of Birth: [answer] 1985-03-12
[question] Address: [answer] 42 Park Ave, NY
模型需要输出每个块的标签,并建立 Name: → John Smith、Date of Birth: → 1985-03-12 这样的关联。
难点在布局歧义:有些表单的标签和值不在同一行、值在标签下方或右侧远处,纯文本顺序无法判断归属,必须依赖 2D 坐标。
最新进展
- LayoutLM 系列在 FUNSD 上取得大幅提升,确立了「文本 + 版面坐标」多模态文档预训练的路线
- 后续 LayoutLMv2/v3、LayoutXLM(多语种扩展)、Donut、UDOP 等模型持续推高分数,目前已接近饱和
- 关系抽取子任务仍是区分点:实体标注容易刷高,但「标签-值」关联在复杂版面上仍会出错
关键发现
- 2D 位置信息是关键:同样的文本序列,加上坐标后 KIE 性能显著提升——这是文档多模态预训练的核心动机
- 关系抽取比实体识别难:识别「哪块是字段名」容易,判断「这个值属于哪个字段」才是真难点
- 规模小但标注精:199 份的量级在今天看很小,但标注质量高、口径统一,作为对照集价值持久
- 饱和提醒:分数已接近上限,做选型应配合 XFUND(多语种)、CORD(票据)等更难的基准