从以自然语言编写的文本描述中创建可执行过程的制作方法

文档序号:29649610发布日期:2022-04-14 00:07阅读:186来源:国知局
从以自然语言编写的文本描述中创建可执行过程的制作方法

1.本发明的领域是数据处理,或者更具体地,是用于从以自然语言编写的文本描述中创建可执行过程的方法、装置和产品。


背景技术:

2.1948年的edvac计算机系统的开发经常被引用为计算机时代的开始。从那时起,计算机系统已经进化成极其复杂的设备。当今的计算机比早期系统(例如edvac)复杂得多。计算机系统通常包括硬件和软件组件、应用程序、操作系统、处理器、总线、存储器、输入/输出设备等的组合。随着半导体处理和计算机架构的进步推动计算机的性能越来越高,更复杂的计算机软件已经演进以利用硬件的更高性能,导致当今的计算机系统比几年前强大得多。
3.计算机越来越多地用于使任务自动化。然而,某些任务依赖于以自然语言编写的文档,因此需要人的干预。例如,当在在线帮助会话期间与助理聊天时,助理可能能够参考帮助手册或故障排除规范。作为另一示例,当关于保险覆盖范围呼叫保险代理时,代理可以具有要引用的政策文档以便回答关于覆盖范围的问题。为了利用计算机实现的人工智能(ai)使这些任务自动化,将自然语言文档转换成可被ai理解的计算机代码可能是困难且耗时的。


技术实现要素:

4.根据本发明的实施例涉及一种从文本描述中创建可执行过程的方法,包括从以自然语言编写的文本文档中提取命题集合,根据所述命题集合从所述文本文档中提取公式集合,创建包括由所述公式集合约束的一组命题值确定路径的状态转换图,以及将所述状态转换图转变成软件应用。
5.根据本发明的另一实施例涉及一种用于从以自然语言编写的文本描述中创建可执行过程的装置,该装置包括计算机处理器、可操作地耦接到所述计算机处理器的计算机存储器,所述计算机存储器具有设置在其中的计算机程序指令,所述计算机程序指令当被所述计算机处理器执行时,使得所述装置执行以下步骤:从以自然语言编写的文本文档中提取命题集合,根据所述命题集合从所述文本文档中提取公式集合,创建包括由所述公式集合约束的一组命题值确定路径的状态转换图,以及将所述状态转换图转变成软件应用。
6.根据本发明的又一实施例涉及一种用于从以自然语言编写的文本描述中创建可执行过程的计算机程序产品,所述计算机程序产品布置在计算机可读介质上,所述计算机程序产品包括计算机程序指令,所述计算机程序指令当被执行时使得计算机执行以下步骤:从以自然语言编写的文本文档中提取命题集合,根据所述命题集合从所述文本文档中提取公式集合,创建包括由所述公式集合约束的一组命题值确定路径的状态转换图,以及将所述状态转换图转变成软件应用。
7.在根据本发明的不同实施例中,从文本文档中提取命题集合可以包括:在文本文
档的每个句子中,掩蔽在预定义的字典中列出的关键词;在文本文档的每个句子中,掩蔽由预定义的表达规则表示的字符序列模式;以及通过机器学习过程,将每个句子的掩蔽部分映射到命题类。
8.在根据本发明的不同实施例中,根据命题集合从文本文档中提取公式集合可以包括:提取命题集合之中的关系;以及生成将所述关系表示为条件语句的逻辑公式的集合。在某些实施例中,根据命题集合从文本文档中提取公式集合还可以包括提取出现在文本文档的第一句中的逻辑公式与出现在文本文档的第二句中的另一逻辑公式之间的关系。
9.在根据本发明的不同实施例中,创建包括由公式集合约束的一组命题值确定路径的状态转换图可以包括:对于所述命题集合中的每个命题,构造代表命题值的所有可能状态的过程流树;将所述公式集合作为约束应用于所述过程流树中的所有路径;以及优化所述过程流树。
10.在根据本发明的不同实施例中,将状态转换图转变成软件应用包括生成确定状态转换图中所表示的命题变量的值的计算机可执行逻辑。
11.本发明的前述和其他目的、特征以及优点将从如在附图中所展示的本发明的示例性实施例的以下更具体的说明中变得清楚,其中相同的附图标记一般代表本发明的示例性实施例的相同部分。
附图说明
12.现在将参考附图仅通过示例的方式来描述本发明的实施例,在附图中:
13.图1是根据本发明的用于从以自然语言编写的文本描述中创建可执行过程的示例网络环境的图;
14.图2是根据本发明的用于从以自然语言编写的文本描述中创建可执行过程的示例计算机的框图;
15.图3是根据本发明的用于从以自然语言编写的文本描述中创建可执行过程的示例系统的框图;
16.图4是根据本发明的用于从以自然语言编写的文本描述中创建可执行过程的示例方法的流程图;
17.图5是根据本发明的用于从以自然语言编写的文本描述中创建可执行过程的示例方法的流程图;
18.图6是根据本发明的用于从以自然语言编写的文本描述中创建可执行过程的示例方法的流程图;
19.图7是根据本发明的用于从以自然语言编写的文本描述中创建可执行过程的示例方法的流程图;以及
20.图8是根据本发明的用于从以自然语言编写的文本描述中创建可执行过程的示例方法的流程图。
具体实施方式
21.从图1开始,参考附图描述根据本发明的用于从以自然语言编写的文本描述中创建可执行过程的示例性方法、装置和产品。图1给出了根据本发明的实施例的系统的网络
图,该系统被配置用于从以自然语言编写的文本描述中创建可执行过程。图1的系统包括被配置用于自然语言处理的服务器(106),该服务器(106)从管理员(102)接收以自然语言编写的文档(101)并且从所接收的文档创建可执行过程。服务器(106)还从管理员(102)接收字典(109)以及在识别自然语言模式时有用的一组模式规则(110),该字典包含在文档(101)中具有重要意义的关键词。
22.服务器(106)从文档(101)中的每个句子中提取命题和公式。提取命题包括掩蔽通过在关键词的字典中列出的词识别的重要关键词、以及由诸如正则表达规则的规则表示的字符序列模式。然后,使用机器学习来提取命题,以识别表达的模式并用命题类来标记命题。提取公式包括通过机器学习提取所提取的命题之间的关系,并输出逻辑公式作为命题之间的条件语句。
23.接下来,服务器(106)在所提取的公式的约束下创建命题值确定路径。树流程图(表示为状态转换图)被构建为表示每个命题值的所有可能状态。根据命题的真或假值,树流程图中的路径被分叉。提取的逻辑公式被应用于所有路径,并且不满足条件的路径被无效。通过去除导致相同端节点的重复路径来优化剩余的路径,而不管命题变量的值为何。
24.服务器(106)然后将状态转换图转变成可执行过程,诸如软件应用。本技术提供了一种根据状态转换流程图逐一确定命题变量的值的方式。例如,这些值是通过向用户询问与命题相关的查询来确定的。用户将根据所提供的回答而得到不同的问题序列。
25.在由服务器(106)创建了可执行过程之后,服务器(106)上的应用程序接口(api)或与服务器(106)通信的另一服务器(108)可以向终端用户(103)提供通过网络(100)对服务器(106)上的可执行过程的访问。例如,客户端计算机(105)上的用户界面(ui)可以通过api访问可执行过程。在一个示例性使用中,文档(101)可以是帮助手册或维护手册,并且可执行过程可以是人工智能(ai)软件,该软件可以通过消息传送应用、网站、移动app或通过电话以自然语言模拟与用户(103)的对话(或聊天),本文称为“聊天机器人”应用。在另一示例性使用中,文档(101)可以是保险单文档,并且可执行过程可以是帮助用户(103)验证保险索赔的覆盖范围的自动索赔评估应用。
26.网络(100)可包括一个或多个局域网(lan)、广域网(wan)、个人域网、网格网络、蜂窝网络、互联网、内联网或其他网络及其组合。网络(100)可包括一个或多个有线连接、无线连接或其组合。构成图1中示出的示例性系统的服务器和其他设备的布置是为了解释而不是限制。根据本发明的不同实施例有用的数据处理系统可以包括附加的服务器、路由器、其他设备和对等架构(在图1中未示出),如本领域技术人员将想到的。此类数据处理系统中的网络可以支持许多数据通信协议,包括例如tcp(传输控制协议)、ip(互联网协议)、http(超文本传输协议)、wap(无线接入协议)、hdtp(手持设备传输协议)和本领域技术人员会想到的其他数据通信协议。本发明的各个实施例可以在除了图1所示的硬件平台之外的各种硬件平台上实现。
27.根据本发明的从以自然语言编写的文本描述中创建可执行过程通常用计算机(即,用自动计算机器)来实现。在图1的系统中,例如,服务器(106)、服务器(108)和客户端计算机(105)在某种程度上都至少实现为计算机。因此,为了进一步解释,图2给出了根据本发明实施例的自动计算机器的框图,该自动计算机器包括示例性计算机(152),该示例性计算机(152)被配置成从以自然语言编写的文本描述中创建可执行过程。图2的计算机(152)
包括至少一个计算机处理器(156)或

cpu’以及随机存取存储器(168)(

ram’),其通过高速存储器总线(166)和总线适配器(158)连接到处理器(156)和计算机(152)的其他组件。
28.ram(168)中存储的是自然语言处理器(126),其是用于根据本发明的实施例从以自然语言编写的文本描述中创建可执行过程的计算机程序指令的模块。ram(168)还存储命题自然语言处理模型(130),其是用于使用机器学习从自然语言提取命题的计算机程序指令的模块。ram(168)还存储公式自然语言处理模型(131),其是用于使用机器学习从自然语言提取公式或命题之间的逻辑关系的计算机程序指令的模块。ram(168)还存储状态转换图生成器(132),其是用于生成如由公式约束的表示命题确定路径的状态转换图的计算机程序指令的模块。
29.在ram(168)中还存储操作系统(154)。在根据本发明的实施例被配置用于从以自然语言编写的文本描述中创建可执行过程的计算机中有用的操作系统包括unix
tm
、linux
tm
、microsoft xp
tm
、aix
tm
、ibm的i5/os
tm
和本领域技术人员会想到的其他操作系统。图2的示例中的操作系统(154)、nlp(126)、命题nlp模型(130)、公式nlp模型(131)和stg生成器(132)在ram(168)中示出,但是这样的软件的许多组件通常也存储在非易失性存储器中,诸如例如在硬盘驱动器存储设备(170)上。nlp(126)(即,命题(171)、公式(172)和stg(173))的输出也可以存储在非易失性存储器中,诸如例如在硬盘驱动器(170)上。
30.图2的计算机(152)包括通过扩展总线(160)和总线适配器(158)耦合到计算机(152)的处理器(156)和其他组件的硬盘驱动器适配器。硬盘驱动器适配器以硬盘驱动器(170)的形式将非易失性数据存储器连接到计算机(152)。在根据本发明的实施例被配置用于从以自然语言编写的文本描述中创建可执行过程的计算机中有用的硬盘驱动器适配器包括集成驱动电子设备(

ide’)适配器、小型计算机系统接口(

scsi’)适配器和本领域技术人员会想到的其他适配器。非易失性计算机存储器还可以被实现为光学硬盘驱动器、电可擦除可编程只读存储器(所谓的

eeprom’或

闪速’存储器)、ram驱动器等,如本领域技术人员将想到的。
31.图2的示例计算机(152)包括一个或多个输入/输出(

i/o’)适配器(178)。i/o适配器通过例如软件驱动程序和计算机硬件实现面向用户的输入/输出,用于控制到诸如计算机显示屏的显示设备的输出、以及来自诸如键盘和鼠标的用户输入设备(181)的用户输入。图2的示例计算机(152)包括视频适配器(209),其是特别设计用于图形输出到显示设备(180)(诸如显示屏或计算机监视器)的i/o适配器的示例。视频适配器(209)通过高速视频总线(164)、总线适配器(158)以及前侧总线(162)(其也是高速总线)连接到处理器(156)。
32.图2的示例性计算机(152)包括用于与其他计算机(197)进行数据通信以及用于与数据通信网络(100)进行数据通信的通信适配器(167)。这种数据通信可通过rs-232连接、通过外部总线(例如,通用串行总线(

usb’))、通过数据通信网络(例如,ip数据通信网络)和以本领域技术人员会想到的其他方式串行地执行。通信适配器实现数据通信的硬件级别,通过该硬件级别一个计算机直接地或通过数据通信网络向另一个计算机发送数据通信。在根据本发明的实施例被配置用于从以自然语言编写的文本描述中创建可执行过程的计算机中有用的通信适配器的例子包括用于有线拨号通信的调制解调器、用于有线数据通信的以太网(ieee 802.3)适配器和用于无线数据通信的802.11适配器。
33.为了进一步解释,图3给出了根据本发明实施例的用于从以自然语言编写的文本
描述中创建可执行过程的示例性系统的系统图。图3中示出的示例性系统可以被配置用于“聊天机器人”应用或其他应用,其中用户的“是/否”回答为可执行过程中从一个状态转换到下一个状态提供基础。
34.在图3的系统中,计算机系统(352)包括自然语言处理器(301)、存储器(370)和文本文档(315),该文本文档可以是手册、规范或要从中创建可执行过程的其他自然语言文档,如之前所讨论的。自然语言处理器(301)包括接受文本文档(315)作为输入的关键词标记模块(325)。如之前所讨论的,关键词标记模块(325)从关键词字典中识别关键词,并用抽象标签来替换所识别的关键词。自然语言处理器(301)还包括命题机器学习模型(330),该命题机器学习模型(330)接受来自关键词标记模块(325)的关键词表示作为输入,并且基于命题类定义从文档(325)的自然语言表达中提取命题(305)。命题(305)被存储在存储器(370)中。自然语言处理器(301)还包括公式机器学习模型(335),该公式机器学习模型(335)从命题机器学习模型(330)接受命题类表示,并基于公式类定义提取表示命题变量之间的条件语句的公式(307)。公式(307)被存储在存储器(370)中。自然语言处理器(301)还包括stg生成器(340),stg生成器(340)从公式机器学习模型(335)接受公式类表示,并且生成状态转换图(309),状态转换图(309)可以是例如scxml文件的形式。
35.图3的系统还包括服务器(390),该服务器可在与计算机(352)相同的机器上实现,或者在通过计算机网络通信的单独机器上实现。服务器(390)包括scxml执行引擎(350),该scxml执行引擎(350)将scxml文件(309)作为其输入,并且基于在每个状态下给定的输入来解析该文件以执行处理。服务器(390)还包括api服务器(355),例如表述性状态转移(rest)api服务器,该api服务器生成问题并接收用户的回答,然后将回答中继到scxml执行引擎(350)以确定可执行过程中的下一状态。api服务器(355)可以与客户端设备(397)上的ui逻辑(360)通信以获得由用户提供的回答。例如,ui逻辑(360)可以嵌入在浏览器(365)或其他用户界面应用中。
36.为了进一步解释,图4给出了图示根据本发明实施例的用于从以自然语言编写的文本描述中创建可执行过程的示例性方法的流程图。图4的方法包括从文本文档(415)提取(402)命题集合。如本文所使用的,命题是具有“真”或“假”的值的布尔变量。命题包括由关键词表示的实体。例如,“被保险人的年龄小于18岁”是取决于应用于命题的人而具有真或假值的命题。文本文档(415)是自然语言文档,可执行过程将从该自然语言文档创建。例如,文本文档(415)可以是诸如用于自动保险索赔处理应用的保险单的文档。在另一示例中,文本文档(415)是用于诸如“聊天机器人”的自动帮助应用的维护或用户手册。
37.从文本文档提取(402)命题集合可以通过从用户接收文本文档(415)并且使用自然语言处理(nlp)和机器学习技术来检测诸如关键词和短语的实体来执行。使用nlp和机器学习技术来检测诸如关键词和短语的实体可以例如由图3的命题机器学习模型(330)来执行。可以在用户提供的字典(425)中提供一组关键词以识别关键词。字典(425)包括在文本文档(415)内具有显著含义的关键词。可基于可用于识别自然语言模式的一组表达规则(435)来检测短语。表达规则(435)也可由用户提供。对于文本文档(415)中的每个句子,通过用抽象标签替换所识别的关键词和短语来提取命题。命题类可以用于使用抽象标签来表达命题。通过省略实体的实际表示(名称),命题类描述实体的一般属性。例如,与上述示例相关联的命题类是t0_age_less_than_t1,其中,t0和t1是实体的抽象标签,并且其中t0是“人”且t1是“18岁”。当实际实体关键词被提供时,命题类变成命题。每个命题类可以由用户定义和提供。
38.图4的方法还包括根据命题集合从文本文档中提取(404)公式集合。如本文所使用的,公式表示多个命题变量的值之间的关系。利用公式,每个命题变量不自由地具有其值,而是受到其他命题变量的值的约束。所提取的公式集合中的每个逻辑公式可包括命题变量、逻辑运算符和条件语句。根据命题集合,从文本文档中提取(404)公式集合可以通过使用nlp和机器学习技术来确定文本文档的句子中的逻辑实体之间的逻辑关系来执行。使用nlp和机器学习技术来确定文本文档的句子中的逻辑实体之间的逻辑关系可以由公式机器学习模型(335)来执行。例如,条件语句被写为a-》b,其中a和b是命题变量,并且公式a-》b将命题变量值的可能组合约束为“如果a为真,则b应为真”。公式类可以用于通过用抽象标签替换命题来表达公式。公式类在不指定命题的情况下表示命题之间的逻辑关系。由此,抽象标签表示命题变量。每个公式类可以由用户定义和提供。
39.图4的方法还包括创建(406)包括由公式集合约束的一组命题值确定路径的状态转换图。状态是命题值的有序组合。状态转换图表示通过确定变量值从一状态到其他状态的所有可能的转换。状态转换图的节点表示状态,并且边表示与连接的两个节点之间的状态转换对应的变量的值。在公式的约束下,可能的转换是有限的。该受约束的转换图被称为过程的状态转换图。换言之,状态转换图是通过确定命题值的过程流程分支。表示状态转换图的标准输出格式的一个示例是状态图表可扩展标记语言(scxml),其表示通过事件在状态之间的转换。例如,在聊天机器人应用的用例中,状态表示对话的状态;在自动保险索赔评估的用例中,状态表示验证进展的状态。
40.创建(406)包括由公式集合约束的一组命题值确定路径的状态转换图可以通过构造树流程图来执行,在树流程图中每个第一命题变量是开始节点,“真”边和“假”边均连接到另一相关命题变量,并且相关命题变量的每个“真”边和每个“假”边连接到另外的其他命题变量,等等,直到对于每个路径到达完成该过程的最终节点。创建(406)包括由公式集合约束的一组命题值确定路径的状态转换图包括为每个路径中的所有状态验证结果确定。
41.继续以上示例,考虑已经提取的以下公式集合:
42.w0-》w1
43.w0=t0_age_less_than_t1
44.w1=have_t2
45.t0=人
46.t1=18岁
47.t2=临床检查
48.现在考虑取决于w0的第三命题变量w2,使得获得公式w2-》0。如果存在三个命题变量(w0,w1,w2),则系统具有23=8个状态,如下:(0,0,0),(1,0,0),(0,1,0),(0,0,1),(1,1,0),(1,0,1),(0,1,1),(1,1,1)。
49.给定公式w2-》w0,导出以下结果,尽管两个路径(第2和第4)的结果为“异常结束”,因为当w0为假时w2为真:
50.1.开始-》(0)-》(0,0)-》(0,0,0)-》正常结束
51.2.开始-》(0)-》(0,0)-》(0,0,1)-》异常结束
52.3.开始-》(0)-》(0,1)-》(0,1,0)-》正常结束
53.4.开始-》(0)-》(0,1)-》(0,1,1)-》异常结束
54.5.开始-》(1)-》(1,0)-》(1,0,0)-》正常结束
55.6.开始-》(1)-》(1,0)-》(1,0,1)-》正常结束
56.7.开始-》(1)-》(1,1)-》(1,1,0)-》正常结束
57.8.开始-》(1)-》(1,1)-》(1,1,1)-》正常结束
58.具有异常结束的两条路径可以被无效,留下6个有效路径。在故障排除诊断过程或保险索赔验证过程的示例中,每个变量的值被逐个地确定,并且如果路径不满足公式的条件,则该路径被视为异常情况,诸如未解决的情况(例如,未解决的问题诊断)或被拒绝的情况(例如,被拒绝的保险索赔)。
59.图4的方法还包括将状态转换图转变(408)成软件应用。将状态转换图转变(408)成软件应用可以通过生成软件应用来执行,该软件应用根据状态转换图,逐个地确定命题变量的值。根据状态转换图逐个地确定命题变量的值可以通过将命题类映射到将在用户界面(ui)中提供的是/否问题来执行,以确定该命题的“真”或“假”值。将状态转换图转变(408)成软件应用可以包括由scxml执行引擎(350)解析scxml文件,所述scxml执行引擎可以由ui(360)通过对与scxml执行引擎(350)对接的api服务器(355)上的api的ui资源请求来访问。
60.例如,在聊天机器人应用的用例中,生成确定命题变量的值的软件应用可以包括:生成向用户询问是/否问题以确定命题值的聊天机器人应用;在自动保险索赔评估的用例中,生成用于保险索赔的自动验证的输入表单。本领域技术人员将认识到,可根据用户的需要和从其创建应用的文本文档产生软件应用,且不限于本发明中所提供的示例。
61.为了进一步解释,图5给出了图示根据本发明的实施例的从以自然语言编写的文本描述中创建可执行过程的示例性方法的流程图,该方法包括从文本文档中提取(402)命题集合,根据命题集合从文本文档中提取(404)公式集合,创建(406)包括由公式集合约束的一组命题值确定路径的状态转换图,以及将状态转换图转变(408)成软件应用。
62.然而,图5的方法与图4的方法的不同之处在于,从文本文档中提取(402)命题集合包括在文本文档的每个句子中掩蔽(502)在预定义的字典中列出的关键词。在文本文档的每个句子中掩蔽(502)在预定义的字典中列出的关键词可以由关键词标记模块(325)用抽象标签替换在字典(425)中找到的关键词来执行。最初,用户准备字典以标记在文档中具有特殊重要性的关键词。“特殊重要性”一词意味着这些关键词是构成命题的关键实体。关键词可具有正常形式以吸收变体拼写。
63.在图5的方法中,从文本文档中提取(402)命题集合还包括在文本文档的每个句子中掩蔽(504)由预定义的表达规则表示的字符序列模式。在所述文本文档的每个句子中掩蔽(504)由预定义的表达规则表示的字符序列模式可以由nlp(301)使用模式规则(435)识别文本文档(415)的句子中的正则表达式来执行。为了避免将所有数字登记在字典中,使用正则表达式来标记年龄表达式,而不管年龄的实际数值。
64.例如,在对nlp(126)的输入是文档的句子的情况下,通过在文本文档的每个句子中掩蔽(502)在预定义的字典中列出的关键词并且通过在文本文档的每个句子中掩蔽(504)由预定义的表达规则表示的字符序列模式,nlp(301)创建掩蔽的句子并且将掩蔽部
分的数据与表面形式和正常形式映射。例如,在输入是“persons whose age is less than eighteen years should have clinical exam”的情况下,输出是:
[0065]“t0 whose age is less than t1 should have t2”,其中
[0066]
t0=persons(人)
[0067]
t1=eighteen years(18岁)
[0068]
t2=clinical exam(临床检查)
[0069]
这里,使用记号t#=表面形式(正常形式)。
[0070]
在图5的方法中,从文本文档中提取(402)命题集合还包括经由机器学习过程将每个句子的掩蔽部分映射(506)到命题类。命题被表示在包含例句中标记的关键词的区域中。通过机器学习过程,将每个句子的掩蔽部分映射(506)到命题类可以由命题机器学习模型(330)使用机器学习算法来执行,以识别命题的表达模式并用命题类来标记命题。在关键词已经被掩蔽的情况下,所识别的正则表达式也在句子中被掩蔽。还输出掩蔽部分与表面形式的映射数据以及命题标签。
[0071]
命题类通常由用户定义并且在逻辑上是通用的。例如,命题类对在单个类中的年龄表达的变化进行分类。命题类应该具有真或假的值,并且允许反转真或假的逻辑操作。例如,如果t0的年龄小于t1,则[t0_age_less_than_t1]为真。[!t0_age_less_than_t1]的值为真,意味着t0的年龄等于或大于t1。这里,“!”符号被用作逻辑反转(not)操作。这些标签被称为命题变量。例如,其中前一步骤的输出被输入为:
[0072]“t0 whose age is less than t1 should have t2”,其中t0=persons(人),t1=eighteen years(18岁),t2=clinical exam(临床检查)
[0073]
输出为:
[0074]“w0 should w1”,其中
[0075]
w0=“t0 whose age is less than t1”,(t0_age_less_than_t1)
[0076]
w1=“have t2”(have_t2)
[0077]
t0=persons(人)
[0078]
t1=eighteen years(18岁)
[0079]
t2=clinical exam(临床检查)
[0080]
为了进一步解释,图6给出了图示根据本发明的实施例的从以自然语言编写的文本描述中创建可执行过程的示例性方法的流程图,该方法包括从文本文档中提取(402)命题集合,根据命题集合从文本文档中提取(404)公式集合,创建(406)包括由公式集合约束的一组命题值确定路径的状态转换图,以及将状态转换图转变(408)成软件应用。
[0081]
然而,图6的方法与图4的方法的不同之处在于,根据命题集合从文本文档中提取(404)公式集合包括经由机器学习过程来提取(602)命题集合之中的关系。公式表示命题之间的条件语句。通过机器学习过程,提取(602)命题集合之中的关系可以由公式机器学习模型(335)使用机器学习执行,以识别所提取的命题以及命题中的实体之间的关系。
[0082]
在图6的方法中,根据命题集合从文本文档中提取(404)公式集合还包括生成(604)将关系表示为条件语句的逻辑公式集合。生成(604)将关系表示为条件语句的逻辑公式集合输出可由可执行过程实现的逻辑公式。逻辑公式包括命题变量和逻辑运算符and(“&”)、or(“|”)、not(“!”)以及条件语句符号(
“‑
》”)。条件语句被写为“a-》b”,其中a和b是
命题变量,并且公式a-》b将命题变量值的可能组合约束为“如果a为真,则b应为真”。
[0083]
例如,考虑掩蔽句子“w0 should w1”中的命题变量w0和w1,其中映射数据包括:
[0084]
w0=“t0 whose age is less than t1”(t0_age_less_than_t1)
[0085]
w1=“have t2”(have_t2)
[0086]
t0=persons(人)
[0087]
t1=eighteen years(18岁)
[0088]
t2=clinical exam(临床检查)
[0089]
生成(604)将关系表示为条件语句的逻辑公式集合的输出是逻辑公式:
[0090]“w0-》w1”,其中映射数据包括:
[0091]
w0=“t0 whose age is less than t1”(t0_age_less_than_t1)
[0092]
w1=“have t2”(have_t2)
[0093]
t0=persons(人)
[0094]
t1=eighteen years(18岁)
[0095]
t2=clinical exam(临床检查)
[0096]
通过逐个地处理文本文档(415)中的多个句子,获得公式集合。
[0097]
在一些实施例中,图6的方法还包括提取(606)出现在文本文档的第一句中的逻辑公式与出现在文本文档的第二句中的另一逻辑公式之间的关系。在一些情况下,可能需要识别在文本文档的不同句子中出现的公式的集合中的不同公式中的命题变量之间的关系(415)。例如,可能需要处理代词或关系代词,或者需要处理可通过参考另一句子中的补充语句而完整的不完整语句。这两者在以下的意义上是相同的:一个句子不创建完整公式,但是完整公式可以由多个句子的组合组成。提取(606)出现在文本文档的第一句中的逻辑公式与出现在文本文档的第二句中的另一逻辑公式之间的关系可以通过标记引用另一句的补充表示来执行。例如,可以使用previous标签来标识对先前句子中的相同命题变量的引用,并且在检测到该标签时,可以假设可以通过向后引用来完成不完整的公式。
[0098]
例如,考虑分别出现的以下两个句子:
[0099]
1:“w0 must have undergone w1.”[0100]
2:“the w1 must have taken place in w3.”[0101]
在这种情况下,提取了两个公式:
[0102]
1:w0-》w1
[0103]
2:previous_the_w1-》w2
[0104]
然而,仅从语句1中创建公式是不够的,因为还需要考虑语句2。因而,通过提取(606)出现在文本文档的第一句中的逻辑公式与出现在文本文档的第二句中的另一逻辑公式之间的关系来生成以下两个公式:
[0105]
w0-》w1
[0106]
w0&w1-》w2
[0107]
作为另一示例,考虑两个句子:
[0108]
1:“w1 when w0”[0109]
2:“this restriction is not applied to w2”[0110]
提取了以下公式:
[0111]
1:w1-》w0
[0112]
2:w2-》previous_void_formula
[0113]
鉴于在语句1与语句2之间识别的关系,通过提取(606)出现在文本文档的第一句中的逻辑公式与出现在文本文档的第二句中的另一逻辑公式之间的关系来生成以下公式:
[0114]
!w2&w1-》w0
[0115]
为了进一步解释,图7给出了图示根据本发明的实施例的从以自然语言编写的文本描述中创建可执行过程的示例性方法的流程图,该方法包括从文本文档中提取(402)命题集合,根据命题集合从文本文档中提取(404)公式集合,创建(406)包括由公式集合约束的一组命题值确定路径的状态转换图,以及将状态转换图转变(408)成软件应用。
[0116]
然而,图7的方法与图4的方法的不同之处在于,创建(406)包括由公式集合约束的一组命题值确定路径的状态转换图包括:对于命题集合中的每个命题,构造(702)表示命题值的所有可能状态的过程流树。从命题变量的集合中,通过创建开始节点并选择第一变量并创建表示变量的真值和假值的两个节点来构建树流。这些节点连接到开始节点。通过用户输入或者通过将变量的值确定为真或假的表单输入来动态地选择到两个新节点的两条路径。作为第n+1步,对于由第n步创建的每个节点,根据第n变量的真值或假值关联两个新节点。由此,n+1步通过将两个新节点附加到在第n步中生成的2n个节点来生成2
(n+1)
个新节点。重复该过程,直到n达到命题变量的数目。接下来,将所有边缘节点(生成2m个边缘节点,其中m是变量的数目)连接到表示过程的正常完成的最终节点。
[0117]
通过这些步骤,创建了按照2m的量级扩展的树图,并且扩展的边缘上的所有节点连接到末端节点。使用上述示例,获得以下的图:
[0118]
1.开始-》(0)-》(0,0)-》(0,0,0)-》正常结束
[0119]
2.开始-》(0)-》(0,0)-》(0,0,1)-》正常结束
[0120]
3.开始-》(0)-》(0,1)-》(0,1,0)-》正常结束
[0121]
4.开始-》(0)-》(0,1)-》(0,1,1)-》正常结束
[0122]
5.开始-》(1)-》(1,0)-》(1,0,0)-》正常结束
[0123]
6.开始-》(1)-》(1,0)-》(1,0,1)-》正常结束
[0124]
7.开始-》(1)-》(1,1)-》(1,1,0)-》正常结束
[0125]
8.开始-》(1)-》(1,1)-》(1,1,1)-》正常结束
[0126]
在图7的方法中,创建(406)包括由公式集合约束的一组命题值确定路径的状态转换图还包括:将该公式集合作为约束应用(704)到过程流树中的所有路径。向过程流树中的所有路径应用(704)公式集合作为约束可以通过消除不满足公式的条件的无效路径来执行。每个公式声明对变量值的约束。在以上构建的变量值状态转换路径中,应当排除不满足条件的路径。通过将从开始节点到结束节点的所有路径表示为每个变量的值并且排除包含无效转换的路径,可以执行将公式集合作为约束应用(704)到过程流树中的所有路径。使用以上具有公式“w2-》w0”的示例,应当排除具有(0,x,1)的第二和第四路径(其中w1的值与结果无关,并且因此由“x”表示)。当路径被排除时,创建异常结束节点,并且将转换流连接到异常结束节点。现在,该流程图具有两个结束节点:正常结束和异常结束。异常结束节点表示为未解决的情况(例如,聊天机器人应用中的未解决的问题诊断)或被拒绝的情况(例如,自动索赔验证应用中的被拒绝的保险索赔)。由此,过程流树被更新为:
[0127]
1.开始-》(0)-》(0,0)-》(0,0,0)-》正常结束
[0128]
2.开始-》(0)-》(0,0)-》(0,0,1)-》异常结束
[0129]
3.开始-》(0)-》(0,1)-》(0,1,0)-》正常结束
[0130]
4.开始-》(0)-》(0,1)-》(0,1,1)-》异常结束
[0131]
5.开始-》(1)-》(1,0)-》(1,0,0)-》正常结束
[0132]
6.开始-》(1)-》(1,0)-》(1,0,1)-》正常结束
[0133]
7.开始-》(1)-》(1,1)-》(1,1,0)-》正常结束
[0134]
8.开始-》(1)-》(1,1)-》(1,1,1)-》正常结束
[0135]
在图7的方法中,创建(406)包括由公式集合约束的一组命题值确定路径的状态转换图还包括优化(706)过程流树。优化(706)过程流树可以通过确定导致正常结束或异常结束的变量值的组合来执行,且如果路径上的变量的值不影响最终结果,那么截断该路径以省略变量值的不必要确定。例如,在以上所有路径中:
[0136]
在以上所有路径中,仅需要如下的三个路径。
[0137]1’
.开始-》(0)-》(0,x,0)-》正常结束
[0138]2’
.开始-》(0)-》(0,x,1)-》异常结束
[0139]8’
.开始-》(1)-》正常结束
[0140]
即,当w0为假并且w2为假时,不管w1的值为何都满足公式的约束。由此,路径1和3可以被缩减为一个路径(路径1’)。当w0为假并且w2为真时,无论w1的值如何,都不满足公式的约束。由此,能够将路径2和4缩减为一个路径(路径2’)。当w0为真时,不管w1和w2的值为何都可满足公式的约束。由此,路径5-8可以缩减为一个路径(路径8’)。该处理流树被输出为状态转换图。
[0141]
为了进一步解释,图8给出了图示根据本发明的实施例的从以自然语言编写的文本描述中创建可执行过程的示例性方法的流程图,该方法包括从文本文档中提取(402)命题集合,根据命题集合从文本文档中提取(404)公式集合,创建(406)包括由公式集合约束的一组命题值确定路径的状态转换图,以及将状态转换图转变(408)成软件应用。
[0142]
然而,图8的方法与图4的方法的不同之处在于,将状态转换图转变(408)成软件应用包括生成(802)确定状态转换图中表示的命题变量的值的计算机可执行逻辑。生成(802)确定表示的命题变量的值的计算机可执行逻辑可以通过将状态转换图转变成计算机可执行格式(诸如例如状态图xml(scxml)用于控制抽象的状态机表示法(state machine notation for control abstraction))来执行。可执行过程从开始节点开始。为了转换到下一节点,必须确定由将当前节点连接到另一节点的边所表示的命题的值。例如,在聊天机器人的用例中,这可通过聊天机器人询问与该命题相关的问题来执行。可以通过使用具有与每个命题类相对应的问题的预定义问题模板来生成每个问题。在表1中示出了与命题类相对应的问题模板的示例。
[0143]
表1
[0144][0145]
命题类(诸如t0_age_less_than_t1)在用实际值替换t#之后变成命题。上面讨论的命题机器学习模型和公式机器学习模型被训练成通过这些命题类标签来标记句子的部分。通过用来自映射数据的实际值替换抽象标签t#,它们变成命题。例如,上面讨论的示例提取命题是:
[0146]
w0=“t0 whose age is less than t1”(t0_age_less_than_t1),其中:
[0147]
t0=persons(人)
[0148]
t1=eighteen years(18岁)
[0149]
实际命题是“人_age_less_than_18岁”。因此,用于该命题模板的示例性问题模板可以是“is age of t0 less than t1?”实际问题可出现在所生成的软件应用中,可向用户提出问题“is age of person less than 18years?”由此,所创建的软件应用使用可执行状态转换图来遍历由公式约束并且由命题变量的值确定的路径,命题变量的值被获得作为对用户界面中向用户提出的问题的是/否回答。
[0150]
在保险索赔验证的另一用例中,读取索赔表单输入或数据库以确定命题的值。在这种情况下,抽象标签t#的实际值可用于创建针对数据库或输入表单的读取请求的sql查询,例如以javascript对象表示法(json)格式表示。
[0151]
鉴于上述解释,读者将认识到,根据本发明的实施例从以自然语言编写的文本描述中创建可执行过程的益处包括:
[0152]-通过利用机器学习和nlp技术,本发明通过如同人类那样识别具有逻辑推理的上下文结构来理解书写的自然语言;
[0153]-在几乎没有人类监督的情况下,以自然语言编写的文本文档可以由自然语言处理器转换成可执行过程;
[0154]-可以将以自然语言编写的文本文档直接转换成可执行逻辑,而无需人首先将自然语言描述转换成编程语言;以及
[0155]-因为已经存在管理商业实践、操作手册等的以自然语言编写的文本文档,所以可以从这些文档直接创建实现这些过程的可执行过程。
[0156]
本发明的示例性实施例在很大程度上在用于从以自然语言编写的文本描述中创建可执行过程的全功能计算机系统的上下文中描述。然而,所属领域的技术人员将认识到,本发明也可实施于安置于计算机可读存储介质上以供与任何合适的数据处理系统一起使用的计算机程序产品中。这样的计算机可读存储介质可以是用于机器可读信息的任何存储介质,包括磁介质、光学介质或其他合适的介质。这种介质的示例包括硬盘驱动器或软盘中的磁盘、用于光学驱动器的致密盘、磁带和本领域技术人员会想到的其他介质。本领域技术人员将立即认识到,具有合适的编程装置的任何计算机系统将能够执行如在计算机程序产品中体现的本发明的方法的步骤。本领域技术人员还将认识到,尽管本说明书中描述的一些示例性实施例面向在计算机硬件上安装并执行的软件,然而,实现为固件或硬件的替换
实施例也在本发明的范围内。
[0157]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质。
[0158]
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
[0159]
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
[0160]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如smalltalk、c++等)和常规的过程式程序设计语言(诸如“c”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
[0161]
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0162]
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制
造品。
[0163]
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
[0164]
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以由执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
[0165]
从前面的描述可以理解,在不背离本发明的真实精神的情况下,可以在本发明的各个实施例中做出修改和改变。本说明书中的描述仅用于说明的目的,而不应被解释为限制性的。本发明的范围仅由所附权利要求的语言限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1