LayoutLM模型使用记录

        在文档处理和信息提取领域,如何让机器精准地理解和处理复杂文档是一个挑战。文档不仅包含文本信息,还包括布局、图像等非文本元素,这些元素在传递信息时起着至关重要的作用,而传统的NLP模型通常忽略了这些视觉元素。

        LayOutLM 是一种创新的深度学习模型,结合了传统的文本处理能力和对文档布局的理解,从而在处理包含丰富布局信息的文档时表现出色。例如,在处理一份报告时,用户不仅关注报告中的文字内容,还会关注图表、标题、段落布局等视觉信息。这些信息帮助我们更好地理解文档的结构和内容重点。

模型结构

LayoutLM模型使用记录_第1张图片

        LayOutLM模型结合了自然语言处理(NLP)与计算机视觉(CV)交叉领域,不仅理解文本内容,还融入了文档的布局信息。LayOutLM采用了与BERT类似的架构,在输入表示中加入了视觉特征。这些视觉特征来自文档中的每个词的布局信息,如位置坐标和页面信息。LayOutLM利用这些信息来理解文本在视觉页面上的分布,在处理表格、表单和其他布局密集型文档时很有用。

在LayOutLM中,每个词的输入表示由以下几部分组成:

  • 文本嵌入: 使用词嵌入来表示文本信息。

  • 位置嵌入: 表示词在文本序列中的位置。

  • 布局嵌入: 新增加的特征,包括词在页面上的相对位置(例如左上角坐标和右下角坐标)。

例如,考虑一个简单的发票文档,包含“发票号码”和具体的数字。LayOutLM不仅理解这些词的语义,还能通过布局嵌入识别数字是紧跟在“发票号码”标签后面的,从而有效地提取信息。

预训练任务和过程

LayOutLM的预训练包括多种任务,提高模型的语言理解和布局理解能力。

  • 掩码语言模型(MLM): 类似于BERT,部分词被掩盖,模型需要预测它们。

  • 布局预测: 模型不仅预测掩盖的词,还预测布局信息。

LayoutLMv1
  • 文本嵌入:运用基于BERT的模型进行文本嵌入,能够捕捉文本的语义含义。
  • 空间嵌入:添加空间嵌入,用于表示文档中每个标记的位置和大小。
  • 标记嵌入:将文本和空间嵌入相结合,为每个标记创建统一的表示形式。
LayoutLMv2
  • 文本嵌入:与v1类似,使用基于BERT的文本嵌入。
  • 图像嵌入:整合了ResNet,用于从文档图像中提取视觉特征。
  • 空间注意力:引入空间注意力机制,能更好地捕捉文本和布局之间的关系。
  • 多模态融合:将文本、图像和空间信息相融合,实现对文档的全面理解 。
LayoutLMv3
  • Patch Embeddings:用补丁嵌入替换了CNN骨干网络,类似于Vision Transformers。
  • 三个训练前目标

    • 掩码语言建模(MLM):预测文本中的掩码标记。
    • 掩码图像建模(MIM):预测图像中的掩码区域。
    • 字面对齐(WPA):将文本标记与相应的图像面块对齐。

微调和应用

在预训练完成后,LayOutLM可以针对特定任务进行微调。例如,在表单理解任务中,可以用具有标注的表单数据对模型进行微调,使其更好地理解和提取表单中的信息。

实际应用

文档分类与排序

在企业和机构的日常工作中,大量的文档需要被分类和归档。相比传统分类方法,LayOutLM 可以利用文档的布局信息。例如,不同类型的报告、发票或合同通常具有独特的布局特征。LayOutLM能够识别这些特征,从而更准确地将文档分类。

信息提取

在处理发票、收据等文档时,关键信息(如总金额、日期、项目列表)通常分布在不同的位置,且每个文档的布局可能略有不同。LayOutLM利用其对布局的理解,能够准确地从这些文档中提取所需信息。例如,从一堆杂乱的发票中提取出所有的发票号码和金额,即便它们的布局不尽相同。

LayoutLM模型使用记录_第2张图片

表单处理

在表单处理中,LayOutLM可以理解表单中的问题和答案的布局关系。这使得在自动化处理问卷调查或申请表时,模型可以更加高效和准确地提取出关键信息。

LayoutLM模型使用记录_第3张图片

自动化文档审核

在法律和金融领域,文档审核是一项关键任务。LayOutLM可以辅助审核人员快速地找出文档中的关键条款或可能存在的问题。例如,在一份合同中,模型可以快速定位到关键的责任条款或特殊的免责声明,辅助法律专业人士进行深入分析。

LayoutLM模型使用记录_第4张图片

实用示例

在使用LayoutLM时需要先安装tesseract,并配置到环境变量中,之后要安装python的tesseract包,pip install pytesseract。

tesseract 下载地址:https://github.com/UB-Mannheim/tesseract/releases/download/v5.4.0.20240606/tesseract-ocr-w64-setup-5.4.0.20240606.exe

  1. 添加Tesseract安装路径到系统Path变量

    • 进入控制面板 > 系统 > 高级系统设置 > 环境变量,在系统变量的Path中添加Tesseract的安装目录(例如D:\Tesseract-OCR)。
    • 若安装在其他盘符(如D盘),需确保路径与实际安装位置完全一致。
  2. 创建TESSDATA_PREFIX变量

    • 在系统变量中新建变量,名称为:ml-search[TESSDATA_PREFIX],值为tessdata文件夹的完整路径(例如D:\Tesseract-OCR\tessdata)。
    • 注意‌:此变量必须指向包含语言数据的:ml-search[tessdata]文件夹,否则会报错。
  3. 验证安装

    CMD,输入 tesseract -v, 查看版本

参考:

百度安全验证

https://segmentfault.com/a/1190000046091278

在Windows 10上安装Tesseract并用pytesseract运行OCR任务_tesseract windows 安装-CSDN博客

你可能感兴趣的:(nlp,人工智能)