首页 / 专利库 / 电脑编程 / 算法 / 用于认知实例的认知调解器

用于认知实例的认知调解器

阅读:1046发布:2020-06-20

专利汇可以提供用于认知实例的认知调解器专利检索,专利查询,专利分析的服务。并且一种方法包括由计算设备接收第一查询,并将第一查询分配给多个认知引擎,其中多个认知引擎中的每一个包括用于处理数据的不同特性。该方法还包括,响应于从多个认知引擎中的每一个接收到对第一查询的响应,比较从多个认知引擎接收到的响应。该方法还包括响应于确定来自第一认知引擎的第一响应和来自第二认知引擎的第二响应之间的差高于预定 阈值 ,执行响应调解过程直到该差低于预定阈值。该方法还包括从所接收的对第一查询和第二查询的响应中选择第一最终响应,并向用户显示第一最终响应。,下面是用于认知实例的认知调解器专利的具体信息内容。

1.一种方法,包括:
在计算设备处接收第一查询;
由所述计算设备将所述第一查询分配给多个认知引擎,其中,所述多个认知引擎中的每一个认知引擎包括用于处理数据的不同特性;
响应于从所述多个认知引擎中的每一个认知引擎接收到对所述第一查询的响应,由所述计算设备比较从所述多个认知引擎接收到的响应;
响应于确定来自第一认知引擎的第一响应与来自第二认知引擎的第二响应之间的差高于预定阈值,由所述计算设备执行响应调解过程,直到所述差低于所述预定阈值,其中,所述响应调解过程包括:
由所述计算设备将所述第一响应发送到所述第二认知引擎;
由所述计算设备确定所述第一响应和所述第二响应之间的共同概念;
由所述计算设备基于所述第一响应和知识数据库来生成第二查询;
由所述计算设备向所述第二认知引擎发送所述第二查询;以及
在所述计算设备处从所述第二认知引擎接收对所述第二查询的第三响应;
由所述计算设备从所接收的对所述第一查询和所述第二查询的响应中选择第一最终响应;以及
由所述计算设备向用户显示所述第一最终响应。
2.根据权利要求1所述的方法,还包括:
由所述计算设备基于所选择的所述第一最终响应,调整与来自所述多个引擎的至少一个认知引擎相关联的数据语料库以生成第二最终响应。
3.根据权利要求1或2所述的方法,其中,所述第一查询、所述第二查询和所接收的响应是自然语言形式的。
4.根据权利要求1至3中的一项所述的方法,其中,所述不同特性中的至少一个特性选自包括以下各项的组:数据源、调优参数和算法
5.根据权利要求1至4中的一项所述的方法,还包括:
由所述计算设备基于测试查询集和测试响应集来对所述多个认知引擎进行分类,其中,向所述多个认知引擎中的每一个认知引擎分配分数值。
6.根据权利要求5所述的方法,还包括:
由所述计算设备评估所述第一查询;以及
由所述计算设备识别对于所述第一查询所述第一认知引擎具有比所述第二认知引擎的分数值更大的分数值。
7.根据权利要求1至6中的一项所述的方法,还包括:
由所述计算设备将所述第一查询划分成与第一类别相关联的第一部分和与第二类别相关联的第二部分,其中,所述第一类别和所述第二类别从包括以下各项的组中选择:地理主题、传感器类型相关主题和专题相关主题;以及
由所述计算设备将所述第一查询的所述第一部分和所述第二部分中的每一个分配给来自所述多个认知引擎的不同认知引擎。
8.根据权利要求7所述的方法,其中,分配所述第一查询的所述第一部分和所述第二部分中的每一个基于从包括以下各项的组中选择的类别:地理主题、传感器类型相关主题、专题相关主题。
9.根据权利要求1至8中的一项所述的方法,其中,所述第一认知引擎是所述计算设备。
10.根据权利要求1至9中的一项所述的方法,其中,所述第二认知引擎是所述计算设备。
11.根据权利要求1至10中的一项所述的方法,还包括:
由所述计算设备通过以不同方式重新制定所述第一查询并比较相关的部分响应,基于由自身一致性、相关性和覆盖所定义的评估,来消除来自认知引擎的至少一个不适当的响应。
12.根据权利要求11所述的方法,其中,通过对至少两个不同查询的单个响应来定义自身一致性。
13.根据权利要求11或12所述的方法,其中,所消除的不适当响应不匹配所述第一查询的查询类型。
14.根据权利要求1至13中的一项所述的方法,其中,覆盖由解答所述第一查询的所有部分的响应来定义。
15.根据权利要求1至14中的一项所述的方法,还包括:
由所述计算设备基于所述多个认知引擎中的每一个认知引擎的可用性来选择用于分配所述第一查询的所述多个认知引擎。
16.根据权利要求1至15中的一项所述的方法,还包括:
由所述计算设备确定所述第一查询的共同概念包括基于本体应用模糊匹配方法和/或同义词匹配。
17.一种计算机系统,包括:
一个或多个计算机处理器;
一个或多个计算机可读存储介质;以及
存储在所述计算机可读存储介质上以供所述一个或多个计算机处理器中的至少一个计算机处理器执行的程序指令,所述程序指令包括:
用于接收第一查询的程序指令;
用于将所述第一查询分配给多个认知引擎的程序指令,其中,所述多个认知引擎中的每一个认知引擎包括用于处理数据的不同特性;
用于响应于从所述多个认知引擎中的每一个认知引擎接收到对所述第一查询的响应,比较从所述多个认知引擎接收到的响应的程序指令;
用于响应于确定来自第一认知引擎的第一响应与来自第二认知引擎的第二响应之间的差高于预定阈值而执行响应调解过程直到所述差低于所述预定阈值的程序指令,其中,所述响应调解过程包括:
用于将所述第一响应发送到所述第二认知引擎的程序指令;
用于确定所述第一响应与所述第二响应之间的共同概念的程序指令;
用于基于所述第一响应和知识数据库生成第二查询的程序指令;
用于将所述第二查询发送到所述第二认知引擎的程序指令;以及
用于从所述第二认知引擎接收对所述第二查询的第三响应的程序指令;
用于从所接收的对所述第一查询和所述第二查询的响应中选择第一最终响应的程序指令;以及
用于向用户显示所述第一最终响应的程序指令。
18.根据权利要求17所述的计算机系统,还包括存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令在由处理器执行时使所述处理器:
基于所选择的第一最终响应,调整与来自所述多个引擎的至少一个认知引擎相关联的数据语料库以生成第二最终响应。
19.根据权利要求17或18所述的计算机系统,其中,所述第一查询、所述第二查询和所接收的响应是自然语言形式的。
20.根据权利要求17至19中的一项所述的计算机系统,其中,所述不同特性中的至少一个特性选自包括以下各项的组:数据源、调优参数和算法。
21.根据权利要求17至20中的一项所述的计算机系统,还包括存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令在由处理器执行时使所述处理器:
基于测试查询集和测试响应集对所述多个认知引擎进行分类,其中,向所述多个认知引擎中的每一个认知引擎分配分数值。
22.根据权利要求21所述的计算机系统,还包括存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令在由处理器执行时使所述处理器:
评估所述第一查询;以及
识别对于所述第一查询所述第一认知引擎具有比所述第二认知引擎的分数值更大的分数值。
23.根据权利要求17至20中的一项所述的计算机系统,还包括存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令在由处理器执行时使所述处理器:
将所述第一查询划分成与第一类别相关联的第一部分和与第二类别相关联的第二部分,其中,所述第一类别和所述第二类别从包括以下各项的组中选择:地理主题、传感器类型相关主题和专题相关主题;以及
将所述第一查询的所述第一部分和所述第二部分中的每一个分配给来自所述多个认知引擎的不同认知引擎。
24.根据权利要求23所述的计算机系统,其中,用于分配所述第一查询的所述第一部分及所述第二部分中的每一个的程序指令基于从包括以下各项的组中选择的类别:地理主题、传感器类型相关主题、专题相关主题。
25.一种计算机程序产品,包括:
一个或多个计算机可读存储介质和存储在所述一个或多个存储介质中的至少一个上的程序指令,所述程序指令包括:
用于接收第一查询的程序指令;
用于将所述第一查询分配给多个认知引擎的程序指令,其中,所述多个认知引擎中的每一个认知引擎包括用于处理数据的不同特性;
用于响应于从所述多个认知引擎中的每一个认知引擎接收到对所述第一查询的响应,比较从所述多个认知引擎接收到的响应的程序指令;
用于响应于确定来自第一认知引擎的第一响应与来自第二认知引擎的第二响应之间的差高于预定阈值而执行响应调解过程直到所述差低于所述预定阈值的程序指令,其中,所述响应调解过程包括:
用于将所述第一响应发送到所述第二认知引擎的程序指令;
用于确定所述第一响应与所述第二响应之间的共同概念的程序指令;
用于基于所述第一响应和知识数据库生成第二查询的程序指令;
用于将所述第二查询发送到所述第二认知引擎的程序指令;以及
用于从所述第二认知引擎接收对所述第二查询的第三响应的程序指令;
用于从所接收的对所述第一查询和所述第二查询的响应中选择第一最终响应的程序指令;以及
用于向用户显示所述第一最终响应的程序指令。

说明书全文

用于认知实例的认知调解器

技术领域

[0001] 本公开一般涉及认知计算,并且更具体地,涉及用于生成对寻址到两个不同认知引擎的查询的改进的响应的方法。本发明还涉及一种用于从两个不同认知引擎生成对查询的改进的响应的系统,以及一种计算机程序产品。

背景技术

[0002] 目前,认知计算部分地是商品服务,其中移动或计算提供商生产和交付可以识别和解释口头语言的面向最终用户的设备。面向最终用户的设备还可以充当个人助理和知识导航器。来自不同提供商的认知服务使用不同的数据源、不同的算法和不同的调优参数,并且可以随着时间应用不同的自学习方法。另外,不同提供商的属性可以是特定于认知服务的特定用户组的,例如说特定类型的语言的特定用户组。来自用第一语言训练的第一认知服务提供商的认知服务可以给出与来自用第二语言训练的第二认知服务提供商的认知服务不同的回答。最终用户通常对获得对问题的最有价值的响应感兴趣。
[0003] 存在与用于从认知系统生成回答的方法有关的若干公开。文献“Cognitive Instance-Based Learning Agents in a Multi-Agent Congestion Game,Paul Scerri et al,Workshop on Information Sharing in Large Multi-Agent Systems at AAMAS,2013”,公开了由人类学习方式启发的多代理学习方法与数值更密集的代理学习方式的经验比较。更具体地,代理必须重复地遍历图,并且在相同边缘上的代理彼此干扰,因此需要学习以找到未拥塞的路线。然而,通过多代理的学习可能导致不期望的和不想要的动态,因为该学习为其他代理创建了学习的非固定环境。

发明内容

[0004] 根据本发明的实施例公开了一种用于认知调解的方法、计算机程序产品和计算机系统,所述方法包括,在计算设备处接收第一查询;由所述计算设备将所述第一查询分配给多个认知引擎,其中所述多个认知引擎中的每个认知引擎包括用于处理数据的不同特性;响应于从所述多个认知引擎中的每个认知引擎接收到对所述第一查询的响应,由所述计算设备比较从所述多个认知引擎接收到的响应;响应于确定来自第一认知引擎的第一响应与来自第二认知引擎的第二响应之间的差高于预定阈值,由所述计算设备执行响应调解过程,直到所述差低于所述预定阈值,其中所述响应调解过程包括:由所述计算设备将所述第一响应发送到所述第二认知引擎;由所述计算设备确定所述第一响应和所述第二响应之间的共同概念;由所述计算设备基于所述第一响应和知识数据库来生成第二查询;由所述计算设备将所述第二查询发送到所述第二认知引擎;以及在所述计算设备处接收来自所述第二认知引擎的对所述第二查询的第三响应;由所述计算设备从所接收的对所述第一查询和所述第二查询的响应中选择第一最终响应;以及由计算设备向用户显示所述第一最终响应。
[0005] 所述计算机系统包括一个或多个计算机处理器;一个或多个计算机可读存储介质;以及存储在计算机可读存储介质上以供一个或多个计算机处理器中的至少一个计算机处理器执行的程序指令,程序指令包括:用于接收第一查询的程序指令;用于将所述第一查询分配给多个认知引擎的程序指令,其中所述多个认知引擎中的每个认知引擎包括用于处理数据的不同特性;用于响应于从所述多个认知引擎中的每个认知引擎接收到对所述第一查询的响应,比较从所述多个认知引擎接收到的响应的程序指令;用于响应于确定来自第一认知引擎的第一响应与来自第二认知引擎的第二响应之间的差高于预定阈值而执行响应调解过程直到所述差低于所述预定阈值的程序指令,其中所述响应调解过程包括:用于将所述第一响应发送到所述第二认知引擎的程序指令;用于确定所述第一响应与所述第二响应之间的共同概念的程序指令;用于基于所述第一响应和知识数据库生成第二查询的程序指令;用于将所述第二查询发送到所述第二认知引擎的程序指令;以及用于从第二认知引擎接收对第二查询的第三响应的程序指令;用于从所接收的对所述第一查询和所述第二查询的响应中选择第一最终响应的程序指令;以及用于向用户显示所述第一最终响应的程序指令。
[0006] 一种计算机程序产品、一个或多个计算机可读存储介质以及存储在所述一个或多个存储介质中的至少一个上的程序指令,所述程序指令包括:用于接收第一查询的程序指令;用于将所述第一查询分配给多个认知引擎的程序指令,其中所述多个认知引擎中的每个认知引擎包括用于处理数据的不同特性;用于响应于从所述多个认知引擎中的每个认知引擎接收到对所述第一查询的响应,比较从所述多个认知引擎接收到的响应的程序指令;用于响应于确定来自第一认知引擎的第一响应与来自第二认知引擎的第二响应之间的差高于预定阈值而执行响应调解过程直到所述差低于所述预定阈值的程序指令,其中所述响应调解过程包括:用于将所述第一响应发送到所述第二认知引擎的程序指令;用于确定所述第一响应与所述第二响应之间的共同概念的程序指令;用于基于所述第一响应和知识数据库生成第二查询的程序指令;用于将所述第二查询发送到所述第二认知引擎的程序指令;以及用于从第二认知引擎接收对第二查询的第三响应的程序指令;用于从所接收的对所述第一查询和所述第二查询的响应中选择第一最终响应的程序指令;以及用于向用户显示所述第一最终响应的程序指令。
附图说明
[0007] 图1是示出根据本发明实施例的分布式数据处理环境的功能框图
[0008] 图2是描述根据本发明的实施例的用于消除具有固定数量的时间的冗余的部分冗余消除模的操作步骤的流程图
[0009] 图3是根据本发明的实施例的控制流图的示例,对于该控制流图,部分冗余消除模块执行冗余消除。
[0010] 图4是根据本发明的实施例的与图3的控制流图相关联的一组存储器位置和寄存器的特性的表。
[0011] 图5是根据本发明的实施例的由部分冗余消除模块处理的、图4的存储器位置M1的全局信息的表。
[0012] 图6是根据本发明实施例的计算机系统(诸如图1的服务器计算机)的组件的框图。
[0013] 图7是根据本发明的实施例的用于从两个认知引擎生成对查询的改进的响应的系统的合并框图。
[0014] 图8是根据本发明的实施例的适于执行与所提出的方法相关的程序代码的示例计算系统。

具体实施方式

[0015] 所提出的用于从两个不同认知引擎生成对查询的改进的响应的方法可以提供多个优点和技术效果:
[0016] 通过考虑来自两个或更多个认知引擎的响应,与来自单个认知引擎的单个响应相比,被使能以访问来自不同认知引擎的不同响应并对其赋予权重的调解单元可被设计和配置成生成对最终用户的查询的改进的响应。通过使用多个认知引擎,响应可以具有改进的准确性。另外,所提出的方法和相关系统可以将来自多个认知实例的响应整合到对最终用户更有用的响应中。还可以显示特定响应的决策树,其中该决策树示出来自不同来源的利弊。
[0017] 此外,根据特殊知识领域,利用专业认知实例/认知引擎进行查询或利用其部分是可能的。因此,避免最终用户必须决定哪个认知引擎可以解答(address)查询,而是多个认知引擎的组合知识确定对于特定用户查询哪个认知引擎可以具有最合适的回答(即,改进的响应)。
[0018] 通过对来自被专化在不同知识领域中的不同认知引擎的响应以及其它方法和系统变型赋予权重,可以在相关性、自身一致性以及特定响应是解答完整查询还是仅解答查询的部分方面检查响应。这些检查可以用于认知调解器引擎的自学习过程。
[0019] 所提出的方法和系统允许可能稍微不同(例如,不同的语料库和调优)或完全不同(例如,不同的算法)的两个认知引擎之一用作作为专用计算设备的认知调解器引擎,其中在与两个认知引擎相关的两个认知服务之一中具有小的开销。在具有较少的提供认知服务所需的设备的合并系统中,较小的开销带来较低的中央处理单元(CPU)使用率和较低的随机存取存储器(RAM)使用率。
[0020] 下面,将描述所提出的方法和系统的一些更多实施例:
[0021] 在一个实施例中,该方法可包括调整至少一个认知引擎的数据库以给出具有最终响应的范围的响应。这可以通过修改一个或多个知识图来实现。或者,可以使用一个或多个链表来代替知识图。因此,调整数据语料库基本上可以相当于将缺失概念添加到知识图中,使得在将来该认知引擎生成可以与最终选择的响应一致的响应。查询和响应可以是自然语言形式,其中自然语言可以是任何人类口头自然语言。因此,用户可以以自然的方式向认知引擎系统制定他的查询或问题。或者,查询还可以包括来自传感器(例如,图像传感器)(独立的或与声学传感器组合等)的数据,以便允许诸如“这是跑车的图片吗?”或类似的查询。
[0022] 在另一实施例中,该方法还可以包括将查询分配给多于两个的认知引擎,其中两个认知引擎各自具有不同的特性。可从包括认知引擎的不同数据源(即,不同语料库)、不同调谐参数和/或不同算法的群组中选择至少一个特性。因此,对于一般和提出的概念,应用具有不同行为并因此生成不同的响应的认知引擎可能是有用的。这些响应可以根据特定的知识领域而稍微变化或在更高的程度上变化。
[0023] 该方法还可以包括通过测试查询集和相关响应对两个认知引擎进行分类(即,分配分数值)。为了对认知引擎进行分类的目的,可以预定义测试查询集,以推断特定认知引擎的能。结果,该方法也可以给每个认知引擎分配分数值。分数值可以允许分类成不同的知识领域,诸如物理学、哲学、化学和政治学。分类可在认知引擎的启动/训练过程期间执行。另外,作为该方法和训练阶段的一部分,可允许多于两个的认知引擎。分类过程然后可以将不同的知识领域分配给不同的认知引擎。
[0024] 该方法还可以包括评估查询类型并对具有匹配问题/查询类型的分数值的认知引擎的响应赋予比来自不匹配查询类型的认知引擎的响应更高的权重。翻译成人类类别允许信任作为查询技术领域中的“专家”的认知引擎。概念可以被延伸到查询类型和分数值之间的相对距离。分配和赋予权重过程可以由认知调解器引擎执行。
[0025] 认知调解器引擎可根据从包括地理主题、传感器类型相关主题、类型相关主题的组中选择的至少两个类别将查询划分成多个部分,并将每个部分分配给不同的认知引擎。结果,增加了认知引擎之一的所生成的响应的更高的相关性。根据从包括地理主题、传感器类型相关主题和专题相关主题的组中选出的类别来执行每个部分的分配。因此,可以根据认知引擎的分类以及将查询划分成多个部分来应用该方法。
[0026] 在一个可能的实施例中,认知引擎之一和认知调解器引擎可以是相同的,使得该两个认知引擎中的一个接管该方法和相关系统的两个基本元素的色,两个基本元素为认知引擎本身以及认知调解器引擎。这可以节省有价值的资源,并且当与包括认知调解器引擎和至少两个认知引擎的三部分解决方案相比时,可以生成类似的响应。
[0027] 认知引擎之一可包括连接到两个2层认知引擎的2层调解器系统。因此,可以构建认知引擎和认知调解器引擎的分级结构,从而允许更深和更复杂的响应生成。所提出的概念和相关系统的深度(即,分级结构层级的数量)以及宽度(即,每层级耦合到认知调解器引擎的并行认知引擎的数量)在理论上是无限的,从而允许可应用于几乎任何类型的查询或问题的微调响应生成器。
[0028] 该方法还可以包括通过以不同的方式重新制定查询并比较相关的部分响应,通过在自身一致性(通过对稍微修改的问题激发相同或类似的回答)、相关性、和覆盖方面评估响应,来消除认知引擎的不适当(即,不良的或不足够的)响应。
[0029] 如果对稍微修改的查询的响应可以得到相同的响应,则可以给出自身一致性。此外,可以应用预定义的阈值。如果响应的比较值保持在预定阈值以下,则将响应确定为具有自身一致性。
[0030] 根据一个附加实施例,该方法还可包括消除来自认知引擎的与查询的类型不匹配的响应。因此,如果来自不同认知引擎的响应显著不同,则这些响应可从当前认知引擎的类型中选择,该类型由匹配查询类型的一组标准查询(比较上述训练会话)确定。结果,产生有用的响应可能性更大。如果应用多个认知引擎,则构建大多数的响应优于来自少数组的响应。
[0031] 根据所述方法的另一实施例,如果响应可解答主要查询的所有部分,则可给出覆盖。因此,对于被分割成多个部分的查询,仍然没有遗漏的部分响应。
[0032] 该方法还可以包括根据指示认知引擎的可用性信号来选择用于分配查询的认知引擎。这对于部署在云计算环境中作为服务的认知引擎而言可能是有利的特征。如果认知引擎被“预定”(即,完全使用),则查询可不被分配给该认知引擎。相反,可以从多个认知引擎中选择另一认知引擎。选择标准可能受问题的类型和(多个)认知引擎的类型的影响。代替将查询分配给一个备选认知引擎,还可以将查询分配给多个其他备选认知引擎。
[0033] 根据所述方法的一个有利实施例,共同概念的确定可以包括基于本体应用模糊匹配方法和/或同义词匹配。可以使用具有特定表达式的同义词的词典,使得可以将查询做乘法为包括一个或多个同义词形式的原始表达式的多个查询。
[0034] 该方法还具有生成第二问题的能力,该第二问题可以包括利用第二问题来处理知识图中的节点之间的缺失链接,该节点可以包括知识概念。在知识图中,第一链接可存在于表示响应中的一个的第一概念和第三概念之间。在知识图中,在表示响应中的另一个的第二概念和第三概念之间可以存在第二链接。然而,在第一概念和第二概念之间可能不存在链接,使得第一概念和第二概念之间的潜在链接可以表示“缺失链接”。如上所述,代替知识图,所提出的方法也可以与表的链表一起工作。
[0035] 此外,实施例可以采取相关计算机程序产品的形式,可以从提供程序代码的计算机可用或计算机可读介质访问,以供计算机或任何指令执行系统使用或与计算机或任何指令执行系统结合使用。为了本说明书的目的,计算机可用或计算机可读介质可以是任何装置,其可以包含用于存储、通信传达、传播或传输程序的装置,以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用。
[0036] 在本说明书的上下文中,可以使用以下惯例、术语和/或表达:
[0037] 术语“改进的响应”与单个认知引擎的响应(或回答—两个表达在本文档的上下文中可以用作同义词)相比可以表示来自认知引擎联盟的响应。这个概念允许使用两个或更多个认知引擎的组合知识。人们还可以将此视为使用多个认知引擎的群体智能,因为它们被组合以相互影响并增强响应。
[0038] 术语“认知引擎”可以表示基于人工智能信号处理的科学学科的技术平台。基本上,这些平台可以包括机器学习、推理、自然语言处理、语音和视觉、人机交互、对话和叙述式生成等。
[0039] 术语认知引擎可被描述为具有用于开发系统的组件和从系统得到的行为,所述系统大规模地学习、有目的地进行推理并自然地与人类交互。因此,虽然与人工智能领域共享许多属性,但是它经由不同组件的复杂相互作用而区分其自身,其中每个组件包括它们自己的个体成熟学科。
[0040] 认知引擎或系统可以表达的一些特征包括:
[0041] 自适应:它们可以随着信息变化并随着目标和需求的演进而学习。它们可以解决模糊性并容忍不可预测性。它们可以被设计成实时或接近实时地被馈送动态数据。交互式:他们可以容易地与用户交互,使得那些用户可以舒适地定义他们的需求。它们还可以与其他处理器、设备和云计算服务交互,以及与人交互。迭代和有状态:如果问题陈述是模糊的或不完整的,则它们可以通过询问问题或找到附加源输入来帮助定义问题。他们可以“记住”-即,存储-过程中的先前交互,并返回适于该时间点的特定应用的信息。上下文:它们可以理解、识别和提取上下文元素,诸如含义、语法、时间、位置、适当的域、规则、用户的简档、过程、任务和目标。它们可以利用多个信息源,包括结构化和非结构化数字信息以及感觉输入(视觉、手势、听觉或传感器提供的)。在本文档的上下文中,术语“查询”可以表示向认知系统询问或查询的问题。它可以相当于由系统经由用户接口接收的输入。术语查询和问题在本文档内可以互换使用。查询可以以各种不同的格式出现:作为文本、作为语音输入、作为图像或任何类型的传感器数据形式(例如,温度场数据、天气数据、流量数据,…)。
[0042] 在本文档的上下文中,术语“查询”可以表示向认知系统询问或查询的问题。它可以相当于由系统经由用户界面接收的输入。术语查询和问题在本文档内可以互换使用。查询可以以各种不同的格式出现:文本、语音输入、图像或任何类型的传感器数据形式(例如,温度场数据、天气数据、流量数据,…)。
[0043] 术语“响应”可以表示认知系统的输出。它也可以表示为对问题/查询的回答。术语“改进的响应”可表示由认知引擎联盟生成的,对问题的更好的、更精确的或更合适的回答的响应(如果与单个认知引擎的响应相比)。形容词“改进的”不总是应用于单个查询和单个回答。然而,关于多个查询的平均值,所提出的系统的响应可以表示为在准确性、可靠性、精确性和信任能力方面有所改进。
[0044] 术语“差”,具体是不同认知引擎的响应之间的差,可以基本上表示从不同的响应导出的数值。响应本身可以以串的形式(即,两个单词、句子或句子的片段)构造。该串可以由每个维度一个单词的向量来表示。然后可以对每个维度执行串比较。差可以基于这样的串比较(例如,完全相同或多个字母中存在差异)-这样的串比较得到数值的算法是本领域技术人员已知的。用于确定差的替代比较方法也可以基于得到例如80%匹配(或任何其它值)的模糊串匹配算法。这种比较的结果可以总是被表示为数值,该数值(在归一化之后)然后可以与阈值进行比较。
[0045] 术语“知识数据库”可以表示存储可以彼此链接的概念和事实的合并数据库。这可以以知识图(或相互链接的多个知识图)或一组链表的形式来实现。
[0046] 术语“语料库”可以表示知识数据库的概念和事实形式的知识。“调整语料库”然后可以表示通过添加新的概念和/或事实以及添加或改变知识数据库的节点之间的链接来改变知识数据库的内容。
[0047] 术语“自然语言”在这里和在神经心理学、语言学和语言哲学中可以表示在没有有意识的规划或预编辑的情况下通过使用和重复在人类中已经自然进化的自然语言或普通语言。自然语言可以采取不同的形式,诸如语音、签名或书写。它们与诸如用于对计算机编程或学习逻辑的那些的构造和形式语言相区别。
[0048] 术语“2层调解器系统”可以表示认知调解器引擎不被放置在认知引擎和认知调解器引擎树的顶层或根中,而是在较低的即第2层中。3层认知调解器引擎等也是可能的。
[0049] 术语“2层认知引擎”可表示位于认知引擎和认知调解器引擎树中的最上叶子位置的认知引擎。在图5的上下文中给出了更全面的定义。
[0050] 下面,将给出附图的详细描述。图中的所有说明都是示意性的。首先,给出了用于从两个不同认知引擎生成对查询的改进的响应的本发明方法的实施例的框图。然后,将描述进一步的实施例,以及用于从两个不同认知引擎生成对查询的改进的响应的系统的实施例。
[0051] 图1示出了用于从两个不同认知引擎生成对查询或问题的改进的响应的方法100的实施例的框图。可以例如通过用户界面(UI)从用户接收(102)查询或问题。用户界面可以是经典的基于文本的UI、语音输入图像或视频输入、其组合,或者它可以由其他种类的传感器和相关数据来表示。
[0052] 方法100还包括(a)将查询分配(104)到具有不同特性的两个认知引擎,所述两个认知引擎在特性方面是不同的,(b)从两个认知引擎中的每一个接收(106)响应,(c)比较(108)响应,以及(d)在评估(110)响应之间的高于预定阈值的差时,执行(112)响应调解过程。这样的响应调解过程包括将第一认知引擎的响应馈送到第二认知引擎,这也可以被描述为“对等评审”,确定至少两个响应的共同概念或者从响应和知识数据库生成第二问题,并且将其分配给另一个认知引擎。为了确定共同概念,可以利用模糊匹配方法和/或基于本体和/或基于同义词的方法。当讨论该“缺失链接”时,第二问题/查询是基于知识图或链表/表的,如上所述。
[0053] 方法100还包括(e)重复(114)步骤(b)至(d),直到该差低于或等于预定阈值。这可以表示合并或收敛并且可以表示向回答和/或响应收敛。最后,该方法包括(f)选择(116)响应之一作为最终响应,并向用户显示该最终响应。如果两个认知引擎的两个响应被评估为相当或相等,则可以例如通过主导认知机器的概念或通过对于不同查询的所选择的响应的固定序列来随机选择两个响应之一。而且,如果两个响应彼此相当,则可以应用任何其他选择过程。此外,步骤(a)至(f)由认知调解器执行,使得生成改进的响应。
[0054] 图2示出了用于执行所提出的方法100的所涉及的组件的实施例200的框图。用户界面202适于以各种形式向认知调解器引擎204张贴问题/查询,例如作为书面输入、语音和/或作为数据流。用户界面202是根据所支持的输入格式的范围来实现的。
[0055] 认知调解器引擎204是包括以下元件的专用计算设备:数据预处理器206,用于检测所张贴的问题的数据格式,并且用于执行基本检查,例如,该问题是否以所支持的格式。认知分析器212解析查询,并处理与认知引擎216、…、222的通信,并最终将回答发送给后处理器208。自然语言处理器210支持认知过程以解释查询和回答,并制定后续问题和/或查询以及最终回答。
[0056] 认知分析器212使用数据存储214来存储测试问题(用于评估新的认知引擎)和随着时间从与各种认知引擎216、…、222一起工作收集的经验,并且当与认知引擎216、…、222一起工作时使用该信息。数据存储214确保认知分析器212可随时间学习新概念和事实。
[0057] 后处理器208将提供的回答/响应转换为所需的输出格式,并将改进的响应发送到用户界面202。
[0058] 认知分析器212位于认知调解引擎204中,并且来自预处理器206的输入没有被足够地构造,认知分析器212构造该输入。在输入文本的情况下,认知分析器212以如下方式利用自然语言处理器210:
[0059] 为了应用划分和分配查询的方法,认知调解器引擎204分析查询并将其划分成例如可以通过像以下的标准来区分的部分:
[0060] 地理标准:划分问题可以利用响应的地理准确性。问题“世界上哪个足球运动员获得了最多的进球?”例如,被分成“在瑞士哪个足球运动员获得了最多的进球?”,“在英格兰哪个足球运动员获得了最多的进球?”。因此,一个接一个地测试不同的地理地域。
[0061] 传感器/致动器相关标准:可以执行将问题划分成子问题,使得复杂系统中的传感器/致动器的监测或控制可以变得可能,例如,自动转向系统的问题:”我能赶超前车吗?”认知调解器引擎204划分这种问题并将其分发到光学传感器跟踪其他可能的汽车、分发到检查可用功率的达的控制器、以及分发到导航系统以查看突然拐弯是否即将到来。
[0062] 专题标准:将问题划分成子问题还可以应用于将查询划分成逻辑部分的概念。将问题划分成逻辑部分的方法基于自然语言处理。例如,问题/查询可以是:“更有可能赢得彩票还是建筑物雷击?”。这种问题可以被划分成“赢得彩票的概率是多少?”和“建筑物被雷击的概率是多少?”。然后,划分的问题被提交给认知引擎216、…、222。一个问题可以被提交给多个认知引擎。每个认知引擎的选择基于认知引擎具有的能力(根据关于算法的训练数据)和可用性,以便优化解决方案。
[0063] 认知分析器212的有用概念是通过知识图来促进学习过程。不同的实体以不同的关系链接在一起;例如,一个人可以与日期以关系“生日”链接。当处理认知调解器引擎204的新回答时,自然语言处理器210可基于来自用户界面202的输入,以及还来自不同认知引擎216、…、222的反馈,识别知识图的新实体和通道。然后,在将来可以利用该知识图来更好地构造或分割认知调解器引擎204的新响应。知识图被存储在数据存储214,即知识数据库中。
[0064] 为了给出关于对足够的响应的合并和收敛的更全面的想法,可以提供以下示例:在该过程的合并步骤中,认知调解器引擎回答忽视单一回答,即,在多个认知引擎的上下文中仅由认知引擎之一提供的回答。如果系统中涉及五个或更多个认知引擎,则可以实现该方面。
[0065] 在收敛步骤中,剩余的响应(即,陈述)被组合或绑定在一个陈述中。认知调解器引擎检查所组合的陈述是否满足自身一致性、相关性和覆盖的标准。在所组合的发作(onset)未通过三个测试标准中的任一个的情况下,认知调解器引擎重新制定组合陈述,避免导致测试失败的制定。
[0066] 一个生动的示例可以如下:“153有什么特殊的?”
[0067] 回答可以由六个认知引擎提供:
[0068] A)153是前面从1到17的整数的总和并且当由153个球形成三角形时,
[0069] B)三角形的边长各为17个球。
[0070] C)153是前面五个因子1!+2!+3!+4!+5!的总和。
[0071] D)153是数字13+53+33的立方之和。
[0072] E)153英里/小时的神奇投球。
[0073] F)汽车型号153是专用的。
[0074] G)Alabama州路线153是特殊的。
[0075] 并且可以通过由认知调解引擎重新制定问题来执行对不良或不足够的回答的消除:数字153的独特属性是什么?用什么将153与其他区分?对自身一致性的检查提供:在询问“数字153的独特属性”的重新制定的问题中认知引擎D)、E)和F)将不会给出相同的回答。
[0076] 对相关性的检查:认知引擎E)提供汽车型号作为回答,而认知引擎F)提供未能通过相关性测试的高速公路号码,因为它没有做出关于数字本身的陈述。只有来自认知引擎A)、B)和C)的回答解析了测试。
[0077] 在该示例中,可以以如下方式看到对足够的回答的合并和收敛:为了举例,可以假设所有回答A)-F)都通过了第一步。合并步骤提供了对单个回答E)、D)和F)的移除,因为这些陈述仅由单个认知引擎给出并且不以任何方式与其他回答相关。收敛步骤传递以下内容:认知引擎A)、B)和C)的回答是数字153的禁止表示。收敛的回答可以是:“数字153由于其各种表示(∑I(i=1至17)=153,1!+2!+3!+4!+5!=153和13+53+33=153)而是特殊的。
[0078] 图3以时间图示出了方法100的所涉及元件的框图300。可以假定时间从图的顶部到底部增加。最左边的虚线表示在不同时刻处的认知调解器引擎204(比较图2,204)。方法100的主要阶段由平实线分离。也可以假设涉及三个认知引擎216、218、220。最初,认知调解器引擎204基于关于认知引擎216、218、220的知识执行问题或查询的划分,使得问题302可被拆分成由第一部分、第二部分和第三部分表示的划分的问题304,第一部分、第二部分和第三部分由划分的问题304下方的虚线上的正方形符号化。
[0079] 对于部分问题310,由认知引擎216、218、220生成第一部分、第二部分和第三部分的部分响应312。这也由框306和从框306延伸的虚线时间线的数字1、2、3表示。在下一阶段314中,认知调解器引擎204直接消除316不良或不足够的回答得到部分回答318。或者,在阶段314的下一步骤中,由认知引擎216、218、222执行对等评审320,得到部分响应322的下一典型体现(incarnation)。在阶段314中,该下一步骤由水平虚线符号化。该部分过程由认知调解器引擎204协调,被符号化为阶段314的最后一组线324和所得到的部分响应326。
[0080] 在最终阶段328中,认知调解器引擎204将部分响应326合并成改进的响应或改进回答308。
[0081] 认知调解器引擎204使用从引擎的初始评估和从对用于问题的划分和分配的回答寻找过程的先前贡献获得的关于认知引擎216、218、220的知识。在认知引擎216、218、220提供了回答312之后,认知引擎本身消除了不良和不足够的回答,或者来自对等评审的结果(认知引擎A评估来自认知引擎B的回答)被用于消除步骤。最后,认知调解器引擎204将部分回答326合并和收敛到改进的回答308中。
[0082] 为了便于过滤回答,如图4所示,对对等评审和关于初始查询的响应的收敛进行分析和分类。图4的框图400包括在框402、404、406中的认知调解器引擎204的任务以及由箭头408、410、412、414、416、418表示的与认知引擎216、218、222的交互。框402、404、406之一外的箭头表示从认知调解器引擎204到认知引擎216、218、222中的至少一个的信号流,而框
402、404、406之一内的箭头表示从认知引擎216、218、222中的至少一个到认知调解器引擎
204的信号流。
[0083] 具体地,箭头408表示问题被传递到认知引擎216、218、222之一。箭头410表示从认知引擎216、218、222接收多个回答。箭头412表示请求来自/通过认知引擎216、218、222中的至少一个认知引擎的控制问题/对等评审。箭头414表示接收到的对等反馈的回答。箭头416表示询问验证问题,并且箭头418表示相关的多个回答。
[0084] 如下组成合并和收敛算法:一旦认知引擎216、218、222回答了认知调解器引擎204提交的问题,调解器(认知调解器引擎204的简短形式)利用知识图形式的知识评估彼此相关的回答。该评估使用知识图识别作为离群值的回答,并将相关回答分组为合成回答。使用该信息,认知调解器引擎回答第二问题以评估该合成回答,该第二问题被制定以便从单个实例获得是-或-否回答。再次评估该回答,并重复迭代探查该合成回答的问题,直到认知引擎216、218、222关于共同的陈述达成协议。当阈值100%值表示所有认知引擎216、218、222回答“是”或所有认知引擎回答“否”时,关于共同的陈述的协定根据从51%到100%范围的用户定义的阈值。
[0085] 调解器对所给出的回答进行后处理,并通过应用评级找出单个认知引擎的“知识差距”。该评级是引擎特定的,并且具有多个维度,这些维度通过学科(例如生物学、密码学…)来分类。每次更新训练数据和引擎,即每个引擎接收特定于学科的置信水平,就利用具有已知回答的一系列问题来评估该评级。在这种场景下,通过用加权平均(权重是评级)将单个引擎的回答组合,评级被用于找出是-或-否问题的正确回答。通过添加训练数据来填充单个引擎的“知识差距”,在最简单的配置中,训练数据是由调解器所提出的问题以及正确回答。此时,以迭代方式重复该过程,直到所有引擎对调解器的第一层问题的回答都是一致的,即回答之间的相关评估没有给出离群值。
[0086] 图5示出认知调解器引擎的分级结构500的实施例的框图。这里,认知调解器引擎不仅位于顶层,而且位于较低层。如上所述,用户界面202连接到第1层上的认知调解器504。然而,代替位置508处的预期认知引擎2,存在连接到认知引擎514、...、520的另一认知调解器508。顶层的认知调解器504像任何其他认知引擎一样连接到第2层的认知调解器引擎
508。可能,认知调解器504没有认识到通信伙伴之一是认知调解器而不是认知引擎。认知引擎506、510、…、512连接到第1层上的认知调解器504,如图2的上下文中所述。
[0087] 认知调解器的分级结构600的概念可以扩展到更多的层级,如图6所示。认知调解器504、608、610、612、614不仅位于顶层和第二层,还位于较低层。用户界面202保持不变。出于理解的原因,认知调解器引擎(CM)和认知引擎(CE)在图中没有示出附图标记。技术人员可以想象认知调解器和认知引擎的更复杂的分级结构。
[0088] 通常,认知调解器(认知调解器引擎的简称)和认知引擎可以以任何可能的树结构排列,只要可以反映以下规则即可:(1)根位置必须由连接到UI的认知调解器来获取。(2)所有叶位置必须由认知实例来确定。(3)叶位置可由认知引擎获得。(4)每个认知调解器与下一较低层的至少两个对象连接,并且连接到下一较高层的一个认知调解器。
[0089] 图7示出了如果与以上附图相比则在另一方面用于从两个不同认知引擎602、604生成对查询的改进的响应的系统的合并框图。该系统包括:用户界面202,其适于接收查询或问题;认知调解器引擎204,其包括:分配单元706,其适于将查询分配给具有不同特性的两个认知引擎702、704;接收单元708,其适于从两个认知引擎702、704中的每一个接收响应;比较模块710,其适于比较响应;以及评估模块712,其适于在评估响应之间的高于预定阈值的差时执行响应调解过程。
[0090] 执行响应调解过程包括将认知引擎702、704中的第一个的响应馈送到认知引擎702、704中的第二个,确定响应中的至少两个的共同概念,和/或从响应和知识数据库生成第二查询并且将其分配给认知引擎中的另一个。
[0091] 认知调解器引擎204还适于激活分配单元706、接收单元708、比较模块710和评估模块712,直到所述差低于预定阈值。该系统还包括选择单元714,其适于选择响应之一作为最终响应,以便生成改进的响应308(比较图3)。
[0092] 本发明的实施例实际上可以与任何类型的计算机一起实现,而不管平台是否适于存储和/或执行程序代码。图8作为示例示出了适于执行与所提出的方法相关的程序代码的计算系统800。可以注意到,计算系统800可主要用作系统的输入/输出引擎,以从两个不同认知引擎生成对查询的改进的响应。
[0093] 计算系统800仅是合适的计算机系统的一个示例,并且不旨在对本文所述的本发明的各实施例的使用范围或功能提出任何限制。无论如何,计算机系统800能够被实现和/或执行上文所阐述的任何功能。在计算机系统800中,存在可与众多其它通用或专用计算系统环境或配置一起操作的组件。适合与计算机系统/服务器800一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统、以及包括任何上述系统或设备的分布式云计算环境等。计算机系统/服务器800可以在由计算机系统800执行的计算机系统可执行指令(诸如程序模块)的一般上下文中描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器800可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。
在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质两者中。
[0094] 如图所示,计算机系统/服务器800以通用计算设备的形式表现。计算机系统/服务器800的组件可以包括但不限于:一个或者多个处理器或者处理单元802,系统存储器804,连接不同系统组件(包括系统存储器804和处理单元16)的总线806。
[0095] 总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。计算机系统/服务器800通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统/服务器800访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质两者。
[0096] 系统存储器804可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)808和/或高速缓存存储器810。计算机系统/服务器800可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统812可以用于读写不可移动的、非易失性磁介质(图中未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线806相连。存储器804可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0097] 具有一组(至少一个)程序模块816的程序/实用工具,可以存储在例如存储器804中,这样的程序模块816包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块816通常执行本发明所描述的实施例中的功能和/或方法。
[0098] 计算机系统/服务器800也可以与一个或多个外部设备818(例如键盘、指向设备、显示器820等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器800交互的设备通信,和/或与使得该计算机系统/服务器800能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口814进行。并且,计算机系统/服务器800还可以通过网络适配器822与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器822通过总线806与计算机系统/服务器800的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0099] 另外,用于从两个不同认知引擎生成对查询的改进的响应的系统800可被附接到总线系统806。
[0100] 已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
[0101] 本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质(或多个计算机可读存储介质),其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0102] 该介质可以是用于传播介质的电子、磁、光、电磁、红外或半导体系统。计算机可读介质的示例可以包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前示例包括光盘只读存储器(CD-ROM)、光盘读/写(CD-
[0103] R/W)、DVD和蓝光盘。
[0104] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的示例(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号
[0105] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0106] 用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0107] 这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0108] 这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0109] 也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0110] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0111] 本文所用的术语仅是为了描述特定实施例的目的,而不是要限制本发明。如本文所用,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括”和/或“包含”在本说明书中使用时,指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或其群组的存在或添加。
[0112] 在以下权利要求中的所有装置或步骤加上功能元件的对应结构、材料、动作和等同物旨在包括用于与如具体要求保护的其它要求保护的元件组合执行功能的任何结构、材料或动作。已经出于说明和描述的目的给出了本发明的描述,但是该描述不是穷举的或者将本发明限制为所公开的形式。在不背离本发明的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员来说是显而易见的。选择和描述实施例是为了最好地解释本发明的原理和实际应用,并且使本领域的其他普通技术人员能够理解本发明的具有各种修改的各种实施例,如适合于预期的特定使用。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈