本文旨在以简单的方式解释 Visual NLP 的关键概念,让你了解 Visual NLP 的含义、它的用例是什么、如何使用它以及为什么它是构建自动提取管道的未来 。
NSDT在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器
1、什么是Visual NLP?
NLP 的一个分支,结合了视觉(空间和布局)特征和文档中存在的文本信息。 大多数经典的 NLP 问题都处理文本数据,这些数据包含大量信息,但仍然缺乏帮助我们区分文本内容和含义的视觉队列。
鉴于我们正处于像 ChatGPT、Bard、Claude 等人工智能LLM时代,它们本质上是多模式的,即接受图像和文本作为输入,我们确实看到了这些系统的潜力。
转向 Visual NLP 的主要原因之一是需要对扫描文档进行信息提取。 目前,IE 活动是通过将扫描文档转换为文本并在其上运行 NLP 来进行的。
现在,让我们看看这种方法的局限性:
- 由于文本表示不明确(例如清晰度、字体等),OCR 文本识别失败。
- 不使用可能为文本增加价值的视觉图像。
- 通过 OCR 转换为文本时,表格数据会变得混乱。
添加视觉数据有助于克服此类挑战,并为模型提供丰富的数据,以更好地完成任务。
2、Visual NLP用例
Visual NLP 的一些用例包括:
- 视觉文档分类(使用文本+空间特征+图像)
- 视觉问答
- 布局分析:分析文档内容的空间排列以了解其结构和含义的过程。 这包括识别文本、图像、表格和其他元素的位置,以及整体文档结构,例如标题和副标题。
- 关键信息提取:从文档和其他视觉内容中提取关键信息的过程。 这可以包括姓名、日期、地点和金额等信息。
- 图像字幕:生成图像的文本描述的任务。
- 表格检测:识别和定位图像和文档中的表格的任务。
- 表结构识别:识别表的逻辑和物理结构的任务。 表的逻辑结构是指表中不同单元格之间的关系,例如哪些单元格属于同一标题行或列。 表格的物理结构是指表格的布局,例如边框的位置和单元格之间的间距。
下面是如何利用 Visual NLP 力量的一些示例。
2.1 从扫描收据中提取关键信息
此任务的目的是从给定收据中提取多个关键字段的文本,并将每个收据图像的文本保存在 json 文件中。 我们对 Donut 模型进行了微调,以从扫描的发票收据中提取公司、地址、日期、总计等实体。
事实数据如下:
{
"company": "BOOK TA .K (TAMAN DAYA) SDN BHD",
"date": "25/12/2018",
"address": "NO.53, TAMAN DAYA, 81100 JOHOR BAHRU, JOHOR.",
"total": "9.00"
}
该模型能够学习直接从图像中提取这些实体。 当考虑真实情况和预测文本完全匹配的正确实例时,我们能够获得约 60% 的准确率。
2.2 视觉质量检查
此任务的目的是从图像中生成给定问题的答案。 我们针对此任务对 Donut 模型进行了微调。
事实数据如下所示:
{
"gt_parses": [
{
"question": "what is AGE?",
"answer": "30"
},
{
"question": "what is GENDER?",
"answer": "Female"
},
{
"question": "what is DATE?",
"answer": "2023-01-07"
}
]
}
该模型能够学习直接从图像生成答案。
一些可以通过HuggingFace使用的Visual NLP模型
- Donut
- Pix2Struct
- LayoutLM
- DiT
在上面的示例中,我们使用 Donut 作为起点来展示 Visual NLP 系统的功能,但你可以使用上述任何模型。
3、基于 Visual NLP 的自动化信息提取流程
上述示例展示了当前 Visual NLP 系统的明显潜力,以及为什么该研究领域将成为自动提取管道的未来。
视觉 NLP 是一个快速发展的领域,有可能彻底改变我们处理和理解信息的方式。 通过结合视觉和文本特征,视觉 NLP 模型可以克服传统 NLP 模型的局限性,从更广泛的来源(包括扫描文档)提取更准确、更全面的信息。
随着视觉 NLP 领域的不断成熟,我们可以期待看到更多创新和突破性的应用程序出现。 例如,视觉 NLP 可用于开发能够理解和索引文本和图像的新搜索引擎,或者创建新型教育工具,通过结合视觉和文本信息来帮助学生更有效地学习。
原文链接:Visual NLP简明教程 - BimAnt