假设你是一位美食评论家,面前是一桌丰盛的宴席。如果你只关心每道菜的味道,而不看它们在餐桌上的位置,你可能会分不清哪道是开胃菜、哪道是主菜、哪道是甜点。同样,一段文字放在页面的左上角、右下角,还是在表格里,它的含义完全不同——这就是文档的「版面」。传统 OCR 和文本模型像蒙着眼睛品尝的食客,只靠文字流判断内容;而 LayoutLM 像一位既尝味道又看摆盘的大厨,把「文字内容」和「空间位置」一起放进模型,让 AI 真正理解一张发票、一份合同或一张表单。这篇文章会用这顿「宴席」作为主线,带你从零看懂 LayoutLM 如何把文本与版面位置联合编码,如何预训练,又如何在文档智能领域大展身手。

岗位关联

对 AI 从业者而言,理解 LayoutLM 是进入文档智能方向的必修课:它揭示了如何把非结构化的空间信息注入 Transformer 架构,这套方法论可迁移到票据识别、合同审查、知识图谱构建等高频工业场景,也是你选型文档理解技术栈时判断「该不该用布局感知模型」的依据。

目录
  1. 可视化演示
  2. 文档智能的挑战
  3. LayoutLM 核心思想
  4. 模型架构设计
  5. 预训练任务
  6. 下游任务应用
  7. 与纯文本模型对比
  8. 演进与局限
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示系统处理流水线、实时性能指标曲线及多方案对比分析,包含数据流转、吞吐延迟监控与方案评估。

本节配有交互动效(进入视口后自动加载,约 3KB)。

系统可视化 处理流程:输入→处理→模型→输出 性能监控:实时指标 P=L×T

文档智能的挑战

想象你第一次走进一家米其林餐厅的后厨,桌上摆满了食材,没有标签,没有摆盘,厨师只把食材一股脑倒进锅里。你很难分清哪块是今天的主料,哪块是装饰用的香草。文档智能面临同样的尴尬:OCR 把纸上的字都识别出来了,但「金额」「日期」「公司名」这些字段像一堆混在一起的食材,没有位置信息,模型很难知道它们的角色。更麻烦的是,每张发票、每份合同、每个表单的排版都不一样,有的字段在左边,有的在角落,没有统一模板可循。

传统做法是写规则或训练一个纯文本模型(如 BERT),让模型从文字流中找关键信息。但这就像蒙着眼睛吃宴席,只能凭味道猜菜名,常常把「主菜」当成「前菜」。文档中文字的位置本身就蕴含语义:标题居中、页眉在上、表格有行列关系。忽略位置,等于把整桌菜搅碎后再让人猜,信息损失巨大。

为了把这份「位置语义」形式化,我们可以把一页文档表示成一组「文本片段 + 边界框」的集合。这是 LayoutLM 一切工作的起点:

回到宴席的比喻:如果把文档当成一桌菜的「坐标图」,LayoutLM 要学习的就是「什么菜通常摆在哪里、和什么菜相邻」。聪明的读者已经发现,第一步是把这张坐标图完整交给模型,这正是下一节的核心。

D={(ti,bi)}i=1N\mathcal{D} = \{ (t_i, b_i) \}_{i=1}^{N}
每页文档相当于「菜谱」:每条文字(食材)和它在页面上的坐标框(摆盘位置)组成一行记录。
  1. 文本片段 t_i文档中第 i 个语义完整的文字单元,比如发票上的“金额”“1000.00”等词,像一道独立的菜。
    tit_i
  2. 边界框 b_i该文字在页面上的矩形位置,由四个角坐标描述,比如左上角和右下角,像盘子在餐桌上的摆放区域。
    bi=(xmin⁡,ymin⁡,xmax⁡,ymax⁡)b_i = (x_{\min}, y_{\min}, x_{\max}, y_{\max})
  3. 集合 D整页文档就是所有“菜和它们摆放位置”的配对集合。
    D={(t1,b1),(t2,b2),…,(tN,bN)}\mathcal{D} = \{ (t_1, b_1), (t_2, b_2), \dots, (t_N, b_N) \}
  4. N页面上的文本片段总数,类似这一桌宴席的菜品数量。有了这个表示,模型才知道「哪道菜放在哪里」。

LayoutLM 核心思想

有了「菜与位置」的清单,新的问题出现了:怎么让模型同时从「味道」和「摆盘」中学习?LayoutLM 的答案是:把文本内容和二维空间位置拼接成同一个输入表示,送到神经网络里。这就像让一位美食学徒在品尝每道菜的同时,用眼睛记录它在餐桌上的坐标,两种信号一起组成学徒的「第一印象」。

具体来说,每个文本片段 t_i 和它的边界框 b_i 会被转换成一个向量。这个向量由三块拼成:文本本身的内容向量、文本在阅读顺序中的一维位置向量、以及边界框代表二维坐标的向量。三者相加,得到一个「既知道这是什么字、又知道这个字在哪」的融合表示。这个设计让模型在预训练阶段就能学到版面布局的通用规律——比如「表格里的单元格往往数值相近」。

这个「文字 + 位置」的联合编码,让 LayoutLM 在预训练阶段并不是死记硬背文字,而是把「摆盘规律」一并纳入学习。现在模型拿到手的,是一张标好坐标的完整菜单,而不是一堆散落的菜名。

xi=Etext(ti)+Epos1D(posi)+Epos2D(bi)\mathbf{x}_i = \mathbf{E}_{\text{text}}(t_i) + \mathbf{E}_{\text{pos1D}}(\text{pos}_i) + \mathbf{E}_{\text{pos2D}}(b_i)
每个文本的最终输入向量 = 文本嵌入 + 一维位置嵌入 + 二维位置嵌入,相当于把「菜的味道」和「盘子的坐标」绑成一个标签。
  1. 文本嵌入把文字“金额”转换成一个向量,类似记录这道菜的味道指纹。
    Etext(ti)\mathbf{E}_{\text{text}}(t_i)
  2. 一维位置嵌入记录这个文本在阅读流中是第几个位置,类似上菜顺序里的第几步。
    Epos1D(posi)\mathbf{E}_{\text{pos1D}}(\text{pos}_i)
  3. 二维位置嵌入把边界框坐标映射成向量,类似菜在餐桌上的横纵坐标。
    Epos2D(bi)\mathbf{E}_{\text{pos2D}}(b_i)
  4. 向量相加三个向量逐位相加,就像把味道、上菜顺序、摆放位置三张信息卡片合成一张综合卡片。
    xi=etext+e1D+e2D\mathbf{x}_i = \mathbf{e}_{\text{text}} + \mathbf{e}_{\text{1D}} + \mathbf{e}_{\text{2D}}

模型架构设计

当融合向量准备好后,需要让这些「菜」互相交流,理解彼此关系。LayoutLM 采用了 Transformer 编码器作为主干。你可以把它想象成一场圆桌会议:餐桌上的每道菜(每个 token)都会向所有其他菜发出「你好,我的内容和位置是…」的消息,同时接收别人传来的消息,再更新自己的理解。这种机制就是自注意力。

模型整体是「嵌入层 → 多层 Transformer 编码器 → 输出层」。输入的三部分——文本、一维位置、二维位置——在嵌入层合并后,进入多头自注意力,让模型捕捉「标题后面跟着正文」「金额右侧通常是数字」这类依赖。与标准 BERT 不同的是,因为多了二维位置嵌入,注意力不仅能知道「这两个词相邻」,还能知道「这两个词在页面上处于什么空间关系」。

有了 Transformer 这个大转盘,LayoutLM 就能把页面中所有文字的位置信息互相传递。最终,每个文本 token 的输出向量都融合了全文上下文和空间上下文,这为下游任务打下了坚实基础。

Attention(Q,K,V)=softmax(QK⊤dk)V\mathbf{Attention}(Q, K, V) = \mathrm{softmax}\left( \frac{Q K^\top}{\sqrt{d_k}} \right) V
自注意力计算每对 token 之间的关联强度,Q 是“想找什么”,K 是“我是什么”,V 是“我要提供的信息”。除以 √d_k 是为了防止数值过大。
  1. Q、K、V每个 token 通过线性变换得到三个向量,分别代表“查询项”“键项”“值项”,类似参会者准备的提问、名牌和发言内容。
    Q,K,VQ, K, V
  2. 点积 QK^T计算每两个 token 之间的匹配分数,类似判断「这道菜的问题能不能由那道菜来回答」。
    QK⊤Q K^\top
  3. 缩放 √d_k除以向量维度的平方根,让点积结果保持稳定,类似控制会议音量不要过响。
    QK⊤dk\frac{Q K^\top}{\sqrt{d_k}}
  4. softmax 加权 V把分数变成权重,加权求和所有 V,得到输出,类似根据讨论热度汇总各方的有效发言。
    softmax(⋅)V\mathrm{softmax}(\cdot) V

预训练任务

好的大厨不是天生就会摆盘,而是见过成千上万桌宴席才总结出规律。LayoutLM 也需要在大量未标注文档上进行预训练,学习「什么内容配什么位置」。它主要做两件事:掩码文字预测(MLM)和文档布局分类(MDLC)。

第一件事是掩码语言模型:把文档中某些文本片段遮住,让模型根据周围文字和它们的位置去猜被遮住的词。注意,位置信息不遮——模型必须学会利用「被遮住的词是什么类型的词,通常出现在版面的哪个区域」来推理。这很像一场「盲品猜菜」:只告诉参赛者这道菜摆在冷菜区还是汤品区,让他结合周边食材猜菜名。第二件事是文档布局分类:模型看到整篇文档后,要预测它属于哪类文档(发票、简历、邮件等)。这迫使模型捕捉版面类型的全局信号。

预训练完成后,LayoutLM 已经是一位见多识广的「摆盘大师」。它不需要再从头学文档结构,只需在下游任务上稍作微调,就能快速适应新的版式和任务,极大节省了昂贵的标注成本。

L=LMLM+LMDLC\mathcal{L} = \mathcal{L}_{\text{MLM}} + \mathcal{L}_{\text{MDLC}}
总预训练损失 = 掩码文字预测损失 + 文档分类损失。两个任务共享同一个模型,让文本语义和布局语义互相促进。
  1. L_MLM掩码语言模型的交叉熵损失,衡量模型猜被遮住文字的对错,类似盲品猜菜的失分。
    LMLM\mathcal{L}_{\text{MLM}}
  2. L_MDLC文档布局分类的交叉熵损失,衡量模型判断文档类型是否正确。
    LMDLC\mathcal{L}_{\text{MDLC}}
  3. 相加两个损失直接相加,让模型同时优化「猜词」和「识别版面类型」两个目标。
    L=LMLM+LMDLC\mathcal{L} = \mathcal{L}_{\text{MLM}} + \mathcal{L}_{\text{MDLC}}
  4. 联合训练反向传播同时更新所有参数,使文本表示不断兼容位置信号。
    ∇θL=∇θLMLM+∇θLMDLC\nabla_{\theta} \mathcal{L} = \nabla_{\theta}\mathcal{L}_{\text{MLM}} + \nabla_{\theta}\mathcal{L}_{\text{MDLC}}

下游任务应用

学成出师的 LayoutLM,终于要上真实宴席了。最常见的任务是文档信息抽取:给定一张发票,模型要找出「金额」「发票号」「开票日期」分别在哪。这就像服务员接到顾客指令,要从一桌菜里精准夹出指定的食材——不仅要认识字,还要知道「金额」这个词右侧的数值通常就是要抽取的目标。

在微调阶段,我们会在 LayoutLM 的每个输出向量上加一个分类头,预测每个 token 所属的标签(如“金额的键”“金额的值”“背景”)。因为输出向量已经包含位置上下文,模型能轻易分辨位于纸张右上角的大号数字是发票号,而表格里的数字是金额。类似地,表单理解、票据识别、文档问答都采用几乎相同的套路:预训练好的编码器 + 轻量任务头。

在实际工程中,开发一个票据识别系统,通常先用 OCR 拿到文字和坐标,再交给微调过的 LayoutLM 完成字段抽取。这比早期纯规则系统更抗版面变化,也比纯文本模型更准,成为目前文档智能的主流方案之一。

P(yi∣ti,bi,D)=softmax(Whi+c)P(y_i \mid t_i, b_i, \mathcal{D}) = \mathrm{softmax}(W \mathbf{h}_i + \mathbf{c})
给定文档上下文,模型通过输出向量 h_i 计算每个 token 属于各类别的概率,softmax 负责把得分变成概率分布。
  1. h_iLayoutLM 输出的融合向量,综合了 token 自身内容与全版面信息,类似服务员品尝并记住每道菜后形成的综合印象。
    hi\mathbf{h}_i
  2. W 和 c线性分类器的权重和偏置,把向量映射到标签空间,类似把印象转换成“这道菜的星级评分”。
    Whi+cW \mathbf{h}_i + \mathbf{c}
  3. softmax将原始得分转成概率,所有标签的概率之和为 1。
    softmax(⋅)\mathrm{softmax}(\cdot)
  4. y_i预测的标签,比如“金额-键”或“金额-值”,对应我们最终想要抽取的字段。
    yiy_i

与纯文本模型对比

如果让只学文本的 BERT 来干这活,会怎样?它就像一个蒙着眼睛的美食家,只能靠舌头分辨食材,却不知道「桌上的哪道菜是甜品」。BERT 输入的是一维文字流,完全没有“页面上方”或“表格第三列”的概念。当两张发票的文字完全相同但排版不同时,纯文本模型看不出任何区别,这在文档理解中常常是致命的。

LayoutLM 的优势恰恰来自「位置感知」。在表单理解 benchmark(如 FUNSD)和信息抽取任务上,加入二维位置预训练的模型普遍比纯文本 BERT 高出数个百分点的准确率。这种提升可以理解为「同时看味道和摆盘」与「只看味道」的差距——摆盘不仅美观,更传递着功能。

纯文本模型在处理版面密集型文档时总像漏看了「餐桌布局图」,而 LayoutLM 把布局图直接画进了模型的血统里。这也解释了为什么文档智能领域如今几乎言必提 LayoutLM。

Δ=AccLayoutLM−AccBERT>0\Delta = \text{Acc}_{\text{LayoutLM}} - \text{Acc}_{\text{BERT}} > 0
在相同数据、相同任务上,LayoutLM 的准确率通常显著高于纯文本 BERT,差值 Δ 为正数表明布局信息的价值。
  1. Acc_LayoutLM布局感知模型在验证集上的准确率,比如字段抽取完全正确的比例。
    AccLayoutLM\text{Acc}_{\text{LayoutLM}}
  2. Acc_BERT纯文本模型在同一测试集上的准确率。
    AccBERT\text{Acc}_{\text{BERT}}
  3. △两者之差,正值意味着布局信号带来了收益。现实中这个差可能达到 2%~10% 不等。
    Δ=AccL−AccB>0\Delta = \text{Acc}_{\text{L}} - \text{Acc}_{\text{B}} > 0
  4. >0强调位置信息不是可有可无,而是有效增益,类似摆盘不仅好看,还能让顾客知道该从哪下筷。

演进与局限

第一代 LayoutLM 已经很有价值,但研究者发现,光有文字和坐标还不够——页面上的线条、表格框、印章等视觉元素也在传递信息。就像摆盘不只是盘子位置,还包括盘子的花纹和装饰。于是团队推出了 LayoutLMv2,把页面图像通过视觉骨干网络编码成图像嵌入,与文本、坐标一起送入模型。v3 则进一步引入更多模态对齐技术,形成更强大的多模态文档模型。

但也别把 LayoutLM 神话化。它仍依赖上游 OCR 的识别结果,如果 OCR 把「1000」识别成「100O」,后面的布局理解也会出错;同时,对于完全没有版面规律的纯文本长文档,位置信息帮助有限,使用它反而增加计算开销。此外,预训练需要大量扫描文档,数据获取与版权也是工业落地的现实门槛。

回顾这场从「只读文字」到「图文位置全方位理解」的进化,LayoutLM 系列就像从只看菜品的大厨,进化到同时关注菜品、摆盘、餐厅装潢的顶级餐饮总监。理解其原理与边界,你就能在合适的场景里,选出最合适的文档智能工具。

Lv2=LMLM+LVID+LWSA+LMDLC\mathcal{L}_{\text{v2}} = \mathcal{L}_{\text{MLM}} + \mathcal{L}_{\text{VID}} + \mathcal{L}_{\text{WSA}} + \mathcal{L}_{\text{MDLC}}
v2 的预训练损失在原有基础上新增了视觉嵌入损失和文字-图像对齐损失,让模型进一步学习页面图像与文字布局之间的对应关系。
  1. L_VID视觉嵌入损失,强制模型从页面图像中学到有用的视觉特征,类似研究盘子的配色与纹理。
    LVID\mathcal{L}_{\text{VID}}
  2. L_WSA文字-图像对齐损失,让文字特征与对应图像区域特征相互靠近,类似确认“这道菜确实摆在这个位置”。
    LWSA\mathcal{L}_{\text{WSA}}
  3. L_MLM + L_MDLC保留 v1 的经典目标,继续强化文本与布局理解。
    LMLM+LMDLC\mathcal{L}_{\text{MLM}} + \mathcal{L}_{\text{MDLC}}
  4. 相加四个损失共同优化,多模态信息互补,实现更强的版面表示。
    Lv2=LMLM+LVID+LWSA+LMDLC\mathcal{L}_{\text{v2}} = \mathcal{L}_{\text{MLM}} + \mathcal{L}_{\text{VID}} + \mathcal{L}_{\text{WSA}} + \mathcal{L}_{\text{MDLC}}

AI 应用场景

财务发票自动录入

阶段:下游微调 + 推理部署

解决的问题:传统发票录入依赖人工逐项复制金额、税号、日期,或使用纯 OCR 后靠正则匹配,遇到不同版式发票时规则频繁失效。LayoutLM 微调后,可以直接从整张发票图像中抽取「发票号码」「开票日期」「价税合计」等字段,版式变化不再需要重写规则。

具体案例:某企业的财务共享中心每天处理上万张供应商发票。工程师将扫描件交给 OCR 得到文字与坐标,再输入在自有发票数据集上微调过的 LayoutLM 模型,自动提取关键字段并写入 ERP 系统。原先需要 20 人手工录入的团队缩减到 5 人负责复核,准确率从 92% 提升到 99.3%。

合同条款审查

阶段:预训练基础模型 + 任务头微调

解决的问题:一份合同中「违约责任」「付款条件」「保密条款」的位置相对固定,但语言表达千变万化。LayoutLM 能结合版面位置判断条款类型,避免纯文本模型把正文中的「违约金」误判为发票上的「金额」。

具体案例:法律科技公司把各种合同按页面块切分,使用 LayoutLM 做条款级分类与关键信息抽取,再叠加规则引擎输出风险提示。律师只需审阅模型标出的高风险条款,单份合同审查时间从 2 小时降为 20 分钟。

银行表单理解

阶段:特征提取 + 多任务微调

解决的问题:银行的开户申请、信用卡表单通常包含大量复选框、表格和签名区,纯文本模型无法理解「勾选区域」对应的语义。LayoutLM 的二维坐标使它能关联「文字标签」与「勾选框位置」,从而判断用户选择了哪个选项。

具体案例:某银行的智能柜台系统用 LayoutLM 理解用户填写的纸质表单,将字段自动回填到电子系统中,并将识别置信度低的表单转人工处理。上线后表单录入错误率下降 70%,客户等待时间减半。

Python 演示

python39 行
# 用 Hugging Face Transformers 演示 LayoutLM 的输入构造与前向# 依赖安装: pip install torch transformersimport torchfrom transformers import LayoutLMTokenizer, LayoutLMModel def build_inputs(words, boxes, max_length=128):    tokenizer = LayoutLMTokenizer.from_pretrained(        "microsoft/layoutlm-base-uncased"    )    encoding = tokenizer(        words,        boxes=boxes,        padding="max_length",        truncation=True,        max_length=max_length,        return_tensors="pt",    )    return encoding if __name__ == "__main__":    # 模拟一张迷你发票的文字和坐标 (x1, y1, x2, y2)    words = ["Invoice", "Amount", "$", "1000", "Total", "Due"]    boxes = [        [0, 0, 100, 50],        [100, 0, 200, 50],        [200, 0, 300, 50],        [0, 100, 100, 150],        [100, 100, 200, 150],        [200, 100, 300, 150],    ]    inputs = build_inputs(words, boxes)    model = LayoutLMModel.from_pretrained(        "microsoft/layoutlm-base-uncased"    )    model.eval()    with torch.no_grad():        outputs = model(**inputs)    shape = outputs.last_hidden_state.shape    print("输出向量形状:", shape)
目的:演示如何把文字列表和每个词的边界框打包成 LayoutLM 的标准输入,并跑一次前向得到向量化表示。
  1. from transformers import LayoutLMTokenizer, LayoutLMModel引入官方预训练模型接口,就像请来一位已经见过无数宴席的现成大厨。
  2. LayoutLMTokenizer.from_pretrained(...)加载 LayoutLM 专用分词器,它会同时处理文字和 boxes,把它们整合成模型需要的张量。
  3. tokenizer(words, boxes=boxes, ...)核心操作:把一组文字和一组坐标同时交给分词器,自动构建 input_ids、bbox 等输入特征,相当于把「菜+坐标」写在同一张菜单上。
  4. padding="max_length", truncation=True统一长度,让一批文档能放进同一个矩阵,类似把不同大小的盘子都装入标准化餐盒。
  5. return_tensors="pt"返回 PyTorch 张量,供模型直接使用。
  6. LayoutLMModel.from_pretrained(...)加载预训练权重,通常需要联网下载,首次运行会较慢。
  7. outputs.last_hidden_state.shape输出每个 token 的上下文向量,这是后续接分类头做信息抽取的基础,类似每道菜被品尝后形成的综合印象。

常见误区

误区很多人以为 LayoutLM 只是先做 OCR,再把识别文本丢进 BERT,本质上和最朴素的 OCR+文本模型没什么区别。

正解LayoutLM 的核心创新在于「位置编码是模型感知的一部分」。它不仅拿到文字内容,还把每个词的二维坐标映射成嵌入向量,在预训练阶段就让文本表示与版面位置深度融合。OCR 只是上游输入来源,真正的布局感知来自模型自身的预训练目标。就像把菜谱和摆盘图合成一张信息卡,而不是先抄菜谱再另看摆盘。

为何常见:因为名字里带“LM”,容易让人误以为是纯文本语言模型的变体;而且 OCR+文本模型在简单任务上也能工作,让人忽略了版面信号的关键性。

误区初学者认为坐标 (x, y, x2, y2) 不过是一组数值,模型看到数字能学到什么?觉得位置信息不可能带来大幅提升。

正解位置信息经过嵌入层后会变成高维向量,能够表达「居中」「靠右」「在表格中间」等抽象版面概念。LayoutLM 通过预训练把这些空间模式与文本语义关联,比如“页脚的页码”和“首页的大标题”在嵌入空间中会有不同趋向。这就像同一块豆腐,放在冷菜区和热菜区,厨师对它的处理方式完全不同。

为何常见:人脑理解空间很容易,但很难想象一个数字向量能承载空间语义,因此低估了位置嵌入的表达力。

误区以为 LayoutLM 能直接从图片中认字,OCR 可以被扔掉了。

正解LayoutLM(v1)接收的是 OCR 输出的文字和 BBox,它不负责检测和识别文字。OCR 的质量直接决定 LayoutLM 的上限。如果 OCR 漏掉了表格线附近的文字,模型后续再聪明也拿不到那段信息。LayoutLMv2/v3 虽引入图像特征,但图像分支更多用于视觉背景理解,仍然依赖文本检测与识别。

为何常见:因为看到「文档智能」「版面分析」这些词,容易把整条 OCR 流水线都归功于 LayoutLM,忽略了它是流水线中的一环。

误区认为既然 LayoutLM 效果更好,任何文字识别、信息抽取项目都应该首选它。

正解LayoutLM 的优势集中在版面强相关的文档(表单、发票、合同、简历等)。如果处理的是无排版的长篇纯文本,如新闻、论文、聊天记录,位置信息几乎没有额外增益,还增加预训练数据和模型复杂度。选择合适的工具要看数据特点,就像摆盘美学对火锅未必重要,但对法餐必不可少。

为何常见:人容易从“最新方法就是最好方法”的单一视角出发,忽略任务与模型特性是否匹配。

面试题

Q1. 在 LayoutLM 中,二维位置信息最接近下列哪种生活概念?

单选题 · mid

  • A.菜品的咸淡口味
  • B.菜品在餐桌上的摆放区域← 正确答案
  • C.服务员的工牌编号
  • D.顾客的用餐时长

答案:B。LayoutLM 的 2D 位置嵌入代表文本在页面上的边界框坐标,类比为菜品在餐桌上的摆放区域。咸淡口味是内容属性,工牌编号是一维标识,用餐时长则与位置无关,因此 B 正确。

Q2. 文档表示 D = { (t_i, b_i) } 中,b_i 通常代表什么?

单选题 · easy

  • A.文本片段的颜色
  • B.文本片段的字体大小
  • C.文本片段在页面上的边界框← 正确答案
  • D.文本片段的词频

答案:C。b_i 是包围该文本的矩形框坐标,通常用 (x_min, y_min, x_max, y_max) 表示,对应页面位置。颜色、字体、词频都不是 b_i 的重点,所以选 C。

Q3. 下列哪些属于 LayoutLM 的预训练任务?

多选题 · mid

  • A.掩码语言模型← 正确答案
  • B.文档布局分类← 正确答案
  • C.图像风格迁移
  • D.文本摘要生成

答案:AB。LayoutLM 利用掩码语言模型(MLM)预测被遮文字,并利用多标签文档布局分类(MDLC)学习文档类型。图像风格迁移是生成任务,文本摘要生成不属于预训练目标,因此 A、B 正确。

Q4. 与纯文本 BERT 相比,LayoutLM 的主要优势是什么?

单选题 · easy

  • A.模型参数更多
  • B.训练速度更快
  • C.能感知文本的版面位置← 正确答案
  • D.不需要预训练

答案:C。LayoutLM 引入二维位置嵌入,让模型感知文字在页面上的位置,这正是它相对 BERT 的核心优势。参数量大不一定带来优势,训练速度并非关键差异,且 LayoutLM 也需要预训练,所以选 C。

Q5. 在自注意力公式中,除以 √d_k 的作用是什么?

单选题 · mid

  • A.增加模型参数量
  • B.防止点积结果过大导致梯度不稳定← 正确答案
  • C.加快 OCR 识别速度
  • D.使位置嵌入变成三维

答案:B。除以 √d_k 是为了缩放点积,避免维度较高时数值过大导致 softmax 饱和、梯度消失。这与参数量、OCR 速度无关,也不会改变位置嵌入维度,因此 B 正确。

Q6. LayoutLMv2 相比 v1 新增了哪些能力?

多选题 · hard

  • A.图像视觉特征嵌入← 正确答案
  • B.文字-图像对齐损失← 正确答案
  • C.直接输出 PDF 文件
  • D.端到端文字识别

答案:AB。LayoutLMv2 引入视觉嵌入损失(VID)和文字-图像对齐损失(WSA),使模型能利用页面图像信息。它并不直接输出 PDF,也不负责端到端文字识别,因此 A、B 正确。

Q7. 在发票信息抽取中,LayoutLM 适合充当哪个角色?

单选题 · mid

  • A.用 OCR 识别完整票据图像
  • B.从文字和坐标中抽取字段标签← 正确答案
  • C.将扫描件转为 PDF 格式
  • D.代替数据库存储发票数据

答案:B。LayoutLM 接收 OCR 后的文字与坐标,通过分类头预测每个 token 的字段标签,实现信息抽取。OCR 是上游过程,PDF 转换和存储都不是模型职责,因此选 B。

Q8. 下面哪项最符合“纯文本模型处理文档”的比喻?

单选题 · easy

  • A.蒙着眼睛品尝一桌宴席← 正确答案
  • B.一边看菜单一边点菜
  • C.根据摆盘位置推断菜名
  • D.用地图找餐厅地址

答案:A。纯文本模型只处理一维文字流,无法看见页面版式,相当于蒙眼品尝,只能判断食材味道,无法感知菜在餐桌上的位置。其余选项都涉及视觉或空间信息,故 A 正确。

Q9. 下列哪些因素会影响 LayoutLM 在实际中的表现?

多选题 · mid

  • A.上游 OCR 的识别质量← 正确答案
  • B.预训练文档数据的覆盖范围← 正确答案
  • C.页面是否包含图片和表格← 正确答案
  • D.服务器的物理重量

答案:ABC。OCR 质量决定输入准确性,预训练数据覆盖面决定领域适应能力,页面中的图片表格则影响视觉与空间信息利用。服务器物理重量显然与模型表现无关,因此 A、B、C 正确。

Q10. 如果你要为一个「长篇纯文本小说」构建分类模型,以下哪种选择最合理?

单选题 · hard

  • A.必须使用 LayoutLM,因为它是最新模型
  • B.使用 BERT 这类纯文本模型,位置信息收益有限← 正确答案
  • C.放弃预训练模型,只用正则表达式
  • D.先训练一个 OCR 模型再输入 LayoutLM

答案:B。纯文本小说版式单一,文字的位置几乎不携带额外语义,使用 LayoutLM 会增加成本却无显著收益。BERT 等纯文本模型已经足够。正则缺乏泛化能力,OCR 不适用于电子文本,因此 B 最合理。