Visual NLP:图像信息自动提取的未来

本文旨在以简单的方式解释 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/162453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序-空值操作符

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 空值合并操作符(??) 空值合并操作符(??) 在编写代码时,如果某个属性不为 null 和 undefined&#x…

C++ 函数、数组、指针、输入输出、日期时间

一、C函数: 函数是一组执行一个任务的语句。每个C程序至少有一个函数,即主函数main()。函数有很多叫法,比如方法、子例程或程序等等。函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。 return_type function…

一站式解决Mac音视频转换需求——Xilisoft Video Converter Ultimate for Mac

在数字化时代,音视频的应用越来越广泛,不同的设备和平台对音视频格式的要求也不尽相同。因此,如何找到一款功能强大、易于操作的音视频转换软件成为了Mac用户的迫切需求。而Xilisoft Video Converter Ultimate for Mac(曦力音视频…

4.18每日一题(极坐标累次积分到直角坐标累次积分的转换)

注:rdr化为直角坐标以后r直接消去了,不需要计算

可编程交流回馈式负载箱在电源设备中的应用

可编程交流回馈式负载箱可以用于测试电源设备的输出能力,通过在负载箱中设置不同的负载条件,可以模拟不同的工作负载情况,从而测试电源设备在不同负载下的输出能力和稳定性。这对于电源设备的设计和生产非常重要,可以帮助制造商评…

2023年亚太杯数学建模亚太赛C题思路解析+代码+论文

下文包含:2023年亚太杯数学建模亚太赛C题思路解析代码参考论文等及如何准备数学建模竞赛(23号比赛开始后逐步更新) C君将会第一时间发布选题建议、所有题目的思路解析、相关代码、参考文献、参考论文等多项资料,帮助大家取得好成…

SELinux refpolicy详解(1)

本文部分内容参考: SELinux - ArchWiki SELinux_百度百科 一、SELinux介绍 1. SELinux简介 SELinux(Security-Enhanced Linux,安全增强型Linux)是美国国家安全局(NSA)对于强制访问控制的实现&#xff0…

【python学习】基础篇-常用函数-偏函数

偏函数(Partial function)是指固定一个函数的部分参数,返回一个新的函数。 在Python中,可以使用functools模块中的partial()函数来创建偏函数。 偏函数的用法如下: 1.首先,导入functools模块中的partial()函数。 from functool…

css实现水波纹效果

css实现水波纹效果 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><styl…

HarmonyOS ArkTS Video组件的使用(七)

概述 在手机、平板或是智慧屏这些终端设备上&#xff0c;媒体功能可以算作是我们最常用的场景之一。无论是实现音频的播放、录制、采集&#xff0c;还是视频的播放、切换、循环&#xff0c;亦或是相机的预览、拍照等功能&#xff0c;媒体组件都是必不可少的。以视频功能为例&a…

C 语言嵌套结构体

C 语言嵌套结构体 C为我们提供了将一个结构嵌套在另一个结构中的功能&#xff0c;从而创建复杂的数据类型。例如&#xff0c;我们可能需要在结构中存储实体员工的地址。而地址也可以包含其他信息&#xff0c;例如街道编号&#xff0c;城市&#xff0c;地区和密码。因此&#x…

CVE-2022-21661

简介 CVE-2022-21661是一个与WordPress相关的漏洞&#xff0c;涉及到SQL注入问题。该漏洞主要源于WordPress的WQ_Tax_Query类中的clean_query函数&#xff0c;可能允许攻击者通过控制传递给该函数的数据来控制生成的SQL查询&#xff0c;从而执行任意的SQL代码。 当WordPress的…

【ROS 2 进阶-MoveIt!】MoveIt!中的关键节点

所有内容请查看&#xff1a;博客学习目录_Howe_xixi的博客-CSDN博客 原文档链接&#xff1a;Docs

自动驾驶轨迹预测学习笔记

目录 VectorNet&#xff1a;自动驾驶轨迹预测 CVPR2023 轨迹预测冠军方案 QCNeXt VectorNet&#xff1a;自动驾驶轨迹预测 VectorNet&#xff1a;自动驾驶轨迹预测 - 知乎 CVPR2023 轨迹预测冠军方案 QCNeXt CVPR2023 轨迹预测冠军方案&#xff01;QCNeXt&#xff1a;新一代…

什么是索引下推

索引下推介绍 索引下推&#xff08;INDEX CONDITION PUSHDOWN&#xff0c;简称 ICP&#xff09;是在 MySQL 5.6 针对扫描二级索引的一项优化改进。总的来说是通过把索引过滤条件下推到存储引擎&#xff0c;来减少 MySQL 存储引擎访问基表的次数以及 MySQL 服务层访问存储引擎的…

持续格式刷

双击格式刷即可

专访|OpenTiny 开源社区 常浩:完成比完美更重要

前言 2023年已过大半&#xff0c;备受关注的 OpenTiny*开源之夏活动也顺利结项。开源之夏由中国科学院软件研究所发起的计划&#xff0c;目的在于鼓励在校学生积极参与开源软件的开发维护&#xff0c;推动优秀开源软件社区的繁荣发展。该活动联合各大开源社区&#xff0c;聚焦…

令人赞叹的花里胡哨的代码雨动画效果

【点我-这里送书】 本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(…

element emitter broadcast向下广播 dispatch向上分派

emitter 项目使用element的emitter.js&#xff0c;做个使用记录 function broadcast(componentName, eventName, params) {this.$children.forEach(child > {const name child.$options.name;if (name componentName) {child.$emit.apply(child, [eventName].concat(para…

pytorch训练出现的bug

训练过后发现.csv文件左侧出现了几列unname和一列0&#xff0c;1&#xff0c;2。这个时候在训练就会从unname那一列开始训练。我们需要把这几列删除&#xff0c;之后再重新训练