使用动作解释的自然语言丰富的制作方法

文档序号:33462345发布日期:2023-03-15 04:29阅读:37来源:国知局
使用动作解释的自然语言丰富的制作方法
使用动作解释的自然语言丰富


背景技术:

1.本实施例涉及采用诸如例如“聊天机器人(chatbot)”的自动虚拟对话代理的虚拟对话系统以及相关的计算机程序产品和计算机实现的方法。在某些示例性实施例中,识别并解决一个或多个请求和对应的期望响应之间的知识差距,该解决方案指向桥接或最小化知识差距以改进自动虚拟对话代理的性能。
2.聊天机器人是使用人工智能(ai)作为平台来在自动虚拟对话代理和通常诸如消费者的用户之间进行交易的计算机程序。交易可以涉及产品销售、客户服务、信息获取或其他类型的交易。聊天机器人通过对话与用户交互,该对话通常是文本的(例如,在线或通过文本)或听觉的(例如,通过电话)。在本领域中已知聊天机器人的功能是用户和ai平台之间的问答组件。问题和回答的质量从问题理解、问题转换和回答解析的质量导出。通常在未能找到对问题的对应响应中发现的错误的频繁原因是由于缺乏将问题有效转换成映射到回答的等效知识表示的知识。例如,缺少同义词或概念关系会限制ai平台确定问题与已知问题等效或相关的能力,其中针对该已知问题,回答是可用的。


技术实现要素:

3.实施例包括用于改进对话系统的性能的系统、计算机程序产品和方法,并且在具体实施例中,该改进指向动态地请求相关知识的输入以用于桥接知识差距的主动解释。
4.在一个方面,提供了一种用于与计算机系统一起使用的系统,该计算机系统包括操作地耦合到存储器的处理单元(例如处理器)以及与该处理单元通信的人工智能(ai)平台。该ai平台被配置有工具以指导操作性地耦合的对话系统的执行。该工具包括对话管理器、人工智能(ai)管理器和指导器。对话管理器用于接收和处理与对话系统的自动虚拟对话代理的交互有关的自然语言(nl)。nl包括一个或多个输入实例和一个或多个对应的输出实例或输出动作形式的对话事件。ai管理器用于将对话事件应用于学习程序以解释一个或多个请求、识别知识差距以及动态地桥接知识差距。指导器用于优化与所桥接的知识差距相当的自动虚拟对话代理,该优化旨在改进对话系统的性能。
5.在另一方面,提供了一种用于改进虚拟对话代理系统的性能的计算机程序产品。该计算机程序产品包括具有随其体现的程序代码的计算机可读存储介质。该程序代码能够由处理器执行以指导操作性耦合的对话系统的执行。程序代码用于接收和处理与和对话系统的自动虚拟对话代理的交互有关的自然语言(nl)。nl包括一个或多个输入实例和一个或多个对应的输出实例或输出动作形式的对话事件。程序代码还用于将对话事件应用于学习程序,以解释一个或多个请求、识别知识差距以及动态地桥接知识差距。还提供了程序代码以优化与桥接的知识差距相当的自动虚拟对话代理,该优化旨在改进对话系统的性能。
6.在又一方面,提供了一种改进对话系统的性能的计算机实现的方法。该方法包括:由计算设备的处理器接收和处理与和自动虚拟对话代理的交互有关的自然语言(nl)。nl包括一个或多个输入实例和一个或多个对应的输出实例或输出动作形式的对话事件。对话事件被应用于学习程序以解释一个或多个输入实例、识别知识差距以及动态地桥接知识差
距。自动虚拟对话代理经受与所桥接的知识差距相当的优化,该优化旨在改进对话系统的性能。
7.在进一步的方面,提供了一种具有与处理器通信的人工智能(ai)平台的计算机系统。ai平台被配置有工具以指导操作性耦合的对话系统的执行。该工具包括对话管理器、人工智能(ai)管理器和指导器。对话管理器用于接收和处理与对话系统的自动虚拟对话代理的交互有关的自然语言(nl)。ai管理器用于将对话事件应用于学习程序以解释一个或多个输入实例、识别知识差距以及动态地桥接知识差距。指导器用于优化与所桥接的知识差距相当的自动虚拟对话代理,该优化旨在改进对话系统的性能。
8.从下面结合附图对当前示例性实施例的详细描述中,这些和其它特征和优点将变得显而易见。
附图说明
9.本文所参考的附图形成说明书的一部分,并且通过引用并入本文。附图中所示的特征仅是一些实施例的说明,而不是所有实施例的说明,除非另有明确指示。
10.图1描绘了示出网络环境中的人工智能平台计算系统的系统图。
11.图2描绘了示出如图1所示和所述的人工智能平台工具及其相关联的应用程序接口的框图。
12.图3描绘了示出丰富受信任域特定语义关系的语料库的方法的实施例的流程图。
13.图4描绘了示出知识丰富交互的方法的实施例的流程图。
14.图5描绘了示出生成解释的方法的实施例的流程图。
15.图6描绘了生成作为问题和回答短语之间的语义关系的解释选项以丰富领域知识的方法的实施例的流程图。
16.图7描绘了示出处理和记录问题与回答之间的关系的解释的流程图。
17.图8描绘了示出示例关系-知识制品-映射的框图。
18.图9描绘了示出基于云的支持系统的计算机系统/服务器的示例的框图,以实现以上关于图1-图8描述的系统和过程。
19.图10描绘了示出云计算机环境的框图。
20.图11描绘了示出由云计算环境提供的一组功能抽象模型层的框图。
具体实施方式
21.将容易理解,如在本文的附图中一般性描述和示出的,本实施例的组件可以以各种不同的配置来布置和设计。因此,如附图中所呈现的,以下对本实施例的装置、系统、方法和计算机程序产品的实施例的详细描述不旨在限制如所要求保护的实施例的范围,而仅仅是所选实施例的代表。
22.在整个本说明书中,对“选择实施例”、“一个实施例”、“示例性实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在至少一个实施例中。因此,在整个本说明书中各处出现的短语“选择实施例”、“在一个实施例中”、“在示例性实施例中”或“在实施例中”不一定是指同一实施例。本文所述的实施例可彼此组合,并可被修改以包括彼此的特征。此外,各个实施例的所描述的特征、结构或特性可以以任何合适的方式
组合和修改。
23.通过参考附图,将更好地理解所示实施例,其中,相同的部件始终由相同的附图标记表示。以下描述旨在仅作为示例,并且仅示出了与本文要求保护的实施例一致的设备、系统和过程的某些所选实施例。
24.在人工智能计算机系统领域中,自然语言系统(诸如ibm人工智能计算机系统或其他自然语言系统)基于由系统获取的知识来处理自然语言。为了处理自然语言,可以用从数据库或知识的语料库中导出的数据来训练系统,但是由于各种原因,产生的结果可能是不正确的或不准确的。
25.机器学习(ml),其是人工智能(ai)的子集,利用算法来从数据中学习并基于该数据创建前瞻。ai是指当机器基于信息能够做出决策时的智能,其最大化了在给定主题中成功的机会。更具体地说,ai能够从数据集中学习以解决问题并提供相关的推荐。认知计算是计算机科学和认知科学的混合。认知计算利用使用数据最小化、视觉识别和自然语言处理的自学算法来解决问题并优化人类过程。
26.ai和相关联的推理的核心在于相似性的概念。理解自然语言和对象的过程需要从关系角度进行推理,这可能是具有挑战性的。包括静态结构和动态结构的结构规定了针对给定的确定输入的所确定的输出或动作。更具体地说,所确定的输出或动作基于结构内的表达或固有关系。这种布置对于选择环境和条件可能是令人满意的。然而,应当理解,动态结构固有地受到改变,并且输出或动作可以相应地受到改变。用于有效地识别对象和理解自然语言以及处理响应于识别和理解的内容以及结构的改变的现有解决方案在实际水平上是极其困难的。
27.聊天机器人是通过使用预计算的短语和基于听觉或文本的信号来模拟交互式人类对话的人工智能(ai)程序。在电子平台中越来越多地使用聊天机器人用于客户服务支持。在一个实施例中,聊天机器人可以充当智能虚拟代理。每个聊天机器人体验由一组通信组成,该组通信由用户动作和对话系统动作组成,其中该体验具有有区别的行为模式。在本领域中可以理解,聊天机器人对话可以被评估并且经受诊断以查明聊天机器人的可以保证改变以改进未来的聊天机器人体验的元素。这样的评估识别行为模式。通过研究这些模式,并且更具体地通过识别模式的不同特性,可以优化或修改聊天机器人程序以改进聊天机器人度量和未来的聊天机器人体验。
28.一种系统、计算机程序产品和方法自动识别和解决知识差距。如本文所示和所述,知识差距被定义为上下文表示,该上下文表示被预期是等效的但是不能以足够的精度从彼此导出。知识差距的原因可能源于不同的场景。例如,用于描述请求的领域特定概念可能与用于描述动作上下文的概念不同,或者动作上下文可能不是完整的,因为设计者错过或省略了对元素的指定,例如提供细节增加了解决方案设计劳动,或者因为假定了公知或被接受的知识。
29.提供了两种途径并在下面详细描述以解决所识别的知识差距并提供对其的解释,包括与和人工智能(ai)解决方案(例如聊天机器人平台)交互的终端用户在线,以及与利用主题专家(sme)来回顾系统产生的问题和回答离线。所提供的(多个)解释的示例包括但不限于,针对肯定响应强制执行现有概念关系,以及针对否定响应限定上下文中的概念关系。解释的目的是丰富在解决方案中呈现的概念关系。更具体地,领域知识被扩展以捕捉概念
和关系,而不限于问题和回答。概念关系的示例类型可以是等价的概念关系,诸如“a”被识别或无条件地相当于“b”,例如lan相当于“局域网”。如果有任何出现,a或b可以用其它概念代替而不改变含义。概念关系类型的另一示例可以是上下文暗示的概念关系。例如,“a”与“b”共同出现,例如以太网与线路共同出现,使得a的任何出现生成b的上下文,或者“a”暗示“b”,例如以太网暗示网络和有线网络,使得a的任何出现可以由b替换并且断言仍然为真。在示例性实施例中并且在下面详细描述,一个或多个多选问题被生成以引出相似性或差异的可能原因。
30.聊天机器人平台充当ai交互接口。如本文所示和所述,用利用主题专家(sme)来补充聊天机器人平台,以提供真值数据来引导系统。真值(ground truth,gt)是在机器学习中使用的术语,其指的是通过直接观察提供的信息,例如经验证据,与通过推断提供的信息相反。将一个或多个分类标签(本文称为标签)附加到gt数据向数据提供了结构和意义。经标注的gt或标注被附加到文档或在文档的一个实施例元素中,并且指示文档内存在的元素的主题。注释由查看文档的不同技能组的标注员创建和附加。因此,从聊天机器人平台和sme收集域特定关系。
31.参考图1,描绘了人工智能(ai)平台和对应的系统(100)的示意图。如图所示,服务器(110)被提供为通过网络连接(例如计算机网络(105))与多个计算设备(180)、(182)、(184)、(186)、(188)以及(190)通信。服务器(110)被配置有通过总线与存储器通信的处理单元,例如处理器。服务器(110)被示出有可操作地耦合到对话系统(160)的ai平台(150)和对应的虚拟代理(162),例如聊天机器人,以及知识域(170),例如数据源。诸如计算机屏幕或智能电话的视觉显示器(130)被提供用于允许用户与显示器(130)上的虚拟代理(例如聊天机器人(162))的表示进行对接。虽然图1中示出了视觉显示器,但是应当理解,显示器(130)可以由其他(多个)接口(诸如音频接口(例如,麦克风和扬声器)、音频-视频接口等)来代替或补充。
32.ai平台(150)可操作地耦合到网络(105)以支持与来自计算设备(180)、(182)、(184)、(186)、(188)和(190)中的一个或多个的虚拟对话代理(162)的交互。更具体地说,计算设备(180)、(182)、(184)、(186)和(188)经由一个或多个有线和/或无线数据通信链路彼此通信以及与其它设备或组件通信,其中每个通信链路可以包括导线、路由器、交换机、发送器、接收器等中的一个或多个。在这种网络化的布置中,服务器(110)和网络连接(105)使能进行通信检测、识别和解析。服务器(110)的其它实施例可以与除了本文描述的那些之外的组件、系统、子系统和/或设备一起使用。
33.ai平台(150)在本文被示出为可操作地耦合到对话代理(162),其被配置为通过网络(105)从各个源接收输入(102)。例如,对话系统(160)可以通过网络(105)接收输入,并利用数据源(170)(在本文中也被称为知识域或信息语料库)来创建输出或响应内容。
34.如图所示,数据源(170)被配置有多个库,在本文中通过示例示出的是库(172a)、库b(172b)、
……
和库n(172n)。每个库都填充有以反馈数据和真实数据形式的数据。在示例性实施例中,每个库可以指向特定主题。例如,在实施例中,库a(172a)可以填充有指向运动的项目,库b(172b)可以填充有指向金融的项目,等等。类似地,在实施例中,库可以基于行业来填充。对话系统(160)可操作地耦合到知识域(170)和对应的库。
35.对话系统(160)是交互式ai接口,用于支持虚拟代理和诸如用户的非虚拟代理之
间的通信,该非虚拟代理可以是人或软件,并且可能是ai虚拟代理。发生的交互生成被称为对话的内容,其中这样的对话的内容被存储在对话日志文件(也被称为记录)中。每个日志文件记录与虚拟对话代理(162)的交互。根据示例性实施例,每个对话日志,例如日志文件,是呈现给对话系统(160)的问题和从对话系统(160)生成的对应回答的记录。因此,发生的通信包括用户和虚拟代理之间的电子平台中的对话。
36.对话系统(160)可操作地耦合到知识库(140)以存储由对话生成的记录。如示例所示,知识库(140)在本文示出为具有存储对话的表示的数据结构。在该示例中,存在两个数据结构,dsa(142a)和dsb(142b)。所示数据结构的数量是出于说明性目的,而不应被认为是限制性的。每个数据结构都填充有请求的表示,例如问题,以及对应的生成的响应或响应动作,例如回答。如图3-图8所示和所述,对话的问题和对应回答以模型表示,诸如抽象含义表示(amr)树或解析树。在示例性实施例中,(多个)对话问题在一个模型中表示,而(多个)对话回答在另一个模型中表示。作为示例,第一数据结构dsa(142a)用表示(多个)问题的模型
q,0
(142
q,0
)和表示(多个)对应回答的模型
a,0
(142
a,0
)示出。类似地,第二数据结构dsb(142b)用表示问题的模型
q,1
(142
q,1
)和表示相应回答的模型
a,1
(142
a,1
)示出。本文示出和描述的模型的数量是为了说明的目的,而不应被认为是限制性的。实际上,可以预期,知识库(140)可以包含数百或数千个对话和对应的对话文件或对话数据结构,其中每个对话数据结构具有至少一个请求模型和至少一个响应模型。
37.与网络(105)通信的各个计算设备(180)、(182)、(184)、(186)、(188)和(190)可以包括到对话系统(162)的接入点。在各个实施例中,网络(105)可包括本地网络连接和远程连接,使得ai平台(150)可在任何大小的环境中操作,包括本地和全球,例如因特网。另外,ai平台(150)用作后端系统,其可以使从文档、网络可访问源和/或结构化数据源提取的或在文档、网络可访问源和/或结构化数据源中表示的各种知识可用。以这种方式,一些过程填充ai平台(150),其中ai平台(150)还包括接收请求和相应地响应的输入接口。
38.如图所示,内容可以在经由知识库(140)可操作地耦合到ai平台(150)的一个或多个模型中表示。内容用户可以经由到网络(105)的网络连接或因特网连接来访问ai平台(150)和可操作地耦合的对话系统(160),并且可以向对话系统(160)提交自然语言输入,ai平台(150)可以从其通过利用可操作地耦合的数据源(170)和包括ai平台(150)的工具来有效地确定与输入相关的输出响应。
39.ai平台(150)在本文中被示为具有若干工具以支持对话系统(160)和对应的虚拟代理(例如聊天机器人)(162),并且更具体地,具有指向改进对话系统(160)和虚拟代理(162)体验的性能的工具。ai平台(150)采用多个工具来与虚拟代理(162)对接并支持改进其性能。该工具包括对话管理器(152)、人工智能(ai)管理器(154)和指导器(156)。
40.对话管理器(152)经由接收与和自动虚拟对话代理(162)的交互有关的自然语言(nl)与对话系统(160)对接。所接收的自然语言在本文被示出为填充并存储在知识库(140)的对应数据结构中。知识库(140)中的每个对话事件包括一个或多个请求和一个或多个对应的响应或响应动作。
41.ai管理器(154)在本文被示为可操作地耦合到对话管理器(152)。ai管理器(154)用作将所接收的或获得的对话事件应用于学习程序,以用于知识差距评估和补救。如图所示,学习程序(154a)可操作地耦合到ai管理器(154)。学习程序(154a)通过产生以解释型请
求和相关联的响应的解释形式的响应来对对话进行解释。在示例性实施例中,解释是两个或更多个概念之间的规则或桥接两个或更多个概念的规则。该解释使得学习程序(154a)能够自动识别知识差距的存在,如果有的话。更具体地,学习程序(154a)确定输入(在此也称为输入实例)是否包括在对应的输出实例或输出动作中不存在(例如不在)的一个或多个概念。对需要解释的知识差距和实例的识别是自动的。导致知识差距识别的场景的示例包括但不限于以下:识别问题中未表现为与对应的真实回答中的概念相关的概念,识别对问题中的项的优选回答中的同义词,以及识别描述在问题中未显式地提及但在优选回答中存在的有区别的上下文设置的项。在实施例中,学习程序(154a)确定输入实例和对应的输出实例或(多个)输出动作何时不对准。除了知识差距的识别之外,学习程序(154a)动态地请求知识片段以扩展(多个)输入实例的解释,并将(多个)请求映射到(多个)输出实例或(多个)输出动作,从而有效地桥接识别的知识差距。在示例性实施例中,ai管理器(154)接收真实数据以引导数据源(170)。类似地,在实施例中,ai管理器(154)用解释和请求的知识片段丰富数据源(170)。在示例性实施例中,学习程序(154a)分析多对输入实例和输出实例或动作,例如对话系统的输入和输出。这扩展了学习程序(154a)的功能以识别两对或更多对请求和响应之中共同的一个或多个特征,然后可以利用该特征来请求知识片段以减少或消除知识差距。
42.ai管理器(154)以模型的形式表示对话的解释,诸如但不限于表示(多个)问题的模型
q,0
(142
q,0
)和表示(多个)对应的回答的模型
a,0
(142
a,0
)。该模型表示使得ai管理器(154)能够利用对应模型的结构和功能来比较那里(例如问题回答对的文本)的内容,并确定对应于概念关系的任何相似性或差异。在示例性实施例中,模型是以子树格式的对话事件的表示。ai管理器(154)通过测量具有公共节点标签的子图之间的距离来量化知识差距。在示例性实施例中,测量的距离对应于识别的知识差距的复杂性或者是识别的知识差距的复杂性的指示符。除了比较之外,ai管理器(154)可以生成一个或多个问题,以用于对话管理器(152)通过对话系统(160)和对应的虚拟代理(162)进行通信。在示例性实施例中,对话管理器(152)接收对所生成的问题的一个或多个回答。所接收的回答用作所识别的知识差距的指示符,并被传送到ai管理器以用于知识差距评估和补救。
43.在此示出了指导器(156)操作耦合到对话管理器(152)、ai管理器(154)和对话系统(160)。指导器(156)关于对应的对话事件优化虚拟代理(162)。该优化是以利用聊天机器人平台来促进和使能系统交互以从正确的响应(诸如真值或正反馈)收集领域特定关系的形式。优化的细节在图3中示出和描述。优化桥接或减轻知识差距,从而通过增强与请求有关的响应的准确性来改进对话系统(160)的性能。
44.由对话系统(160)创建或使能的对话事件可由ibm服务器(110)和对应的人工智能平台(150)处理。对话管理器(152)使用各种推理算法执行接收的自然语言的分析。可以应用数百或甚至数千个推理算法,每个推理算法执行不同的分析,例如比较。例如,一些推理算法可以着眼于所接收的对话的语言内的项和同义词与对应的响应或响应动作的匹配。在一个实施例中,对话管理器(154)可以处理电子通信以识别和提取通信内的特征。无论是通过使用提取特征和特征表示还是用于处理电子记录的替代平台,对话管理器(152)处理对话事件,以试图识别和解析事件以及对话事件的行为特性。在示例性实施例中,行为特性包括但不限于语言和知识。在一个实施例中,平台识别请求和对应的响应或响
应动作中的语法成分,诸如名词、动词、形容词、标点、标点符号等。类似地,在一个实施例中,一个或多个推理算法可以查看电子记录的语言中的时间或空间特征。
45.在一些说明性实施例中,服务器(110)可以是从纽约阿蒙克的国际商业机器公司获得的ibm系统,用下面描述的说明性实施例的机制被增强。
46.对话管理器(152)、ai管理器(154)和指导器(156)在下文中被统称为ai工具,被示出为体现在服务器(110)的人工智能平台(150)中或集成在其中。ai工具可在跨网络(105)连接到服务器(110)的单独的计算系统(例如,190)中实现。无论在何处体现,ai工具都用于评估对话事件、从请求和响应中提取行为特性、选择性地识别知识差距,以及通过主动解释动态地请求输入与桥接知识差距和改进问题转换和知识表示相关的知识。
47.在所选的示例实施例中,对话管理器(152)可以被配置为应用nl处理来识别对话事件的行为特性。例如,nl管理器(152)可执行句子结构分析,该分析需要主语句子的解析和表示语法术语和词性的解析。在一个实施例中,nl管理器(152)可以使用时隙语法逻辑(sgl)解析器来执行解析。nl管理器(152)还可被配置为应用一个或多个学习方法来将检测到的内容与已知内容进行匹配以决定行为特性并向行为特性分配值。
48.可以使用人工智能平台(150)的信息处理系统的类型的范围从诸如手持计算机/移动电话(180)的小型手持设备到诸如大型计算机(182)的大型主机系统。手持计算机(180)的示例包括个人数字助理(pda)、个人娱乐设备,诸如mp4播放器、便携式电视和致密盘播放器。信息处理系统的其它示例包括笔或平板计算机(184)、膝上型或笔记本计算机(186)、个人计算机系统(188)和服务器(190)。如图所示,各个信息处理系统可以使用计算机网络(105)联网在一起。可以用于互连各个信息处理系统的计算机网络(105)的类型包括局域网(lan)、无线局域网(wlan)、因特网、公共交换电话网(pstn)、其他无线网络,以及可以用于互连信息处理系统的任何其他网络拓扑。许多信息处理系统包括非易失性数据存储,诸如硬盘驱动器和/或非易失性存储器。一些信息处理系统可以使用单独的非易失性数据存储(例如,服务器(190)使用非易失性数据存储(190a),以及大型计算机(182)使用非易失性数据存储(182a)。非易失性数据存储(182a)可以是各个信息处理系统外部的组件,或者可以是信息处理系统之一内部的组件。
49.用于支持人工智能平台(150)的信息处理系统可以采取许多形式,其中一些在图1中示出。例如,信息处理系统可以采取台式机、服务器、便携式计算机、膝上型计算机、笔记本计算机或其它形式因素的计算机或数据处理系统的形式。此外,信息处理系统可以采用其他形式因素,诸如个人数字助理(pda)、游戏设备、atm机、便携式电话设备、通信设备或包括处理器和存储器的其他设备。
50.应用程序接口(api)在本领域中被理解为两个或更多个应用之间的软件中介。关于图1中示出和描述的人工智能平台(150),一个或多个api可用于支持工具(152)、(154)和(156)中的一个或多个及其相关联的功能。参考图2,提供了示出工具(152)、(154)和(156)及其相关联的api的框图(200)。如图所示,多个工具被嵌入在ai平台(205)内,其中所述工具包括与api0(212)相关联的对话管理器(252)、与api1(222)相关联的ai管理器(254)、与api2(232)相关联的指导器(256)。每个api可以以一种或多种语言和接口规范来实现。api0(212)提供功能支持以接收和评估对话事件并确定行为特性;api1(222)提供功能支持以将所接收的对话事件应用于学习程序以识别和解决知识差距;以及api2(232)提供功能支持
以利用知识差距的解决方案再次优化虚拟对话。如图所示,api(212)、(222)和(232)中的每一个都操作地耦合到api协调器(260),或者称为协调层,其在本领域中被理解为用作将单独的api透明地穿在一起的抽象层。在实施例中,单独的api的功能可被结合或组合。这样,本文所示的api的配置不应被认为是限制性的。因此,如本文所示,工具的功能可由其各自的api来体现或支持。
51.参考图3,提供了示出用于丰富受信任域特定语义关系的语料库的过程的流程图(300)。如所示和所述,在本文中被称为聊天机器人的虚拟通信平台用作语料库丰富的基础或平台。在聊天机器人平台(302)中呈现或提交问题,以请求或发起聊天机器人交互和响应数据(304)。聊天机器人采用自然语言处理(nlp)以及知识语料库来生成对所提交问题的一个或多个回答(306)。在具有多个回答生成的实施例中,所生成的回答被称为替代回答。在本领域中应当理解,所生成的响应可能不提供准确的或预期的回答。如果用户对回答不满意,并且想要继续交互,则系统可以收集隐式负反馈(308),随后返回到步骤(304)以进行继续的聊天机器人交互。在实施例中,继续的交互提供隐式负反馈。如果用户想要终止交互,则该过程继续反馈的收集(310),在实施例中,该反馈的收集包括问题和对应响应(310)的收集,针对其从用户请求最终反馈(312)。该最终反馈可以是正反馈或负反馈,并且对应于由聊天机器人平台提供的最终回答。反馈的示例包括“回答是好的”或“回答是有帮助的”作为正反馈的形式,以及“回答是不好的”或“回答是没有帮助的”是负反馈的示例。在示例性实施例中,在负反馈的情况下,多选问题可被用于限制错误范围,诸如“内容不正确”或“内容未找到”。
52.在(314)处,将反馈(例如,最终反馈)存储在储存库中,并且在步骤(316)处开始由系统利用该反馈来丰富领域知识。该丰富可以响应于正反馈或负反馈。类似地,该丰富可以通过聊天机器人平台或通过由主题专家(sme)提供的真值。类似地,如果存在知识差距,则该丰富可以评估知识差距的存在,并且通过聊天机器人(162)以反馈交互的形式通过领域知识丰富来解决这样的差距。在本领域中应当理解,可能已经利用各种方法来生成对聊天机器人的响应,并且因此,问题(例如输入)与对应的生成的回答之间的一些匹配可能是部分的,例如部分好的或部分不好的。尽管它们可以被整体地认为是好的回答,但是可能存在可以从附加信息中获益的知识差距。类似地,当反馈是负的时,系统可以认为回答是好的,并且因此需要或可以从识别信息或知识中受益以澄清差异。
53.学习,在本文中也称为学习交互,在本文中被示为被分为反馈交互(316)和知识丰富交互(318)。反馈交互利用聊天机器人平台来促进和使能系统交互以从正确的响应收集领域特定关系,诸如真值或正反馈。这些关系被用于增加领域知识。反馈交互(316)之后是解释提示的生成(320),其细节包括知识差距评估,如图5所示和所述。解释请求被生成并被呈现给聊天机器人平台以用于学习交互(322)。通过聊天机器人平台以解释响应的形式生成反馈,并且该反馈经受解释处理(324)。在图6中详细示出和描述了解释处理的细节。知识丰富被异步地进行,并且从主题专家(sme)请求知识丰富,如步骤(318)所示。知识丰富的细节在图4中示出和描述。步骤(318)处的知识丰富利用具有一个或多个sme的交互通道,系统使用该交互通道来提取或以其他方式获得问题和对应的回答,并请求以真值的形式的解释请求。在示例性实施例中,真值被用来增加领域知识,以增强通过聊天机器人平台的数据通信的准确度。真值可以是正面的,例如正确回答,或者是负面的,例如无效回答。在实施例
中,在专用问题-问答数据结构中收集真值,从该数据结构中提取项,并且使用该数据结构来从一个或多个sme生成用于解释的请求。因此,主动解释通道被用于领域知识的增加,在此也被称为语料库丰富,以增强和扩展概念和关系的捕获以用于将来的交互。
54.参考图4,提供了流程图(400)以示出针对知识丰富交互的过程。如所示和所述,生成解释请求,其中利用知识的对应模式来开发问题以用一个或多个关系丰富领域知识。解释选项的生成从知识差距评估的结果开始。如图5所示和所述,第一和第二数据结构分别用匹配和非匹配概念和关系填充,它们在此用作输入(402)。知识丰富的范围是基于显式反馈的学习,该显式反馈可以是正反馈或负反馈,并且可能与正或负的隐式反馈组合。在聊天机器人平台训练期间,一个或多个主题专家(sme)以问题和对应回答的集合的形式生成或产生真值,聊天机器人平台从其学习如何回答所呈现的问题并回答,例如聊天机器人训练。真值可以是正面的,例如对所呈现问题的好回答,或者是负面的,例如对所呈现问题的无效回答。在示例性实施例中,真值被收集在对应的数据结构中。如图所示,从对应的问题和回答中提取项目,无论匹配或不匹配,并且生成以sme为目标的解释请求(404)。对解释的请求可以是基于个体的,或者是在一个或多个束中,其中问题和对应的回答被分组在一起,例如csv文件。sme生成解释响应(406),其通过通信信道传送,用于解释处理,用于新的语义关系的分析和收集(408),如图7所示和所述。此外,sme生成填充在对应数据结构中的真值(410)。
55.参考图5,提供了图示用于解释的生成的过程的流程图(500)。如所示和所述,解释生成过程的初始方面指向知识差距评估,以根据从聊天机器人环境获得的问题和回答来处理自然语言项,其中这些项以用于由机器理解和消费的模型来表示。该过程开始于以问题文本和对应的回答文本的形式的输入(502),在实施例中,其是从聊天机器人平台获得的。关于问题,通过使用自然语言工具来提取问题内的概念和对应关系(504)。在示例性实施例中,该工具分析问题以识别其中的组成部分,诸如宾语、动词-宾语关系或名词-宾语关系等。对应的知识域中的信息被用于识别和提取概念,例如故障动作、属性、产品管理动作、产品名称、产品成分等。类似地,在实施例中,可以采用基于神经语言模型或序列模型的分类器来标记哪些项与对应的知识域相关。
56.在步骤(504)处识别的问题的组成部分的表示(在此也称为请求)被存储在对应的数据结构(506)中。例如,在实施例中,所识别的问题组成部分被表示为抽象含义表示(amr)树或解析树。amr是表达具有有根、有向、非循环图的句子的逻辑含义的语义表示。amr将语义概念与图上的节点相关联,而关系是概念节点之间的标签边。在示例性实施例中,amr以分层结构表示句子的语义表示,这是一种组织技术,其中项被分层或分组以降低复杂度。
57.在分别在步骤(504)和(506)的提取和表示之后,与问题分析类似地分析对问题的回答(506)。更具体地,在步骤(508)处生成对问题的一个或多个回答并使其经受分析。在示例性实施例中,从对应的知识库或知识域获得回答。该分析使回答经受与问题类似的nl处理,其中问题中的一个或多个组成部分(例如主语或宾语,以及对应的特性等)被识别。该分析识别所提取的概念和关系实例的相关性,并且在实施例中,使概念和关系实例经受排名,并且在表示问题的数据结构中表示或表征相关性。在示例性实施例中,知识域中的信息用于分析和识别。该信息包括但不限于特定类型的概念或关系,诸如故障动作和属性、产品管理动作(例如重启、删除和配置)、产品名称和产品组件。类似地,在实施例中,基于神经语言
模型或序列模型的分类器被用于标记哪些项对于域是相关的。在示例性实施例中,所提取的概念和关系可以基于排名被布置在层级中。类似于问题处理,回答文本内的概念和来自针对回答的问题的关系被提取,并且在步骤(510)处识别的回答的组成部分的表示(在此也称为响应)被存储在对应的数据结构中(512)。类似于问题处理,在实施例中,所识别的回答组成部分被表示为抽象含义表示(amr)树或解析树。在示例性实施例中,问题和回答的表示可包括表示多个认知特征的多个数据结构。因此,问题和对应的回答文本都要经受概念和关系提取。
58.在步骤(504)和(508)处填充在对应数据结构或模型中的问题和回答的元素列表对应于特定选择标准,例如匹配或不同。可以通过应用特定于每种类型的特征表示的比较方法来生成列表。例如,两个数据结构可以作为输入与来自比较方法的输出一起被接收,该比较方法生成存在于两个数据结构中的元素的列表、仅存在于第一数据结构中的元素的列表,以及仅存在于第二数据结构中的元素的列表。对于关系图,语义或句法关系图子树中的差异被识别以确定相同的子树或在距离阈值内的子树。例如,可以在具有公共节点标签的子图之间测量距离,诸如在公共节点中发起或结束的关系的数量。
59.在步骤(512)之后,问题和对应回答的表示被经受比较以提取重叠和差异(514)。该比较确定语义或句法关系图子树中的差异,以确定相同的那些子树或在距离阈值内的那些子树。可以在具有公共节点标签的子图之间测量距离,诸如在公共节点中开始或结束的关系的数量,其是不同的,即在三元组(公共节点、公共关系、节点)中具有不同的节点,或者是缺失的,即公共节点、仅在所比较的树之一中的关系。例如,在示例性实施例中,场景中的问题是“产品电池必须被替换”,并且用下面的amr表示来示出:
[0060][0061]
并且回答文本“如何在产品上替换电池”用下面的amr表示来示出:
[0062][0063]
基于该示例,子树表示具有公共节点“替换-01”,并且相关子树的距离为1,因为关系《替换、“动作”、电池》和《batt、动作、未知是不同的。该分析确定“电池”是“组件”类型的概念,而“batt”是未知的。因此,比较利用在步骤(506)和(512)处创建的数据结构进行比较。
[0064]
然后确定所提取的问题概念和关系的整体是否在所提取的回答概念和关系中表示(516)。对该确定的肯定响应是问题和回答匹配(例如对齐)并且不存在知识差距的指示,并且比较过程终止(518)。在示例性实施例中,步骤(516)的评估针对在层级的层中表示的概念。对步骤(516)处的确定的否定响应之后是随后的确定,以相对于在步骤(506)处在问
题内识别的相关性以及它们在回答(524)中的表示来评估概念和关系。在示例性实施例中,步骤(524)的评估针对层级中的不同层,例如与步骤(516)的评估不同的概念。对步骤(524)处的评估的肯定响应是所评估的问题或被确定为存在于相应回答内或在一个实施例中存在于相应回答的所评估或识别的概念内的问题的方面的指示。因此,如本文所示,回答和问题的重叠可以针对对其中标识的一个或多个概念的评估。
[0065]
如所示和所述,步骤(524)处的评估针对在问题内标识或表示的概念,并且可能不是全部属于该问题。在步骤(524)对评估的肯定响应之后,通过评估在问题的层次结构内表示的附加概念来确定是否应当继续问题和回答之间的评估(526)。在示例性实施例中,用户可以参考在层次结构中表示的概念的一个元素,但是相关内容是关于层次结构中的不同层级中的相关概念。对应于对步骤(526)的肯定响应的继续评估将需要额外的时间,并且在实施例中,可能是对聊天机器人体验的干扰。对步骤(526)处的确定的否定响应通过跳转到在步骤(518)处开始的确定序列来终止如这里所示的评估过程。然而,在对步骤(526)的确定的肯定响应或对步骤(524)的确定的否定响应之后,基于诸如is-a、症状-动作和领域知识中可用的其他关系的等价物来转换问题的文本(528)。步骤(528)处的转换指向识别问题和对应的回答之间的差异。在示例性实施例中,使用一个或多个语言模型来确定与在对应于问题的任何先前匹配中找到的项相匹配的问题的等价句子。然后确定是否产生了该问题的任何新的替代表达方式(530)。在步骤(530)的肯定响应之后是返回到步骤(514),并且在否定响应之后是到在步骤(518)处开始的终止序列的跳转。
[0066]
在评估结束时,在此示出为对步骤(526)和(530)处的确定的否定响应,并且在步骤(518)之后,填充对应的第一和第二数据结构。更具体地,匹配概念、关系和图形区域的表示被填充在第一对应数据结构中(520)。类似地,在第二对应数据结构中填充非匹配概念、关系和图形区域的表示(522)。尽管顺序地示出,但是在示例性实施例中,在步骤(520)和(522)的第一和数据结构的填充可以并行地或以替代的顺序发生。第一数据结构填充有与特定选择标准相对应的问题元素和回答元素,例如在两个表示中匹配,并且第二数据结构填充有与特定选择标准相对应的问题元素和回答元素,这些元素是不同的,例如仅存在于表示之一中。通过应用特定于每种类型的特征表示的比较方法来生成列表。例如,在概念列表中,该过程接收两个列表作为输入,并且遍历和比较列表中的项,并且输出存在于两者中的元素的列表,例如匹配概念,以及仅存在于第一输入中的元素列表和仅存在于第二输入中的元素列表,例如非匹配概念。在利用amr的实施例中,该过程可以输出具有相同根节点标签的子图对,以及图中具有相同标签和相同相邻节点标签的边,例如匹配概念。
[0067]
如所示和所述,进行评估以确定或识别知识差距的存在,这类似于确定问题和回答之间不存在匹配。在示例性实施例中,术语匹配的使用针对精确匹配以及同义术语的匹配。术语“匹配”的使用是基于对问题中表达的单词的比较以及这些单词在回答中的存在。知识差距可以是丢失连接的形式,诸如丢失同义词或丢失关系推断。尽管系统的用户以最终反馈的形式提供反馈,但是系统分析问题和储存库中的对应回答存储。在示例性实施例中,提供了相对于知识差距评估的指向用户的参与策略,以解决不同技能和不同患者水平的用户,并且因此参与策略选择性地指导知识差距的学习交互。部分匹配可能是满意的或良好的响应,系统可以学习什么使得匹配良好,并且可以学习带来回答的置信度的附加关系。因此,参与策略可以从收集的正反馈和负反馈两者中学习。
[0068]
来自图5所示的知识差距评估的输出生成针对问题和回答之间的关系的一个或多个解释选项。如图4和图5所示,初始方面指向知识差距的自动评估,其中识别知识差距或知识差距的缺失。一旦确定或识别了知识差距,则过程进行到如何填充知识差距的选项。为若干类型的知识提供的解释管理系统的制品,在此被示为与解释映射制品不匹配的规则,用于为用户提供的解释生成输出的呈现模板,以及当多于一个解释类型匹配时要应用的管理策略。下表,表1,是为几种类型的知识提供的解释管理系统的制品的示例:
[0069]
[0070]
[0071][0072]
表1
[0073]
下表,表2,是为用户生成输出提供的解释的呈现模板的示例:
[0074][0075]
表2
[0076]
下表,表3,是当多于一个解释类型匹配时要应用的管理策略的示例:
[0077]
[0078][0079]
表3
[0080]
参考图6,提供了流程图(600)以示出用于生成作为问题和回答短语之间的语义关系的解释选项以丰富领域知识的过程。可以理解,问题和回答之间的语义关系的某些方面可能先前已被确定并表示或存储在领域知识中。例如,在图5中,这样的现有语义关系可能已经被用于识别问题和回答之间的匹配,在示例性实施例中,问题和回答之间的差异和相似性都要进行分析,相似性分析丰富了领域知识。生成解释选项的过程使用相应领域知识的模式来开发问题,以便用关系来丰富领域。领域知识提供关于根据等价物和关系已经知道什么的信息。
[0081]
如图所示,以图5中生成的包含匹配和非匹配知识项的数据结构的形式提供输入(602)。可以理解,来自输入的知识项可以包含正反馈或负反馈。对于正反馈,如果存在多个差异,则按照复杂度,诸如相邻图的距离,对它们进行排序,并且在实施例中,以较小的距离开始。根据用户对解释的预期响应的技能过滤差异。例如,将不要求具有较低技能的用户解释用具有公共节点标签的图或子图之间的较大距离表示的差异。用于解释的选择取决于在知识域中捕获的关系的类型。对于负反馈,选择可以根据不同的标准来进行。说明管理系统的制品提供以下类型的知识:将模式集合关联到解释类型中的规则、生成用于用户提供解释的输出的呈现模板、以及当多于一个解释类型匹配输入时要应用的系统或管理策略。对于规则中与输入匹配的每个模式,生成解释实例作为输出(604)。来自步骤(604)的输出是模式匹配实例的列表。在示例性实施例中,一个图案可以应用于附加的图形区域。在步骤(604)之后,系统或管理策略被应用于解释实例的列表以生成将被呈现给用户的最终解释实例形式的输出(606)。在示例性实施例中,在步骤(606)选择一组解释类型用于呈现。通过应用一个或多个呈现模板模式来创建要发送到聊天机器人平台的输出,来创建对解释的请求(608)。记录调用的细节(610),其中在解释管理系统内匹配模式以进行处理。呈现模板基于交互、解释类型、解释关系或输出部分(例如,打开语句和关闭语句)来组织。
[0082]
以下是用于在线交互的用户的结构化问题的示例:
[0083]
请回答这个问题:
[0084]“batt”用于“电池”[0085]
1)等价物
[0086]
2)高层次概念(下义词)
[0087]
3)低层次概念(上位词)
[0088]
4)无关概念
[0089]
以下是用于批交互的示例注释问题:
[0090]
请在下列中收集与“要解释的项”列中的文本相关的项或短语:
[0091]
1)等价物
[0092]
2)高层次概念(下义词)
[0093]
3)低层次概念(上位词)
[0094]
4)其他关系或其他文本
[0095]
因此,如本文所示,使用问题和多选回答形式的一组呈现模板来生成用于用户提供解释的输出。问题限定你如何在对应的知识图谱中表示关系。
[0096]
如本文所示和所述,策略对应于对一个或多个问题(例如提示)进行措词以生成同步响应,该同步响应将解释问题和回答之间的语义关系或语义关系的缺乏。类似地,在实施例中,可以通过使用请求回答的解释或一批回答的sme来获得异步响应。因此,可以经由通过使用聊天机器人平台的同步信道或通过sme的异步信道来获得解释。
[0097]
参考图7,提供了流程图(700)以示出问题和回答之间的关系的处理和记录解释。解释处理和记录利用了图6中确定的解释上下文,对一个解释实例的解释响应经受处理(702)。在示例性实施例中,每个解释实例具有对应的解释标识符。每个解释标识符是对存储在收集关于解释实例的所有细节的解释管理系统中的元数据的引用。所收集的细节包括以下中的一个或多个:问题、回答、概念和关系相似性和差异,以及解释目标和参数。使用解释标识符或解释响应中的其他细节,获得包括关于解释目标和参数的细节的解释上下文(704)。此后,使用在解释响应和解释元数据中选择的解释选择,确定由用户识别的关系的类型(706)。然后确定用户是否选择“我不知道”作为响应(708)。在步骤(708)的肯定响应之后是保存解释以便由sme(710)审阅,并且在步骤(708)的否定响应之后是确定用户是否选择“无关概念”作为响应(712)。在对步骤(712)的确定的肯定响应之后是确定是否存在对当前上下文的另一个解释请求(714)。对步骤(714)处的确定的肯定响应之后是返回到步骤(706),并且否定响应结束解释评估。
[0098]
对步骤(712)处的确定的否定响应是可以从用户指示的关系创建知识制品的指示。创建映射以将解释类型(例如关系类型和概念类型)关联到一个或多个领域知识组件和制品类型(714),随后是对可从用户指示的关系生成的每个知识指示的知识域的更新动作(716)。
[0099]
参考图8,提供了框图(800)以示出示例关系-知识制品-映射。如图所示,在地图中有两列,包括关系-概念类型列(810)和领域知识组件-制品列(820)。在该示例中,动词、名词和短语的等价关系(812),诸如以动词、名词或短语格式表达的等价含义,作为同义词被集成在搜索引擎中(822)。类似地,“is-a”或上位词关系(814)被集成在搜索引擎扩展同义词(824)中,因果关系或否定关系(816)被集成作为知识图谱或搜索引擎扩展同义词(826),并且关系同义词补救(818)是知识图谱制品(828)。对于可以生成的每个知识制品,发起对领域知识的更新动作(718)。步骤(718)的更新动作可以立即应用,或者在预定义的系统维护窗口中收集并成批应用。因此,如本文所示,知识差距经受分析以处理其解释。
[0100]
返回图3,并且如所示和所述,根据语义关系的解释来实现主动学习。如图所示,解释请求(318)被分到聊天机器人平台中,用于经由一个或多个sme(318)学习交互(322)和征求真值。在示例性实施例中,当问题和回答之间的对应性弱,例如不强时,系统生成一个或多个候选解释性关系,其可以强制执行对应性,例如如图5所示和所述,并且利用接口,例如聊天机器人,来限定相关性。学习交互允许或支持解释的在线评估。在示例性实施例中,关于回答质量的反馈可以用于触发从解释的学习,例如隐式或显式反馈、正或负反馈等。类似地,在实施例中,策略可以用于确定何时在步骤(318)处触发针对解释请求的交互,以便控
制对用户满意度的影响。示例策略可以是仅对负反馈实施的形式,或者另一示例策略可以是用户的技能水平,例如新手。如图所示,学习交互(320)生成解释响应(322),其经过处理并记录问题和回答(324)之间的关系的解释,如图7所示和所述,在步骤(324)和(318)之后,解释响应和识别的关系的处理被存储在领域知识(326)中。因此,识别目标短语与任何缺失信息之间的关系和对应的现象并将其存储在知识库中。
[0101]
如图1-图8所示和所描述的,提供了一种计算机系统、程序产品和方法来比较问题和回答对,尤其是那里的文本,并确定在概念关系方面关于回答如何涉及或引用从问题导出的预期关系的相似性和差异。利用相似性和差异来生成关于差异的可能原因的特定多选问题。在ai交互平台(例如聊天机器人平台)中呈现问题,以从正确的响应(例如真值或正反馈)中提取关系。所提取的关系以及在实施例中的新关系,例如解释性信息,被识别并被用于扩充领域知识,从而用所捕获的概念和关系来扩展领域知识。
[0102]
在此示出和描述的实施例可以是与用于丰富领域知识的智能计算机平台一起使用的计算机系统的形式。工具(152)、(154)和(156)的各方面及其相关联的功能可在单个位置的计算机系统/服务器中体现,或者在实施例中,可在共享计算资源的基于云的系统中配置。参考图9,提供了示出计算机系统/服务器(902)的示例的框图(900),该计算机系统/服务器在下文中被称为与基于云的支持系统(910)通信以实现以上在图1-图8中描述的系统、工具和过程的主机(902)。主机(902)可与许多其它通用或专用计算系统环境或配置一起操作。适合与主机(902)一起使用的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络pc、小型计算机系统、大型计算机系统、以及包括上述系统、设备及其等效物中的任一个的文件系统(例如,分布式存储环境和分布式云计算环境)。
[0103]
主机(902)可以在计算机系统执行的诸如程序模块等计算机系统可执行指令的一般上下文中描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。主机(902)可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
[0104]
如图9所示,主机(902)以通用计算设备的形式示出。主机(902)的组件可以包括但不限于一个或多个处理器或处理单元(904)(例如硬件处理器)、系统存储器(906)以及将包括系统存储器(906)在内的各种系统组件耦合到处理器(904)的总线(908)。总线(908)表示若干类型的总线结构中的任何一种的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中的任何一种的处理器或局部总线。作为示例而非限制,这些体系结构包括工业标准体系结构(isa)总线、微通道体系结构(mca)总线、增强型isa(eisa)总线、视频电子技术标准协会(vesa)局部总线和外围部件互连(pci)总线。主机(902)通常包括各种计算机系统可读介质。这种介质可以是可由主机(902)访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质。
[0105]
系统存储器(906)可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)(930)和/或高速缓冲存储器(932)。仅作为示例,存储系统(934)可被提供用于从不可移动、非易失性磁介质(未示出,且通常被称为“硬盘驱动器”)读取和向其写入。
尽管未示出,但是可以提供用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器,以及用于从诸如cd-rom、dvd-rom或其它光学介质等可移动、非易失性光盘读取或向其写入的光盘驱动器。在这种情况下,每个可以通过一个或多个数据介质接口连接到总线(908)。
[0106]
具有一组(至少一个)程序模块(942)的程序/实用程序(940)以及操作系统、一个或多个应用程序、其它程序模块和程序数据可被存储在系统存储器(906)中,这是作为示例而非限制。操作系统、一个或多个应用程序、其它程序模块和程序数据或其某种组合中的每一个可包括联网环境的实现。程序模块(942)通常执行实施例的功能和/或方法,以动态地解释和理解请求和动作描述,并有效地增加相应的领域知识。例如,该组程序模块(942)可包括如图1所示的工具(152)、(154)和(156)。
[0107]
主机(902)还可以与一个或多个外部设备(914)通信,诸如键盘、指示设备等;显示器(924);一个或多个设备,其使得用户能够与所述主机(902)交互;和/或使主机(902)能够与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可以经由输入/输出(i/o)接口(922)发生。此外,主机(902)可以经由网络适配器(920)与一个或多个网络通信,所述网络诸如局域网(lan)、通用广域网(wan)和/或公共网络(例如,因特网)。如所描述的,网络适配器920通过总线908与主机902的其它组件通信。在一个实施例中,分布式文件系统(未示出)的多个节点经由i/o接口(922)或经由网络适配器(920)与主机(902)通信。应当理解,尽管未示出,但是可以结合主机(902)使用其他硬件和/或软件组件。实例包括但不限于:微码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、raid系统、磁带驱动器和数据档案存储系统等。
[0108]
在本文档中,术语“计算机程序介质”、“计算机可用介质”和“计算机可读介质”用于一般地指代诸如主存储器(906)之类的介质,包括ram(930)、高速缓存(932)和存储系统(934),诸如可移动存储驱动器和安装在硬盘驱动器中的硬盘。
[0109]
计算机程序(也称为计算机控制逻辑)存储在存储器(906)中。计算机程序也可以通过通信接口,例如网络适配器(920)接收。当运行时,这样的计算机程序使计算机系统能够执行如本文所讨论的本实施例的特征。特别地,当运行时,计算机程序使处理单元(904)能够执行计算机系统的特征。因此,这样的计算机程序代表计算机系统的控制器。
[0110]
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、动态或静态随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、磁存储设备、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如其上记录有指令的打孔卡或凹槽中的凸起结构之类的机械编码设备、以及上述的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
[0111]
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机
或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
[0112]
用于执行本实施例的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,例如java、smalltalk、c++等,以及常规的过程式编程语言,例如“c”编程语言或类似的编程语言。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器集群上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以个性化电子电路,以便执行实施例的方面。
[0113]
本说明书中描述的功能工具被标记为管理器。管理器可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等的可编程硬件器件中实现。管理器还可以以用于由各种类型的处理器处理的软件来实现。可执行代码的标识管理器例如可以包括计算机指令的一个或多个物理或逻辑块,其例如可以被组织为对象、过程、函数或其他构造。然而,所标识的管理器的可执行代码不需要物理地位于一起,而是可以包括存储在不同位置的不同指令,当这些指令在逻辑上被结合在一起时,包括管理器并实现管理器的所述目的。
[0114]
实际上,可执行代码的管理器可以是单个指令或多个指令,并且甚至可以分布在若干不同的代码段上、在不同的应用程序之间、以及跨若干存储器设备。类似地,操作数据可以在管理器内被标识和示出,并且可以以任何合适的形式体现并组织在任何合适类型的数据结构内。操作数据可以被收集为单个数据集,或者可以分布在包括不同存储设备的不同位置上,并且可以至少部分地作为系统或网络上的电子信号存在。
[0115]
现在参考图10,说明性云计算网络(1000)。如图所示,云计算网络(1000)包括具有一个或多个云计算节点(1010)的云计算环境(1050),云消费者使用的本地计算设备可以与所述云计算节点通信。这些本地计算设备的示例包括但不限于,个人数字助理(pda)或蜂窝电话(1054a)、台式计算机(1054b)、膝上型计算机(1054c)、和/或汽车计算机系统(1054n)。节点(1010)内的各个节点还可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境(1000)提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图10中所示的计算设备(1054a-n)的类型仅旨在说明,并且云计算环境(1050)可以通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。
[0116]
现在参考图11,示出了由图10的云计算网络提供的一组功能抽象层(1100)。应当预先理解,图11中所示的组件、层和功能仅旨在说明,并且实施例不限于此。如所描绘的,提供了以下层和相应的功能:硬件和软件层(1110)、虚拟化层(1120)、管理层(1130)和工作负
载层(1140)。
[0117]
硬件和软件层(1110)包括硬件和软件组件。硬件组件的示例包括大型机,在一个示例中为系统;基于risc(精简指令集计算机)架构服务器,在一个示例ibm系统中;ibm系统;ibm系统;存储设备;网络和联网组件。软件组件的示例包括网络应用服务器软件,在一个示例中为ibm应用服务器软件;以及数据库软件,在一个示例中是ibm数据库软件。(ibm、zseries、pseries、xseries、bladecerter、websphere和db2是在全世界许多管辖区注册的国际商业机器公司的商标)。
[0118]
虚拟化层(1120)提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器;虚拟存储;虚拟网络,包括虚拟专用网络;虚拟应用和操作系统;以及虚拟客户端。
[0119]
在示例中,管理层(1130)可以提供以下功能:资源供应、计量和定价、用户门户、服务水平管理以及sla规划和履行。资源供应提供了对被用来在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价提供了在云计算环境中利用资源时的成本跟踪,以及用于消耗这些资源的开账单或开发票。在示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户为消费者和系统管理员提供对云计算环境的访问。服务层管理提供云计算资源分配和管理,使得满足所需的服务层。服务层协议(sla)规划和履行提供了云计算资源的预安排和采购,其中根据sla来预计未来需求。
[0120]
工作负载层(1140)提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括但不限于:地图绘制和导航;软件开发和生命周期管理;虚拟教室教育递送;数据分析处理;交易处理;以及自然语言丰富。
[0121]
尽管已经示出和描述了本发明的具体实施例,但是对于本领域技术人员来说显而易见的是,基于本文的教导,在不背离本发明及其更广泛方面的情况下可以进行改变和修改。因此,所附权利要求将在其范围内涵盖在实施例的真实精神和范围内的所有这样的改变和修改。此外,应当理解,实施例仅由所附权利要求限定。本领域技术人员将理解,如果所引入的权利要求元素的具体数目是有意的,则这样的意图将在权利要求中明确地叙述,并且在没有这样的叙述的情况下,不存在这样的限制。对于非限制性示例,为了帮助理解,所附权利要求包含使用介绍性短语“至少一个”和“一个或多个”来介绍权利要求元素。然而,这种短语的使用不应被解释为暗示通过不定冠词“一”或“一个”引入权利要求要素将包含这种引入的权利要求要素的任何特定权利要求限制为仅包含一个这种要素的实施例,即使当同一权利要求包括引导性短语“一个或多个”或“至少一个”和诸如“一”或“一个”的不定冠词时;这同样适用于定冠词在权利要求中的使用。如本文所用,术语“和/或”是指其中之一或两者(或所提及的术语或表述中的一者或任何组合或全部)。
[0122]
本发明的实施例可以是系统、方法和/或计算机程序产品。另外,本实施例的所选方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合软件和/或硬件方面的实施例的形式,这些实施例在本文中可以全部统称为“电路”、“模块”或“系统”。此外,本发明的实施例的方面可以采取在计算机可读存储介质(或多个介质)中实现的计算机程序产品的形式,所述计算机可读存储介质(或多个介质)上具有用于使处理器
执行本发明的实施例的方面的计算机可读程序指令。如此实现的所公开的系统、方法和/或计算机程序产品可操作以支持自然语言丰富。
[0123]
本文参照根据实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图描述了本实施例的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
[0124]
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
[0125]
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
[0126]
附图中的流程图和框图示出了根据本发明实施例的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所提及的功能可不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
[0127]
应当理解,尽管为了说明的目的在此描述了具体实施例,但是在不脱离实施例的精神和范围的情况下可以进行各种修改。因此,实施例的保护范围仅由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1