执行学习模型的分层简化的制作方法

文档序号:22739582发布日期:2020-10-31 09:21阅读:128来源:国知局
执行学习模型的分层简化的制作方法

本发明涉及机器学习,并且更具体地,本发明涉及训练和利用神经网络。



背景技术:

机器学习通常用于提供数据分析。例如,神经网络可用于识别所提供的输入内的预定数据。但是,这些神经网络通常很复杂,并且具有大量的输入和输出。结果,创建和准备训练这些神经网络所需的训练数据是耗费资源和时间的。因此,需要简化组织或神经网络,以简化和减少训练这种神经网络所需的训练数据量。



技术实现要素:

根据一个实施例的一种计算机实现的方法包括:将第一输入实例应用于树形结构内的第一模型;基于第一模型对第一输入实例内的第一主题的识别,激活树形结构内的第二模型;将第二输入实例应用于第一模型和第二模型;基于第二模型对第二输入实例内的第二主题的识别,激活树形结构内的第三模型;将第三输入实例应用于第一模型、第二模型和第三模型;以及由第三模型使用第三输入实例来输出第三主题的识别。

根据另一实施例,一种用于执行学习模型的分层简化的计算机程序产品,包括计算机可读存储介质,该计算机可读存储介质中体现有程序指令,其中,该计算机可读存储介质不是瞬时信号本身,并且其中,该程序指令可由处理器执行以使处理器执行一种方法,该方法包括:由处理器将第一输入实例应用于树形结构内的第一模型;由处理器基于第一模型对第一输入实例内的第一主题的识别,激活树形结构内的第二模型;由处理器将第二输入实例应用于第一模型和第二模型;由处理器基于第二模型对第二输入实例内的第二主题的识别,激活树形结构内的第三模型;由处理器将第三输入实例应用于第一模型、第二模型和第三模型;以及由第三模型使用处理器和第三输入实例来输出第三主题的识别。

根据另一个实施例的系统包括处理器以及与处理器集成在一起,能够由处理器执行,或者与处理器集成在一起并且能够由处理器执行的逻辑,其中,该逻辑被配置成:将第一输入实例应用于树形结构内的第一模型;基于第一模型对第一输入实例内的第一主题的识别,激活树形结构内的第二模型;将第二输入实例应用于第一模型和第二模型;基于第二模型对第二输入实例内的第二主题的识别,激活树形结构内的第三模型;将第三输入实例应用于第一模型、第二模型和第三模型;以及由第三模型使用第三输入实例来输出第三主题的识别。

根据另一实施例的一种计算机实现的方法,包括:识别确定输入数据内的多个主题的复杂模型;将该复杂模型分解成多个简化模型,其中,每个简化模型与该多个主题中的一个主题相关联并识别输入数据内的该多个主题中的该一个主题;确定该多个主题之间的关系;基于该多个主题之间的关系,将该多个简化模型布置成分层树形结构;训练分层树形结构内的该多个简化模型中的每个简化模型;以及将训练后的多个简化模型应用于输入数据。

根据另一实施例,一种用于执行学习模型的分层简化的计算机程序产品包括计算机可读存储介质,该计算机可读存储介质中体现有程序指令,其中,计算机可读存储介质不是瞬时信号本身,并且其中,程序指令可由处理器执行以使处理器执行一种方法,该方法包括:由处理器识别确定输入数据内的多个主题的复杂模型;由处理器将该复杂模型分解成多个简化模型,其中,每个简化模型与该多个主题中的一个主题相关联并识别在输入数据内的该多个主题中的该一个主题;由处理器确定该多个主题之间的关系;由处理器基于该多个主题之间的关系,将该多个简化模型布置成分层树形结构;由处理器训练分层树形结构内的该多个简化模型中的每个简化模型;以及由处理器将训练后的多个简化模型应用于输入数据。

通过以下详细描述,本发明的其它方面和实施例将变得显而易见,当结合附图时,以下详细描述通过示例的方式示出了本发明的原理。

附图说明

图1示出了根据一个实施例的网络体系架构。

图2示出了根据一个实施例的可与图1中的服务器和/或客户端相关联的代表性硬件环境。

图3示出了根据一个实施例的用于执行学习模型的分层简化的方法。

图4示出了根据一个实施例的用于在分层树形结构中布置神经网络模型的方法。

图5示出了根据一个实施例的示例性模型树形结构。

图6示出了根据一个实施例的父代/子代关系树。

图7示出了根据一个实施例的父代/子代关系树到输入数据的特定应用。

具体实施方式

以下描述公开了用于执行学习模型的分层简化的系统、方法和计算机程序产品的几个优选实施例。各种实施例提供了一种用于在树形结构内分层布置并将一组单独的主题识别模型应用于输入数据的方法。

以下描述是出于说明本发明的一般原理的目的,并且不意味着限制本文所要求保护的发明构思。此外,本文描述的特定特征可以以各个可能的组合和排列中的每个与其它描述的特征组合使用。

除非本文另外明确定义,否则应给出所有术语最广泛的可能的解释,包括从说明书中隐含的含义以及本领域技术人员理解的含义和/或如字典、论文等中定义的含义。

还必须注意,如说明书和所附权利要求书中所使用的,单数形式“一”、“一个”和“该”包括复数个指示物,除非另有说明。将进一步理解的是,当在本说明书中时,使用术语“包括”和/或“包含”指定了所述特征、整数、步骤、操作、元件和/或组件的存在,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、元件、组件和/或其组。

以下描述公开了用于执行学习模型的分层简化的系统、方法和计算机程序产品的几个优选实施例。

在一个一般实施例中,一种计算机实现的方法包括:将第一输入实例应用于树形结构内的第一模型;基于第一模型对第一输入实例内的第一主题的识别,激活树形结构内的第二模型;将第二输入实例应用于第一模型和第二模型;基于第二模型对第二输入实例内的第二主题的识别,激活树形结构内的第三模型;将第三输入实例应用于第一模型、第二模型和第三模型;以及由第三模型使用第三输入实例来输出第三主题的识别。

在另一个一般实施例中,一种用于执行学习模型的分层简化的计算机程序产品包括计算机可读存储介质,该计算机可读存储介质中体现有程序指令,其中,该计算机可读存储介质不是瞬时信号本身,并且其中,该程序指令可由处理器执行以使处理器执行一种方法,该方法包括:由处理器将第一输入实例应用于树形结构内的第一模型;由处理器基于第一模型对第一输入实例内的第一主题的识别,激活树形结构内的第二模型;由处理器将第二输入实例应用于第一模型和第二模型;由处理器基于第二模型对第二输入实例内的第二主题的识别,激活树形结构内的第三模型;由处理器将第三输入实例应用于第一模型、第二模型和第三模型;以及通过第三模型使用处理器和第三输入实例来输出第三主题的识别。

在另一个一般实施例中,一种系统包括处理器以及逻辑,该逻辑与处理器集成在一起,能够由处理器执行,或者与处理器集成在一起并且能够由处理器执行,其中,该逻辑被配置成:将第一输入实例应用于树形结构内的第一模型;基于第一模型对第一输入实例内的第一主题的识别,激活树形结构内的第二模型;将第二输入实例应用于第一模型和第二模型;基于第二模型对第二输入实例内的第二主题的识别,激活树形结构内的第三模型;将第三输入实例应用于第一模型、第二模型和第三模型;以及由第三模型使用第三输入实例来输出第三主题的识别。

在另一个一般实施例中,一种计算机实现的方法包括:识别确定输入数据内的多个主题的复杂模型;将该复杂模型分解成多个简化模型,其中,每个简化模型与该多个主题中的一个主题相关联并识别输入数据内的所述多个主题中的该一个主题;确定该多个主题之间的关系;基于该多个主题之间的关系,将该多个简化模型布置成分层树形结构;训练分层树形结构内的该多个简化模型中的每个简化模型;以及将训练后的多个简化模型应用于输入数据。

在另一个一般实施例中,一种用于执行学习模型的分层简化的计算机程序产品包括计算机可读存储介质,该计算机可读存储介质中体现有程序指令,其中,计算机可读存储介质不是瞬时信号本身,并且其中,程序指令可由处理器执行以使处理器执行一种方法,该方法包括:由处理器识别确定输入数据内的多个主题的复杂模型;由处理器将该复杂模型分解成多个简化模型,其中,每个简化模型与该多个主题中的一个主题相关联并识别输入数据内的该多个主题中的该一个主题;由处理器确定该多个主题之间的关系;由处理器基于该多个主题之间的关系,将该多个简化模型布置成分层树形结构;由处理器训练分层树形结构内的该多个简化模型中的每个简化模型;以及由处理器将训练后的多个简化模型应用于输入数据。

图1示出了根据一个实施例的体系架构100。如图1所示,提供了多个远程网络102,包括第一远程网络104和第二远程网络106。网关101可耦接在远程网络102和邻近网络108之间。在本体系架构100的上下文中,网络104、106可各自采用任何形式,包括但不限于lan、wan(诸如互联网)、公共交换电话网(pstn),内部电话网等。

在使用中,网关101充当从远程网络102到邻近网络108的入口点。这样,网关101可作为能够引导到达网关101的给定数据分组的路由器,以及为给定分组提供进出网关101的实际路径的交换机。

还包括耦接到邻近网络108并且通过网关101从远程网络102可访问的至少一个数据服务器114。应注意,数据服务器114可包括任何类型的计算设备/群件(groupware)。多个用户设备116耦接到每个数据服务器114。用户设备116还可通过网络104、106、108中的一个网络直接连接。这样的用户设备116可包括台式计算机、膝上型计算机、手持式计算机、打印机或任何其它类型的逻辑。应当注意,在一个实施例中,用户设备111也可直接耦接到任何网络。

外围设备120或一系列外围设备120,例如传真机、打印机、联网的和/或本地存储单元或系统等,可被耦接到网络104、106、108中的一个或多个。应当注意,数据库和/或附加组件可与耦接到网络104、106、108的任何类型的网络元件一起使用或集成到其中。在本说明书的上下文中,网络元件可指代网络的任何组件。

根据一些方式,本文描述的方法和系统可用虚拟系统和/或模拟一个或多个其它系统的系统(例如模拟ibmz/os环境的unix系统、虚拟地托管microsoftwindows环境的unix系统、模拟ibmz/os环境的microsoftwindows系统等)来实现和/或在其上实现。在一些实施例中,此虚拟化和/或模拟可通过使用vmware软件来增强。

在更多的方式中,一个或多个网络104、106、108可代表通常被称为“云”的系统集群。在云计算中,诸如处理能力、外围设备、软件、数据、服务器等的共享资源以按需应变关系提供给云中的任何系统,从而允许跨多个计算系统访问和分配服务。云计算通常涉及在云中运行的系统之间的互联网连接,但是也可使用其它连接系统的技术。

图2示出了根据一个实施例的与图1中的用户设备116和/或服务器114相关联的代表性硬件环境。该图示出了工作站的典型硬件配置,该工作站具有诸如微处理器的中央处理单元210以及通过系统总线212互连的多个其它单元。

图2所示的工作站包括随机存取存储器(ram)214、只读存储器(rom)216、用于将诸如磁盘存储单元220的外围设备连接至总线212的i/o适配器218、用于将键盘224、鼠标226、扬声器228、麦克风232和/或其它用户接口设备(例如触摸屏和数码相机(未示出))连接至总线212的用户接口适配器222、用于将工作站连接到通信网络235(例如,数据处理网络)的通信适配器234和用于将总线212连接到显示设备238的显示适配器236。

工作站可具有驻留在其上的操作系统,例如微软操作系统(os)、macos、unixos等。应当理解,优选实施例也可在上述以外的平台和操作系统上实现。可使用xml、c和/或c++语言或其它编程语言以及面向对象的编程方法来编写优选实施例。可使用面向对象的编程(oop),其已越来越多地用于开发复杂的应用程序。

现在参考图3,示出了根据一个实施例的方法300的流程图。方法300可根据本发明在图1-2和5-6中描绘的任何环境中尤其是在各种实施例中执行。当然,如本领域的技术人员在阅读本说明书时将理解的,比图3中具体描述的操作更多或更少的操作可被包括在方法300中。

方法300的每个步骤可由操作环境的任何合适的组件来执行。例如,在各种实施例中,方法300可部分地或全部由一个或多个服务器、计算机或具有一个或多个处理器的某个其它设备执行。可在任何设备中利用处理器(例如,以硬件和/或软件实现的,并且优选地具有至少一个硬件组件的处理电路、芯片和/或模块)来执行方法300的一个或多个步骤。说明性处理器包括但不限于中央处理器(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)等,其组合或本领域已知的任何其它合适的计算设备。

如图3所示,方法300可从操作302开始,在操作302,将第一输入实例应用于树形结构内的第一模型。在一个实施例中,第一模型可包括学习模型,例如第一神经网络。在另一个实施例中,树形结构可表示多个单独的模型以及模型之间的相互关系。例如,树形结构内的每个模型可包括学习模型,例如神经网络。

另外,在一个实施例中,树形结构可包括根模型,一个或多个中间模型,以及一个或多个末端模型。例如,根模型可包括树形结构中的所有其它模型所依赖的初始模型。例如,根模型可不依赖于树形结构内的任何其它模型。在另一个示例中,中间模型可包括树形结构内依赖于另一模型但是也有模型依赖于其的模型(例如,树形结构内的子代模型等)。在又一示例中,末端模型可包括依赖于另一模型但是没有模型依赖于其的模型(例如,树形结构内的叶子模型等)。

此外,在一个实施例中,树形结构可基于主题来布置。例如,多个模型中的每个模型可与不同于其它模型的单个主题相关联。例如,多个模型中的每个模型可存储用于单独主题的词序列。主题可包括关键字、关键字的变体等。在另一个示例中,多个模型中的每个模型可分析输入以确定是否在输入中找到了与模型相关联的单个主题。在又一个示例中,每个模型可用与其相关联的单个主题来标记。

此外,在一个实施例中,可分析多个主题中的每个主题以确定主题之间的关系。在另一个实施例中,可在多个主题内确定父代/子代主题。例如,在所提供的输入内,总是可以发现第一主题在第二主题之前。在另一个示例中,然后第一主题可被识别为第二主题的父代,并且第二主题可被识别为第一主题的子代。

同样,在一个实施例中,可基于这些主题/关系在树形结构内布置多个模型。例如,子代模型可被布置成树形结构内的父代模型的子代。在以上示例中,第二主题可被布置成树形结构内的第一主题的子代。

另外,在一个实施例中,第一模型可包括树形结构内的根模型。在另一个实施例中,第一模型可包括基于所提供的输入来输出标签(例如,主题)的分类模块。例如,标签可包括所提供的输入内的预定主题的识别。

此外,在一个实施例中,第一输入实例可包括文本数据、音频数据、时间序列数据等。在另一实施例中,第一输入实例可包括输入数据的第一部分。例如,输入数据可包括文本文档、音频记录等。在另一个示例中,输入数据可被划分为多个部分。在又一示例中,多个部分可按时间顺序布置(例如,使得第一部分位于第二部分之前,第二部分位于第三部分之前,等等)。

此外,方法300可继续进行操作304,在操作304中,基于第一模型对第一输入实例内的第一主题的识别,激活树形结构内的第二模型。在一个实施例中,可通过第一模型来分析第一输入实例,其中,第一模型与第一主题相关联。在另一个实施例中,第一模型可识别第一输入实例内的第一主题。

同样,在一个实施例中,响应于第一输入实例内的第一主题的识别,可激活树形结构内的第一模型的所有子代。例如,第二模型可包括树形结构内的第一模型的子代模型。在另一个示例中,第二模型可与第一模型一起应用于后续输入。

另外,在一个实施例中,第二模型可包括学习模型,诸如与第一神经网络分离的第二神经网络。在另一个实施例中,第二模型可包括树形结构内的中间模型。例如,第二模型可在树形结构内具有一个或多个子代。在另一个示例中,第二模型可包括基于所提供的输入来输出标签(例如,主题)的分类模块。

此外,方法300可继续进行操作306,在操作306中,将第二输入实例应用于第一模型和第二模型。在一个实施例中,第二输入实例(例如,在按时间顺序布置的输入的多个部分等内)可包括在输入数据的第一部分之后出现的输入数据的第二部分。

此外,方法300可继续进行操作308,在操作308中,基于第二模型对第二输入实例内的第二主题的识别,激活树形结构内的第三模型。在一个实施例中,可通过第一模型和第二模型来分析第二输入实例,其中,第一模型与第一主题相关联,第二模型与第二主题相关联。在另一个实施例中,第二模型可识别第二输入实例内的第二主题。

同样,在一个实施例中,响应于第一输入实例内的第二主题的识别,可激活树形结构内的第二模型的所有子代。例如,第三模型可包括树形结构内的第二模型的子代模型。在另一个示例中,第三模型可与第一模型和第二模型一起应用于后续输入。

另外,在一个实施例中,第三模型可包括学习模型,诸如与第一神经网络和第二神经网络分开的第三神经网络。在另一个实施例中,第三模型可包括树形结构内的末端模型。例如,第三模型可在树形结构内没有子代。在另一个示例中,第三模型可包括基于所提供的输入来输出标签(例如,主题)的分类模块。

此外,方法300可继续进行操作310,在操作310中,将第三输入实例应用于第一模型、第二模型和第三模型。在一个实施例中,第三输入实例(例如,在按时间顺序布置的输入的多个部分等内)可包括在输入数据的第二部分之后出现的输入数据的第三部分。

此外,方法300可继续进行操作312,在操作312中,第三模型利用第三输入实例来输出第三主题的识别。在一个实施例中,第三模型可分析第三输入实例并且可输出标签。

以这种方式,可通过它们所识别的主题在树形结构中分层地布置的一组单独的主题识别模型可被应用于输入数据,其中,基于输入数据的较早部分中的较早主题识别,该组内的模型被激活并应用于输入数据的稍后部分。与执行多个主题的识别的单个模型相比,这组单独模型可具有小得多的复杂度,并且因此,与单个模型相比,该组单独模型可要求少得多的训练数据和训练时间。这可减少用于训练和实现主题识别模型的存储空间量、处理器利用和存储器使用,这可提高执行这种训练和实现方式的计算设备的性能。

现在参考图4,示出了根据一个实施例的用于以分层树形结构布置神经网络模型的方法400的流程图。方法400可根据本发明在图1-2和5-6中尤其是在各个实施例中描绘的任何环境中执行。当然,如本领域的技术人员在阅读本说明书时所理解的,比图4具体描述的操作更多或更少的操作可被包括在方法400中。

方法400的每个步骤可由操作环境的任何合适的组件来执行。例如,在各种实施例中,方法400可部分或全部由一个或多个服务器、计算机或其中具有一个或多个处理器的某个其它设备执行。可在任何设备中利用处理器(例如,以硬件和/或软件实现的,并且优选地具有至少一个硬件组件的处理电路、芯片和/或模块)来执行方法400的一个或多个步骤。说明性处理器包括但不限于中央处理器(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)等,其组合或本领域已知的任何其它合适的计算设备。

如图4所示,方法400可从操作402开始,在操作402中,识别确定输入数据内的多个主题的复杂模型。在一个实施例中,复杂模型可包括单个神经网络。

另外,方法400可继续进行操作404,在操作404中,将复杂模型分解为多个简化模型,其中,每个简化模型与多个主题中的一个主题相关联,并识别输入数据内的该多个主题中的该一个主题。在一个实施例中,每个简化模型可与不同于与其它模型相关联的其它主题(例如,每个主题可以是唯一的)的主题相关联。

进一步,方法400可继续进行操作406,在操作406中,确定多个主题之间的关系。在一个实施例中,该关系可以是预定义的,可基于主题关系分析等来确定。在另一实施例中,可在该多个主题中确定父代/子代主题。

此外,方法400可继续进行操作408,在操作408中,基于该多个主题之间的关系,将多个简化模型布置成分层树形结构。在一个实施例中,给定父代模型的子代模型可被布置成树形结构内的父代模型的子代。

此外,方法400可继续进行操作410,在操作410中,训练分层树形结构内的该多个简化模型中的每个简化模型。在一个实施例中,可利用训练数据的预定实例来训练该多个简化模型中的每个简化模型。

此外,方法400可继续进行操作412,在操作412中,将训练后的多个简化模型应用于输入数据。在一个实施例中,输入数据可包括顺序地组织的数据。例如,输入数据可具有一致的顺序,其中,输入数据的第一部分总是出现在输入数据的第二部分之前。在另一个实施例中,预定的简化模型(例如,根模型或根模型的直接子代,等)可初始应用于输入数据的第一部分。例如,输入数据的第一部分可包括顺序组织内的输入数据的预定部分。

此外,在一个实施例中,响应于预定的简化模型对主题的识别,树形结构内的预定的简化模型的子代模型可被激活并且被应用于输入数据的第二部分。在另一个实施例中,可执行模型激活,直到输入数据被完全处理,或者预定的简化模型的末端模型被激活和应用。

结果,训练多个简化模型所需的训练数据量可小于训练复杂模型所需的训练数据量。例如,如果复杂模型具有m个输入和n个输出,则对于训练复杂模型需要在m×n数量级上训练数据。通过将复杂模型分解为每个都有一个输入的m个简化模型,对于训练简化模型需要在m+n数量级上训练数据。这减少了主题识别期间所需的训练数据量,并且可减少执行这种训练的计算设备的存储、处理和资源利用,这可以提高这种计算设备的性能。

图5示出了根据一个示例性实施例的示例性模型树形结构500。如图所示,在树形结构500中布置了多个模型502-514。在一个实施例中,该多个模型502-514中的每个模型可包括单个独立神经网络。在另一个实施例中,该多个模型502-514中的每个模型可将文本、音频和/或时间序列数据作为输入,并且可在该输入内搜索预定主题。例如,多个模型502-514中的每个模型可搜索与其它多个模型502-514不同的预定主题,并且如果在输入中识别出预定主题,则可输出第一预定值(如果在输入中未识别出预定主题,则可输出第二预定值)。

另外,在一个实施例中,多个模型502-514中的每个模型可与预定主题相关联,并且树形结构500的布置可基于主题之间的关系。例如,多个模型502-514中的每个模型可与预定主题相关联,其中,预定主题包括由模型搜索的主题。可提供每个主题之间的预定父代/子代关系,并且这些关系可用于创建树形结构500。

例如,所提供的父代/子代关系可指示由第二模型504搜索的主题和由第三模型506搜索的主题从属于由第一模型502搜索的主题,并且作为结果,第二模型504和第三模型506被布置在树形结构500内作为第一模型502的子代。同样,所提供的父代/子代关系可指示由第四模型508搜索的主题和由第五模型510搜索的主题从属于由第二模型504搜索的主题,并且作为结果,第四模型508和第五模型510被布置在树形结构500内作为第二模型504的子代。此外,所提供的父代/子代关系可指示由第六模型512搜索的主题和由第七模型514搜索的主题从属于由第三模型506搜索的主题,并且作为结果,第六模型512和第七模型514被布置在树形结构500内作为第三模型506的子代。

此外,可确定第四模型508、第五模型510、第六模型512和第七模型514不具有任何子代模型。作为结果,这些模型可被布置成树形结构500内的末端节点。由于第二模型504和第三模型506具有子代节点,所以这些模型可被布置成树形结构500内的中间节点。

此外,在一个实施例中,仅从属于树形结构500的根516的第一模型502可被激活,并被提供第一输入实例。在另一个实施例中,第一输入实例可包括多个顺序地组织的输入实例的第一部分。在又一个实施例中,第一模型502可与第一预定主题相关联,并且可搜索第一输入实例内的第一预定主题。

另外,响应于第一模型502对第一输入实例内的第一预定主题的识别,树形结构500内的第一模型502的所有子代(例如,第二模型504和第三模型506)被激活,并与第一模型502一起被提供第二输入实例。在一个实施例中,第二输入实例可包括多个顺序组织的输入实例的第二部分,其紧接在第一输入实例之后出现。在另一个实施例中,第二模型504和第三模型506可分别与第二预定主题和第三预定主题相关联,并且可搜索它们在第二输入实例内的预定主题。

此外,响应于第二模型504对第二输入实例内的第二预定主题的识别,树形结构500中的第二模型504的所有子代(例如,第四模型508和第五模型510)被激活并与第一模型502、第二模型504和第三模型506一起被提供第三输入实例。在一个实施例中,第三输入实例可包括多个顺序组织的输入实例中的第三部分,其紧接在第二输入实例之后出现。在另一个实施例中,第四模型508和第五模型510可分别与第四预定主题和第五预定主题相关联,并且可搜索它们在第三输入实例内的预定主题。

以这种方式,可训练多个模型502-514中的每个模型以识别输入内的单个相关联的主题,而不是训练单个模型以识别所有相关联的主题。这可减少执行训练的计算设备所利用的资源量,从而提高计算设备的性能。另外,该多个模型502-514可根据它们在树形结构500内的布置被选择性地应用于输入,并且因此可以以与训练以识别所有相关联的主题的单个模型的相似方式来识别相关联的主题。

从以自然人类语言编写的文本文档中生成机器可读的业务流程定义

在使用机械学习的自然语言处理中,准确性增强的主要问题是确保足够的学习数据量。通常,使用具有高编写性能的学习模型需要与学习性能成比例的学习数据量,以训练学习模型。通常,学习量可被认为是模型中参数的数量。

在三个输入和两个输出的情况下,内部参数(输入的权重系数)的数量为六个。如果允许一个输入作为第四输入,则内部参数的数量将增加到八个。此外,如果提供了三个输出,则参数的数量将变为十二个。为了通过学习来确定这些参数,需要至少与该参数相同数量的学习数据。

为了训练执行有效学习(即,使用最少的学习数据来解决问题)的模型,有必要建立具有最小可能尺寸并形式为针对问题来优化的学习模型。

因此,将采用以下方式:

1.以外部指定的父代/子代关系来组合多个小型模型以构建一个模型。

2.根据父代/子代关系,基于上层中按时间顺序提供的数据的检测结果,通过更改在下层中激活的模型,所构建的模型操作,同时整体上动态变化。

尽管为了通过单个大型网络学习所有条件,需要覆盖所有情况的学习数据,但是组合多个小型网络使得能够降低此类学习数据的成本。为了组合小型网络,需要用于指定如何组合它们的信息,但是,在这里,假设此类信息可被预先定义。一般而言,这因此节省了用于外部指定的逻辑结构的信息的学习成本。

在分析以自然语言编写的文本文档的情况下,通过创建存储用于单独主题的单词序列的多个小型模型并在外部指定主题之间的父代/子代关系,而不是创建存储在整个文本文档中包括的工作序列的一个学习模型,来创建整体学习模型。这对应于人们阅读文档时的思考方式,即,指定作为主题的区域以缩小随后可能讨论的主题的范围,从而有助于理解,因为这样减少了要确定的项目。

图6示出了根据一个示例性实施例的父代/子代关系树600。每个模型602-614指示主题,并且有向链接(directedlink)指示父代/子代关系。在树600内,子代从属于相应的父代。

基于各个句子或与句子相似的部分,从文本的开头顺序地执行文本的分析。与在分析中检测句子中的父主题一起,自动激活模型,每个模型检测从属于该父主题的子主题。在图7中示出了树600到输入数据的特定应用700。

如图7所示,在初始状态下,仅激活覆盖模型602,该覆盖模型602仅从属于图6中的树600的根616。当覆盖模型602在第一输入行702a内检测到主题“覆盖”时(例如,响应于检测到术语“覆盖”),从属于在图6中的树600的覆盖模型602的正常_情况模型604和排除模型606被激活并被应用于第二输入行702b。

当正常_情况模型604在第二输入行702b中检测到主题“正常情况”时(例如,响应于检测到术语“情况”),伤害模型608和生病模型610基于图6中的树600内的父代/子代关系来激活,并且被应用于第三输入行702c。在第三输入行702c内,伤害模型608检测到主题“伤害”(例如,响应于检测到术语“伤害”),生病模型610检测到主题“生病”(例如,响应于检测到术语“生病”)。

当排除模型606在第四输入行702d中检测到主题“排除”时(例如,响应于检测到术语“排除”),伤害模型608和生病模型610被停用,取而代之的是,从属于图6中的树600内的排除模型606的豁免1模型612和豁免2模型614被激活。

分别在第五输入行702e和第六输入行702f中,豁免1模型612检测到主题“豁免1”(例如,响应于检测到术语“第一豁免”),并且豁免2模型614检测到主题“豁免2”(例如,响应于检测到术语“第二豁免”)。

在一个实施例中,基于父代/子代关系的指示,分析引擎可在改变已激活的模型的同时操作。表1中示出了实现这种分析引擎的示例代码。

表1

在将具有m个选项的组件和具有n个选项的组件组合的情况下,存在m×n个选项。为了通过机械学习来设置此模型,需要m×n数量级的学习数据。另一方面,如果分别学习组件,则仅需要m+n数量级的学习数据。通过以树形分隔的形式明确指示两个组件在模型中在逻辑上是独立的,这可被视为消除不必要组合中的选项的效果。

在一个实施例中,一种标记输入数据的方法包括:创建用于标记输入数据的树形结构的学习模型,包括创建用于标记输入数据的树形结构的学习模型,其中,树形结构的模型是基于依赖关系从末端模型创建的。另外,从输入数据的开始读取按时间顺序组织的输入数据,并从树形结构的根开始应用模型。此外,基于模型的检测结果,模型被选择性地激活并应用于树形结构内。此外,基于所激活和应用的模型的检测结果来标记输入数据。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

此外,根据各种实施例的系统可包括处理器和与处理器集成在一起和/或能够由处理器执行的逻辑,该逻辑被配置成执行本文所述的一个或多个处理步骤。所谓与之集成在一起,是指处理器具有作为硬件逻辑与其一起嵌入的逻辑,例如专用集成电路(asic)、fpga等。所谓能够由处理器执行,是指该逻辑是硬件逻辑;软件逻辑,诸如固件、操作系统的一部分、应用程序的一部分;等,或者处理器可访问并被配置成在被处理器执行时使处理器执行某些功能的硬件和软件逻辑的某种组合。如本领域中已知的,软件逻辑可被存储在任何存储器类型的本地和/或远程存储器上。可使用本领域已知的任何处理器,例如软件处理器模块和/或硬件处理器,例如asic、fpga、中央处理单元(cpu)、集成电路(ic)、图形处理单元(gpu)等

将清楚的是,可以以任何方式组合前述系统和/或方法的多个特征,从而从以上呈现的描述中创建多个组合。

将进一步理解,可以以代表客户部署的服务的形式提供本发明的实施例以按需提供服务。

尽管上面已经描述了各个实施例,但是应该理解,它们仅是示例性的,而非限制性的。因此,优选实施例的广度和范围不应受到任何上述示例性实施例的限制,而应仅根据所附权利要求及其等同物来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1