CN111435362A - 用于生成相关响应的对抗性训练数据增强 - Google Patents
用于生成相关响应的对抗性训练数据增强 Download PDFInfo
- Publication number
- CN111435362A CN111435362A CN202010034449.5A CN202010034449A CN111435362A CN 111435362 A CN111435362 A CN 111435362A CN 202010034449 A CN202010034449 A CN 202010034449A CN 111435362 A CN111435362 A CN 111435362A
- Authority
- CN
- China
- Prior art keywords
- training data
- synthetic
- training
- classification
- classification model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及用于生成相关响应的对抗性训练数据增强。具体而言涉及一种智能计算机平台将对抗性训练引入到自然语言处理(NLP)。使用合成训练数据修改初始训练集以创建对抗性训练集。修改包括使用自然语言理解(NLU)将初始训练集解析为组件并识别组件类别。在呈现输入时,分类器评估输入并利用对抗性训练集来识别输入的意图。识别出的分类模型基于接收到的输入生成准确的和反应性的响应数据。
Description
技术领域
本实施例涉及人工智能平台和特征提取技术。更具体而言,实施例涉及用于文本分类和意图生成的训练增强数据。
背景技术
在人工智能计算机***领域中,自然语言***(诸如IBM WatsonTM人工智能计算机***或其它自然语言问答***)基于由***获取的知识来处理自然语言。为了处理自然语言,可以用从数据库或知识的语料库中得到的与语言构造和人类推理的特点相关的数据来训练***。
作为人工智能(AI)的子集的机器学习(ML)利用算法从数据中学习并基于该数据创建预见(foresights)。AI是指机器基于信息能够做出决策时的智能,其最大化给定主题中的成功几率。更具体而言,AI能够从数据集中学习以解决问题并提供相关建议。认知计算是计算机科学和认知科学的混合。认知计算利用自我教学算法,该算法使用数据最小化、视觉识别和自然语言处理来解决问题并优化人工处理。
AI和相关联推理的核心在于文本分类的概念,这是自然语言处理(NLP)的领域,其重点是标记和组织文本。自然语言分类器服务应用认知计算技术来为短文本输入(诸如句子或短语)返回最佳匹配的预定义类。文本输入以自然语言表示,并且被归入到类别中。分类器返回对类的预测,该分类可以最好地捕获关联文本中正在表达的内容。基于预测的类,可以利用应用来采取适当的动作,诸如提供问题的答案、基于表达的兴趣建议相关的产品或将文本输入转发到适当的场所。相应地,自然语言理解分类器评估自然语言表达、将表达归入到类别中,并且返回对应的分类。
理解自然语言的处理需要从可能具有挑战性的关系角度进行推理。结构(包括静态结构和动态结构)指示所确定的对于给定确定输入的输出或动作。所确定的输出或动作基于结构内的表达或固有关系。对于选定的情况和条件,这种布置可能是令人满意的。但是,应该理解的是,动态结构固有地会发生变化,并且输出或动作可能会相应地发生变化。在实践水平上,用于高效地识别和理解自然语言以及处理对识别和理解以及对结构的更改的内容响应的现有解决方案极为困难。
发明内容
实施例包括用于自然语言内容处理的***、计算机程序产品和方法,自然语言内容处理包括自然语言理解和内容分发处理。
在一方面,一种计算机***提供有可操作地耦合到存储器的处理单元以及支持自然语言处理的人工智能(AI)平台。AI平台提供有分类器形式的工具。分类器使用自然语言理解(NLU)来针对对抗性训练集评估和处理接收到的输入。分类器利用对抗性训练集来预测分类标签,该分类标签然后用于识别分类模型。分类模型识别与输入对应的意图和语料库。使用输入作为特性数据,分类模型产生反映接收到的输入的响应数据。
在另一方面,一种计算机程序产品,具有计算机可读存储介质,该计算机可读存储介质具有实施在其上的计算机可读程序代码,该程序代码可由处理器执行以支持自然语言处理(NLP)。提供了用于使用自然语言理解(NLU)针对对抗性训练集评估收到的输入的程序代码。程序代码利用对抗性训练集来预测与输入对应的分类标签,然后该标签被程序代码利用来识别分类模型。分类模型识别对应的意图和语料库。程序代码使用输入作为特性数据执行分类模型,并产生反映接收到的输入的响应数据。
在另一方面,提供了一种具有用于处理自然语言的人工智能(AI)平台的方法。使用自然语言理解(NLU)评估接收到的输入。利用对抗性训练集来处理评估后的输入并识别分类模型。分类模型的执行识别输入的对应意图以及与模型对应的语料库。分类模型使用输入作为特性数据来产生反映接收到的输入的响应数据。
在一方面,一种计算机***提供有可操作地耦合到存储器的处理单元以及支持自然语言处理的人工智能(AI)平台。AI平台提供有训练器和分类器形式的工具。训练器用于形成对抗性候选训练集,并且分类器利用形成的对抗性训练集来处理输入并识别对应的意图。对抗性训练集是通过使用自然语言理解(NLU)将初始训练集解析为子组件并识别相关联的子组件类别而形成的。释义(paraphrase)术语被引入到子组件,然后训练器用一个或多个释义术语替换一个或多个子组件,从而创建合成数据。通过使用对抗性训练集来处理输入,分类器返回修订的分类模型以输出分类标签。
在另一方面,一种计算机程序产品提供有计算机可读存储介质,该计算机可读存储介质具有实施在其上的计算机可读程序代码,该程序代码可由处理器执行以支持自然语言处理(NLP)。提供程序代码以形成对抗性候选训练集,并利用形成的对抗性训练集来处理输入并识别对应的意图。对抗性训练集是通过使用自然语言理解(NLU)将初始训练集解析为子组件并识别相关联的子组件类别而形成的。释义术语被引入到子组件,并且程序代码用一个或多个释义术语替换一个或多个子组件,从而创建合成数据。通过使用对抗性训练集来处理输入,程序代码返回修订的分类模型以输出分类标签。
在又一方面,提供了一种具有用于处理自然语言的人工智能(AI)平台的方法。形成对抗性候选训练集,然后利用其来处理输入并识别对应的意图。对抗性训练集是通过使用自然语言理解(NLU)将初始训练集解析为子组件并识别相关联的子组件类别而形成的。释义术语被引入到子组件,然后用一个或多个释义术语替换一个或多个子组件,从而创建合成数据。通过使用对抗性训练集来处理输入,修订的分类模型返回分类标签。
通过结合附图对当前优选的(一个或多个)实施例的以下详细描述,这些以及其它特征和优点将变得显而易见。
附图说明
本文参考的附图形成说明书的一部分。除非另外明确指出,否则附图中所示的特征仅意在说明一些实施例,而不是所有实施例。
图1描绘了***图,该***图图示了用于向词向量和文档向量表示提供上下文的自然语言处理***的示意图。
图2描绘了框图,该框图图示了图1中所示的工具及其相关联的应用程序接口(API)。
图3描绘了流程图,该流程图图示了用于生成合成话语以扩展训练数据的处理。
图4描绘了图示示例格子图的示图。
图5描绘了流程图,该流程图图示了利用图4中形成的合成话语的对抗性训练处理。
图6描绘了流程图,该流程图图示了用于管理图5中所示和所描述的分类模型的演变的示例性处理。
图7描绘了图示意图分类模型的应用的流程图。
图8是框图,该框图图示了用于实现以上关于图1-图7所描述的***和处理的、基于云的支持***的计算机***/服务器的示例。
图9描绘了图示云计算机环境的框图。
图10描绘了图示由云计算环境提供的一组功能抽象模型层的框图。
具体实施方式
将容易理解,如本文的各图中一般性描述和图示的,本实施例的组件可以以各种不同的配置来布置和设计。因此,如图中所示,对本实施例的装置、***、方法和计算机程序产品的实施例的以下详细描述并非旨在限制所要求保护的实施例的范围,而仅仅代表所选择的实施例。
在整个说明书中,对“选定实施例”,“一个实施例”或“实施例”的引用是指结合该实施例描述的特定特征、结构或特性被包括在至少一个实施例中。因此,贯穿本说明书在各处出现的短语“选定实施例”、“在一个实施例中”或“在实施例中”不一定是指同一个实施例。
通过参考附图将最好地理解所图示的实施例,其中相同的部分通篇由相同的数字表示。以下描述仅旨在作为示例,并且简单地图示了与本文所要求保护的实施例一致的设备、***和处理的某些所选择的实施例。
对神经网络的输入的改变影响输出。对抗性示例是对神经网络的导致网络的输出不正确的输入。结合深度学习模型的***利用训练数据对图像和文本进行分类。为了使深度学习模型更加稳健,引入了对抗性训练。如下面所示和所描述的,提供了一种***、方法和计算机程序产品,以将基于扰动的数据增强与对抗性训练相结合。扰动是针对将非复杂的文本变换应用于一个或多个训练句子。通过替换选定句子组件(诸如术语和释义),从训练句子创建合成数据。合成数据的选定子集在分类模型的对抗性训练中用作模型训练数据的成员。相应地,对抗性训练不仅创建合成数据,而且选择具有对抗性特性的合成数据的子集,并将该合成数据的子集分配为分类模型的训练数据。
参考图1,其描绘了具有用于文本分类的通用对抗性训练框架的计算机***(100)的示意图。计算机***(100)被配置为训练对应的意图模型分类器,并利用经训练的分类器来预测接收到的输入的分类标签。如图所示,提供服务器(110),其通过网络连接(105)与多个计算设备(180)、(182)、(184)、(186)和(188)通信。服务器(110)被配置有通过总线(114)与存储器(116)通信的处理单元(112)。服务器(110)被示出具有人工智能(AI)平台(150),用于经由路径(102)和(104)通过网络(105)从一个或多个计算设备(180)、(182)、(184)、(186)和(188)进行文档和上下文处理。更具体而言,计算设备(180)、(182)、(184)、(186)和(188)经由一个或多个有线和/或无线数据通信链路彼此通信并且与其它设备或组件通信,其中每个通信链路可以包括电线、路由器、交换机、发射器、接收器等中的一个或多个。在这种联网布置中,服务器(110)和网络连接(105)可以实现一个或多个内容用户的内容和/或上下文识别和解析。服务器(110)的其它实施例可以与除本文所描绘的组件、***、子***和/或设备之外的组件、***、子***和/或设备一起使用。
AI平台(150)可以被配置为从各种来源接收输入。例如,AI平台(150)可以从网络(105)、电子文档(162)或文件(164)的一个或多个知识库(160)、或其它数据、内容以及其它可能的输入源接收输入。在所选择的实施例中,在本文中也称为语料库的知识库(160)可以在多个文档或文件中包括结构化、半结构化和/或非结构化的内容。与网络(105)通信的各种计算设备(180)、(182)、(184)、(186)和(188)可以包括用于内容创建者和内容用户的接入点。一些计算设备(180)-(188)可以包括用于处理关于单词向量生成的数据的语料库的设备,从而增强了基于自然语言的服务。在各种实施例中,网络(105)可以包括本地网络连接和远程连接,使得AI平台(150)可以在包括本地和全球(例如互联网)的任何规模的环境中操作。另外,AI平台(150)用作前端***,其可以使从文档、网络可访问来源和/或结构化数据源中提取的或表示的各种知识可用。以这种方式,一些处理填充AI平台(150),其中AI平台(150)还包括用于接收请求并相应地做出响应的输入接口。
如图所示,内容可以是一个或多个电子文档(162)或文件(164)的形式,以用作AI平台(150)的数据的语料库(160)的一部分。知识库(160)可以包括供AI平台(150)使用的任何结构化和非结构化文档或文件(162)和(164),包括但不限于任何文件、文本、文章或数据源(例如,学术文章、字典、定义、百科全书参考等)。内容用户可以经由与网络(105)的网络连接或互联网连接访问AI平台(150),并且可以向AI平台(150)提交可以针对意图和对应的响应数据被有效处理的自然语言输入。如进一步描述的,意图分类模型用于识别和提取与接收到的请求和相关联的请求数据对应的相关联文档或文件内的特征。
本文示出了AI平台(150)具有支持和启用意图分类模型的应用和增强的工具。在一个实施例中,提供了初始意图分类模型。AI平台(150)的工具包括但不限于训练器(152)和分类器(154)。训练器(152)用作意图分类模型(下文中称为模型)的管理工具,包括模型增强的管理。分类器(154)用作利用模型的工具,以便处理接收到的数据(包括向接收到的输入应用例如意图的分类标签)并且返回准确的响应数据(170),在一个实施例中,该响应数据与意图对应。训练器(152)和分类器(154)都解决对应请求的意图,其中训练器(152)维护和/或管理模型,并且在一个实施例中,响应于接收到的请求来动态更新模型,而分类器(154)利用模型提供准确的响应数据。虽然本文示出的模型(158)存储在AI平台(150)本地,但是该位置不应被认为是限制性的。在一个实施例中,模型(158)可以存储在可操作地耦合到服务器(110)的远程存储设备上。类似地,虽然本文仅示出了一个分类模型(158),但是应该理解的是,***可以包括多个模型或模型库(158),因此,不应将模型(158)的单数表示视为限制性的。响应数据(170)是通过应用模型(158)生成的,并且可以通过网络连接(105)传送到***(180)-(190)中的一个或多个。类似地,在一个实施例中,所生成的响应数据(170)可以被呈现在可操作地耦合到服务器(110)的视觉显示器(172)上。
如以上简要描述的,利用模型(158)关于对接收到的请求的意图进行分类来处理接收到的请求,在一个实施例中,其将分类器(154)引导到知识库(160)内的适当的库以处理请求。训练器(152)用作管理模型(158)的工具,并且更具体而言,管理模型(158)的增强。如下面详细描述的,利用合成数据来促进模型(158)的增强。训练器(152)或者提供有合成数据或者创建合成数据。在一个实施例中,训练器(152)是自然语言处理工具,并且利用自然语言理解(NLU)将训练数据解析为语法组件,并利用释义词或释义数据库来创建如与训练数据相关的合成数据。训练器(152)将合成数据识别为训练数据的或者紧密相关或者不相关(tangentially)的语法单词或短语。训练的对抗性方面涉及选择合成数据的子集,以及将合成数据子集合并到模型(158)中。在一个实施例中,合成数据子集的特性和对该子集的选择将对抗性特性引入到相关联的模型(158)的训练数据中。因此,训练器(152)将合成数据子集与真实训练数据合并,以有效地引入额外的信息(例如,噪声),从而为模型(158)增加了稳健性。
模型(158)受到训练,使得它可以适于数据和数据处理的动态性质和特性。虽然本文仅示出了一个模型(158),但是在一个实施例中,知识库(160)可以包括模型(166A)、(166B)、...、(166N)的库(166),其中不同的模型针对不同的主题和/或类别。训练器(152)接收初始训练数据,在本文中也称为训练数据集。在一个实施例中,通过网络连接(102)从一个或多个设备(180)-(190)接收训练数据集。训练数据集可以采用不同的格式。训练器(152)使用自然语言理解(NLU)将训练数据解析为子组件,并为每个解析的子组件识别类别。解析支持术语的识别。更具体而言,训练器(152)使用识别出的类别来进一步识别子组件的释义术语。因此,训练器(152)的功能的初始方面是将训练集处理成类别并识别对应的释义术语。
训练器(152)利用训练数据和释义术语的各方面来创建或构建合成短语,在本文中也称为话语。更具体而言,训练器用释义术语选择性地替换已解析的子组件,并通过替换创建合成数据,如图3-图7所示和所描述的。合成数据表示用释义术语选择性地增强的初始训练数据集的元素。在一个实施例中,替换释义术语表示初始训练数据的文本失调,例如扰动。应该理解的是,合成数据的子集可能是冗余的或在语法上是不正确的,统称为不相关的合成数据。在一个实施例中,从合成数据集中去除低价值的合成数据。低价值的合成数据的示例包括但不限于常用词和/或拼写错误的单词。因此,训练器(152)从形成的一组合成数据中去除无关的且低价值的合成数据。
如所示和所描述的,合成数据集是与训练数据相关的一组数据,并且是通过术语替换、释义等创建的。不应将合成数据集与对抗性训练或对抗性数据相混淆,如下面详细描述的。如图4中所示,可以使用包括文本扰动的初始训练数据集的格子图结构来创建与(一个或多个)训练句子相关的一个或多个合成短语或句子。格子图由训练器(152)构造,并且包括在被遍历时形成合成短语或句子的多条路径。训练器(152)被配置为遍历图的路径以生成合成句子。在一个实施例中,整体遍历的每条路径形成合成短语或句子。应该理解的是,每个合成句子都具有与初始训练集相似的句法结构。因此,每个合成句子都由格子图的完整路径表示,并形成形式和实质与初始训练集语法相关的结构。
训练器(152)关于流畅度评估其余合成数据,并且在一个实施例中,将流畅度分数分配给每个合成数据,例如,每个合成短语或合成句子。应该理解的是,可能存在大量的合成数据,并且流畅度分数有利于缩小合成数据相对于其与训练数据集的关系的范围。在一个实施例中,训练器(152)将合成数据应用于语言模型,以从由遍历格子图而生成的合成数据的集合中识别和过滤语法上不正确的句子。一旦完成语法上不正确或低价值的合成数据的过滤或去除,就形成与初始训练数据相关的一组合成数据。训练器(152)对形成的一组合成数据进行评估,以识别将与对抗性训练一起采用的合成数据的子集。如图5所示和所描述的,训练器(152)在已去除低价值的合成数据之后为合成数据集中剩余的合成数据计算对数似然度分数。对数似然度分数是针对合成数据的意图相对于训练集合的意图的关系的数学值,并且更具体而言,表示合成数据的意图与训练数据匹配的相对值。训练器(152)在合成数据集中选择具有最小对数似然值的条目,并将对应的话语与训练集合并。该选择最大化最差合成数据集(例如合成话语)的可能性。因此,模型的对抗性训练涉及将最差的合成话语与实际训练数据相结合。
如本文所示和所描述的,训练器(152)用作构建和维护模型(158)的工具。应该理解的是,模型(158)是动态的,因为它可以被改变。分类器(154)用作AI平台(150)中的工具以针对处理利用模型(158)。分类器(154)将接收到的输入应用于模型(158)以预测与接收到的输入对应的分类标签。分类标签与请求的意图的分类对应,在一个实施例中,其将分类器(154)引导到知识库(160)内的适当的库或文件以处理请求。在一个实施例中,分类器(154)将意图应用于知识库(160)内识别出的库或文件,并生成响应数据(170)。相应地,分类器(154)利用已经进行对抗性训练的演变模型,利用该演变模型来识别输入的意图,这包括对输入的语义进行分类。
如所示和所描述的,训练器(152)管理模型(158)的演变和训练。分类器(154)利用模型(158)来创建响应输出(170),其包括对接收到的输入的意图进行分类,并使用意图分类来识别知识库(160)内的适当文件或库,以接收和处理输入。相应地,训练器(152)动态地维护模型(158),并且分类器(154)使用动态地维护的模型(158)来处理接收到的输入并生成对应的输出。
训练器(152)和分类器(154)用于动态维护和利用一个或多个分类模型(158)来促进生成或识别语义相关的响应数据,例如,语义上与接收到的输入的意图相关的响应数据。如所示和所描述的,模型(158)可以是包含多个模型(166A)-(166N)的库(166),在这种情况下,分类器(154)对输入进行初步评估以识别用于处理输入的适当的模型(158)。无论识别或选择模型(158)的方式如何,模型都会评估输入(例如,接收到的通信),并为输入的意图分配类别,其中分配的类别对应于评估的通信。类别分配将类似的相关文本数据对齐。更具体而言,分类将所评估的通信分配给知识库(160)中数学上和归纳上(proximally)相关的库或文件。相应地,分类器(154)和识别出的模型(158)识别所评估的通信与知识库(160)中的一个或多个库或文件之间的关系。
如所示和所描述的,原始意图模型(158)用合成数据增强并且进行对抗性训练。应该理解的是,生成的合成数据的数量很多,并且处理所有合成数据是负担。可以应用一个或多个阈值来缩小合成数据集合。例如,在一个实施例中,关于采样合成数据应用第一阈值,并且将第二阈值应用于所施加的第一阈值的采样内的第二子集。在一个实施例中,第二子集是接近限定符,使得第二子集识别采样内的在数学上接近或邻近接收到的输入的合成数据。该对数似然值被应用以数学评估合成数据与接收到的输入的接近度。在最小对数似然值内选择合成数据涉及优化样本内的最差合成数据,以便改善样本内更接近接收到的和评估的输入的合成数据的关系。相应地,对样本中最弱的合成数据进行了优化,以将新数据引入到模型训练数据中。
在本文中也称为信息处理***的AI平台(150)采用了几种工具(例如子引擎),以支持所描述的数据处理。这些工具包括训练器(152)和分类器(154)。可以利用***(110)的信息处理***的类型范围从诸如手持式计算机/移动电话(180)的小型手持式设备到诸如大型计算机(182)的大的大型机***。手持式计算机(180)的示例包括个人数字助理(PDA)、个人娱乐设备(诸如MP4播放器)、便携式电视和光盘播放器。信息处理***的其它示例包括笔或平板电脑、计算机(184)、膝上型电脑或笔记本电脑、计算机(186)、个人计算机***(188)和服务器(190)。如图所示,可以使用计算机网络(105)将各种信息处理***联网在一起。可以用于互连各种信息处理***的计算机网络(105)的类型包括局域网(LAN)、无线局域网(WLAN)、互联网、公共交换电话网(PSTN)、其它无线网络,以及可以用于互连信息处理***的任何其它网络拓扑。许多信息处理***包括非易失性数据存储库,诸如硬盘驱动器和/或非易失性存储器。一些信息处理***可以使用单独的非易失性数据存储库,例如,服务器(190)使用非易失性数据存储库(190a),并且大型计算机(182)使用非易失性数据存储库(182a)。非易失性数据存储库(182a)可以是在各种信息处理***外部或可以在其中一个信息处理***内部的组件。
AI平台(150)对于服务器(110)是本地的。在一些说明性实施例中,服务器(110)可以是可从纽约Armonk的国际商业机器公司获得的IBM WatsonTM***,其利用下文描述的说明性实施例的机制来增强。虽然本文只示出和描述了两种工具(例如训练器(152)和分类器(154)),但是不应认为该数量是限制性的。虽然被示出为实施在服务器(110)中或与服务器(110)集成,但是AI平台(150)和相关联的工具可以在通过网络(105)连接到服务器(110)的单独的计算***(例如190)中实现。无论在何处实施,训练器(152)和分类器(154)都用于动态维护一个或多个意图分类模型(158)、针对(一个或多个)分类模型(158)评估接收到的输入的上下文分析,并将输入应用于知识库(160)中与识别出的意图对应的文档(162)或文件(164)的库。
应用程序接口(API)在本领域中被理解为两个或更多个应用之间的软件中介。关于图1所示和描述的NL处理***,可以利用一个或多个API来支持工具(152)-(154)中的一个或多个及其相关联的功能。参考图2,提供了框图(200),其图示了NL处理工具及其相关联的API。如图所示,工具被嵌入在知识引擎(205)内,其中工具包括与API0(212)相关联的训练器(210)和与API1(222)相关联的分类器(220)。每个API可以用一种或多种语言和接口规范来实现。API0(212)提供(一个或多个)意图模型的动态维护,包括生成和评估合成数据,以及选择合成数据的子集以应用于对抗性训练。API1(222)提供关于适当识别出的模型和对应的库的文档或文件标识的输入处理。如图所示,API(212)和(222)中的每一个都可操作地耦合到API协调器(260),其也称为协调层,其在本领域中被理解为用作抽象层以透明地将单独的API用线程连接在一起。在一个实施例中,可以结合或组合单独的API的功能。由此,本文所示的API的配置不应被认为是限制性的。相应地,如本文所示,工具的功能可以由它们各自的API来实施或支持。
参考图3,提供了流程图(300)来图示用于生成合成话语以扩充训练数据的处理。合成话语表示要应用于分类器的附加训练数据。在基于文本的数据的情况下,分类器是文本分类器,在基于图像的数据的情况下,分类器是图像分类器。虽然以下描述针对文本数据和相关联的分类模型,但是实施例的范围不应限于文本数据,并且在一个实施例中可以应用于图像或图形数据。如本文所示和所描述的,分类器用作对接收数据的意图进行分类的模型。分类器是动态的,并且在其暴露于训练或暴露于数据时被修改。
如图所示,提供了句子集合来训练分类器。识别句子集合,并分配变量XTotal以表示集合中句子的数量(302),并初始化相关联的句子计数变量(304)。对于每个训练句子sentenceX,识别句子的意图intentX(306),并且识别意图的一个或多个释义术语(308)。如下所述,一个或多个释义术语替换训练句子以创建合成数据。释义术语可以是训练句子中的一个或多个单词的替换词,例如扰动。sentenceX的释义术语的数量分配给变量YTotal(310)。在一个实施例中,释义数据库被利用来将(一个或多个)训练句子中的源术语与(一个或多个)目标术语配对。每个释义都是一对带有相关联分数的源术语和目标术语。数据库中有三种释义类型,包括:词典级、短语级和句法。词典级是两个单词的释义关系。短语级是两个短语(例如多个单词)的释义关系。句法是其中一些部分作为词性(POS)标签的两个短语的释义关系,其中任何所属单词都可以适配到释义中。分数是针对每个源-目标对的基于计数的分数。相应地,对于每个训练sentenceX,对抗性扰动是在高达三层(包括词汇、短语和句法)上对原始训练句子的释义替换。
给定训练sentenceX和识别出的释义术语YTotal,利用基于格子的算法来生成新的释义集合,例如,合成话语(312)。该算法用路径构建格子图,并且每条路径都是完整的合成话语或句子。格子图具有扩充的搜索空间。参考图4,提供了图(400)以图示示例格子图。在这个示例中,训练句子在(410)处被示出为“How do I find a web address for acompany”。每条路径共享相同的起始点(420)和终点(430),并且每条路径形成完整的句子或话语。在一个实施例中,每个合成句子包括训练sentenceX的同义术语。格子图表示候选者的增加的搜索空间。在一个实施例中,对于每个训练句子,生成500个以上的合成句子或话语,下文中称为话语。当遍历该示例中的格子图时,提供了七个示例合成话语。所生成的合成话语至少与训练句子具有紧密的语义关系和相似的句法结构(410)。遍历格子中的每条路径以构建多个合成话语(314)。变量ZTotal被分配为通过遍历格子的路径而形成的合成话语的数量(316)。应该理解的是,在一个实施例中,可能已开发出重复合成话语。去除所生成的话语集合中的所有重复话语(318)。在图4所示的示例格子中,变量ZTotal被分配为整数7。相应地,形成了合成话语并对其进行解释(accounting)。
应该理解的是,合成话语可以包括对于分类器训练而言不必要的低价值术语。在步骤(318)处的解释之后,识别低价值术语并将其从合成话语中选择性地去除(320)。低价值术语的示例包括但不限于常用词、停止词(stop wording)和印刷错误。在步骤(320)处去除低价值术语之后,生成用于训练sentenceX的合成话语集合(322)。此后,递增训练句子计数变量(324),并且确定是否已经处理每个训练句子以生成与用于训练sentenceX的意图intentX相关的合成话语集合(326)。在对确定的否定响应之后,返回到步骤(306),并且肯定响应使该处理结束。相应地,如图所示,对于每个训练句子,生成格子图,并且形成与训练句子的意图对应的合成话语集合。
参考图5,提供了流程图(500)来图示利用图4中形成的合成话语集合的对抗性训练处理。如图所示,变量XTotal被分配为表示训练句子的数量(502),并且训练句子计数变量被初始化(504)。对于训练sentenceX,识别合成话语集合,并将合成话语的数量分配给变量YTotal(506)。在一个实施例中,来自在步骤(506)处识别出的数量的合成话语的子集被用于训练。识别并选择子集,并将其分配给变量ZTotal(508)。所选择的合成话语Z中的每一个被提交给语言模型以过滤掉并去除句法上不正确的句子(510)。其余的合成话语被提交给语言模型,该语言模型返回语言流畅度分数(512)。相应地,对于每个合成sentenceZ或合成utteranceZ,针对它们的流畅度分数进行处理。
在步骤(512)处评估的分数用于识别和选择要在模型的对抗性训练中采用的数据。低于分数阈值的合成句子或话语从集合中去除(514)。在一个实施例中,相似度度量(诸如语言模型或余弦相似度分数)被应用于识别关于训练sentenceX的意图的K个最接近的合成话语。在一个实施例中,阈值是可配置的值。类似地,在一个实施例中,关于数量配置阈值。相应地,无论阈值特性如何,都保留合成话语的子集并将其分配给变量KTotal(516)。
其余的合成话语中的每一个经历关于训练句子sentenceX的意图的对数似然计算(518)。使用对数似然计算,选择并识别具有最小对数似然值的合成话语utteranceK(520)。该识别反映了针对相关联的训练句子的意图优化最弱的合成数据。相应地,针对训练句子的意图来评估每个合成话语,并且识别和选择具有最小对数似然值的合成话语以用于模型的对抗性训练。
如图所示,基于选定的计算值对每个训练句子进行意图评估和合成话语识别。在步骤(520)之后,递增训练句子计数变量(522),并且确定是否已经评估每个训练句子以识别用于对抗性训练的合成数据(524)。对步骤(524)处对确定的否定响应之后,返回到步骤(506),并且在步骤(524)处对确定的肯定响应结束了针对对抗性训练的合成话语评估和识别。更具体而言,在步骤(524)处的肯定响应之后,(一个或多个)训练句子中的每个与被确定为具有最小对数似然值的识别出的和选择的合成话语(526)合并。相应地,每个训练句子与所选择的合成话语合并,用于应用于对应的分类模型以支持并启用对抗性训练。
图5所示和所描述的处理涉及相对于与对应的训练句子的接近度识别具有最小对数似然值logP(y│x)的合成数据,其中x是输入,并且y是输出。应该理解的是,基于迭代的使用和应用分类模型会经历变化。在一个实施例中,利用计数器来跟踪和限制用于模型训练的迭代次数。对于每次增量使用,在步骤(512)处使用在步骤(526)处返回的模型以用于模型的连续训练和演变。相应地,选择性地识别合成话语,并将其应用于演变的意图分类模型,直到达到计时器极限或者当确定模型稳定(例如,变化微不足道)时为止。
参考图6,提供了流程图(600)以图示用于管理图5所示和所描述的分类模型的演变的示例性处理。应该理解的是,分类模型的对抗性训练是动态的,并且会经历变化。变量M0表示初始意图分类模型(602),并且变量NTotal表示训练集的数量(604)。训练集计数变量被初始化(606)。识别实际训练数据XN(608),并生成合成数据X'N(610)。实际训练数据XN和合成数据X'N应用于初始意图分类模型M0(612)。在一个实施例中,将具有最小对数似然值的合成数据与训练数据合并,在本文称为数据增强。修改模型M0以反映训练数据和所选择的合成数据的应用(614)。合成数据的应用引入了额外的信息(例如,噪声),以增加意图分类模型的鲁棒性。修改后的意图分类模型(在本文中也称为更新后的分类模型)反映了模型中的增量变化,并且在本文中称为ModelN,其反映了具有对抗性数据(例如,具有最小对数似然值的合成数据)的训练集。
在模型修改之后,递增训练集变量(616),并确定训练集和对应的合成话语数据中的每一个是否已应用于分类模型(618)。在步骤(618)处对确定的否定响应之后,返回到步骤(608)和(610),以进一步评估数据并将其应用于意图分类模型的当前版本,并且肯定的响应使意图分类模型的对抗性训练结束。返回或者在一个实施例中识别意图分类模型的最新版本ModelN-1(620)。相应地,如本文所示,通过将对抗性合成数据合并到模型训练数据中,意图分类模型经历增量对抗性训练处理。
意图分类模型的目的和目标是使用已经经历对抗性训练的意图分类来标记话语中的意图。将合成数据应用于模型可以使模型变得更加稳健。参考图7,提供了流程图(700)以图示意图分类模型的应用。如图所示,接收到或检测到输入(702)。在一个实施例中,输入是文本或图像。类似地,在一个实施例中,输入是要经历处理(例如自然语言处理(NLP))的自然语言(NL)。接收到的文本输入或转换成文本的输入呈现或以其它方式被意图分类模型接收(704),并且识别接收到的输入的对应意图(706)。在一个实施例中,识别出的意图与接收到的输入的主题对应。使用意图,将分类标签应用于接收到的输入(708),并且利用与分类标签对应的库或语料库来针对接收到的输入返回准确的响应数据(710)。相应地,将经训练的意图分类模型应用于接收到的输入,以生成准确的和反应性的响应数据。
如图1-图7所示和所描述的,除了初始训练之外,意图分类模型还要经历对抗性训练和修改,其中对抗性训练包括实际训练数据和选定的合成训练数据。在接收到输入时,模型被咨询以生成输出。同时,模型的增强可以利用接收到的输入动态地进行,并将其应用于意图分类模型来继续模型的演变和对抗性训练。例如,接收到的输入可以用于生成新的合成数据,从该新的合成数据中,合成数据的新子集可以被添加到训练集中以进行对抗性训练。相应地,意图分类模型经历相对于模型训练的动态修改,并且在一个实施例中经历相对于接收到的输入的动态修改。
本文示出的框图和流程图也可以是用于与智能计算机平台一起使用以便促进NLU和NL处理的计算机程序设备的形式。该设备具有与其一起实施的程序代码。程序代码可由处理单元执行以支持所描述的功能。
如本文所示和所描述的,所支持的实施例可以是具有智能计算机平台的***的形式,该智能计算机平台用于分类建模与内容处理动态集成。实施例也可以采用与智能计算机平台一起使用以便帮助智能计算机平台与内容处理和分类建模动态集成的计算机程序设备的形式。该设备具有与其一起实施的程序代码。程序代码可由处理单元执行以支持AI平台(150)的工具。由训练器(152)和分类器(154)支持的内容处理可以根据时隙语法逻辑(SGL)或任何其它形式的自然语言处理来执行。
参考图8,提供了框图(800),其图示了计算机***/服务器(802)(在下文中称为与基于云的支持***通信的主机(802))的示例,以实现以上关于图1-图7描述的***和处理。主机(802)可与许多其它通用或专用计算***环境或配置一起操作。可以与主机(802)一起使用的众所周知的计算***、环境和/或配置的示例包括但不限于个人计算机***、服务器计算机***、瘦客户机、胖客户机、手持设备或膝上设备、多处理器***、基于微处理器的***、机顶盒、可编程消费电子产品、网络PC、小型计算机***、大型计算机***和文件***(例如,分布式存储环境和分布式云计算环境),其中包括以上***、设备及其等同物中的任何一种。
主机(802)可以在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般上下文中描述。一般而言,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。主机(802)可以在分布式云计算环境(810)中实践,在分布式云计算环境(810)中,任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机***存储介质中。
如图8所示,以通用计算设备的形式示出了主机(802)。主机(802)的组件可以包括但不限于一个或多个处理器或处理单元(804)、***存储器(806)和将包括***存储器(806)在内的各种***组件耦合到处理器(804)的总线(808)。总线(808)表示几种类型的总线结构中的任何一种或多种,包括使用各种总线体系架构中的任何一种的存储器总线或存储器控制器、***总线、加速图形端口以及处理器或本地总线。作为示例而非限制,此类体系架构包括行业标准体系架构(ISA)总线、微通道体系架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线和***组件互连(PCI)总线。主机(802)通常包括各种计算机***可读介质。这样的介质可以是主机(802)可访问的任何可用介质,并且它包括易失性和非易失性介质、可移动的和不可移动的介质。
存储器(806)可以包括易失性存储器形式的计算机***可读介质,诸如随机存取存储器(RAM)(830)和/或高速缓存存储器(832)。仅作为示例,可以提供存储***(834)用于读取和写入不可移动的、非易失性磁介质(未示出,并且通常称为“硬盘驱动器”)。虽然未示出,但是可以提供用于对可移动非易失性磁盘(例如“软盘”)进行读取和写入的磁盘驱动器,以及用于对可移动非易失性光盘(诸如CD-ROM、DVD-ROM或其它光学介质)进行读取或写入的光盘驱动器。在这些情况下,每个驱动器可以通过一个或多个数据介质接口连接到总线(808)。
具有一组(至少一个)程序模块(842)的程序/实用程序(840)可以存储在存储器(806)中,作为示例而非限制包括操作***,一个或多个应用程序、其它程序模块和程序数据。操作***、一个或多个应用程序、其它程序模块以及程序数据或其某种组合中的每一个可以包括联网环境的实现。程序模块(842)通常执行对抗性训练和动态分类模型演变的实施例的功能和/或方法。例如,程序模块集合(842)可以包括被配置为AI平台、训练器和分类器的模块,如图1中所描述的。
主机(802)还可以与一个或多个外部设备(814)(诸如键盘、指向设备、感觉输入设备、感觉输出设备等);显示器(824);使用户能够与主机(802)交互的一个或多个设备;和/或使主机(802)能够与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)通信。这种通信可以经由(一个或多个)输入/输出(I/O)接口(822)发生。并且,主机(802)可以经由网络适配器(820)与一个或多个网络(诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,互联网))通信。如图所示,网络适配器(820)经由总线(808)与主机(802)的其它组件通信。在一个实施例中,分布式文件***(未示出)的多个节点经由I/O接口(822)或经由网络适配器(820)与主机(802)通信。应该理解的是,虽然未示出,但是其它硬件和/或软件组件可以与主机(802)结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部盘驱动器阵列、RAID***、带驱动器和数据档案存储***等。
在本文档中,术语“计算机程序介质”、“计算机可用介质”和“计算机可读介质”通常用于指诸如主存储器(806)的介质,包括RAM(830)、高速缓存(832),以及存储***(834),诸如可移动存储驱动器和安装在硬盘驱动器中的硬盘。
计算机程序(也称为计算机控制逻辑)存储在存储器(806)中。也可以经由通信接口(诸如网络适配器(820))来接收计算机程序。这样的计算机程序在运行时使计算机***能够执行如本文所讨论的本实施例的特征。特别地,计算机程序在运行时使处理单元(804)能够执行计算机***的特征。相应地,这样的计算机程序表示计算机***的控制器。
在一个实施例中,主机(802)是云计算环境的节点。如本领域中已知的,云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。此类特征的示例如下:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云***通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作***、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作***或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作***和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作***、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图9,说明性云计算网络(900)。如图所示,云计算网络(900)包括具有一个或多个云计算节点(910)的云计算环境(950),由云消费者使用的本地计算设备可以与之通信。这些本地计算设备的示例包括但不限于个人数字助理(PDA)或蜂窝电话(954A)、台式计算机(954B)、膝上型计算机(954C)和/或汽车计算机***(954N)。节点(910)内的各个节点还可以彼此通信。可以在一个或多个网络(诸如如上所述的私有云、社区云、公共云或混合云,或其组合)中对它们进行物理或虚拟分组(未示出)。这允许云计算环境(900)提供基础设施即服务、平台即服务和/或软件即服务,云消费者不需要为其在本地计算设备上维护资源。应该理解的是,图9所示的计算设备(954A-N)的类型仅是说明性的,并且云计算环境(950)可以通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。
现在参考图10,示出了由图9的云计算网络提供的一组功能抽象层(1000)。应当事先理解的是,图10中所示的组件、层和功能仅是示例性的,并且实施例不限于此。如图所示,提供了以下层和相应功能:硬件和软件层(1010)、虚拟化层(1020)、管理层(1030)和工作负载层(1040)。硬件和软件层(1010)包括硬件和软件组件。硬件组件的示例包括大型机,在一个示例中是***;基于RISC(精简指令集计算机)体系结构的服务器,在一个示例是IBM ***;IBM ***;IBM ***;存储设备;网络和联网组件。软件组件的示例包括网络应用服务器软件,在一个示例中是IBM应用服务器软件;以及数据库软件,在一个示例中是IBM 数据库软件。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere以及DB2是国际商业机器公司在全世界各地许多司法管辖区的注册商标)。
虚拟层1020提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作***,以及虚拟客户端。
在一个示例中,管理层1030可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和***。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和***管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层1040提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括但不限于:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及内容处理。
虽然已经示出和描述了特定的实施例,但是对于本领域技术人员而言显而易见的是,基于本文的教导,可以在不脱离实施例及其更广泛的方面的情况下进行改变和修改。因此,所附权利要求书将在其范围内包括所有在实施例的真实精神和范围内的改变和修改。此外,应该理解的是,实施例仅由所附权利要求书限定。本领域技术人员将理解,如果意图引入特定数量的权利要求要素,则将在权利要求书中明确地陈述这种意图,并且在没有这种陈述的情况下,不存在这种限制。对于非限制性示例,为了帮助理解,以下所附权利要求包含使用介绍性短语“至少一个”和“一个或多个”以引入权利要求要素。但是,此类短语的使用不应被解释为暗示由不定冠词“一”或“一个”引入权利要求要素将任何包含这种引入的权利要求要素的特定权利要求限制为仅包含一个此类要素的实施例,甚至当同一权利要求包括介绍性短语“一个或多个”或“至少一个”和诸如“一”或“一个”的不定冠词时;在定冠词的权利要求中也是如此。
本实施例可以是***、方法和/或计算机程序产品。此外,本实施例的所选择的方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合软件和/或硬件方面的实施例的形式,这些方面在本文中通常可以统称为“电路”、“模块”或“***”。此外,本实施例的各方面可以采取实施在其上具有计算机可读程序指令的计算机可读存储介质中的计算机程序产品的形式,所述计算机可读程序指令用于使处理器执行本实施例的各方面。因此,实施的所公开的***、方法和/或计算机程序产品可操作以基于内容的模式解剖以及相关联的分类建模和处理来改善机器学习模型的功能和操作。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的示例(非穷举的列表)包括:便携式计算机盘、硬盘、动态或静态随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、磁存储设备、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如互联网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本实施例的操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器或服务器的集群上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用互联网服务提供商来通过互联网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本实施例的各个方面。
这里参考根据所公开的实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本实施例的各个方面。应该理解的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其它设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
将认识到的是,虽然这里出于说明的目的已经描述了特定实施例,但是在不脱离实施例的精神和范围的情况下可以进行各种修改。特别地,自然语言处理可以由不同的计算平台或跨多个设备来执行。此外,数据存储装置和/或语料库可以是本地的、远程的或分布在多个***上。相应地,实施例的保护范围仅由所附权利要求及其等同物限制。
Claims (34)
1.一种计算机***,包括:
与存储器通信的处理单元;
与所述处理单元通信的人工智能AI平台,所述AI平台支持自然语言处理,包括:
使用自然语言理解NLU的分类器来评估接收到的输入,包括:
针对对抗性训练集处理评估的输入;
利用所述对抗性训练集,并预测接收到的输入的分类标签;
使用预测的分类标签来识别接收到的输入的相应分类模型;
将接收到的输入呈现给所述分类模型;
通过所述分类模型识别与接收到的输入对应的意图,并识别与所述分类模型对应的语料库;以及
执行识别出的分类模型,包括使用接收到的输入作为所述分类模型的特性数据;以及
从所述分类模型的执行生成的响应数据,其中所述响应数据反映接收到的输入。
2.如权利要求1所述的***,还包括所述分类器将预测的分类标签分配给输入,并对接收到的输入的语义进行分类。
3.如权利要求1所述的***,还包括可操作地耦合到所述分类器的训练器,所述训练器将生成的响应数据转换成模型训练数据,并利用转换后的模型训练数据来动态地增强识别出的分类模型,包括用接收到的输入和生成的响应数据来修改识别出的分类模型。
4.如权利要求3所述的***,其中所述动态增强的分类模型用作NLU域分类索引。
5.一种计算机程序产品,包括计算机可读存储介质,所述计算机可读存储介质具有实施在其上的计算机可读程序代码,所述程序代码可由处理器执行以支持自然语言处理,包括用于以下的程序代码:
使用自然语言理解NLU评估接收到的输入,并针对对抗性训练集处理评估的输入;
利用所述对抗性训练集,并预测接收到的输入的分类标签;
使用预测的分类标签来识别接收到的输入的相应分类模型;
将所述输入呈现给所述分类模型;
识别与接收到的输入对应的意图,并识别与所述分类模型对应的语料库;以及
执行识别出的分类模型,包括使用接收到的输入作为所述分类模型的特性数据;
从所述分类模型的执行生成的响应数据,其中所述响应数据反映接收到的输入。
6.如权利要求5所述的计算机程序产品,还包括程序代码,该程序代码用于将预测的分类标签分配给输入,并对接收到的输入的语义进行分类。
7.如权利要求5所述的计算机程序产品,还包括用于将生成的响应数据转换成模型训练数据,并利用转换后的模型训练数据来动态地增强识别出的分类模型的程序代码,包括用于用接收到的输入和生成的响应数据修改识别出的分类模型的程序代码。
8.如权利要求7所述的计算机程序产品,其中所述动态增强的分类模型包括用于用作NLU域分类索引的程序代码。
9.一种处理自然语言的方法,包括:
使用自然语言理解NLU评估接收到的输入,并针对对抗性训练集处理评估的输入;
利用所述对抗性训练集,并预测接收到的输入的分类标签;
使用预测的分类标签来识别接收到的输入的相应分类模型;
将接收到的输入呈现给所述分类模型;
通过所述分类模型识别与接收到的输入对应的意图,并识别与所述分类模型对应的语料库;
执行识别出的分类模型,包括使用接收到的输入作为所述分类模型的特性数据;以及
从所述分类模型的执行生成的响应数据,其中所述响应数据反映接收到的输入。
10.如权利要求9所述的方法,还包括:将预测的分类标签分配给输入,并对接收到的输入的语义进行分类。
11.如权利要求9所述的方法,还包括将生成的响应数据转换成模型训练数据,并利用转换后的模型训练数据来动态地增强识别出的分类模型,包括用接收到的输入和生成的响应数据来修改识别出的分类模型。
12.如权利要求11所述的方法,其中所述动态增强的分类模型用作NLU域分类索引。
13.一种***,包括单独被配置为执行根据权利要求9至12中的任一项所述的方法的每个步骤的模块。
14.一种计算机***,包括:
与存储器通信的处理单元;
与所述处理单元通信的人工智能AI平台,所述AI平台支持自然语言处理,包括:
训练器获得初始训练数据集,包括接收一个或多个初始内容项;
训练器形成对抗性候选训练集,包括:
使用自然语言理解NLU将所述初始训练数据集解析为子组件,并为每个解析的子组件识别类别;
为至少一个解析的子组件选择识别的类别,识别所述至少一个解析的子组件的两个或更多个释义术语,并用识别出的两个或更多个释义术语替换所述至少一个解析的子组件;以及
构建两个或更多个合成训练数据,包括将所述初始训练数据集与识别出的两个或更多个释义术语进行合并,其中所述合成训练数据表示用所述两个或更多个释义术语增强的所述初始训练数据集的元素;以及
可操作地耦合到所述训练器的分类器,所述分类器至少部分地基于形成的候选训练集,其中用形成的对抗性候选训练集执行所述分类器返回修订的分类模型,以输出分类标签。
15.如权利要求14所述的***,其中用识别出的两个或更多个释义术语替换所述至少一个解析的子组件包括:所述训练器将一个或多个文本扰动引入到所述初始训练数据集。
16.如权利要求15所述的***,其中所述候选训练集的形成还包括:所述训练器从所述训练集中替换选定的单词,其中所述选定的单词选自由以下组成的组:常用词和拼写错误的单词。
17.如权利要求15所述的***,其中所述候选训练集的形成还包括:所述训练器:
生成由所述初始训练数据集和所述文本扰动组成的格子图;以及
遍历所述格子图并从所述遍历中生成两个或更多个合成句子,其中每个合成句子具有与所述初始训练数据集相似的句法结构。
18.如权利要求14所述的***,还包括所述训练器将所述合成训练数据应用于语言模型,并从所述合成训练数据中过滤句法上不正确的候选者。
19.如权利要求14所述的***,还包括所述训练器计算所述合成训练数据具有与所述初始训练数据的意图匹配的分类的对数似然度、选择所述合成训练数据中具有最小对数似然值的条目以及将所选择的合成数据的条目应用于所述训练数据集。
20.如权利要求19所述的***,其中将所述合成训练数据应用于所述语言模型包括所述训练器评估合成流畅度。
21.一种计算机程序产品,包括计算机可读存储介质,所述计算机可读存储介质具有实施在其上的计算机可读程序代码,所述程序代码可由处理器执行以支持自然语言处理,包括用于以下的程序代码:
使用自然语言理解NLU形成对抗性候选训练集,包括:
将初始训练数据集解析为子组件,并为每个解析的子组件识别类别;
为至少一个解析的子组件选择识别的类别、为所述至少一个解析的子组件识别两个或更多个释义术语,并用识别出的两个或更多个释义术语替换所述至少一个解析的子组件;以及
构建两个或更多个合成训练数据,包括将所述初始训练数据集与识别出的两个或更多个释义术语进行合并,其中所述合成训练数据表示用所述两个或更多个释义术语增强的所述初始训练数据集的元素;以及
返回修订的分类模型,以至少部分地基于形成的对抗性候选训练集输出分类标签。
22.如权利要求21所述的计算机程序产品,其中用识别出的两个或更多个释义术语替换所述至少一个解析的子组件包括用于将一个或多个文本扰动引入到所述初始训练数据集的程序代码。
23.如权利要求22所述的计算机程序产品,其中所述候选训练集的形成还包括用于从所述训练集中替换选定的单词的程序代码,其中所述选定的单词选自由以下组成的组:常用词和拼写错误的单词。
24.如权利要求22所述的计算机程序产品,其中所述候选训练集的形成还包括用于以下的程序代码:
生成由所述初始训练数据集和所述文本扰动组成的格子图;以及
遍历所述格子图并生成两个或更多个合成句子,其中每个合成句子具有与所述初始训练数据集相似的句法结构。
25.如权利要求21所述的计算机程序产品,还包括用于将所述合成训练数据应用于语言模型,并从所述合成训练数据中过滤句法上不正确的候选者的程序代码。
26.如权利要求21所述的计算机程序产品,还包括用于以下的程序代码:计算所述合成训练数据具有与所述初始训练数据的意图匹配的分类的对数似然度、选择所述合成训练数据中具有最小对数似然值的条目以及将所选择的条目应用于所述训练集。
27.如权利要求26所述的计算机程序产品,其中将所述合成训练数据应用于所述语言模型包括用于评估合成流畅度的程序代码。
28.一种用于为自然语言处理***创建对抗性训练数据的方法,包括:
由计算设备获得初始训练数据集,包括接收一个或多个初始内容项;
由所述计算设备形成对抗性候选训练集,包括:
使用NLU将所述初始训练数据集解析为子组件,并为每个解析的子组件识别类别;
为至少一个解析的子组件选择识别的类别、为所述至少一个解析的子组件识别两个或更多个释义术语,并用识别出的两个或更多个释义术语替换所述至少一个解析的子组件;以及
构建两个或更多个合成训练数据,包括将所述初始训练数据集与识别出的两个或更多个释义术语进行合并,其中所述合成训练数据表示用所述两个或更多个释义术语增强的所述初始训练数据集的元素;以及
由所述计算设备至少部分地基于形成的对抗性训练集来训练分类器,其中执行所述分类器返回修订的分类模型,以输出分类标签。
29.如权利要求28所述的方法,其中用识别出的两个或更多个释义术语替换所述至少一个解析的子组件包括将一个或多个文本扰动引入到所述初始训练数据集。
30.如权利要求29所述的方法,其中形成所述候选训练集还包括:从所述训练集中替换选定的单词,其中所述选定的单词选自由以下组成的组:常用词和拼写错误的单词。
31.如权利要求29所述的方法,其中由所述计算设备形成所述候选训练集还包括:
生成由所述初始训练数据集和所述文本扰动组成的格子图;以及
遍历所述格子图并生成两个或更多个合成句子,其中每个合成句子具有与所述初始训练数据集相似的句法结构。
32.如权利要求28所述的方法,还包括将所述合成训练数据应用于语言模型,并从所述合成训练数据中过滤句法上不正确的候选者。
33.如权利要求28所述的方法,还包括计算所述合成训练数据具有与所述初始训练数据的意图相匹配的分类的对数似然度、选择所述合成训练数据中具有最小对数似然值的条目、将所选择的条目应用于所述训练集。
34.一种***,包括单独被配置为执行根据权利要求28至33中的任一项所述的方法的每个步骤的模块。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/247,621 US11189269B2 (en) | 2019-01-15 | 2019-01-15 | Adversarial training data augmentation for generating related responses |
US16/247,621 | 2019-01-15 | ||
US16/247,620 US11093707B2 (en) | 2019-01-15 | 2019-01-15 | Adversarial training data augmentation data for text classifiers |
US16/247,620 | 2019-01-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111435362A true CN111435362A (zh) | 2020-07-21 |
CN111435362B CN111435362B (zh) | 2023-09-01 |
Family
ID=71581104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010034449.5A Active CN111435362B (zh) | 2019-01-15 | 2020-01-14 | 用于生成相关响应的对抗性训练数据增强 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111435362B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111626063A (zh) * | 2020-07-28 | 2020-09-04 | 浙江大学 | 一种基于投影梯度下降和标签平滑的文本意图识别方法及*** |
CN112784589A (zh) * | 2021-01-29 | 2021-05-11 | 北京百度网讯科技有限公司 | 一种训练样本的生成方法、装置及电子设备 |
CN115473822A (zh) * | 2022-09-22 | 2022-12-13 | 董俊宏 | 一种5g智能网关数据传输方法、***及云平台 |
CN115880547A (zh) * | 2023-03-02 | 2023-03-31 | 宁波微科光电股份有限公司 | 基于图像点云数据的异物检测方法、装置及其存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170308790A1 (en) * | 2016-04-21 | 2017-10-26 | International Business Machines Corporation | Text classification by ranking with convolutional neural networks |
CN108694443A (zh) * | 2017-04-05 | 2018-10-23 | 富士通株式会社 | 基于神经网络的语言模型训练方法和装置 |
US20180373979A1 (en) * | 2017-06-22 | 2018-12-27 | Adobe Systems Incorporated | Image captioning utilizing semantic text modeling and adversarial learning |
-
2020
- 2020-01-14 CN CN202010034449.5A patent/CN111435362B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170308790A1 (en) * | 2016-04-21 | 2017-10-26 | International Business Machines Corporation | Text classification by ranking with convolutional neural networks |
CN108694443A (zh) * | 2017-04-05 | 2018-10-23 | 富士通株式会社 | 基于神经网络的语言模型训练方法和装置 |
US20180373979A1 (en) * | 2017-06-22 | 2018-12-27 | Adobe Systems Incorporated | Image captioning utilizing semantic text modeling and adversarial learning |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111626063A (zh) * | 2020-07-28 | 2020-09-04 | 浙江大学 | 一种基于投影梯度下降和标签平滑的文本意图识别方法及*** |
CN112784589A (zh) * | 2021-01-29 | 2021-05-11 | 北京百度网讯科技有限公司 | 一种训练样本的生成方法、装置及电子设备 |
CN112784589B (zh) * | 2021-01-29 | 2022-09-30 | 北京百度网讯科技有限公司 | 一种训练样本的生成方法、装置及电子设备 |
CN115473822A (zh) * | 2022-09-22 | 2022-12-13 | 董俊宏 | 一种5g智能网关数据传输方法、***及云平台 |
CN115473822B (zh) * | 2022-09-22 | 2023-07-04 | 广东省珠宝玉石交易中心有限责任公司 | 一种5g智能网关数据传输方法、***及云平台 |
CN115880547A (zh) * | 2023-03-02 | 2023-03-31 | 宁波微科光电股份有限公司 | 基于图像点云数据的异物检测方法、装置及其存储介质 |
CN115880547B (zh) * | 2023-03-02 | 2023-11-21 | 宁波微科光电股份有限公司 | 基于图像点云数据的异物检测方法、装置及其存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111435362B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093707B2 (en) | Adversarial training data augmentation data for text classifiers | |
US11189269B2 (en) | Adversarial training data augmentation for generating related responses | |
US11455473B2 (en) | Vector representation based on context | |
US11501187B2 (en) | Opinion snippet detection for aspect-based sentiment analysis | |
US11269965B2 (en) | Extractive query-focused multi-document summarization | |
US10929383B2 (en) | Method and system for improving training data understanding in natural language processing | |
CN111435362B (zh) | 用于生成相关响应的对抗性训练数据增强 | |
CN114730383A (zh) | 使用循环神经网络融合多模态数据 | |
US10565314B2 (en) | Disambiguating concepts in natural language | |
US11645513B2 (en) | Unary relation extraction using distant supervision | |
CN111316232A (zh) | 使用程序的注释来提供优化 | |
US11354504B2 (en) | Multi-lingual action identification | |
US20230092274A1 (en) | Training example generation to create new intents for chatbots | |
US11361031B2 (en) | Dynamic linguistic assessment and measurement | |
US10546063B2 (en) | Processing of string inputs utilizing machine learning | |
US11226832B2 (en) | Dynamic generation of user interfaces based on dialogue | |
US11182416B2 (en) | Augmentation of a text representation model | |
US20220207384A1 (en) | Extracting Facts from Unstructured Text | |
US11227127B2 (en) | Natural language artificial intelligence topology mapping for chatbot communication flow | |
KR20220050915A (ko) | 계층적 클러스터링을 사용한 희귀 토픽 탐지 | |
US11200378B2 (en) | Methods and systems for processing language with standardization of source data | |
US20230161948A1 (en) | Iteratively updating a document structure to resolve disconnected text in element blocks | |
US20230004761A1 (en) | Generating change request classification explanations | |
WO2022194086A1 (en) | A neuro-symbolic approach for entity linking | |
CN114556326B (zh) | 用于生成自然语言表达变体的方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |