一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于文档理解的数据增强的系统和方法与流程

2021-12-01 02:18:00 来源:中国专利 TAG:

用于文档理解的数据增强的系统和方法
1.相关申请的交叉引用
2.本技术要求2020年3月23日提交的美国申请no.16/827,189的权益,该申请的内容通过引用并入本文。
技术领域
3.本发明涉及文档理解的领域,并且更具体地涉及用于针对机器学习模型来创建训练集的数据增强(data augmentation)技术,以分类文档用于进一步处理。


背景技术:

4.数据增强技术使从业者能够显著地增加可用于训练模型的数据的多样性。在许多情况下,数据增强涉及从现有样本中合成较新的样本。在图像的情况下,存在众所周知的由定位(例如,诸如比例缩放、裁剪和旋转)和颜色(例如,诸如亮度、对比度和色相)来创建样本图像的方式。针对非结构化的文本,例如针对文档和电子邮件,存在数据增强技术,诸如利用用词的同义词来替换该用词、使用包括例如word2vec、glove和fasttext的用词嵌入来改写句子。当样本集很大时,这些数据增强示例可以被使用。然而,在半结构化的(例如,可变结构化的形式)文档和固定结构(例如,固定结构形式)文档的领域中,经验证的数据增强解决方案是不存在的。
5.在半结构化的文档和固定结构化的文档中,足够大的样本是可用的但不能由机器学习分类器直接使用。当多个文档样本作为单个报告背对背被扫描时,这种情况会发生。在这些情况中,文档起始页和结束页不被划界。很多时候,报告可以包含用于给定类的文档的数百个或者甚至更多样本。通常,文档的手动理解是需要拆分的,并且再合成使传统数据增强方法通常不适用的训练集。现有的解决方案包括将视图限制在文档的前几个页面。该前几个页面可以是非常通用的模板,并且不包含相关的文档样本。因此,该现有解决方案提供的准确性是不佳的或有限的。其他解决方案将每个文档手动拆分成多个页面,这增加了时间并且使该过程既耗时又不可扩展。


技术实现要素:

6.一种用于允许多个文档的文档分类的数据增强的系统和方法被公开。该系统和方法包括:将多个文档转换成图像;获得用于被包括在多个文档中的每个页面的矢量表示;基于相似性从图像创建多个群集,其中多个群集中的每个群集代表不同的页面格式;从多个群集中的每个群集选择一个图像;编译从多个群集中的每个群集选择的一个图像,以创建逻辑上完整的文档;以及基于完整的文档来训练分类。
7.一种用于执行用于数据增强的方法的计算设备也被公开,该数据增强允许多个文档的文档分类。该设备包括:处理器,被配置为将多个文档转换成图像;存储器,被配置为存储图像;处理器被配置为:获得用于被包括在多个文档中的每个页面的矢量表示;处理器被配置为:基于相似性从图像创建多个群集,其中多个群集中的每个群集代表不同的页面格
式;处理器被配置为:从多个群集中的每个群集选择一个图像;处理器被配置为:编译从多个群集中的每个群集选择的一个图像,以创建逻辑上完整的文档;存储器被配置为存储逻辑上完整的文档;以及处理器被配置为基于完整的文档来训练分类。
附图说明
8.从结合附图经由示例给出的以下描述中,可以得到更详细的理解,其中在附图中类似的附图标记指示类似的要素,并且其中:
9.图1a是机器人过程自动化(rpa)开发、设计、操作或执行的示意图;
10.图1b是rpa开发、设计、操作或执行的另一示意图;
11.图1c是计算系统或环境的示意图;
12.图2图示了允许训练ml模型以用于多个文档的文档分类的数据增强方法;以及
13.图3图示了用于在大的文档中标识独立报告的逻辑开始和结束的方法。
具体实施方式
14.针对在本文中所描述的方法和过程,所列举的步骤可以以任何顺序来无序地执行,并且未明确描述的或未示出的子步骤可以被执行。另外,“被耦合”或“被可操作地耦合”可以意味着对象被链接,但在所链接的对象之间可以具有零个或多个中间对象。同样,所公开的特征/元素的任何组合可以在一个或多个实施例中被使用。当使用关于“a或b”时,它可以包括a、b、或a和b,其可以被类似地扩展为更长的列表。当使用表示法x/y时,它可以包括x或y。备选地,当使用表示法x/y时,它可以包括x和y。x/y表示法可以被类似地扩展为具有相同解释的逻辑的更长列表。
15.大的训练数据集可以使用机器学习(ml)模型来增强。当几乎相等数目的样本文档被提供给要针对其训练模型的各种类别的文档时,该数据增强提供了更可信赖的结果。在数据增强的许多情况下,样本文档可以包括多个页面。另外,相同类型文档的多个样本可以被连结成一个大的文档。当这种情况发生时,文档可以跨越数百或数千页面。为了训练分类器来理解该类文档,通常不得不手动将该大的文档拆分成独立文档。假设相同的过程必须在要被训练的每类文档上重复,这是繁琐的任务。
16.用于数据增强的本系统和方法针对文档分类起作用,其中更大数目的训练数据样本被创建,以用于训练来自包含多个页面的文档的较小集合的模型。最初,包含多个页面的用于训练模型的文档被转换为图像,并用于每个页面的矢量表示被获得。然后相似种类的图像的群集被形成,其中每个群集代表不同的页面格式。来自每个群集的一个图像可以被随机选择,以创建逻辑上完整的文档。为了训练用于文档的分类的ml模型,这个过程可以被重复。此外,该系统也能够在所提供的文档的集合标识的文档的逻辑开始和结束。这是数据采样和数据增强的完全无监督的机制。
17.图1a是机器人过程自动化(rpa)开发、设计、操作或执行100的图示。有时被称为工作室、开发平台、开发环境等的设计器102可以配置为生成代码、指令、命令等,以用于机器人执行或自动化一个或多个工作流。根据计算系统可以提供给机器人的(多个)选择,机器人可以确定由用户或操作员选择的视觉显示器的(多个)区域的代表性数据。作为rpa的部分,诸如正方形、矩形、圆形、多边形、自由形态等的多维度(dimension)的形状可以被用于
有关计算机视觉(cv)操作或机器学习(ml)模型的ui机器人开发和运行时间。
18.可以由工作流来完成的操作的非限制性示例可以是执行登录、填写表格、信息技术(it)管理等中的一项或多项。为了运行用于ui自动化的工作流,不管应用访问或应用开发如何,机器人可以需要唯一地标识特定的屏幕要素,诸如按钮、复选框、文本字段、标签等。应用访问的示例可以是本地、虚拟、远程、云、等。应用访问的示例可以是本地、虚拟、远程、云、远程桌面、虚拟桌面架构(vdi)等。应用开发的示例可以是win32、java、flash、超文本标记语言(html)、html5、可扩展标记语言(xml)、javascript、c#、c 、silverlight等。
19.工作流可以包括但不限于任务序列、流程图、有限状态机(fsm)、全局异常处理程序等。任务序列可以是用于处理在一个或多个应用或窗口之间的线性任务的线性过程。流程图可以被配置为处理复杂的业务逻辑,这通过多个分支逻辑运算符以更多样化的方式来实现决策的整合和活动的连接。fsm可以被配置用于大的工作流。fsm在其执行中可以使用有限数目的状态,这可以由条件、转换、活动等来触发。全局异常处理程序可以被配置为在遇到执行错误时确定工作流行为以用于调试过程等。
20.机器人可以是应用、小程序、脚本等,该机器人可以使对底层操作系统(os)或硬件透明的ui进行自动化。在部署时,一个或多个机器人可以由有时被称为协调器(orchestrator)的导体104来管理、控制等。导体104可以指示或命令(多个)机器人或自动化执行器106,以执行或监测在大型机、web、虚拟机、远程机、虚拟桌面、企业平台、(多个)桌面应用程序、浏览器等客户端、应用或程序中的工作流。导体104可以充当中心点或半中心点,以指示或命令多个机器人使计算平台自动化。
21.在某些配置中,导体104可以被配置用于供应、部署、配置、排队、监测、日志记录和/或提供互连性。供应可以包括在(多个)机器人或自动化执行器106与导体104之间的连接或通信的创建和维护。部署可以包括确保包版本的传送给指定的机器人以用于执行。配置可以包括机器人环境以及过程配置的维护和传送。排队可以包括提供队列和队列项目的管理。监测可以包括记录机器人标识数据和维护用户权限。日志记录可以包括将日志存储和索引到数据库(例如,sql数据库)和/或另一存储机制(例如,这提供了存储和快速查询大的数据集的能力)。导体104可以通过充当用于第三方解决方案和/或应用的通信的集中点来提供互连性。
22.(多个)机器人或自动化执行器106可以被配置为无人值守的108或有人值守的110。针对无人值守的108操作,自动化可以在没有第三方输入或控制的情况下被执行。针对有人值守的110的操作,自动化可以通过从第三方组件接收输入、命令、指令、指导等来被执行。无人值守的108机器人或有人值守的110机器人可以在移动计算或移动设备环境上运行或执行。
23.(多个)机器人或自动化执行器106可以是运行在设计器102中建立的工作流的执行代理。用于ui或软件自动化的(多个)机器人的商业示例是uipath robots
tm
。在一些实施例中,(多个)机器人或自动化执行器106可以默认安装microsoft服务控制管理器(scm)管理的服务。结果,该机器人可以在本地系统账户下打开交互式会话,并且具有服务的权限。
24.在一些实施例中,(多个)机器人或自动化执行器106可以以用户模式来安装。这些机器人可以具有与用户相同的权限,给定机器人被安装在该用户下。这个特征也可以适用于高密度(hd)机器人,该高密度机器人确保诸如在hd环境中每台机器以最大性能充分利用。
25.在某些配置中,(多个)机器人或自动化执行器106可以被拆分、被分布成若干组件,或以类似方式被分成若干组件,每个组件专用于特定的自动化任务或活动。机器人组件可以包括scm管理的机器人服务、用户模式机器人服务、执行器、代理、命令行等。scm管理的机器人服务可以管理或监测会话,并且充当在导体104与执行主机(即(多个)机器人或自动化执行器106在其上被执行的计算系统)之间的代理。这些服务可以被(多个)机器人或自动化执行器106信任,并且管理用于(多个)机器人或自动化执行器106的认证信息。
26.用户模式机器人服务可以管理和监测会话,并且充当在导体104和执行主机之间的代理。用户模式机器人服务可以被机器人信任并且管理机器人的认证信息。如果scm管理的机器人服务未安装,则应用可以自动启动。
27.执行器可以在会话(即,它们可以执行工作流)下运行给定的作业。执行器可以知道每监视器每英寸的点数(dpi)设置。代理可以是在系统任务栏窗口中显示可用作业的presentation foundation(wpf)应用。代理可以是该服务的客户端。代理可以请求启动或停止作业并且更改设置。命令行可以是该服务的客户端。命令行是可以请求启动作业并且等待其输出的控制台应用。
28.在如上所述的(多个)机器人或自动化执行器106的组件被拆分的配置中,帮助开发者、支持用户以及计算系统通过每个组件更容易地运行、标识和跟踪执行。特殊行为可以通过该方式来被配置给每个组件,该方式诸如针对执行器和服务来设置不同的防火墙规则。在一些实施例中,执行器可以知道每个监视器的dpi设置。结果,不管工作流在其上被创建的计算系统的配置如何,工作流可以在任何dpi处被执行。来自设计器102的项目也可以独立于浏览器缩放级别。在一些实施例中,针对不知道dpi或有意标记为不知道的应用,dpi可以被禁用。
29.图1b是rpa开发、设计、操作或执行120的另一图示。工作室组件或模块122可以被配置为生成代码、指令、命令等,以用于机器人执行一个或多个活动124。用户界面(ui)自动化126可以由客户端上的机器人使用一个或多个驱动器组件128来被执行。机器人可以使用计算机视觉(cv)活动模块或引擎130来执行活动。其他驱动器132可以用于ui自动化由机器人获取ui元素。它们可以包括os驱动器、浏览器驱动器、虚拟机驱动器、企业驱动器等。在某些配置中,cv活动模块或引擎130可以是用于ui自动化的驱动器。
30.图1c是计算系统或环境140的图示,该环境140可以包括总线142或用于传达信息或数据的其他通信机制,以及耦合到总线142以用于处理的一个或多个处理器144。一个或多个处理器144可以是任何类型的通用处理器或专用处理器,包括中央处理单元(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)、图形处理单元(gpu)、控制器、多核处理单元、三维处理器、量子计算设备或其任意组合。一个或多个处理器144也可以具有多个处理核心,并且该核心的至少一些核心可以被配置为执行特定的功能。多并行处理也可以被配
置。另外,至少一个或多个处理器144可以是神经形态电路,该神经形态电路包括模仿生物神经元的处理元件。
31.存储器146可以被配置为存储要由(多个)处理器144来执行或处理的信息、指令、命令或数据。存储器146可以包括随机存取存储器(ram)、只读存储器(rom)、闪存、固态存储器、高速缓存、诸如磁盘或光盘的静态存储、或任何其他类型的非瞬态计算机可读介质或其组合。非易失性计算机可读介质可以是可以由(多个)处理器144访问的任何介质,并且可以包括易失性介质、非易失性介质等。该介质也可以是可移动的、不可移动的等。
32.通信设备148可以被配置为频分多址(fdma)、单载波fdma(sc

fdma)、时分多址(tdma)、码分多址(cdma)、正交频分复用(ofdm)、正交频分多址(ofdma)、全球移动系统(gsm)通信、通用分组无线电业务(gprs)、通用移动电信系统(umts)、cdma2000、宽带cdma(w

cdma)、高速下行链路分组接入(hsdpa),高速上行链路分组接入(hsupa)、高速分组接入(hspa)、长期演进(lte)、高级lte(lte

a)、802.11x、wi

fi、zigbee、超宽带(uwb)、802.16x、802.15、归属node

b(hnb)、蓝牙、射频标识(rfid)、红外数据协会(irda)、近场通信(nfc)、第五代(5g)、新无线电(nr)或任何其他经由一个或多个天线以用于通信的无线或有线设备/收发器。天线可以是奇异的、阵列的、相位的、开关的、波束成形的、波束控制的等。
33.一个或多个处理器144还可以经由总线142被耦合到显示设备150,该显示设备150诸如等离子体、液晶显示器(lcd)、发光二极管(led)、场发射显示器(fed)、有机发光二极管(oled)、柔性oled、柔性基板显示器、投影显示器、4k显示器、高清(hd)显示器、显示器、面内交换(ips)等显示器。针对输入/输出(i/o),如本领域普通技术人员所理解的,显示设备150可以被配置为使用电阻的技术、电容的技术、表面声波(saw)电容的技术、红外技术、光学成像技术、弥散信号技术的触摸、三维(3d)触摸、多输入触摸或多点触摸显示器、声脉冲识别、受阻的全内反射等。
34.键盘152和诸如计算机鼠标、触摸板等的控制设备154还可以被耦合到总线142以用于到计算系统或环境140的输入。此外,输入可以经由与之通信的另一计算系统被远程提供给计算系统,或者计算系统或环境140可以自主地操作。
35.存储器146可以存储软件组件、模块、引擎等,该软件组件、模块、引擎等提供了由一个或多个处理器144来执行或处理时的功能。这可以包括用于计算系统或环境140的os 156。模块可以还包括定制模块158以执行应用专用过程或其派生过程。计算系统或环境140可以包括一个或多个另外的功能模块160,该功能模块160包括另外的功能。
36.计算系统或环境140可以被适合于或被配置为用作服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(pda)、移动电话、平板计算设备、量子计算设备、云计算设备、移动设备、智能手机、固定移动设备、智能显示器、可穿戴计算机等。
37.图2图示了允许训练ml模型以用于多个文档的文档分类的数据增强的方法200。在步骤210处,方法200包括将文档转换成图像。在步骤220处,方法200包括获得用于每个图像的矢量表示。在步骤230处,群集由矢量来创建,以标识不同的页面格式。在步骤240处,来自每个群集的一个图像可以被选择,以确保每个格式被用来训练模型。在步骤250处,多个所选择的一个图像可以被编译以创建完整的文档。在步骤260处,分类可以基于完整的文档被训练。
38.在用于在文档内标识页面的不同类型的示例性实施方式中,方法200的步骤210可
以包括:将被提供用于分类的文档转换为图像,并且在步骤220处获得用于每个页面的矢量表示。该图像和矢量表示可以使用预先训练的图像模型(诸如vgg或resnet)来获得。
39.在步骤230处,这些图像矢量被用于群集相似类型的图像。通过被称为主分量分析(pca)的ml技术或提供页面的大量维度的基于正常vgg的群集以降低维数,这些群集可以被形成有6个维度。使用pca将多维信息编码成较少的简洁维度,并且因此前几个有效维就够好了。可以理解,有效维度的数目可以变化,例如,诸如在4

10个维度之间变化。更具体地,5

7个的维度可以被使用。甚至更具体地,6个维度可以被使用。
40.在pca之后,最适合图像特征的群集(k)的总数目被获得。通过执行图像的群集,k的值被获得,并且k的值从2变化至10。通过使用elbow方法和silhouette索引,k值可以以最小的误差和最高的群集准确性被确定。在步骤230中,这两种方法可以被利用去得出k的值。这创建了群集,其中每个群集代表不同的页面格式。例如,如果三个群集正在被生成诸如“开始页面”、“数据页面”和“图像页面”,则被分类为“开始页面”的图像被存储在“开始页面”群集中,并且类似地,被分类为“数据页面”的图像被存储在“数据页面”群集中,并且被分类为“图像页面”的图像被存储在“图像页面”群集中。尽管三个类型的群集在示例中被使用,但是本领域技术人员将理解,这仅是示例性的,因为任何数目的群集可以被形成。
41.在步骤230形成群集之后,在步骤240处,来自每个群集的随机页面被选取,并且在步骤250处,这些选取的随机页面被编译为单个合成文档并在步骤260处被用于训练ml模型。为了创建平衡的训练集,多个文档实例可以由单个大的页面文档来被合成。该过程可以在所有输入文档之间和在不同文档类之间有选择地重复。该经训练的ml模型在上述rpa工作流中被用作ml活动,以用于对文档进行分类。
42.下文中描述用于根据方法200的在文档内标识页面的不同类型的示例性用例。将文档的每个页面处理或转换到图像。使用预先训练的图像模型(像vgg,resnet等)来获得用于每个图像的图像矢量。一旦矢量被获得并且被图像转换,图像矢量可以被群集,允许相似的页面图像一起的分离。图像向量可以是大的(并且甚至是多维的)。例如,在基于vgg的嵌入的情况下,图像矢量可以是224
×
224
×
3,其是每个页面150,528个特征/维度。代替在如此大量的维度上的群集,有效维度的较小数目的降低可以被执行。例如,经由pca的维数降低可以被用于量化最有效的6个维度。
43.在pca之后,最适合图像特征的群集(k)的总数目可以使用若干指标中的一个或多个指标来确定。通过计算在从2到10的变化的k值上的群集准确性来使用一个指标。elbow方法可以被用于以最小的误差或最高的群集准确性来找到k。silhouette索引可以被用于找到最佳的k。使用方法中的一个或多个方法来找到k,结果可以以编程方式被组合,以得出k的值并且执行群集。
44.在该点处,每个群集在多报告文档中代表不同的页面格式(图像)。数据可以通过从群集的每个群集中采样随机页面来被增强,以创建用于训练的合成文档。这样,多个合成报告被生成,该多个合成报告代表来自单个多报告文档的类。从用于构造单个报告的给定群集中采样的页面的总数目可以与在群集中的页面的总数目成比例。
45.此外,本系统和方法使在文档的集合中的文档的逻辑开始和结束被确定。图3图示了用于在大的文档中标识独立报告的逻辑开始和结束的方法300。方法300包括在步骤310处建立马尔可夫链。方法300包括在步骤320处找到最常见的子序列。在步骤330处,方法300
包括在大的文档中标识独立报告的逻辑开始/结束。
46.在步骤310处,在完成方法200以标识不同的页面之后,也被称为状态转移图的马尔可夫链可以发生。在建立步骤310中,系统用其对应的群集id来索引每个页面。在步骤310处,基于页面的实际顺序,马尔可夫链被建立,其中群集id表示状态和从一个页面到另一页面的转移,并且还表示在状态之间的边缘。开始状态代表前页面,以及结束状态代表当前页面。边缘权重可以被用于指示在群集x中的页面之后紧跟在群集y中的页面的总次数。
47.在步骤320处找到最常见的子序列可以包括遍历在步骤310中建立的有向马尔可夫链,以枚举所有可能的状态序列。当已遇到的状态被再访问时,每个子序列结束。整个序列的权重是在整个序列遍历期间看到的最少边缘权重。在完成遍历后,所有具有其对应的权重的子序列将被评估。具有最高权重的子序列被选择。如果存在具有相似高分的多个子序列,则具有最高长度的第一子序列被选择。
48.在步骤330处在大的文档中标识独立报告的逻辑开始/结束包括:标识对应于在步骤320中发现的子序列的开始的群集id,以标记报告开始和报告结束。因此,在中间的每个页面被确定为报告的部分。页面利用其对应的群集id按在报告中其出现的顺序被陈列。当开始群集id被遇到时,直到结束群集id被找到或开始群集id被再次找到,报告被分组以指示独立报告。文档分割的该过程一直持续到文档的结束。
49.例如,在存在通过采样的数据增强的情况下,在本文所公开的方法可以被利用。与基线不平衡的模型相比,分类器的性能可以提高10%、20%、50%。在所有文档类里,利用本数据增强和模型的训练的数据准确性可以约为99%。利用更多数据来训练ml系统的本方法提高了系统的准确性和效率。本方法消除了用于手动文档注释的需要。本系统可以更准确地对文档进行分类,并且可以容易地找到报告的开始和结束。
50.另外,当该ml服务被部署以用于分类时,测试文档可以包括用于作为单个较大的文档的分类而呈现的相同文档类的多个实例。如上所述,分类器应该能够选取页面的正确样本以用于分类,知道样本的前几个页面可能是不相关的,并且可能无法准确地代表文档类。
51.在本文中给出的示例中,模块可以被实现为硬件电路,该硬件电路包括定制超大规模集成电路(vlsi)电路或门阵列、诸如逻辑芯片、晶体管或其他分立组件的现成半导体。模块也可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件、图形处理单元等的可编程硬件设备中被实现。
52.模块可以以用于由不同类型的处理器执行的软件来至少部分地被实现。可执行代码的所标识的单元可以包括计算机指令的一个或多个物理块或逻辑块,例如,该计算机指令可以被组织为对象、过程、例程、子例程或功能。所标识的模块的可执行文件共同位于或存储在不同的位置,使得不同的位置在逻辑上连接在一起时构成该模块。
53.可执行代码的模块可以是单个指令、一个或多个数据结构、一个或多个数据集、多个指令等,单个指令、一个或多个数据结构、一个或多个数据集、多个指令等被分布在若干不同代码段上、在不同程序之间、跨若干存储器设备等。在本文中,操作数据或功能数据可以在模块内被标识和图示,并且可以以合适的形式来体现并且在任何合适类型的数据结构内被组织。
54.在本文给定的示例中,计算机程序可以以硬件、软件或混合实施方式来被配置。该
计算机程序可以由彼此处于可操作的通信的并传递信息或指令的模块组成。
55.尽管特征和要素在上面以特定组合来描述,但是本领域普通技术人员将理解,每个特征或要素可以被单独使用或与其他特征和要素以任何组合来被使用。另外,在本文中所描述的方法可以在用于计算机或处理器的执行的计算机可读介质中并入的计算机程序、软件或固件中被实现。计算机可读介质的示例包括电子信号(通过有线或无线连接来传输)和计算机可读存储介质。计算机可读存储介质的示例包括但不限于只读存储器(rom)、随机存取存储器(ram)、寄存器,高速缓存存储器、半导体存储设备、诸如内部硬盘的磁性介质和可移动磁盘、磁光介质和诸如cd

rom磁盘的光学介质和数字多功能磁盘(dvd)。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献