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

基于机器学习的实体识别的制作方法

2023-03-06 05:03:49 来源:中国专利 TAG:

基于机器学习的实体识别


背景技术:

1.本文中的公开内容涉及机器人过程自动化(rpa)领域,并且更具体地涉及相对于rpa的基于机器学习(ml)的实体识别。
2.通常,文档可以以多种方式构造。例如,用于保险索赔过程的文档可以包括字段布局(其中可以被提取的字段被不同地放置在文档中、内容和细节结构、关键字变化(即,从承保人到承保人)等。传统的预定义提取器不能一致地准确和正确地评估文档,因为文档的高度变化及其布局、结构、变化等(例如,文档被结构化的方式的数目)。因此,目前,人们手动评估文档、布局、结构、变化等,以确定逻辑意义并提取相关字段。对文档的人工评估(和验证)是耗时的并且易于出错,这两者都可能延迟进一步的文档处理。需要通过减少周转时间来改进文档处理,以及具有最佳效率。


技术实现要素:

3.根据一个或多个实施例,系统包括存储器和至少一个处理器。存储器存储用于识别引擎的处理器可执行指令。至少一个处理器被耦合到存储器,并且执行处理器可执行指令以使系统定义要从工作流中的一个或多个文档中被标识的多个基线实体,并且将一个或多个文档数字化以生成一个或多个相应的文档对象模型。识别引擎还使系统通过使用一个或多个相应的文档对象模型和带标签文件作为输入来训练模型,并且使用该模型从一个或多个目标文档确定多个目标实体。
4.根据一个或多个实施例,上述计算系统实施例可以被实现为方法、装置、设备、和/或计算机程序产品。
附图说明
5.从以下结合附图以示例方式给出的描述中可以得到更详细的理解,其中附图中相同的附图标记表示相同的元件,并且其中:
6.图1描绘了示出根据一个或多个实施例的机器人过程自动化(rpa)的开发、设计、操作、和/或执行的环境;
7.图2是根据一个或多个实施例的计算系统的图示;
8.图3是示出根据一个或多个实施例的由一个或多个处理器执行的方法的框图;
9.图4是根据一个或多个实施例的示例用户界面;
10.图5是根据一个或多个实施例的示例用户界面;
11.图6是根据一个或多个实施例的示例用户界面;以及
12.图7是根据一个或多个实施例的示例用户界面。
具体实施方式
13.本文公开了基于ml的实体识别和rpa引擎(“识别引擎”)。识别引擎包括用于文档处理的软件和/或硬件。更具体地,识别引擎包括用于文档的鲁棒和有效的自定义命名实体
识别以及显示其预测实体的软件和/或硬件。识别引擎可以通过硬件和软件(例如,必须以硬件为根的处理器可执行代码)的组合在计算系统中被实现。
14.识别引擎的一个或多个技术效果、优点、和益处包括通过增加准确性和减少周转时间来改进文档处理,以及提供最佳效率。
15.与本文描述的识别引擎相比,传统文档处理(诸如本文提到的预定义提取器)在特定数据集上被训练以从文档提取最小数量(例如,18个预定义字段)的不同字段。无论通过ml和/或用户输入,这些数据集都不能适应反馈。此外,传统的文档处理仅在这些不同的字段被清楚地定义在文档内时起作用。例如,传统的文档处理不能区分包含“$3千万”和“$30m”的两个“货币”条目。此外,即使“$3千万”被正确地识别为“货币”字段并从文档中提取,“$30m”也可能被错误地提取或错误分类为另一字段。
16.作为传统文档处理的预定义提取器的示例,基于规则的表达式提取器包括增加的假阳性增加的可能性。在这点上,如果用正则表达式标准定义策略编号,则文档页脚中的编号满足正则表达式标准并将被提取的可能性。显然,这将导致提取几个不正确的数据,并增加了清除不正确数据所需的任何人工努力。
17.作为传统文档处理的预定义提取器的另一示例,基于关键字的提取器被假定为在字段定义在不同文档中保持相同时工作。然而,根据实际经验,这从来不是这种情况。此外,当关键字存在许多变化时,基于关键字的提取器也失效。
18.作为传统文档处理的预定义提取器的另一示例,如果字段位置在所有文档中保持恒定,则基于位置的提取器通常工作。然而,在半结构化和非结构化文档中,字段位置永远不会保持不变。因此,当字段位置变化时,基于位置的提取器变得不太理想或有时不可用。
19.因此,由于文档格式、假阳性提取、关键字变化、变化的字段位置等,诸如这里提到的预定义提取器的传统文档处理不能对工作流进行训练。
20.根据一个或多个实施例,识别引擎通过提供自定义和动态命名实体识别(ner)框架来克服常规文档处理的缺陷并提供增加的准确性、减少的周转时间、和最优效率,其中机器人过程自动化和/或用户在训练模型之前给字段的实体加标签。例如,识别引擎在特征增强算法(例如,诸如具有自定义特征的条件随机场(crf)算法)上实现自定义和动态ner框架,以标识和提取感兴趣的字段或实体。这样,识别引擎定义要从工作流中的文档中被识别的字段或实体,并将文档数字化以获得文档对象模型(dom)。此外,识别引擎可以利用rpa来标记和/或接收手动标记感兴趣的每个字段或实体的用户输入,例如在识别引擎的验证站中,以获得带标签文件。使用用于训练的特征增强算法将dom和带标签文件(例如,作为来自验证站的输出而获得)馈送到识别引擎的模型。提取来自文档中的单词、字符等的特征以训练模型,并且随后将其部署到识别引擎的人工智能(ai)中心中。随后,在运行时,识别引擎使用ml/ai服务和活动从目标文档确定(例如,预测和/或提取)字段。关于目标文档的预测字段,识别引擎可以确定置信度度量,该置信度度量可以使得能够由rpa或用户在验证站中自动审查预测字段(例如,如果字段丢失,则置信度度量可以是0,而如果预测字段不匹配,则置信度度量可以是0和1之间的值)。关于验证站的所有反馈可以被保存,并且稍后用作反馈回路的一部分,以重新训练识别引擎的模型。因此,识别引擎涉及文档、实体、和数据的多步骤数据处理,以提供降低成本、增加时间有效性、提供动态自定义、以及实现传统文档处理无法获得的大范围适用性的一个或多个技术效果、优点、和益处。
21.图1描绘了示出根据一个或多个实施例的机器人过程自动化(rpa)的开发、设计、操作、和/或执行的环境100。环境100可以是包括一个或多个组件的设计和部署计算平台。注意,虽然针对环境100的一个或多个组件中的每个组件示出了单个块,但是该单个块表示该组件中的一个或多个。
22.如图所示,环境100可以包括设计器110,设计器110还包括基于ml的实体识别和rpa引擎(“识别引擎”)111。识别引擎111可以包括工作室组件或模块(“工作室”)120,其产生执行一个或多个活动124的一个或多个机器人(例如,机器人122)、和/或使用一个或多个驱动程序组件128和/或内部引擎129提供一个或多个用户界面(ui)自动化126。机器人122也可以与设计器110内的其它驱动程序部件131和模块132接合。此外,环境100可以包括指挥器140和执行器170,执行器170可以下载/获取/传输识别引擎111和/或机器人122,使得可以在环境100中提供一个或两个,诸如无人值守机器人174,有人值守机器人178和所示执行器170的识别引擎111的单独实例。
23.设计器110、指挥器140、和执行器170代表包括硬件,软件或其组合的计算设备、计算装置、和/或计算系统。设计器110、指挥器140、和执行器170以及其上的任何软件(例如,识别引擎111)被配置为与用户或操作方交互,以便接收输入并提供输出。在一个实例中,执行器170可以是或实现移动计算和/或移动设备环境。
24.根据一个或多个实施例,设计器110可以被称为工作室平台、开发平台、和/或在线平台。设计器110可以包括一个或多个引擎(例如,识别引擎111)、开发环境(例如,工作室120)、子程序(例如,如本文描述的验证站180和/或模型185)等,并且可以被配置为生成用于机器人(例如,一个或多个机器人122,无人值守机器人174和有人值守机器人178)的代码、指令、命令等,以执行或自动化文档处理(例如,一个或多个活动124和/或提供一个或多个ui自动化126)。
25.识别引擎111通常是实现机器人过程自动化的软件和/或硬件。在这点上,识别引擎111被详细描述为虚线框,以示出环境100内的识别引擎111的可扩展性和可移植性。此外,根据一个或多个实施例,识别引擎111可以提供或作为框架/机构(例如,环境100)的一部分,该框架/机构在工作室120内自动实现代码和设计机器人122,例如自定义和动态ner框架179。如图1所示,自定义和动态ner框架179可以包括验证站180、模型185、特征增强算法190、和ai中心195,和/或与验证站180、模型185、特征增强算法190、和ai中心195集成。
26.验证站180可以是供用户和/或rpa以审查和/或验证实体匹配、特征提取等的gui子程序。例如,验证站180可以提供一个或多个子软件模块(例如,智能文档活动子软件模块和数据标记子软件模块),其进一步与ai中心195集成以用于实体标记。例如,智能文档活动和数据标记子软件模块可以是验证站180的一部分,验证站180对文档进行数字化、对文档进行分类、验证自动分类、训练分类器、从文档提取数据、验证自动数据提取结果、训练提取器、导出、提取的信息等。
27.模型185可以是机器学习子程序,其表达/得出实体的含义以经由概念、数据、逻辑、和/或物理建模来发现其间的关系。
28.特征增强算法190可以是统计数学模型,其包含关于从文档生成特征的统计假设集合。这些特征可以是可自定义的,因此识别引擎111可以标识和提取例如在工作室120内可用的实体。特征增强算法190的示例包括具有应用于上下文机器学习并用于结构化预测
的自定义特征的crf算法。自定义和动态ner框架还可以在训练模型185之前使得机器人过程自动化和/或用户能够给字段的实体加标签。
29.ai中心195可以是ai子程序,其至少基于模型185和由此产生的特征来提取和/或预测实体和关系。
30.识别引擎111还可以使开发者和/或指挥者(例如,用户或操作方)能够例如通过工作室120对机器人122进行编码、编程、和/或设计。在一个实施例中,工作室120可以提供应用集成、以及第三方应用、管理信息技术(it)任务、和/或业务it过程的自动化。通常,识别引擎111可以包括机器人智能,其对照当前捕获的图像查看已知的捕获的图像集合(例如,小图片),对齐序列、确定是否存在与其的匹配、并且支持呈现匹配。类似地,识别引擎111可以包括机器人智能,其定义将从工作流中的文档中被标识的实体、数字化文档、标记和/或接收标记(从验证站180),并使用特征增强算法190馈送模型185。
31.机器人122(以及无人值守机器人174和有人值守机器人178)可以是可执行和/或自动化一个或多个工作流(例如,部分地由一个或多个活动124表示和/或提供一个或多个ui自动化126)的应用,小应用程序,脚本等。工作流(例如,rpa工作流)可以包括但不限于任务序列、流程图、有限状态机(fsm)、全局异常处理程序、ui透明等。任务序列可以是用于处理一个或多个应用或窗口之间的线性任务的线性过程。流程图可以被配置成处理复杂的业务逻辑,使得能够通过多个分支逻辑操作方以更多样的方式集成决策和连接活动。可以为大工作流配置fsm。fsm可在其执行中使用有限数量的状态,其可由条件、转换、活动等触发。全局异常处理程序可以被配置为在遇到执行错误时确定工作流行为,用于调试过程等。ui透明可以是对底层操作系统(os)或硬件的软件操作。可由一个或多个工作流完成的操作的非限制性示例可以是以下一个或多个:执行登录、填写表格、信息技术(it)管理等。为了运行用于ui自动化和/或文档处理的工作流,机器人122可能需要唯一地标识特定的屏幕元素,诸如按钮、复选框、文本字段、标签等,而不管应用访问或应用开发。应用访问的示例可以是本地、虚拟、远程、云、以是本地、虚拟、远程、云、远程桌面、虚拟桌面基础结构(vdi)等。应用开发的示例可以是win32、java,flash、超文本标记语言(html)、html5、可扩展标记语言(xml)、javascript、c#、c 、silverlight等。
32.根据一个或多个实施例,在开发时,机器人122可以在设计器110(例如,工作室120)处/由设计器110(例如,工作室120)生产。此外,在部署时,机器人122可以在/由指挥器140(例如,在识别引擎111内)管理、控制、配置等。在部署时,机器人122也可以在执行器170内被执行。在一个示例中,用户输入(例如,显示器上的选择)可以由用户或操作方提交给设计器110。根据设计器110可以提供给机器人122的选择,机器人122可以确定(多个)视觉显示的区域的代表性数据(例如,由用户或操作方选择的)。作为rpa的一部分,多维形状(例如,正方形、矩形、圆形、多边形、自由形式等)可用于与计算机视觉(cv)操作和/或模型185相关的ui机器人开发和运行时。
33.根据一个或多个实施例,ui自动化126可以由机器人122使用其中的驱动程序128来执行,并且识别引擎111可以使用模块130(例如,cv活动模块或引擎)来执行活动。驱动程序组件132可由机器人122来用于ui自动化以获得ui的元素。类似地,驱动程序组件132可以用于由机器人122进行文档处理以获得、确定、和/或预测文档的实体。驱动程序组件132可以包括但不限于os驱动程序、浏览器驱动程序、虚拟机驱动程序、企业驱动程序等。在某些
配置中,模块130可以是用于文档处理的驱动程序。此外,机器人122的这些动作中的任何动作都可以在客户端上实现,例如经由无人值守机器人174、有人值守机器人178、和/或执行器170的识别引擎111的单独实例。
34.指挥器140可命令或指示机器人122、174、和178、或执行器170以执行或监视主机、web、虚拟机、远程机器、虚拟桌面、企业平台、在线平台、桌面应用、浏览器等客户端、应用或程序中的工作流。指挥器140可用作中央或半中央点,以指示或命令一个或多个机器人(例如,机器人122、174、和178)以自动化计算平台(例如,环境100)。
35.根据一个或多个实施例,指挥器140可以被配置用于供应、部署、配置、排队、监视、记录、和/或提供互连性。供应可以包括创建和维护一个或多个机器人、执行器170、和指挥器140之间的连接或通信。部署可以包括确保向所分配的机器人递送包版本以供执行。配置可以包括机器人环境和过程配置的维护和递送。排队可以包括提供对队列和队列项的管理。监视可以包括跟踪机器人标识数据并维护用户权限。日志记录可以包括将日志存储和索引到数据库(例如,sql数据库)和/或另一存储机制(例如,其提供存储和快速查询大数据集的能力)。指挥器140可以通过充当第三方解决方案和/或应用的集中式通信点来提供互连性。
36.根据一个或多个实施例,一个或多个机器人和执行器170可以被配置为无人值守机器人174和/或有人值守机器人178。对于无人值守操作,无人值守机器人174的自动化可以在没有第三方输入或控制的情况下执行。对于有人值守操作,有人值守机器人178的自动化可以通过从第三方组件接收输入、命令、指令、引导等来执行。无人值守机器人174和/或有人值守机器人178可以在移动计算或移动设备环境上运行或执行。
37.根据一个或多个实施例,一个或多个机器人和执行器170可以被配置为运行设计器110中构建的工作流的执行代理。用于ui或软件自动化的机器人的商业实例是uipathrobotstm。在一些实施例中,一个或多个机器人和执行器170可以默认地安装microsoft服务控制管理器(scm)管理的服务。结果,这种机器人可以在帐户下打开交互式会话,并且具有服务的权限。
38.根据一个或多个实施例,一个或多个机器人、验证站180、和执行器170可以以用户模式安装。例如,一个或多个机器人可以具有与安装给定机器人的用户相同的权限。该特征还可用于高密度(hd)机器人,其确保在诸如hd环境中的最大性能下完全利用每个机器。
39.根据一个或多个实施例,一个或多个机器人和执行器170可以被拆分、分发或类似地分成几个部件,每个部件专用于特定的自动化任务或活动。机器人部件可以包括scm管理的机器人服务、用户模式机器人服务、执行器、代理、命令行等。scm管理的机器人服务可以管理或监视会话,并作为指挥器140和执行主机(即,在其上执行一个或多个机器人的计算系统)之间的代理。这些服务可以与一个或多个机器人和执行器170一起被信任并管理它们的凭证。用户模式机器人服务可以管理和监视会话,并作为指挥器140和执行主机之间的代理。用户模式机器人服务可以被信任并管理针对机器人的凭证。如果没有安装scm管理的机器人服务,则可以自动启动应用。在一个示例中,执行器170可以在会话下运行给定作业(例如,它们可以执行本文所述的
工作流),并且可以知道每监视器每英寸点数(dpi)设置。代理可以是在系统托盘窗口中显示可用作业的呈现基础(wpf)应用。代理可以是服务的客户端。代理可以请求开始或停止作业并改变设置。命令行可以是服务的客户端。命令行是可以请求开始作业并等待其输出的控制台应用。
40.根据一个或多个实施例,其中一个或多个机器人和/或执行器170的组件被拆分的配置帮助开发者、支持用户和计算系统更容易地运行、识别、和跟踪每个组件的执行。可以用这种方式为每组件配置特殊行为,例如为执行器170和服务建立不同的防火墙规则。在一些实施例中,执行器170可以知道每监视器dpi设置。结果,可以以任何dpi执行工作流,而不管在其上创建工作流的计算系统的配置如何。来自设计器110的项目也可以独立于浏览器缩放等级。对于不知道dpi或有意标记为不知道的应用,在一些实施例中可以禁用dpi。
41.现在转到图2,示出了根据一个或多个实施例的计算系统200。计算系统200可以表示包括硬件、软件、或其组合(例如,支持图1的识别引擎111、设计器110、指挥器140、和执行器170的硬件)的任何计算设备、计算装置、和/或计算环境。此外,所公开的计算系统200的实施例可以包括任何可能的集成技术细节等级的装置、系统、方法、和/或计算机程序产品。
42.计算系统200具有带有一个或多个中央处理单元(cpu)的设备205(例如,图1的设计器110,指挥器140和执行器170),中央处理单元被统称为处理器210。处理器210(也称为处理电路)经由系统总线215被耦合到系统存储器220和各种其它组件。计算系统200和/或设备205可以被适配或配置成作为在线平台、服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(pda)、蜂窝电话、平板计算设备、量子计算设备、云计算设备、移动设备、智能电话、固定移动设备、智能显示器、可穿戴计算机等来执行。
43.处理器210可以是任何类型的通用或专用处理器,包括中央处理单元(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)、图形处理单元(gpu)、控制器、多核处理单元、三维处理器、量子计算装置、或其任何组合。处理器210还可以具有多个处理核,并且至少一些核可以被配置为执行特定功能。也可以配置多并行处理。此外,至少处理器210可以是包括模拟生物神经元的处理元件的神经形态电路。处理器210还可以表示计算系统200上的云处理。
44.总线215(或其它通信机制)被配置用于向处理器210、系统存储器220、和各种其它组件(诸如适配器225、226、和227)传送信息或数据。
45.系统存储器220是(非暂态)计算机可读存储介质的示例,其中可以定位/管理储存库229和/或可以存储软件(例如,识别引擎230)。储存库229可以是数据库(例如,sql数据库)和/或另一存储机制。根据一个或多个实施例,储存库229可以包括本文所述的自动化和其它数据(例如,文档、实体、置信度度量、图像、片段、散列、视频、帧、源数据、机器人视频、源代码等)以供识别引擎230访问。例如,可以在识别引擎230的训练阶段期间构建模型(例如,图1的模型185)并将其存储在储存库229中。在这点上,储存库229存储自定义特征作为模型的训练数据,以标识和提取感兴趣的字段或实体。
46.识别引擎230可以被存储为软件组件、模块、引擎、指令等,用于由处理器210执行以使设备205进行操作,如本文参考图3至图7所描述的。例如,识别引擎230定义要从工作流中的一个或多个文档中被标识的多个基线实体,数字化一个或多个文档以生成一个或多个对应的dom,通过使用一个或多个对应的dom和带标签文件(例如,带标签javascript对象符
号(json)文件)作为输入来训练模型(例如,存储在储存库229中),并从一个或多个目标文档中确定多个目标实体。注意,由模型生成特征以确定多个目标实体是的识别引擎230的技术效果和益处,在传统的基于关键字、基于位置、和/或基于regex的提取器中不存在。
47.系统存储器220可以包括只读存储器(rom)、随机存取存储器(ram)、内部或外部闪存、嵌入式静态ram(sram)、固态存储器、高速缓存、诸如磁盘或光盘的静态存储器、或任何其它类型的易失性或非易失性存储器的任何组合。非暂态计算机可读存储介质可以是可由处理器210访问的任何介质,并且可以包括易失性介质、非易失性介质等。例如,rom被耦合到系统总线215并且可以包括控制设备205的某些基本功能的基本输入/输出系统(bios),并且ram是被耦合到系统总线215以供处理器210使用的读写存储器。非暂态计算机可读存储介质可以包括可移动、不可移动等任何介质。
48.结合图1,图2的识别引擎230可以表示识别引擎111及其中的组件,使得存储器220和处理器210可以逻辑地设计/配置/提供机器人122,机器人122还使用一个或多个驱动程序组件128和/或内部引擎129来执行一个或多个活动124和/或提供一个或多个用户界面(ui)自动化126。图2的识别引擎230还可以表示针对计算系统200的设备205的操作系统。
49.根据一个或多个实施例,识别引擎230可以被配置在硬件、软件、或混合实现中。识别引擎230可以由彼此可操作地通信并传递信息或指令的模块组成。根据一个或多个实施例,识别引擎230可以提供一个或多个用户界面,例如代表操作系统或其他应用和/或直接根据需要提供智能自动化体验。用户界面包括但不限于互联网浏览器、图形用户界面、窗口界面、和/或用于应用、操作系统、文件夹等的其它可视界面。因此,用户活动可以包括由识别引擎230提供的用户界面的任何交互或操纵。
50.识别引擎230还可以包括自定义模块以执行专用过程或其派生,使得计算系统200可以包括附加功能。例如,根据一个或多个实施例,识别引擎230可被配置为存储要由处理器210执行或处理的信息、指令、命令、或数据,以启用操作231、232、233、和234。例如,识别引擎230可以向计算系统200提供特定的配置和加工机器人文档处理方法,使得计算系统200可以定义(231)要从工作流中的一个或多个文档中被标识的多个基线实体,数字化(232)该一个或多个文档以生成一个或多个对应的dom,并且通过使用作为输入的一个或多个相应的dom和带标签文件(例如,带标签json文件)连同本文描述的任何其他操作/动作(234)来训练(233)模型。其他操作/动作可以包括但不限于实现特征增强算法、接收感兴趣的实体的标记、包含错误分类和错误分割等。例如,识别引擎230的一个或多个机器人处理自动化可以具体地定义(231)多个基线实体、数字化(232)一个或多个文档、训练(233)模型、确定(234)多个目标实体、或以其他方式如本文所述地操作(234)。
51.此外,识别引擎230的模块可被实现为硬件电路,该硬件电路包括定制的超大规模集成(vlsi)电路或门阵列、成品的半导体(诸如逻辑芯片、晶体管或其它离散组件)、可编程硬件设备(例如,现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备)、图形处理单元等。识别引擎230的模块可以至少部分地以由各种类型的处理器执行的软件来实现。根据一个或多个实施例,可执行代码的标识单元可以包括计算机指令的一个或多个物理或逻辑块,该计算机指令例如可以被组织为对象、过程、例程、子例程、或函数。标识模块的可执行代码共同位于或被存储在不同的位置,使得当逻辑地结合在一起时包括该模块。可执行代码模块可以是单个指令、一个或多个数据结构、一个或多个数据集、多个指令等,其分布在若干
不同代码段上、不同程序之间、跨若干存储器装置等。本文中操作或功能数据可以在识别引擎230的模块内被标识并示出,并且可以以合适的形式被体现以及在任何合适类型的数据结构内组织。
52.关于图2的适配器225、适配器226、和适配器227,设备205可以特别地包括输入/输出(i/o)适配器225、设备适配器226、和通信适配器227。根据一个或多个实施例,i/o适配器225可以被配置为小型计算机系统接口(scsi),其考虑到频分多址(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、家庭节点b(hnb)、蓝牙、射频识别(rfid)、红外数据关联(irda)、近场通信(nfc)、第五代(5g)、新无线电(nr)、或用于通信的任何其他无线或有线设备/收发器。设备适配器226将输入/输出设备互连到系统总线215,诸如显示器241、键盘242、控制设备243等(例如,相机、扬声器等)。
53.通信适配器226将系统总线215与网络250互连,网络250可以是外部网络,使得设备205能够与其他这样的设备(例如,诸如通过网络260的本地计算设备255以及远程计算系统256)进行数据通信。在一个实施例中,适配器225、适配器226、和适配器227可以被连接到经由中间总线桥连接到系统总线215的一个或多个i/o总线。用于连接诸如硬盘控制器、网络适配器、和图形适配器之类的外部设备的合适的i/o总线通常包括诸如外部组件互连(pci)之类的通用协议。
54.显示器241被配置为提供一个或多个ui或图形ui(gui),当用户与设备205交互时,这些ui或图形ui可以被识别引擎230捕获并分析。显示器241的示例可以包括但不限于等离子体、液晶显示器(lcd)、发光二极管(led)、场发射显示器(fed)、有机发光二极管(oled)显示器、柔性oled显示器、柔性基板显示器、投影显示器、4k显示器、高清晰度(hd)显示器、视网膜显示器、面内切换(ips)显示器等。显示器241可以被配置为触摸、三维(3d)触摸、多输入触摸或使用电阻、电容、表面声波(saw)电容、红外、光学成像、色散信号技术、声脉冲识别、受抑全内反射等的多触摸显示器,如本领域普通技术人员对于输入/输出(i/o)所理解的。
55.键盘242和控制设备243(例如计算机鼠标、触摸板、触摸屏、小键盘等)可以进一步被耦合到系统总线215以输入到设备205。另外,可以经由与其通信的另一计算系统(例如,本地计算设备255和/或远程计算系统256)远程地向计算系统200提供一个或多个输入,或者设备205可以自主地操作。
56.根据一个或多个实施例,设备205关于识别引擎230的功能也可以在本地计算设备255和/或远程计算系统256上实现,如由识别引擎230的单独实例所表示的。注意,一个或多个文档可以被存储在位于设备205、本地计算设备255、和/或远程计算系统256处的公共存储库(例如,存储库229)中,并且可以被下载(按需)到设备205、本地计算设备255和/或远程计算系统256中的每一个,和/或从设备205,本地计算设备255和/或远程计算系统256中的每一个下载。
57.现在转到图3,示出了根据一个或多个实施例的由一个或多个处理器执行的方法
300的框图。更特别地,方法300是本文中所描述的识别引擎(例如,图1的识别引擎111和/或图2的识别引擎230)的示例实现,以提供关于智能自动化经验的特定配置和工具机器人文档处理方法。
58.过程流程300开始于框310,其中识别引擎定义要从rpa工作流中的文档中被标识的实体(例如,多个基线实体)。实体可以是可以包含固定或变化长度的字符序列的任何字段、实例变量、数据成员、成员变量等。实体的例子可以包括但不限于名称、日期、数量、年龄、地址、帐号、性别、和头发颜色。文档通常是包含实体、文本、图像、音频、视频等的任何计算机创建的文件(例如,xml或html文件)。rpa工作流可以包括由rpa关于文档处理执行的任务序列。
59.根据一个或多个实施例,识别引擎经由分类法(taxonomy)管理器来构建rpa工作流以定义实体(例如,要从文档被标识的实体)。分类法管理器控制针对实体的分类法(即,分类系统)。分类法管理器可以将类别添加到私有或自分类树的任何部分,并且无缝地创建将实体映射到私有或自分类树的类别中的规则。
60.转到图4,示出了根据一个或多个实施例的示例用户界面400。用户界面400是用于构建rpa工作流的分类法管理器gui的示例。用户界面400包括“文档类型”窗口410和“文档类型细节”窗口420。窗口410的操作包括添加431新文档类型、搜索433文档类型、按组过滤435、以及按类别过滤437。此外,在窗口410中,搜索结果439可以是可点击的。窗口410中文档类型的操控和选择使得能够在窗口420中编辑该文档类型的细节。例如,对于所选文档类型,窗口420的操作包括定义451名称(例如,实体)、定义453组(例如,电子邮件提取)、定义455类别(例如,签名)、定义457文档类型代码(这可以是可选值)、添加472新字段、保存474和取消476。窗口420的字段列表480可以显示针对文档类型创建的所有字段。例如,字段列表480可以显示代理名称、地址行1、地址行2、城市、州/县/省、邮政编码、代理电话号码等。
61.例如,经由用户界面400的文档标签包括最初地定义文档组(453)、文档类别(455)、和文档类型(457)。然后,通过选择添加新字段(472),可以对感兴趣的实体加标签/加标记。一旦定义了所有字段/实体,就可以保存474文档类型细节(例如,分类法),并且该方法可以继续到框330。注意,已被加标签的文档以及其中定义的多个基线实体可被保存474到存储库(例如,图2的存储库229)的标签文件夹。
62.在框330,识别引擎将文档数字化。根据一个或多个实施例,数字化文档生成对应的dom和/或文档文本(例如,机器编码文本或文本数据)。dom可以是作为树结构的文档的跨平台和语言无关的接口,其中每个节点是表示文档部分的对象。注意,在定义了分类法之后(在框310),可以经由用户界面选择来自标签文件夹的文档并将其发送(到识别引擎)用于数字化。此外,可以将dom和/或文档文本呈现给如针对框350所描述的(用于用户或rpa来标识和标记每个字段/实体)的验证站(例如,图1的验证站180)。此外,dom和/或文档文本可被保存为单独的文件并被呈现以训练如关于框370所描述的模型(例如,图1的模型185)。
63.现在转到图5,示出了根据一个或多个实施例的示例用户界面500。用户界面500是数字化gui以将文档从任何文件夹(例如,标记文件夹)传递到识别引擎的光学字符识别(ocr)或光学字符读取器的的示例。注意,光学字符识别(ocr)或光学字符读取器提供文档(例如,是否扫描,拍摄等)到dom和/或文档文本的电子转换。用户界面500包括可以选择输入和输出的数字化文档菜单。该输入包括选择520针对要被数字化的文档的文档路径的菜
单选项。输出包括选择540文档文本(例如,电子邮件文本)和选择560dom(例如,电子邮件dom)的菜单选项。执行按钮580触发数字化。
64.在框350,识别引擎标记感兴趣的实体。根据一个或多个实施例,识别引擎可以接收dom内的感兴趣实体的标记,以获得带标签文件(例如,带标签json文件)。标记可以是被正确定义的实体的标识。标记可以由rpa或用户输入提供。关于用户输入,与验证站交互的用户可以手动标记感兴趣的每个字段/实体,以获得dom和带标签文件。也就是说,一旦被数字化,文档(例如,其可以是数百或更多)可以与相关数据和字段一起被加载到验证站上,以供用户来标记数据。注意,传统的预定义提取器不能执行框350的标记。
65.转到图6,示出了根据一个或多个实施例的示例用户界面600。用户界面600包括窗口605和窗口615。用户界面600是在窗口605中选择单词619并将该单词添加到窗口615中的相关字段的示例。例如,窗口615中的相关字段可以包括文档类型字段621、代理字段623、代理电话号码字段625、和代理地址字段627。接着,如果从窗口605的字619中选择地址,则该地址可以被填充到代理地址字段627中。一旦加标签完成,保存按钮661可以触发将dom和带标签数据文件两者保存到储存库的两个不同文件夹的保存操作。注意,当在框370处训练模型以标识字段/实体时,可以使用这些文件夹。
66.在框370,识别引擎例如通过使用doms和带标签文件作为输入来训练模型。如本文所述,该模型可以实现以特征增强算法构建的自定义命名实体识别框架。在一个示例中,dom和定标签文件(例如,从验证站获得的)由识别引擎经由用于训练的crf算法馈送到模型。此外,从带标签字中提取特征以训练模型,并且可以在以后部署到ai中心中。
67.根据分别初始化模型训练的一个或多个实施例,最小数量的文档(例如,从100到500个文档的范围中选择的)被加标签。此外,识别引擎可以对dom和带标签json文件进行分类,以将字分离为带标签字和文档中的其他字。然后可以加载每个带标签json文件并保存带标签数据的边界框坐标。然后,dom文件被加载并且边界框值以及每个字、实际字和标签的词性数据被加载到父列表。一旦为所有文件加载了类似数据,就在数据上实现特征工程。接下来,为了训练模型,识别引擎使用关于特征的机器学习库来实现crf的流水线或其它序列标签算法。
68.可以为每个字和在感兴趣的字之前和之后出现的“n”个字提取特征,其中“n”是可配置的数。根据感兴趣的工作先前和随后的字的意义,识别引擎可以查看感兴趣的字之前和之后的1、2或3个字。注意,识别引擎实现文本文档中提到的所有字的整套特征集合,以标识如何定义带标签数据、在感兴趣的字之前/之后出现什么字、以及如何根据特征定义这些字。特征(例如,自定义特征)的示例可以包括广义字类、简短字类、词干、文本情况、字类型、词性、电子邮件、签名等。
69.广义字类特征可以分别为任何大写字母到“x”、小写字母到“x”、数字到“0”和其它字符到“o”。简短字类特征可以将连续的大写字母、小写字母、数字和其它字符映射到“x”、“x”、“0”、“o”。例如,digitalization1!可以具有“xxxxxxxxxxxxxx0o”的广义字类和“xx0o”的简短字类。
70.词干特征可以包括兰卡斯特(lancaster)词干和波特(porter)词干以提取每个字的词干字(例如,playing、player和play play的词干字)。文本情况特征可以包括小写、大写和标题。字类型特征可以包括文本、字母数字和数字。词性特征可以包括名词、代词、动词
等。
71.电子邮件特征可以包括文档何时是电子邮件并且因此被分成部分/类别,诸如电子邮件标题、电子邮件正文和电子邮件签名。进而,基于特定词出现的位置,该词将落入这些部分/类别之一。该模型学习通常指定感兴趣的字段/实体的位置,并且进一步学习忽略不加值的区域(例如,丢弃)位置。识别引擎可以以预处理形式象征性地表示数据,以帮助提取将来的数据。
72.签名特征可以包括文档何时具有人名、日期、组织名称等的组合,使得识别引擎的预训练模型可以识别签名并将该签名作为字的特征传递给该模型。注意,传统的预定义提取器不能利用这种预先训练的模型。一旦通过,该模型学习这类字是否是感兴趣的字,如果是,则该模型基于其它特征识别这种字通常是如何拼写出来的,并提取它们。
73.在框380,识别引擎从一个或多个目标文档确定多个目标实体。也就是说,在实时操作中或在运行时,可以使用识别引擎中可用的ml/ai服务和活动来预测和提取来自目标文档的字段。这样,识别引擎克服了传统的预定义提取器的挑战。
74.根据一个或者多个实施例,一旦上述模型已经被训练,该模型被部署在ai识别引擎的中心。使用其中的ml/ai服务和活动,该模型可以被加载并用于字段/实体预测。此外,识别引擎可以提供不同类别/特征/实体/字段的置信度度量(例如,作为百分比)。如果相应的置信度度量高于阈值(例如,大于50%、60%、70%等),则输出(例如,多个目标实体)可以由识别引擎进一步处理,并且如果低于阈值或在范围(例如,30%到70%)上,则输出可以被加载到验证站中。rpa和/或用户可以验证或校正输出,然后转发经校正的输出用于进一步处理。任何经验证的输出可被保存在存储库的单独目录/文件夹中,并作为反馈回路的一部分用于重新训练模型,以确保任何类似的目标文档以较高的确定性程度(例如,基于模型随后学习的内容)被处理。
75.转到图7,示出了根据一个或多个实施例的示例用户界面700。用户界面700是包括窗口708和窗口712的示例验证站。用户界面600还是在窗口712中选择字721并在窗口708中查看每个字和置信度度量的示例。每个实体731、实体733、实体735、实体737、实体739、实体741和实体743具有与其相关联的百分比,以示出该模型预测的置信度。
76.在框390,识别引擎包含错误分类或错误分割。错误分类包括将实体或字段错误地分配给组或类别的实例。错误分割包括将电子邮件特征、签名特征等错误地分成部分的实例。
77.根据一个或多个实施例,可以通过假设在用于正确预测的训练期间置信度度量遵循高斯或正态分布来控制错误分类。此外,可以针对每个预测记录置信度度量。反过来,对于每个类并假定高斯分布,识别引擎使用置信度度量来确定/计算分布的最小值、最大值、平均值、和标准偏差。在一些情况下,对于新的预测,可以从预训练模型获得置信度度量。
78.根据一个或多个实施例,可通过截止值(例如,如本文所定义的阈值)来确定错误分类或错误分割。该截止值可以等于上限(例如,平均值或标准偏差),其中该上限是将该截止值四舍五入为最接近的整数。如果置信度度量小于截止值,则可以丢弃模型预测,并且可以提示rpa或用户进行审查和验证。
79.因此,方法300提供了能够容纳文档的通用流水线(例如,识别引擎不需要被预训练)的技术效果、益处和优点,可以与任何文档(例如,具有许多字段的保险文档)一起工作,
并且可以无需编码而被递送给用户,以及可以增强当前rpa并在rpa架构内提供新的gui。因此,当用户具有100到500个文档样本时,可以调整识别引擎以有效地与这些文档一起工作。
80.附图中的流程图和框图示出了根据本发明各种实施例的装置、系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些可备选的实现方式中,框中指出的功能可以不按附图中的流程图和框图中指出的顺序发生。例如,根据所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意到,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
81.尽管以上以特定组合描述了特征和元件,但是本领域普通技术人员将理解,每个特征或元件可以单独使用或与其他特征和元件任意组合使用。例如,对于在此描述的任何方法和过程,所列举的步骤可以以任何顺序不按顺序执行,并且可以执行未明确描述或示出的子步骤。当使用“a或b”时,它可以包括a、b、或a和b,它们可以类似地扩展到更长的列表。当使用符号x/y时,它可以包括x或y。或者,当使用符号x/y时,它可以包括x和y。x/y符号可以类似地扩展到具有相同解释的逻辑的较长列表。此外,“耦合”或“可操作地耦合”可以指对象被链接,但在所链接的对象之间可以具有零个或多个中间对象。而且,在一个或多个实施例中可以使用所公开的特征/元件的任何组合。
82.此外,在此描述的方法和过程可以在计算机程序,软件和/或固件(例如,计算机程序产品)中实现,该计算机程序,软件和/或固件被合并在计算机可读介质中以由计算机或处理器执行。即,计算机程序产品可以包括其上具有用于使控制器,处理器等执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或介质)。
83.计算机可读存储介质可以是能够保留和存储计算机可读程序指令的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或前述的任何合适的组合。这里使用的计算机可读存储介质不应被解释为是瞬时信号本身,例如无线电波或其它自由传播的电磁波,通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆的光脉冲),或通过导线传输的电信号。计算机可读存储介质的示例包括但不限于寄存器,高速缓冲存储器,半导体存储器设备,诸如内部硬盘和可移动盘的磁介质、磁光介质、诸如光盘(cd)和数字多功能盘(dvd)的光介质、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)和存储棒。
84.这里描述的计算机可读程序指令可以经由连接(例如网络通信)从装置、设备、计算机或外部存储器传送和/或下载到相应的控制器,处理器等。用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集体系结构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、用于集成电路的配置数据、或以一种或多种编程语言的任何组合编写的源代码或目标代码,所述编程语言包括诸如smalltalk、c 等的面向对象的编程语言、以及诸如“c”编程语言或类似编程语言的过程编程语言。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序
指令,以便执行本发明的各方面。
85.本文使用的术语仅用于描述特定实施例的目的,而不旨在是限制性的。如本文所用,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另外明确指出。还将理解,术语“包括”和/或“包含”当在本文中使用时指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件组件和/或其群组的存在或添加。
86.本文中的各种实施例的描述是出于说明的目的而呈现的,但并不旨在穷举或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文中使用的术语以最佳地解释实施例的原理,实际应用或对市场中存在的技术的技术改进,或使所属领域的技术人员能够理解本文中所揭示的实施例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献