生成和执行最优对话策略的制作方法

文档序号:20839224发布日期:2020-05-22 17:16阅读:149来源:国知局
生成和执行最优对话策略的制作方法

本主题公开涉及计算机对话管理系统,并且更具体地涉及用户与机器之间的认知交互和/或上下文对话。



背景技术:

信息查询系统可以采用诸如例如决策树之类的一组封闭式问题来执行与用户的搜索目标相关联的学习。例如,信息查询系统可以是对话计算机系统,该对话计算机系统基于文本数据、语音数据、图形数据和/或其他数据来与用户会话以有助于通信。通常,对话计算机系统采用语义信息来管理会话的流程。然而,当存在大量文档和/或项目要搜索时,仅依靠封闭式问题可能导致漫长和/或不期望的对话。



技术实现要素:

以下呈现发明内容以提供对本发明的一个或多个实施例的基本理解。此发明内容并非旨在标识关键或重要元素,也不旨在描绘特定实施例的任何范围或权利要求的任何范围。其唯一目的是以简化的形式呈现概念,作为稍后呈现的更详细描述的序言。在本文所描述的一个或多个实施例中,描述了提供用于生成和执行最优对话策略的设备、系统、计算机实现的方法、装置和/或计算机程序产品。

根据一个实施例,一种系统可以包括信息增益和问题选择器组件。信息增益组件可以估计与信息系统的第一对话数据相关联的信息增益数据。信息增益数据可以指示与第一对话数据相关联的熵的变化量。问题选择器组件可以基于信息增益数据在与第一问题策略相关的第二对话数据和与第二问题策略相关的第三对话数据之间进行选择。

根据另一实施例,提供了一种计算机实现的方法。该计算机实现的方法可以包括:由操作地耦合到处理器的系统估计信息增益数据,该信息增益数据指示与第一对话数据相关的熵的变化量,该第一对话数据与信息系统相关联。该计算机实现的方法还可以包括:由该系统基于信息增益数据在与第一问题策略相关联的第二对话数据和与第二问题策略相关联的第三对话数据之间进行选择。

根据又一实施例,一种有助于生成和执行最优对话策略的计算机程序产品可以包括计算机可读存储介质,该计算机可读存储介质具有体现在其上的程序指令。该程序指令可以由处理器执行,并且使处理器:由处理器估计信息增益数据,该信息增益数据指示与第一对话数据相关的熵的变化量,该第一对话数据与信息系统相关联。程序指令还可以使处理器:由处理器基于信息增益数据在与第一问题策略相关联的第二对话数据和与第二问题策略相关联的第三对话数据之间进行选择。

附图说明

图1图示了根据本文所描述的一个或多个实施例的包括对话策略组件的示例非限制性系统的框图。

图2图示了根据本文所描述的一个或多个实施例的包括对话策略组件的另一示例非限制性系统的框图。

图3图示了根据本文所描述的一个或多个实施例的包括对话策略组件的又一示例非限制性系统的框图。

图4图示了根据本文所描述的一个或多个实施例的包括对话策略组件的又一示例非限制性系统的框图。

图5图示了根据本文所描述的一个或多个实施例的与对话策略系统相关联的示例非限制性系统。

图6图示了根据本文所描述的一个或多个实施例的与电子设备和信息系统相关联的示例非限制性系统。

图7图示了根据本文所描述的一个或多个实施例的用于有助于生成和执行最优对话策略的示例非限制性计算机实现的方法的流程图。

图8图示了在其中可以有助于本文所描述的一个或多个实施例的示例非限制性操作环境的框图。

图9图示了根据本发明的一个或多个实施例的示例非限制性云计算环境的框图。

图10图示了根据本发明的一个或多个实施例的示例非限制性抽象模型层的框图。

具体实施方式

以下详细描述仅是说明性的,并且不旨在限制实施例和/或实施例的应用或使用。此外,不旨在被前面的“背景技术”或“发明内容”部分或“具体实施方式”部分中所呈现的任何明示或暗示的信息约束。

现在参考附图描述一个或多个实施例,其中相同的附图标记始终被用来指代相同的元素。在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供对一个或多个实施例的更透彻的理解。然而,明显的是,在各种情况下,可以在没有这些具体细节的情况下实践一个或多个实施例。

首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。

云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。

特征包括:

按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。

广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理pda)对云的使用。

资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。

迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。

可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。

服务模型如下:

软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。

平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。

基础架构即服务(iaas):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。

部署模型如下:

私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。

共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。

公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。

混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。

云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。

在这方面,信息查询系统可以采用诸如例如决策树之类的一组封闭式问题来执行与用户的搜索目标相关联的学习。例如,信息查询系统可以是对话计算机系统,该对话计算机系统基于文本数据、语音数据、图形数据和/或其他数据来与用户会话以有助于通信。通常,对话计算机系统采用语义信息来管理会话的流程。然而,当存在大量文档和/或项目要搜索时,仅依靠封闭式问题可能导致漫长和/或不期望的对话。

本文所描述的实施例包括提供用于生成和执行最优对话策略的系统、计算机实现的方法和计算机程序产品。例如,可以采用在最优时机并入开放式问题的自适应对话策略框架,以减少与信息系统相关联的对话的时间,信息系统诸如例如信息查询系统、对话计算机系统等。在一方面,可以估计开放式问题的信息增益。此外,在对话步骤处,可以将信息增益与封闭式问题进行比较,以确定要呈现给用户设备的特定问题策略。在一个实施例中,用户可以经由用户设备以自然语言描述项目特征。项目特征例如可以通过自然语言处理系统来提取。如此,项目特征可以是二进制的(例如,经标识的或未经标识的),并且通过将项目特征转换成多个二进制特征,项目特征可以包括多个值。例如,特征“视觉选项”可以被转换成描述视觉选项的各个名称的两个或更多个二进制特征,诸如例如红色、绿色、蓝色等。在另一实施例中,问题选择器可以在提问一个询问特定特征的值的封闭式问题和提问一个用户为其提供多个特征的开放式问题之间进行最优地选择。问题选择器可以通过将预期的信息增益最大化来在封闭式问题和开放式问题之间进行选择。例如,可以针对封闭式问题和/或开放式问题采用信息增益。信息增益可以指示与封闭式问题和/或开放式问题相关联的熵的变化量。在一个示例中,在对话步骤处,响应于确定所估计的信息增益满足所限定的准则,问题选择器可以向用户设备提供开放式问题。例如,响应于确定针对开放式问题所估计的信息增益大于与特定特征相关联的一个或多个封闭式问题的信息增益,问题选择器可以向用户设备提供开放式问题。如此,可以提高对话策略系统的性能和/或准确性。而且,可以减少由对话策略系统提供的对话的长度。

图1图示了根据本文所描述的一个或多个实施例的提供用于生成和执行最优对话策略的示例非限制性系统100的框图。在各种实施例中,系统100可以是与各种技术相关联的系统,各种技术诸如但不限于计算机技术、服务器技术、服务器/客户机技术、对话策略技术、信息技术、信息查询技术、对话计算机技术、自然语言处理技术、云计算技术、机器学习技术、人工智能技术、数字技术、数据处理技术、数据分析技术和/或其他计算机技术。系统100可以采用硬件和/或软件来解决本质上是高度技术性的、不是抽象的并且不能作为人类的一组精神动作来执行的问题。此外,所执行的一些过程可以由一个或多个专用计算机(例如,一个或多个专用处理单元、具有对话策略组件的专用计算机等)执行,以执行与生成和/或执行对话策略相关的所限定的任务。系统100和/或系统的组件可以被采用来解决由于上面提及的技术和/或计算机架构等的进步而引起的新问题。系统100的一个或多个实施例可以提供对计算机系统、服务器系统、服务器/客户机系统、对话策略系统、信息系统、信息查询系统、对话计算机系统、自然语言处理系统、云计算系统、机器学习系统、人工智能系统、数字系统、数据处理系统、数据分析系统和/或其他计算机系统的技术改进。系统100的一个或多个实施例还可以通过提高处理单元的处理性能、提高处理单元的处理效率和/或减少处理单元执行对话策略过程的时间来提供对与对话策略过程相关联的处理单元(例如,处理器)的技术改进。系统100的一个或多个实施例还可以通过提高服务器/客户机计算环境的处理性能和/或提高服务器/客户机计算环境的处理效率来提供对服务器/客户机计算环境(例如,服务器/客户机计算平台)的技术改进。在一个示例中,系统100可以与对话策略过程相关联。

在图1中所示的实施例中,系统100可以包括对话策略组件102。如图1中所示,对话策略组件102可以包括信息增益组件104和问题选择器组件106。对话策略组件102的各方面可以构成体现在(多个)机器内的(多个)机器可执行组件,例如体现在与一个或多个机器相关联的一个或多个计算机可读介质中。(多个)这样的组件在由例如(多个)计算机、(多个)计算设备、(多个)虚拟机等的一个或多个机器执行时,可以使(多个)机器执行所描述的操作。在一方面,对话策略组件102还可以包括存储计算机可执行组件和指令的存储器108。此外,对话策略组件102可以包括处理器110,以有助于对话策略组件102对指令(例如,计算机可执行组件和对应的指令)的执行。如所示,在一个或多个实施例中,信息增益组件104、问题选择器组件106、存储器108和/或处理器110可以彼此电耦合和/或通信地耦合。

对话策略组件102(例如,对话策略组件102的信息增益组件104)可以接收对话输入数据112。对话输入数据112可以由电子设备生成和/或由电子设备提供。电子设备可以是用户设备,诸如例如,计算设备、计算机、台式计算机、膝上型计算机、监视设备、智能设备、智能电话、移动设备、手持设备、平板电脑、可穿戴设备、便携式计算设备、传感器设备、麦克风设备和/或其他电子设备。此外,对话输入数据112可以包括语音数据、文本数据、音频数据、视频数据、图像数据和/或其他数据。在一个实施例中,对话输入数据112可以是原始数据。在另一实施例中,对话输入数据112的至少一部分可以是经编码的数据和/或经处理的数据。在一方面,对话输入数据112可以是信息系统的对话数据。例如,对话输入数据112可以是与电子设备相关联的信息查询系统、与电子设备相关联的对话计算机系统、与电子设备相关联的另一信息系统等的对话数据。在非限制性示例中,信息系统可以是采用一种或多种人工智能技术以经由语音数据、文本数据、音频数据、视频数据、图像数据和/或其他数据来与用户进行对话的计算机程序系统。电子设备例如可以与信息系统通信。此外,对话策略组件102可以与信息系统相关联。例如,电子设备可以将对话输入数据112提供给包括对话策略组件102的信息系统。

信息增益组件104可以估计与对话输入数据112相关联的信息增益数据。信息增益数据可以指示与对话输入数据112相关联的熵的变化量。在一个示例中,信息增益数据可以是与对话输入数据112的概率分布相关联的kullback-leibler散度值。问题选择器组件106可以基于信息增益数据从一组问题策略中选择问题策略。例如,问题选择器组件106可以从与不同对话数据相关联的一组问题策略中选择与问题策略相关联的对话数据。在一个示例中,对话输入数据112可以是第一对话数据,并且问题选择器组件106可以基于信息增益数据来在与第一问题策略相关联的至少第二对话数据和与第二问题策略相关联的第三对话数据之间进行选择。问题策略例如可以是针对由信息系统提供的与m个项目和n个系统相关联的对话的询问策略,其中m是整数,并且n是整数。在一个实施例中,问题选择器组件106可以基于信息增益数据来在一个或多个开放式问题和一个或多个封闭式问题之间进行选择。例如,在一个实施例中,第一问题策略可以包括一个或多个开放式问题,并且第二问题策略可以包括一个或多个封闭式问题。在另一实施例中,第一问题策略可以包括一个或多个封闭式问题,并且第二问题策略可以包括一个或多个开放式问题。开放式问题例如可以是由信息系统提供的问题,其中用户可以提供针对对话数据的任何特征。例如,在非限制性示例中,开放式问题可以是诸如“对于您的电子设备,您想要什么视觉选项?”之类的问题。封闭式问题例如可以是由信息系统提供的问题,其中用户可以对针对对话数据所提问的特征进行响应。例如,在非限制性示例中,封闭式问题可以是诸如“您想要您的电子设备是银色的吗?”之类的问题。如此,封闭式问题可以与二进制响应相关联,并且开放式问题可以与非二进制响应相关联。在一方面,问题选择器组件106可以生成对话输出数据114。对话输出数据114可以包括由问题选择器组件106基于信息增益数据所选择的问题策略。例如,对话输出数据114可以包括由问题选择器组件106基于信息增益数据所选择的、与第一问题策略相关联的第二对话数据或与第二问题策略相关联的第三对话数据。在某些实施例中,对话输出数据114可以被呈现在例如电子设备上。电子设备可以是用户设备,诸如例如,计算设备、计算机、台式计算机、膝上型计算机、监视设备、智能设备、智能电话、移动设备、手持设备、平板电脑、可穿戴设备、便携式计算设备、传感器设备、麦克风设备和/或其他电子设备。例如,问题选择器组件106可以在电子设备上呈现语音数据、文本数据、音频数据、视频数据、图像数据和/或与对话输出数据114相关联的其他数据。在某些实施例中,接收对话输出数据114的电子设备可以对应于提供对话输入数据112的电子设备。备选地,接收对话输出数据114的电子设备可以是与提供对话输入数据112的电子设备不同的电子设备。在某些实施例中,问题选择器组件106可以基于信息系统与电子设备之间的估计交互成本,从一组问题策略中选择问题策略。例如,问题选择器组件106可以基于信息系统和电子设备之间的估计交互成本,在与第一问题策略相关联的第二对话数据和与第二问题策略相关联的第三对话数据之间进行选择。电子设备可以是接收对话输出数据114的电子设备。在一个示例中,估计交互成本可以是所估计的、用户(例如,用户所采用的电子设备)回答与对话输出数据114相关联的问题的成本。

在一个实施例中,信息增益组件104可以估计与对话输入数据112相关联的一定数目的特征。一定数目的特征可以由一个或多个用户提供。在某些实施例中,信息增益组件104可以基于历史数据来估计与对话输入数据112相关联的一定数目的特征。例如,信息增益组件104可以基于与一个或多个先前生成的问题策略相关联的历史用户响应来估计与对话输入数据112相关联的一定数目的特征。此外,信息增益组件104可以针对一个或多个用户运算针对问题策略的信息增益数据。针对开放式问题,信息增益组件104可以例如确定跨特征的平均信息增益。在某些实施例中,针对开放式问题,信息增益组件104可以基于相关性分析和/或历史数据来划分与对话输入数据112和/或其他对话数据相关联的特征空间,以确定跨特征的平均信息增益。针对封闭式问题,信息增益组件104可以例如确定针对来自各个特征的一个或多个特征的一个或多个信息增益。此外,信息增益组件104可以使用针对一个或多个特征的一个或多个信息增益来查询由信息系统提供的对话。在另一实施例中,信息增益组件104可以基于与对话输入数据112相关联的自然语言处理的准确性来缩放信息增益数据。例如,信息增益组件104可以基于与使用自然语言处理的对话输入数据112相关联的所检测的对话的所估计的准确性来缩放信息增益数据。在又一实施例中,问题选择器组件106可以基于与对话输入数据112相关联的一定数目的特征从一组问题策略中选择问题策略。例如,基于与对话输入数据112(例如,第一对话数据)相关联的一定数目的特征,问题选择器组件106可以在与第一问题策略相关联的第二对话数据和与第二问题策略相关联的第三对话数据之间进行选择。

应当理解,对话策略组件102(例如,信息增益组件104和/或问题选择器组件106)执行人类不能够执行(例如,大于单个人类的智力的能力)的对话策略过程。例如,在某个时间段内由对话策略组件102(例如,信息增益组件104和/或问题选择器组件106)处理的数据量、数据的处理速度和/或处理的数据类型可以比单个人类的智力在相同时间段内能够处理的量、速度和数据类型更大、更快和不同。对话策略组件102(例如,信息增益组件104和/或问题选择器组件106)还可以完全操作以执行一个或多个其他功能(例如,被完全通电、被完全执行等),同时还执行以上提到的对话策略过程。此外,对话策略组件102(例如,信息增益组件104和/或问题选择器组件106)可以包括用户不可能手动获得的信息。例如,对话输出数据114中包括的信息的类型、对话输出数据114中包括的信息的量和/或对话输出数据114中包括的各种信息可以比由用户手动获得的信息更复杂。

图2图示了根据本文所描述的一个或多个实施例的示例非限制性系统200的框图。为了简洁起见,省略了本文所描述的其他实施例中采用的类似元件的重复性描述。

系统200包括对话策略组件102。对话策略组件102可以包括信息增益组件104、问题选择器组件106和/或自然语言处理组件202。自然语言处理组件202可以经由自然语言处理从信息系统中提取对话输入数据112。例如,电子设备可以将对话输入数据112提供给信息系统。此外,自然语言处理组件202可以经由一种或多种自然语言处理技术来处理和/或分析对话输入数据112。例如,一种或多种自然语言处理技术可以包括语音识别和/或自然语言理解,以解释对话输入数据112的内容。在一个实施例中,自然语言处理组件202可以生成准确性数据,该准确性数据估计由自然语言处理组件202执行的自然语言处理的准确性。例如,自然语言处理组件202可以生成准确性数据,该准确性数据估计与对话输入数据112相关联的自然语言处理的准确性。此外,信息增益组件104可以基于准确性数据来修改信息增益数据,该准确性数据估计自然语言处理的准确性。例如,信息增益组件104可以基于准确性数据来缩放信息增益数据,该准确性数据估计自然语言处理的准确性。在某些实施例中,自然语言处理组件202生成与对话输出数据114相关联的语音数据。例如,自然语言处理组件202可以执行自然语言处理以生成与对话输出数据114相关联的语音数据。附加地或备选地,自然语言处理组件202可以在电子设备上呈现与对话输出数据114相关联的语音数据。

在另一实施例中,自然语言处理组件202可以基于人工智能和/或一种或多种机器学习技术的原理,来确定与对话输入数据112相关联的分类、相关性、推理和/或表达。例如,自然语言处理组件202可以采用机器学习和/或人工智能的原理(例如,机器学习过程)来学习与对话输入数据112相关的一个或多个特征和/或信息。自然语言处理组件202可以执行关于显式地或隐式地学习与对话输入数据112相关的一个或多个特征和/或信息的学习。在一方面,自然语言处理组件202可以基于与人工智能的原理相关联的分类、相关性、推理和/或表达来学习与对话输入数据112相关的一个或多个特征和/或信息。例如,自然语言处理组件202可以采用自动分类系统和/或自动分类过程来学习与对话输入数据112相关的一个或多个特征和/或信息。在一个示例中,自然语言处理组件202可以采用基于概率和/或统计的分析(例如,将效用和成本纳入分析)来学习和/或生成关于对话输入数据112的推理。在一方面,自然语言处理组件202可以包括推理组件(未示出),其可以利用部分基于推理的方案来学习与对话输入数据112相关的一个或多个特征和/或信息,从而进一步增强自然语言处理组件202的自动化方面。

自然语言处理组件202可以采用任何合适的基于机器学习的技术、基于统计的技术和/或基于概率的技术。例如,自然语言处理组件202可以采用专家系统、模糊逻辑、svm、隐马尔可夫模型(hmm)、贪婪搜索算法、基于规则的系统、贝叶斯模型(例如,贝叶斯网络)、神经网络、其他非线性训练技术、数据融合、基于效用的分析系统、采用贝叶斯模型的系统等。在另一方面,自然语言处理组件202可以执行与学习与对话输入数据112相关的一个或多个特征和/或信息相关联的一组机器学习计算。例如,自然语言处理组件202可以执行一组聚类机器学习计算、一组逻辑回归机器学习计算、一组决策树机器学习计算、一组随机森林机器学习计算、一组回归树机器学习计算、一组最小二乘机器学习计算、一组基于实例的机器学习计算、一组回归机器学习计算、一组支持向量回归机器学习计算、一组k均值机器学习计算、一组频谱聚类机器学习计算、一组规则学习机器学习计算、一组贝叶斯机器学习计算、一组深度玻尔兹曼机器计算、一组深度置信网络计算和/或一组不同的机器学习计算,以学习与对话输入数据112相关的一个或多个特征和/或信息。

图3图示了根据本文所描述的一个或多个实施例的示例非限制性系统300的框图。为了简洁起见,省略了本文所描述的其他实施例中采用的类似元件的重复性描述。

系统300包括对话策略组件102。对话策略组件102可以包括信息增益组件104、问题选择器组件106、自然语言处理组件202和/或仿真组件302。仿真组件302可以基于针对信息系统的一组模型参数来生成估计信息系统的性能的仿真数据。例如,仿真组件302可以基于与特征值的泊松分布相关联的一组模型参数来生成估计信息系统的性能的仿真数据。在一个实施例中,仿真组件302可以基于针对信息系统的不同设置来生成估计信息系统的性能的仿真数据。在另一实施例中,仿真组件302可以基于针对信息系统的特征相关性矩阵来生成估计信息系统的性能的仿真数据。在一方面,信息增益组件104可以基于估计信息系统的性能的仿真数据来修改信息增益数据。例如,信息增益组件104可以基于估计信息系统的性能的仿真数据来缩放信息增益数据。在某些实施例中,仿真组件302可以仿真用户回答与一组问题策略相关联的一个或多个问题。例如,仿真组件302可以是回答与一组问题策略相关联的一个或多个问题以估计信息系统的性能的仿真器。

在又一实施例中,仿真组件302可以基于人工智能和/或一种或多种机器学习技术的原理,来确定与信息系统的性能相关的分类、相关性、推理和/或表达。例如,仿真组件302可以采用机器学习和/或人工智能的原理(例如,机器学习过程)来学习与信息系统的性能相关的一个或多个特征和/或信息。仿真组件302可以执行关于显式地或隐式地学习与信息系统的性能相关的一个或多个特征和/或信息的学习。在一方面,仿真组件302可以基于与人工智能原理相关联的分类、相关性、推理和/或表达来学习与信息系统的性能相关的一个或多个特征和/或信息。例如,仿真组件302可以采用自动分类系统和/或自动分类过程来学习与信息系统的性能相关的一个或多个特征和/或信息。在一个示例中,仿真组件302可以采用基于概率和/或基于统计的分析(例如,将效用和成本纳入分析)来学习和/或生成关于信息系统的性能的推理。在一方面,仿真组件302可以包括推理组件(未示出),其可以利用部分基于推理的方案来学习与信息系统的性能相关的一个或多个特征和/或信息,从而进一步增强仿真组件302的自动化方面。

仿真组件302可以采用任何合适的基于机器学习的技术、基于统计的技术和/或基于概率的技术。例如,仿真组件302可以采用专家系统、模糊逻辑、svm、hmm、贪婪搜索算法、基于规则的系统、贝叶斯模型(例如贝叶斯网络)、神经网络、其他非线性训练技术、数据融合、基于效用的分析系统、采用贝叶斯模型的系统等。在另一方面,仿真组件302可以执行与学习与信息系统的性能相关的一个或多个特征和/或信息相关联的一组机器学习计算。例如,仿真组件302可以执行一组聚类机器学习计算、一组逻辑回归机器学习计算、一组决策树机器学习计算、一组随机森林机器学习计算、一组回归树机器学习计算、一组最小二乘机器学习计算、一组基于实例的机器学习计算、一组回归机器学习计算、一组支持向量回归机器学习计算、一组k均值机器学习计算、一组频谱聚类机器学习计算、一组规则学习机器学习计算、一组贝叶斯机器学习计算、一组深度玻尔兹曼机器计算、一组深度置信网络计算和/或一组不同的机器学习计算,以学习与信息系统的性能相关的一个或多个特征和/或信息。

图4图示了根据本文所描述的一个或多个实施例的示例非限制性系统400的框图。为了简洁起见,省略了本文所描述的其他实施例中采用的类似元件的重复性描述。

系统400包括对话策略组件102。对话策略组件102可以包括信息增益组件104、问题选择器组件106、自然语言处理组件202、仿真组件302和/或人工智能组件402。人工智能组件402可以基于一种或多种人工智能技术来生成问题策略的至少一部分。例如,人工智能组件402可以基于一种或多种人工智能技术从一组问题策略中生成至少一个问题策略。在一个示例中,人工智能组件402可以基于一种或多种人工智能技术来生成第一问题策略和/或第二问题策略的至少一部分。在一方面,人工智能组件402可以基于一种或多种人工智能技术来生成针对问题策略的对话数据的至少一部分。例如,人工智能组件402可以基于一种或多种人工智能技术来生成针对问题策略的语音数据、文本数据、音频数据、视频数据、图像数据和/或其他数据的至少一部分。

在一个实施例中,人工智能组件402可以基于人工智能和/或一种或多种机器学习技术的原理来生成问题策略的至少一部分。例如,人工智能组件402可以采用机器学习和/或人工智能原理(例如,机器学习过程)来生成问题策略的至少一部分。人工智能组件402可执行关于生成问题策略的至少一部分的学习。在一方面,人工智能组件402可以基于与人工智能的原理相关联的分类、相关性、推理和/或表达来生成问题策略的至少一部分。例如,人工智能组件402可以采用自动分类系统和/或自动分类过程来生成问题策略的至少一部分。在一个示例中,人工智能组件402可以采用基于概率和/或基于统计的分析(例如,将效用和成本纳入分析)来生成问题策略的至少一部分。在一方面,人工智能组件402可以包括推理组件(未示出),其可以利用部分基于推理的方案来生成问题策略的至少一部分,从而进一步增强人工智能组件402的自动化方面。

人工智能组件402可以采用任何合适的基于机器学习的技术、基于统计的技术和/或基于概率的技术。例如,人工智能组件402可以采用专家系统、模糊逻辑、svm、hmm、贪婪搜索算法、基于规则的系统、贝叶斯模型(例如,贝叶斯网络)、神经网络、其他非线性训练技术、数据融合、基于效用的分析系统、采用贝叶斯模型的系统等。在另一方面,人工智能组件402可以执行与生成问题策略的至少一部分相关联的一组机器学习计算。例如,人工智能组件402可以执行一组聚类机器学习计算、一组逻辑回归机器学习计算、一组决策树机器学习计算、一组随机森林机器学习计算、一组回归树机器学习计算、一组最小二乘机器学习计算、一组基于实例的机器学习计算、一组回归机器学习计算、一组支持向量回归机器学习计算、一组k均值机器学习计算、一组频谱聚类机器学习计算、一组规则学习机器学习计算、一组贝叶斯机器学习计算、一组深度玻尔兹曼机器计算、一组深度置信网络计算和/或一组不同的机器学习计算,以生成问题策略的至少一部分。

图5图示了根据本文所描述的一个或多个实施例的示例非限制性系统500的框图。为了简洁起见,省略了本文所描述的其他实施例中采用的类似元件的重复性描述。

系统500包括对话策略系统502。对话策略系统502例如可以是用于信息系统的对话策略系统。对话策略系统502可以包括参数选择器504、信息增益运算器506和/或仿真器508。此外,对话策略系统502可以采用项目-特征矩阵510、nlu准确性512、一组问题策略514和/或交互成本516。基于项目-特征矩阵510、nlu准确性512、一组问题策略514和/或交互成本516,对话策略系统502可以提供问题策略518。在一个实施例中,对话策略系统502可以由对话策略组件102采用。项目-特征矩阵510可以是与项目和/或特征相关联的矩阵。例如,项目-特征矩阵510可以包括与项目和/或特征相关联的数字数据,其被格式化为数字数据矩阵。项目-特征矩阵510的数据元素可以被格式化为二进制数据。例如,项目-特征矩阵510可以是m个项目和n个特征的m×n矩阵,其中m和n是整数。nlu准确性512可以是准确性数据,其指示自然语言处理(诸如例如,自然语言理解)的准确性。例如,nlu准确性512可以包括通过自然语言处理准确地获得的一定数目的特征。一组问题策略514可以是一组开放式问题和/或一组封闭式问题。例如,一组问题策略514可以是可以由对话策略系统502提供给用户(例如,用户所采用的电子设备)的一组潜在问题。在一个示例中,一组问题策略514可以是由对话策略系统502提供给用户(例如,用户所采用的电子设备)的潜在对话。交互成本516可以是对话策略系统502与用户(例如,用户所采用的电子设备)之间的估计交互成本。例如,交互成本516可以是用户(例如,用户所采用的电子设备)回答问题的估计成本。参数选择器504可以选择对话策略系统502的一个或多个参数。在一个示例中,一个或多个参数可以是对话策略系统502的一个或多个模型参数。在一方面,仿真器508可以采用一个或多个参数来估计对话策略系统502和/或与对话策略系统502相关联的信息系统的性能。在一个实施例中,仿真器508可以仿真用户回答与一组问题策略514相关联的一个或多个问题。例如,仿真器508可以是回答与一组问题策略514相关联的一个或多个问题、以估计对话策略系统502和/或与对话策略系统502相关联的信息系统的性能的仿真器。在某些实施例中,仿真器508可以基于一种或多种机器学习技术和/或一种或多种人工智能技术来回答与一组问题策略514相关联的一个或多个问题。信息增益运算器506可以基于项目-特征矩阵510、nlu准确性512、一组问题策略514和/或交互成本516来运算信息增益数据。例如,信息增益运算器506可以运算与一组问题策略514相关联的熵的变化量。问题策略518可以是可以由对话策略系统502提供给用户(例如,用户所采用的电子设备)的一系列一个或多个问题。例如,问题策略518可以是可以由对话策略系统502提供给用户(例如,用户所采用的电子设备)的最优系列的一个或多个问题。

图6图示了根据本文所描述的一个或多个实施例的示例非限制性系统600的框图。为了简洁起见,省略了本文所描述的其他实施例中采用的类似元件的重复性描述。

系统600包括电子设备602和信息系统604。电子设备602可以是用户设备,诸如例如计算设备、计算机、台式计算机、膝上型计算机、监视设备、智能设备、智能电话、移动设备、手持设备、平板电脑、可穿戴设备、便携式计算设备、传感器设备、麦克风设备和/或其他电子设备。此外,电子设备602可以向信息系统604提供对话数据(例如,对话输入数据112)。例如,电子设备602可以将语音数据、文本数据、音频数据、视频数据、图像数据和/或其他数据提供给信息系统604。附加地或备选地,电子设备602可以从信息系统604接收对话数据(例如,对话输出数据114)。例如,电子设备602可以从信息系统604接收语音数据、文本数据、音频数据、视频数据、图像数据和/或其他数据。在一方面,信息系统604可以包括对话策略组件102。信息系统604可以是信息查询系统,诸如例如对话计算机系统。例如,信息系统604可以是计算机程序系统,其采用与对话策略组件102结合的一种或多种人工智能技术,以经由语音数据、文本数据、音频数据、视频数据、图像数据和/或其他数据来与电子设备602相关联的用户进行对话。在某些实施例中,信息系统604可以在服务器和/或云计算环境上实现。例如,电子设备602可以经由网络与信息系统604通信,网络诸如例如是无线网络、有线网络、通信网络、广域网(wan,例如因特网)、lan、互联网协议(ip)网络、ip语音网络、互联网电话网络、蜂窝网络、移动电信网络和/或另一类型的网络。

图7图示了根据本文所描述的一个或多个实施例的有助于生成和执行最优对话策略的示例非限制性计算机实现的方法700的流程图。在702处,由操作地耦合到处理器的系统(例如,由自然语言处理组件202)经由自然语言处理来提取与信息系统相关联的第一对话数据。例如,可以经由自然语言处理从信息系统和/或电子设备中提取第一对话数据。在一个示例中,电子设备可以将第一对话数据提供给信息系统。此外,可以经由一种或多种自然语言处理技术来处理和/或分析第一对话数据。例如,一种或多种自然语言处理技术可以包括语音识别和/或自然语言理解以解释第一对话数据的内容。第一对话数据可以包括语音数据、音频数据、文本数据、视频数据、图像数据和/或其他数据。电子设备可以是用户设备,诸如例如计算设备、计算机、台式计算机、膝上型计算机、监视设备、智能设备、智能电话、移动设备、手持设备、平板电脑、可穿戴设备、便携式计算设备、传感器设备、麦克风设备和/或其他电子设备。在某些实施例中,可以基于人工智能和/或一种或多种机器学习技术的原理来确定与第一对话数据相关联的分类、相关性、推理和/或表达。

在704处,由系统(例如,由信息增益组件104)估计信息增益数据,该信息增益数据指示与关联于信息系统的第一对话数据相关的熵的变化量。在一个实施例中,可以基于与第一对话数据相关联的自然语言处理的准确性来缩放信息增益数据。例如,可以基于与使用自然语言处理的第一对话数据相关联的、所检测的对话的所估计的准确性来缩放信息增益数据。

在706处,由系统(例如,由问题选择器组件106)基于信息增益数据来选择与第一问题策略相关联的第二对话数据或与第二问题策略相关联的第三对话数据。第一问题策略可以是由信息系统提供的针对第一对话的第一询问策略。此外,第一问题策略可以包括第一语音数据、第一文本数据、第一音频数据、第一视频数据、第一图像数据和/或其他第一数据。第二问题策略可以是由信息系统提供的针对第二对话的第二询问策略。此外,第二问题策略可以包括第二语音数据、第二文本数据、第二音频数据、第二视频数据、第二图像数据和/或其他第二数据。

在708处,由系统(例如,由问题选择器组件106)呈现第二对话数据或第三对话数据。例如,可以电子设备上呈现与第二对话数据或第三对话数据相关联的语音数据、文本数据、音频数据、视频数据、图像数据和/或其他数据。电子设备可以对应于提供第一对话数据的电子设备。备选地,电子设备可以是与提供第一对话数据的电子设备不同的电子设备。

在710处,确定附加的对话数据是否可用。如果是,则计算机实现的方法700可以返回到702。如果否,则计算机实现的方法700可以结束。在某些实施例中,计算机实现的方法700可以附加地或备选地包括:由系统生成准确性数据,该准确性数据估计自然语言处理的准确性。在某些实施例中,计算机实现的方法700可以附加地或备选地包括:由系统基于准确性数据来修改信息增益数据。在某些实施例中,计算机实现的方法700可以附加地或备选地包括:通过选择第二对话数据或第三对话数据来提高信息系统的性能。

为了简化说明,计算机实现的方法被描绘和描述为一系列动作。应当理解和认识到,本主题发明不受所示出的动作和/或动作的次序所限制,例如,动作可以以各种次序发生和/或同时发生,并且可以具有本文未呈现和描述的其他动作。此外,并非需要所有所示出的动作来实现根据所公开主题的计算机实现的方法。另外,本领域技术人员将理解和认识到,计算机实现的方法可以备选地经由状态图或事件而被表示为一系列相互关联的状态。另外,应该进一步认识到,下文中以及整个说明书中公开的计算机实现的方法能够被存储在制品上,以有助于将这样的计算机实现的方法传输和转移到计算机上。本文所使用的术语“制品”旨在涵盖从任何计算机可读设备或存储介质可访问的计算机程序。

此外,由于至少经由自然语言处理来提取对话数据和/或呈现对话数据是从电气和机械组件以及电路系统的组合中建立的,所以人类无法复制或执行例如由本文所公开的对话策略组件102(例如,信息增益组件104、问题选择器组件106、自然语言处理组件202、仿真组件302和/或人工智能组件402)执行的处理。例如,人类无法执行自然语言处理,无法在电子设备上呈现对话数据等。

为了提供针对所公开主题的各个方面的上下文,图8以及以下的讨论旨在提供对其中可以实现所公开主题的各个方面的合适环境的一般描述。图8图示了在其中可以有助于本文所描述的一个或多个实施例的示例非限制性操作环境的框图。为了简洁起见,省略了本文所描述的其他实施例中采用的类似元件的重复性描述。

参考图8,用于实现本公开的各个方面的合适的操作环境800还可以包括计算机812。计算机812还可以包括处理单元814、系统存储器816和系统总线818。系统总线818将包括但不限于系统存储器816的系统组件耦合到处理单元814。处理单元814可以是各种可用处理器中的任何一个。还可以采用双微处理器和其他多处理器架构作为处理单元814。系统总线818可以是若干类型的(多个)总线结构中的任何一个,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用任何种类的可用总线架构的本地总线,包括但不限于工业标准架构(isa)、微通道架构(msa)、扩展isa(eisa)、智能驱动电子器件(ide)、vesa本地总线(vlb)、外围组件互连(pci)、卡总线、通用串行总线(usb)、高级图形端口(agp)、火线(ieee1394)和小型计算机系统接口(scsi)。

系统存储器816还可以包括易失性存储器820和非易失性存储器822。基本输入/输出系统(bios)包含诸如在启动期间在计算机812内的元件之间传送信息的基本例程,其被存储在非易失性存储器822中。计算机812还可以包括可移除/不可移除、易失性/非易失性计算机存储介质。图8图示了例如磁盘存储装置824。磁盘存储装置824还可以包括但不限于诸如磁盘驱动、软盘驱动、磁带驱动、jaz驱动、zip驱动、ls-100驱动、闪存卡或记忆棒的设备。磁盘存储装置824还可以包括单独的存储介质或与其他存储介质组合的存储介质。为了有助于磁盘存储装置824到系统总线818的连接,通常使用可移除或不可移除接口,诸如接口826。图8还描绘了充当用户和在合适的操作环境800中描述的基本计算机资源之间的中介的软件。这样的软件还可以包括例如操作系统828。可以被存储在磁盘存储装置824上的操作系统828用于控制和指派计算机812的资源。

系统应用830利用操作系统828通过程序模块832和程序数据834对资源进行管理,程序模块832和程序数据834例如被存储在系统存储器816或磁盘存储装置824中。应当理解,本公开可以用各种操作系统或操作系统的组合来实现。用户通过(多个)输入设备836将命令或信息键入到计算机812中。输入设备836包括但不限于诸如鼠标的指向设备、轨迹球、触控笔、触摸板、键盘、麦克风、操纵杆、游戏板、卫星天线、扫描仪、电视调谐器卡、数字相机、数字摄像机、网络摄像头等。这些和其他输入设备通过系统总线818经由(多个)接口端口838连接到处理单元814。(多个)接口端口838包括例如串行端口、并行端口、游戏端口和通用串行总线(usb)。(多个)输出设备840使用与(多个)输入设备836相同类型的端口中的一些端口。因此,例如,usb端口可以被用来向计算机812提供输入,并且将信息从计算机812输出到输出设备840。提供输出适配器842是为了说明存在需要特殊适配器的一些输出设备840,例如监视器、扬声器和打印机以及其他输出设备840。作为说明而非限制,输出适配器842包括显卡和声卡,其提供输出设备840和系统总线818之间的连接手段。应当注意,其他设备和/或设备的系统提供输入和输出能力二者,诸如(多个)远程计算机844。

计算机812可以使用到一个或多个远程计算机(诸如(多个)远程计算机844)的逻辑连接在联网环境中操作。(多个)远程计算机844可以是计算机、服务器、路由器、网络pc、工作站、基于微处理器的设施、对等设备或其他公共网络节点等,并且通常还可以包括相对于计算机812描述的许多或所有元件。为了简洁起见,对于(多个)远程计算机844仅图示出存储器存储装置设备846。(多个)远程计算机844通过网络接口848逻辑地连接到计算机812,并且然后经由通信连接850物理地连接。网络接口848涵盖有线和/或无线通信网络,诸如局域网(lan)、广域网(wan)、蜂窝网络等。lan技术包括光纤分布式数据接口(fddi)、铜缆分布式数据接口(cddi)、以太网、令牌环等。wan技术包括但不限于点对点链接、电路交换网络(如集成服务数字网络(isdn))及其上的变体、分组交换网络和数字用户线(dsl)。(多个)通信连接850是指被采用以将网络接口848连接到系统总线818的硬件/软件。尽管为了说明清楚起见,通信连接850被示出在计算机812内部,但是它也可以在计算机812外部。仅出于示例性目的,用于连接到网络接口848的硬件/软件还可以包括内部和外部技术,诸如包括常规电话级调制解调器、电缆调制解调器和dsl调制解调器的调制解调器、isdn适配器和以太网卡。

现在参考图9,其中显示了示例性的云计算环境950。如图所示,云计算环境950包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点910,本地计算设备例如可以是个人数字助理(pda)或移动电话954a,台式电脑954b、笔记本电脑954c和/或汽车计算机系统954n。云计算节点910之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点910进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境950提供的基础架构即服务(iaas)、平台即服务(paas)和/或软件即服务(saas)。应当理解,图9显示的各类计算设备954a-n仅仅是示意性的,云计算节点910以及云计算环境950可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。

现在参考图10,其中示出了云计算环境950(图9)提供的一组功能抽象层。首先应当理解,图10所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图10所示,提供下列层和对应功能:

硬件和软件层1060包括硬件和软件组件。硬件组件的例子包括:主机1061;基于risc(精简指令集计算机)架构的服务器1062;服务器1063;刀片服务器1064;存储设备1065;网络和网络组件1066。软件组件的例子包括:网络应用服务器软件1067以及数据库软件1068。

虚拟层1070提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器1071、虚拟存储1072、虚拟网络1073(包括虚拟私有网络)、虚拟应用和操作系统1074,以及虚拟客户机1075。

在一个示例中,管理层1080可以提供下述功能:资源供应功能1081:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能1082:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能1083:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能1084:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(sla)计划和履行功能1085:为根据sla预测的对云计算资源未来需求提供预先安排和供应。

工作负载层1090提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的非限制性示例包括:地图绘制与导航1091;软件开发及生命周期管理1092;虚拟教室的教学提供1093;数据分析处理1094;交易处理1095;以及对话策略处理软件1096。

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

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

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

尽管以上已经在运行在一个和/或多个计算机上的计算机程序产品的计算机可执行指令的一般上下文中描述了主题,但是本领域技术人员将认识到,本公开内容也可以是或可以与其他程序模块结合实现。通常,程序模块包括执行特定任务和/或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域技术人员将理解,可以用其他计算机系统配置来实践本发明的计算机实现的方法,包括单处理器或多处理器计算机系统、小型计算设备、大型计算机以及计算机、手持计算设备(例如pda、电话)、基于微处理器或可编程的消费或工业电子产品等。所图示的各方面也可以在分布式计算环境中被实践,在分布式计算环境中,任务由通过通信网络链接的远程处理设备来执行。然而,本公开的一些甚至全部方面可以在独立计算机上被实践。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。

如在本申请中使用的,术语“组件”、“系统”、“平台”、“接口”等可以指代和/或可以包括计算机相关实体或与具有一个或多个特定功能性的可操作机器相关的实体。本文所公开的实体可以是硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于在处理器上运行的过程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。作为说明,在服务器上运行的应用和服务器都可以是组件。一个或多个组件可以驻留在执行的线程和/或过程中,并且组件可以位于一个计算机上和/或分布在两个或更多个计算机之间。在另一示例中,可以从其上存储有各种数据结构的各种计算机可读介质执行各个组件。组件可以诸如根据具有一个或多个数据分组的信号(例如,来自一个组件与本地系统、分布式系统中的另一组件和/或通过诸如因特网之类的网络经由信号与其他系统交互的数据)经由本地和/或远程过程进行通信。作为另一示例,组件可以是具有由电气或电子电路系统操作的机械部件所提供的特定功能性的装置,其由处理器执行的软件或固件应用操作。在这种情况下,处理器可以在装置内部或外部,并且可以执行软件或固件应用的至少一部分。作为又一示例,组件可以是通过不具有机械部件的电子组件提供特定功能性的装置,其中电子组件可以包括处理器或其他装置,以执行至少部分地赋予电子组件功能性的软件或固件。在一方面,组件可以经由例如云计算系统内的虚拟机来模拟电子组件。

此外,术语“或”旨在意味着包括性的“或”而不是排他性的“或”。也就是说,除非另有说明,或者从上下文可以清楚地看出,否则“x采用a或b”旨在意味着任何自然的包括性排列组合。也就是说,如果x采用a;x采用b;或x采用a和b两者,那么在任何前述实例下都满足“x采用a或b”。此外,在主题说明书和附图中使用的冠词“一”和“一个”通常应被解释为意味着“一个或多个”,除非另有说明或从上下文清楚地理解为是单数形式。如本文所使用的,术语“示例”和/或“示例性”用于意指用作示例、实例或说明。为了避免疑问,本文所公开的主题不受此类示例的限制。另外,本文中描述为“示例”和/或“示例性”的任何方面或设计不一定被解释为比其他方面或设计优选或有利,也不意味着排除那些本领域普通技术人员已知的等效示例性结构和技术。

如在本说明书中采用的,术语“处理器”可以基本上是指任何计算处理单元或设备,包括但不限于单核处理器;具有软件多线程执行能力的单处理器;多核处理器;具有软件多线程执行能力的多核处理器;具有硬件多线程技术的多核处理器;并行平台;以及具有分布式共享存储器的并行平台。另外,处理器可以是指集成电路、专用集成电路(asic)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑控制器(plc)、复杂的可编程逻辑设备(cpld)、分立的栅极或晶体管逻辑、分立的硬件组件或被设计为执行本文所描述的功能的其任何组合。此外,处理器可以利用纳米级架构,诸如但不限于基于分子和量子点的晶体管、开关和门,以便优化空间使用或增强用户装备的性能。处理器也可以被实现为计算处理单元的组合。在本公开中,诸如“存储库”、“存储装置”、“数据存储库”、“数据存储装置”、“数据库”以及与组件的操作和功能性相关的基本上任何其他信息存储组件的术语被用来指代“存储器组件”、体现在“存储器”中的实体或包括存储器的组件。应当理解,本文所描述的存储器和/或存储器组件可以是易失性存储器或非易失性存储器,或者可以包括易失性和非易失性存储器两者。作为说明而非限制,非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除rom(eeprom)、闪存或非易失性随机存取存储器(ram)(例如铁电ram(feram))。易失性存储器可以包括ram,ram例如可以用作外部高速缓存。作为说明而非限制,ram以许多形式可用,诸如同步ram(sram)、动态(dram)、同步dram(sdram)、双倍数据速率sdram(ddrsdram)、增强型sdram(esdram)、同步链接dram(sldram)、直接rambusram(drram)、直接rambus动态ram(drdram)和rambus动态ram(rdram)。另外,本文所公开的系统或计算机实现的方法的存储器组件旨在包括但不限于包括这些以及任何其他合适类型的存储器。

上面已经描述的仅包括系统和计算机实现的方法的示例。当然,不可能为了描述本公开而描述组件或计算机实现的方法的每种可能的组合,但是本领域的普通技术人员可以认识到,本公开的许多其他组合和置换是可能的。此外,在具体实施方式、权利要求书、附录和附图中使用术语“包括”、“具有”、“拥有”等的程度时,这些术语旨在以类似于术语“包括”在权利要求中被用作过渡词时解释“包括”类似的方式而是包括性的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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