首页> 中国专利> 组合不同类型强制组件以实现延迟类型评估的方法和系统

组合不同类型强制组件以实现延迟类型评估的方法和系统

摘要

本发明涉及组合不同类型强制组件以实现延迟类型评估的方法和系统。在一种回答问题的方法中,接收问题,确定问题LAT,并标识所述问题的候选答案。使用第一组件确定所述候选答案的初步类型以便产生所述初步类型。每个所述第一组件使用不同的方法产生初步类型。产生表示所述初步类型与所述问题LAT之间的匹配度的第一类型得分。使用第二组件评估每个初步类型和每个第一类型得分。每个所述第二组件基于所述第一类型得分以及所述初步类型匹配所述问题LAT的程度度量的组合而产生第二得分。所述第二组件使用不同的方法产生所述第二得分。基于所述第二得分计算表示所述候选答案与所述问题LAT匹配的置信度的最终得分。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-03

    授权

    授权

  • 2014-10-22

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20140314

    实质审查的生效

  • 2014-09-17

    公开

    公开

说明书

技术领域

本公开涉及问答(QA)系统,更具体地说,涉及判定候选答案是否具 有适当的词法答案类型。

背景技术

在标题为“System and Method for Providing Question and Answers  with Deferred Type Evaluation(用于提供具有延迟类型评估的问答的系统 和方法)”的第12/126,642号美国专利申请(2008年5月23日提交,公 布为第US2009/0292687A1号美国专利申请公开,公告为第8,332,394B2 号美国专利,其内容在此引入作为参考)中解释了延迟类型评估的概念。

在先前提交的标题为“Providing Question and Answers with Deferred  Type Evaluation Using Text with Limited Structure(使用具有受限结构的 文本提供具有延迟类型评估的问答)”的第13/239,165号美国专利申请 (2011年9月21日提交,公布为第US2012/0078902A1号美国专利申请 公开,其内容在此引入作为参考)中进一步讨论了延迟类型评估的概念。

发明内容

此处的系统和方法解决个体类型强制组件的覆盖问题。目前,具有各 种方法以便判定候选答案是否具有词法答案类型(LAT)。所有这些解决 方案依赖一组特定的资源和一组特定的算法。因为每个类型强制组件具有 它自己的局限性和偏向性,所以通常可以改进类型强制的覆盖。

此处的系统和方法组合不同类型强制组件的中间输出以便产生新的类 型强制输出,这种新的类型强制输出分别可比其它类型强制组件改进覆盖。

本公开利用LAT的概念。LAT从查询的自然语言分析计算得出,并 且比其本体类别提供更多的答案描述。问题/查询的LAT是实体的一个或 多个所指对象的描述符,该实体是问题的有效答案。

根据此处的一种方法,将问题接收到计算机化设备中。使用所述计算 机化设备确定问题LAT。所述问题LAT是与所述问题关联的词法答案类 型。使用所述计算机化设备标识所述问题的候选答案。使用所述计算机化 设备的第一组件自动确定所述候选答案的初步类型。所述第一组件使用不 同的方法产生所述初步类型,并且每个所述第一组件均产生初步类型。使 用所述计算机化设备对所述初步类型与所述问题LAT之间的匹配进行自 动评分。每个所述第一组件产生第一类型得分。所述第一类型得分表示所 述初步类型与所述问题LAT之间的匹配度。基于所述组件中的哪个组件 产生了所述初步类型而区分所述评分。使用所述计算机化设备的第二组件 自动评估每个初步类型和每个第一类型得分。每个所述第二组件基于所述 第一类型得分以及所述初步类型匹配所述问题LAT的程度度量的组合而 产生第二得分。所述第二组件使用不同的方法产生所述第二得分。使用所 述计算机化设备,基于来自每个所述第二组件的所述第二得分自动计算最 终得分。使用所述计算机化设备自动输出所述最终得分,所述最终得分表 示所述候选答案是与所述问题LAT匹配的类型的置信度。

根据此处的一种方法,使用计算机化设备自动标识与问答系统中的问 题关联的词法答案类型(LAT)以便产生问题LAT。使用所述计算机化设 备自动生成所述问题的候选答案。使用所述计算机化设备的第一组件自动 确定所述候选答案的初步类型。所述第一组件使用不同的资源产生所述初 步类型,并且每个所述第一组件针对所述候选答案产生初步类型。使用所 述计算机化设备的所述第一组件对所述初步类型与所述问题LAT之间的 匹配进行自动评分,基于所述初步类型对应于所述问题LAT的数量,针 对每个初步类型产生第一类型得分。所述第一组件使用不同的资源针对所 述初步类型产生所述第一类型得分,并且基于所述第一组件中的哪个第一 组件产生了所述初步类型而区分所述评分。使用所述计算机化设备,每个 第二组件自动评估每个初步类型和所述第一类型得分。每个所述第二组件 基于所述第一类型得分以及所述初步类型匹配所述问题LAT的程度度量 的组合,针对所述候选答案的所述初步类型产生第二得分。使用所述计算 机化设备自动输出最终得分,所述最终得分基于来自每个所述第二组件的 所述第二得分。所述最终得分表示所述候选答案是与所述问题LAT匹配 的类型的置信度。

根据此处的一种用于确定问答系统中的问题的候选答案的置信度得分 的计算机系统,所述系统包括自动问答(QA)系统,其包括查询分析模块; 在操作上连接到所述查询分析模块的候选答案生成器;处理器,其包括多 个第一组件、在操作上连接到所述多个第一组件的多个第二组件,以及在 操作上连接到所述多个第二组件的分类器;以及用户接口,其在操作上连 接到所述查询分析模块。所述用户接口将问题接收到所述自动QA系统中。 所述查询分析模块确定所述问题的问题词法答案类型(LAT)。所述候选 答案生成器自动计算所述问题的候选答案。所述处理器针对来自所述多个 第一组件中的每个第一组件的所述候选答案,自动计算初步类型。所述第 一组件使用不同的方法产生所述初步类型。所述处理器对所述初步类型与 所述问题LAT之间的匹配进行自动评分,以便基于所述初步类型对应于 所述问题LAT的数量,从所述多个第一组件中的每个第一组件产生第一 类型得分。基于所述第一组件中的哪个第一组件产生了所述初步类型而区 分所述评分。基于产生相同候选答案类型的所述第一组件之间的差异,所 述相同初步类型接收不同的类型得分。所述处理器使用所述多个第二组件 中的每个第二组件,自动评估来自所述多个第一组件中的每个第一组件的 每个初步类型和第一类型得分,并且针对所述多个第二组件中的每个第二 组件,基于所述初步类型匹配所述问题LAT的程度度量产生所述初步类 型的第二得分。所述处理器基于来自所述多个第二组件中的每个第二组件 的所述初步类型的所述第二得分,从所述分类器自动输出所述初步类型的 最终得分。

根据此处的一种用于确定问答系统中的问题的候选答案的置信度得分 的计算机程序产品,所述计算机程序产品包括有形的计算机可读存储介质, 所述计算机可读存储介质具有随其包含的程序代码。所述程序代码可由计 算机读取和执行以便执行一种方法。根据所述方法,将问题接收到计算机 化设备中。确定问题LAT。所述问题LAT是与所述问题关联的词法答案 类型。标识所述问题的候选答案。使用所述计算机化设备的第一组件自动 确定所述候选答案的初步类型。所述第一组件使用不同的方法产生所述初 步类型,并且每个所述第一组件均产生初步类型。对所述初步类型与所述 问题LAT之间的匹配进行自动评分。每个所述第一组件产生第一类型得 分。所述第一类型得分表示所述初步类型与所述问题LAT之间的匹配度。 基于所述组件中的哪个组件产生了所述初步类型而区分所述评分。使用所 述计算机化设备的第二组件自动评估每个初步类型和每个第一类型得分。 每个所述第二组件基于所述第一类型得分以及所述初步类型匹配所述问题 LAT的程度度量的组合而产生第二得分。所述第二组件使用不同的方法产 生所述第二得分。基于来自每个所述第二组件的所述第二得分自动计算最 终得分。自动输出所述最终得分,所述最终得分表示所述候选答案是与所 述问题LAT匹配的类型的置信度。

附图说明

从以下参考附图的详细描述,将更好地理解此处的系统和方法,这些 附图不一定按比例绘制,其中:

图1是根据此处的系统和方法的高级系统图;

图2是示出此处的系统和方法的不同方面的框图;

图3是示出此处的系统和方法的不同方面的框图;

图4是示出此处的系统和方法的不同方面的框图;

图5是示出此处的系统和方法的流程图;

图6是根据此处的系统和方法的硬件系统的示意图;

图7是根据此处的系统和方法的部署系统的示意图;

图8是根据此处的系统和方法的集成系统的示意图;

图9是根据此处的系统和方法的按需系统的示意图;

图10是根据此处的系统和方法的虚拟专用网络系统的示意图;以及

图11是根据此处的系统和方法的虚拟专用网络系统的示意图。

具体实施方式

应该很容易地理解,本公开的系统和方法如通常在此处附图中描述和 示出的那样,可以以除了在此描述的系统和方法之外的各种不同的配置来 布置和设计。因此,以下对这些系统和方法的详细描述如在附图中表示的 那样,并非旨在限制由所附权利要求限定的范围,而仅是表示选定的系统 和方法。以下描述仅作为实例,并且仅示出在此公开和要求保护的系统和 方法的某些概念。

如在此所指的,单词“问题”和“查询”及其扩展可以交换使用并且 指同一概念,即对信息的请求。此类请求通常以疑问句表示,但它们也可 以以其它形式表示,例如表示为提供感兴趣实体的描述的陈述句(其中可 以从上下文推断对实体标识的请求)。“结构化信息”(来自“结构化信 息源”)在此被定义为其本意明确并显式地以数据的结构或格式表示的信 息(例如,数据库表)。“非结构化信息”(来自“非结构化信息源”) 在此被定义为其本意仅由其内容暗示的信息(例如,自然语言文档)。“半 结构化”指其某些含义显式地以数据的格式表示的数据,例如文档的一部 分可以被标记为“标题”。

图1示出显示在此描述的系统100的逻辑架构的高级系统图。如图1 中所示,系统100包括查询分析模块112,其实现接收和分析用户问题或 查询118的功能。根据一种系统和方法,“用户”115指与系统100交互 的一个或多个人员,术语“用户查询”指用户115提出的查询118(及其 上下文)。但是,应该理解,可以构造其它系统和方法,其中术语“用户” 指以机械方式生成查询118的计算机系统120,并且其中术语“用户查询” 指这种以机械方式生成的查询和上下文。提供候选答案生成模块123,以 便通过遍历具有结构化、半结构化和非结构化源的主源126以及包含从主 源中提取的关系和列表集合的答案源知识库129,实现对候选答案的搜索。 所有信息源可以存储在本地,或者分布在包括因特网的网络上。候选答案 生成模块123基于对检索的数据的分析,生成多个包含候选答案132的输 出数据结构。

在图1中,示出第一系统和方法,其包括证据收集和答案评分模块135, 该模块与主源126和答案源知识库129对接,以便同时根据具有候选答案 的段落来分析证据并对每个候选答案132进行评分,以作为并行处理操作。 证据收集和答案评分模块135包括候选答案评分模块138,以便分析检索 的段落并对所检索段落的每个候选答案132进行评分。

答案源知识库129可以包括数据语料库,其包括一个或多个包含关系 集合(例如,类型化列表)的结构化或半结构化源(预先计算或以其它方 式)数据库。在一个示例性实施方式中,答案源知识库129可以包括存储 在存储系统(例如,硬盘驱动器)中的数据库。答案源知识库129可以与 数个结构化和非结构化源对接,这些源包括类型化列表(例如,世界上所 有国家的列表)、精确的一元(例如,国家)、二元(例如,国家+国家 元首)、三元(例如,国家+国家元首+国家元首妻子)、n元提取关系等。

答案排序模块141提供功能以便对候选答案132进行排序并确定响应 144,响应144经由用户的计算机显示接口(未示出)或计算机系统120 返回给用户115,其中所述响应可以是响应于问题的答案,或先前答案的 详细描述,或澄清的请求—当未找到高质量的问题答案时。

图1示出一种机器学习实施方式,其中答案排序模块141包括训练后 的模型组件147,其使用机器学习技术从先前数据中产生。先前数据可以 对有关以下各项的信息进行编码:候选答案132的特性、候选答案来自的 段落的特性、候选答案评分模块138为候选答案提供的得分,以及候选答 案132是否正确。换言之,可以将机器学习算法应用于候选答案评分模块 138的全部内容以及有关候选答案的正确性的信息。这些先前数据例如在 技术服务支持功能或者有关因特网的更通用设置中很容易获得,其中许多 网站都列出问题以及正确答案。该模型对预测功能进行编码,该预测功能 是该模型到图1中所示的学习后的特性组合模块148的输入。答案排序模 块141还可以包括产生排序后的答案列表149以便为返回给用户115的响 应144提供定性排序的模块。

应该理解,技术人员可以对图1中所示的本公开的系统实现进一步扩 展,以采用一个或多个模块以便根据但不限于以下形式在用户或计算机系 统和系统100之间实现I/O通信:文本、音频、视频、手势、触觉输入和 输出等。因此,可以根据多个形式的一个或多个提供输入查询和生成的查 询响应,这些形式包括文本、音频、图像、视频、触觉或手势。因此,例 如,如果使用其它形式(例如,用户指向的一系列图像)提出问题,则所 述方法应用于这些图像的文本方面,在图像的描述中捕获或者由分析系统 (未示出)推断这些文本方面。

图1中所示的系统100可以在本地、在服务器或服务器群集上、在企 业中,或者备选地,可以是分布式或整体式,或以其它方式与公用或私用 搜索引擎结合运行,以便以所描述的方式增强问答功能。因此,所述系统 和方法可以作为计算机程序产品(包括可由处理设备执行的指令)提供, 或者作为部署计算机程序产品的服务提供。所述架构采用搜索引擎(文档 检索系统)作为候选答案生成模块123的一部分,搜索引擎可以专用于因 特网、公用数据库、网站(例如,IMDB.com)或私用数据库。数据库可 以存储在任何存储系统(例如,硬盘驱动器或闪存)中,并且可以通过网 络分发。

如图1中所示,查询分析模块112接收输入,输入包括例如用户115 经由基于Web的浏览器设备输入的查询118。输入到系统100的查询118 可以包括字符串,例如“Who was the tallest American president?(谁是最 高的美国总统?)”。备选地,查询118可以包括字符串和隐式上下文, 例如“Who was the shortest?(谁最矮?)”。在该实例中,上下文的范 围可以从简单的字符串(例如,“American presidents(美国总统)”或 “Who was the tallest American president?”)到任何数据结构,例如处理 先前字符串的所有中间结果—例如在多回合对话中发生的情况。查询分析 模块112接收查询118,查询分析模块112包括但不限于以下一个或多个 子过程:解析和谓词论元结构块(未示出),其实现功能和编程接口以便 将输入查询分解为其语法和语义成分,例如名词词组、动词词组和谓词/ 论元结构。可以使用(英语槽语法)ESG型解析器实现解析。可以提供焦 点段、焦点和修饰语块,其计算问题的焦点和焦点修饰语。进一步实施方 式可以还包括查询分析模块112中的问题分解块(未示出),其实现功能 和编程接口以便分析查询118以确定问题指定的有关目标答案的约束集 合。根据此处的系统和方法,查询分析模块112包括词法答案类型(LAT) 块152,其实现功能和编程接口以便提供有关答案类型的附加约束。查询 分析模块112中的计算包括但不限于词法答案类型。LAT从查询118的自 然语言分析计算得出,并且比其本体类别提供更多的答案描述。

在图1中,LAT块152包括某些功能/子功能(未示出)以确定LAT。 这些子功能包括解析器(例如上面描述的ESG解析器)和共指解析模块(例 如,如http://www.isi.edu/.about.hobbs/muc5-generic-final.pdf;以及 http://gate.ac.uk/sale/taln02/taln-ws-coref.pdf中所述)。

所述某些功能/子功能操作以便从查询的自然语言分析计算LAT,并 且比其本体类别提供更多的答案描述。因此,例如,以下句子中的斜体单 词表示LAT“After circumnavigating the Earth,which explorer became  mayor of Plymouth,England?(在环游地球之后,哪位探险家成为英国普 利茅斯的市长?)”,答案必须包括“explorer(探险家)”和“mayor (市长)”,并且这两个字符串成为问题LAT。

如上所述,问题/查询118的LAT是实体的所指对象的类型(即,描 述符),该实体是问题的有效答案。实际上,LAT是自然语言理解模块(未 示出,包括模式集合或具有语义解释器的解析器)检测到的答案的描述符。

参考LAT块152,在图1的查询分析模块112中,LAT表示标识正 确答案的语义类型的问题术语。如所公知的那样,可以通过诸如“在问题 中,跟在疑问词之后并用作主要动词的主语或宾语的任何名词词组是 LAT”之类的模式规则在问题中检测LAT。例如,在问题“Which Dublin-born actor once married Ellen Barkin?(出生于都柏林的哪位男演 员曾经与艾伦·巴金结婚?)”中,名词词组“Dublin-born actor(出生于 都柏林的男演员)”跟在疑问词“which(哪位)”之后,并且是主要动 词“marry(结婚)”的主语。可以手动对LAT检测规则进行编码,或者 由机器通过关联规则学习而自动学习LAT检测规则。在这种情况下,自 然语言理解模块可以限于实施上述简单规则。

LAT应该包括主要名词的修饰语,前提是LAT更改主要名词的含义。 例如,词组“body of water(水域)”具有不同于“water(水)”或“body (身体)”的含义,因此在以下查询中,LAT必须包括整个词组(斜体):

“Joliet and Co.found that the Mississippi emptied into what body of  water?(乔利矣特和同事发现密西西比河流入什么水域?)”

应该理解,多个LAT可以存在于查询和上下文中,甚至可以存在于 同一子句中。例如,在以下查询中斜体单词表示LAT:

“In1581,a year after circumnavigating the Earth,which explorer  became mayor of Plymouth,England?(在1581年,即在环游地球之后的 一年,哪位探险家成为英国普利茅斯的市长?)”

“Which New York City river is actually a tidal strait connecting  upper New York Bay with Long Island Sound?(纽约市的哪条河流实际上 是连接上纽约湾与长岛海峡的潮汐海峡?)”

尽管在许多情况下,可以使用上面描述的简单规则计算问题的LAT, 但在其它情况下(例如当存在多个LAT时),根据语法和谓词论元结构 计算LAT。因此,自然语言理解模块应该包括解析器(例如使用ESG计 算语法结构)和浅层语义解释器,以便计算对话实体(例如“river(河流)” 和“tidal strait(潮汐海峡)”或者“explorer”和“mayor”)之间的语 义共指,从而将它们均添加到LAT列表中。应该理解,LAT可以包括修 饰语。

因此,在上面第一个实例中,LAT列表可以包含explorer、mayor、 mayor of Plymouth(普利茅斯市长)、mayor of Plymouth,England(英 国普利茅斯市长)。标识答案类型的最小可能名词词组对应于最大实体组, 并且最大名词词组提供最佳匹配。

根据此处的系统和方法,证据收集和答案评分模块135包括数个类型 强制(TyCor)组件155(如下面进一步详细描述的),以测试候选答案 以便确定候选答案132是用于问题/查询118的适当类型。

参考图2,类型强制框架包括一组答案评分组件,每个组件获得问题 LAT207和候选答案132,并且判定候选答案132是否具有问题的词法类 型,从而返回候选答案类型是适当的词法类型215的程度度量。对于每个 候选答案132,将候选答案与数据语料库(例如,答案源知识库129)中的 实例相匹配。检索与数据语料库中的这些实例关联的候选类型。将问题 LAT207与候选类型相匹配,并且产生表示匹配度的得分。每个TyCor 组件155使用分型信息源并且执行例如下面描述的数个步骤,每个步骤能 够检测影响其置信度的错误。

实体消歧和匹配(EDM):在使用现有分型信息源中,最明显、最易 于出错的步骤是在该源中查找对应于候选答案的实体。因为候选答案仅是 字符串,所以该步骤同时考虑多义关系(同一名称可以指许多实体)和同 义关系(同一实体可以具有多个名称)。每个源可能需要它自己的特殊EDM 实施,这些实施利用源的属性,例如,DBpedia对实体URI中的有用命名 信息进行编码。EDM实施通常尝试针对答案使用某个上下文,但在完全 结构化源中,该上下文可能难以利用。

谓词消歧和匹配(PDM):类似于EDM,在源中查找对应于LAT的 类型。在某些源中,这是与EDM相同的算法,在其它源中,类型查找需 要特殊处理。在少数源中,尤其是使用非结构化信息作为源的那些源中, PDM步骤仅返回LAT本身。在分型和生成中,该步骤对应于从问题中产 生语义答案类型(SAT)。PDM严格对应于针对特定源的词义消歧概念。

类型检索(TR):在EDM之后,检索所检索的实体的类型。对于某 些TyCor组件(如使用结构化源的那些组件),该步骤执行源的主要功能 并且很简单。在其它组件(如非结构化源)中,这可能需要对自然语言的 某些小片段进行解析或其它语义处理。

类型对齐:然后比较PDM和TR步骤的结果以便确定匹配度。在例 如包含类型分类的源中,这包括检查包含、分离等的分类。对于其它源, 对齐使用WordNet之类的资源在类型之间查找同义词、上义词等。

上面每个步骤都生成反映其操作准确性的类型得分,其中考虑到实体 映射或信息检索过程的不确定性。每个TyCor组件155产生的最终得分是 分析步骤得分和候选答案类型中的置信度的组合。在第US2009/0292687 A1号美国专利申请公开中详细描述了特定评分方法的某些实例。

具体地说,将候选答案132和类型(多个)表示为词法字符串。得分 (在此称为类型得分)的产生包括数个步骤:候选答案与实例匹配,实例 与类型关联提取,以及LAT与类型匹配。类型得分反映可以将候选答案 “强制”为LAT的程度,其中较高的得分指示较好的强制。

在候选答案与实例匹配中,将候选答案与知识资源中的一个或多个实 例相匹配,其中实例采取的形式取决于知识资源。对于结构化知识库,实 例可以是实体,对于百科全书源(例如Wikipedia),实例可以是百科全 书中的表项,对于诸如WordNet(词法数据库)之类的词法资源,实例可 以是同义词集合表项(同义词集合),以及对于非结构化文档(或网页) 集合,实例可以是在文本中出现的任何术语或词组。如果发现多个实例, 则采用使用聚合功能的汇总,以组合来自所有候选答案的得分。如果没有 发现适合的实例,则返回为0的得分。

接下来,从资源中提取实例关联信息。该信息将每个实例与类型或类 型集合关联。取决于资源,这可以采取不同的形式;在知识库中,这对应 于将实例与类型相关的特定感兴趣关系;对于百科全书源,这可以是为实 体指定词法类型的词法类别信息;对于诸如WordNet之类的词法资源,这 是一组词法关系,例如同义词集合中的下义关系(例如,“艺术家”是“人”); 以及对于非结构化文档集合,这可以是其它表示类型的术语和词组的共现 或接近。

然后,尝试将每个LAT与每个类型相匹配。将使用类型的词法表现。 例如,对于百科全书,这可以是表示类别的字符串;对于诸如WordNet 之类的词法资源,这可以是包含在同义词集合中的字符串集合。通过以下 方式执行匹配:使用字符串匹配或其它词法资源(例如WordNet)以便检 查LAT和类型之间的同义关系或下义关系。可以针对感兴趣的类型实现 特殊逻辑;例如可以激活person匹配器逻辑,该逻辑不需要严格的匹配、 同义词或下义词关系,而是LAT和类型是术语“person(人)”的下义词。 通过这种方式,例如将为“he(他)”和“painter(画家)”提供正得分, 即使它们不是严格的同义词或下义词。最后,可以经由聚合功能,将对匹 配度进行评分的得分对集合解析为单个最终得分。最终得分表示候选答案 是与问题LAT207相匹配的类型的置信度。

此处的公开描述一种方法和系统,其组合多个TyCor组件155以便判 定候选答案132是否具有问题的词法类型215。图3示出根据此处的系统 和方法的类型强制链的实例。如图3中所示,可以组合使用第一组TyCor 组件155a–155f以便为第二组TyCor组件355a–355g提供输入。如图3 中所示,第一组TyCor组件155a–155f包括六个组件,第二组TyCor组 件355a–355g包括七个组件。可以使用其它数量的TyCor组件。每个 TyCor组件155a–155f根据它自己的方法评估候选答案132,并且根据它 自己的有关候选答案132匹配问题LAT207的置信度来提供初步类型和类 型得分。可以基于经验评估确定在各种TyCor组件155a–155f中使用的 阈值及其相应规则的权重。

“答案类型”分类过程取决于候选答案132来自的资源。将不同的方 法应用于不同的资源(结构化-非结构化、语义-词法等),以便查找候选 答案132的答案类型。换言之,不同的资源可以产生不同的初步类型313。

首先,第一组TyCor组件(Wiki-intro155a、Wiki-List155b、Identity 155c、Wiki-category155d、WordNet155e和Yago155f)中的每一个尝试 获得输入候选答案132的类型。因为不同的TyCor组件155a–155f使用 不同的资源和不同的算法,所以它们可能针对相同的候选答案提取不同的 初步类型313。

即,可以通过以下方式查找给定候选答案的答案类型:将不同的资源 特定方法应用于每个不同的资源或数据库,以便获得其类型强制方法。例 如,可能针对候选答案产生初步类型313的不同资源(Wiki-List、WordNet、 Yago等)将不同的答案-类型查找算法应用于自身以便查找答案类型。因 此,使用不同的资源特定类型分类方法可能导致不同的资源针对相同的候 选答案产生不同的类型类别,这只是因为以不同的方式评估候选答案132。

此外,每个TyCor组件155a–155f生成反映其操作准确性的类型得 分,其中考虑到实体映射或信息检索过程的不确定性。不同的资源特定答 案-类型分类方法可以以不同的方式,对答案-类型与问题LAT匹配的概率 进行评分。换言之,一种资源特定方法可能为答案-类型与问题LAT匹配 提供70%的概率,而另一种资源特定方法可能为相同的答案-类型与问题 LAT匹配提供90%的概率。当然,不同的资源特定方法还将产生不同的 答案-类型。

根据此处的系统和方法,可以将不同TyCor组件组合的结果直接作为 特性发布,以便有助于对候选答案132的初步类型313进行评分。问题是 与其说候选答案132“正确”,还不如说在这种评估中,候选答案132对 正确的问题类型进行寻址。例如,输入查询,即:

“Which19th century US presidents were assassinated?(19世纪哪些 美国总统被暗杀?)”应该将词法答案类型(LAT)计算为“19th century  US president(19世纪美国总统)”(而且还计算为“US president(美国 总统)”和“president(总统)”)。候选答案可能包括“Abraham Lincoln  (亚伯拉罕·林肯)”、“James A.Garfield(詹姆斯·艾伯拉姆·加菲尔德)”、 “William McKinley(威廉·麦金莱)”和“John F.Kennedy(约翰·菲茨 杰拉德·肯尼迪)”,后两位总统将是错误答案但可能是正确类型。应该将 包括“Secretariat(秘书)”和“War of1812(1812年战争)”的候选答 案评估为错误类型。

第一组TyCor组件155a–155f的每一个的输出为另一组TyCor组件 (在这种情况下,为Wiki-intro355a、Wiki-List355b、Identity355c、 Wiki-category355d、WordNet355e、Yago355f和Prismatic355g)的每 一个提供输入。注意,使用的各组TyCor组件不需要相同。根据此处的系 统和方法,可以使用TyCor组件的任意组合。来自第一组TyCor组件155a –155f的每一个的输出包括初步类型313和第一类型得分。

第二组TyCor组件355a–355g评估来自第一组TyCor组件155a– 155f的每一个的候选答案的初步类型313和第一类型得分,以便针对初步 类型313产生第二得分。第二得分基于以下两者的组合:第一类型得分, 以及基于用于第二组TyCor组件355a–355g的每一个的方法和资源将初 步类型313与问题LAT207匹配的程度度量。第二组TyCor组件355a– 355g可以使用起源信息(即,哪个TyCor组件提取了候选答案的初步类 型313)作为特性。

分类器373评估来自第二组TyCor组件355a–355g的每一个的第二 得分,并且通过聚合来自第二组TyCor组件355a–355g的每一个的第二 得分确定最终得分,该最终得分表示候选答案132具有问题的词法类型的 置信度。分类器373可以通过机器学习算法(例如逻辑回归)从注释的训 练数据的一组实际实例来训练,或者可以实现为一组手动创建的规则。可 以手动对分类规则进行编码,或者通过关联规则学习自动学习这些分类规 则。

此外,第二组TyCor组件355a–355g可以用于判定问题LAT207 “leader(元首)”是否包含初步类型313(即,是LAT的子类型)。注 意,使用的各组TyCor组件不相同。根据此处的系统和方法,可以使用 TyCor组件的任意组合以便确定可能的实例类型,并且判定类型是否是问 题LAT207的子类型。

图4示出类型强制链的一个实例。如果实例问题是“What leader gave  a speech at the dedication of a national cemetery in Gettysburg,PA?(哪位 元首在宾夕法尼亚州葛底斯堡的国家公墓落成典礼上发表演说?)”。根 据分析,问题LAT207可以是“leader(元首)”。候选答案432可以是 “Lincoln(林肯)”。任务是判定“Lincoln”是否是元首。TyCor组件 链可以通过以下过程产生输出:

首先,第一组TyCor组件(Wiki-intro155a、Wiki-List155b、Identity 155c、Wiki-category155d、WordNet155e和Yago155f)的每一个尝试获 得输入候选答案432的类型。因为不同的TyCor组件155a–155f使用不 同的资源和不同的算法,所以它们可能针对相同的候选答案提取不同的初 步类型。在该实例中,候选答案432“Lincoln”可能提取两个或更多初步 类型,例如President(总统)443和Politician(政治家)446。尽管可能 提取初步类型Automobile(汽车),但预计这将具有非常低的第一得分。

如上所述,可以通过以下方式查找给定候选答案的初步类型:将不同 的资源特定方法应用于产生候选答案的每个不同资源。例如,可能产生候 选答案的不同资源(Wiki-List、WordNet、Yago等)将不同的答案类型 查找算法应用于自身以便查找答案类型。因此,使用不同的资源特定类型 分类方法可能导致不同的资源针对相同的候选答案产生不同的类型类别 (president答案类型和politician答案类型),这只是因为候选答案Lincoln 432来自不同的资源。

第一组TyCor组件155a–155f的输出为第二组TyCor组件 (Wiki-intro355a、Wiki-List355b、Identity355c、Wiki-category355d、 WordNet355e、Yago355f和Prismatic355g)的每一个提供输入。来自第 一组TyCor组件155a–155f的每一个的输出包括初步类型(例如, President443和Politician446)和第一类型得分。第二组TyCor组件355a –355g判定问题LAT207“leader”是否包含类型(例如,President443 和Politician446)(即,是LAT的子类型)。

如上所述,第一组TyCor组件155a–155f的每一个生成反映其操作 准确性的类型得分,其中考虑到实体映射或信息检索过程的不确定性。不 同的资源特定答案类型分类方法可以以不同的方式,对初步类型与LAT 匹配的概率进行评分。在该实例中,一种资源特定方法可能为初步类型 “president”443与“leader”LAT匹配提供70%的概率,而另一种资源 特定方法可能为相同的初步类型“president”443与“leader”LAT匹配 提供90%的概率。当然,不同的资源特定方法还将产生不同的初步类型(例 如,初步类型“politician”446)。

第二组TyCor组件355a–355g评估来自第一组TyCor组件155a– 155f的每一个的候选答案的初步类型President443和Politician446以及 第一类型得分,以便针对初步类型President443和Politician446产生第 二得分。第二得分基于以下组合:第一类型得分;以及基于用于第二组 TyCor组件355a–355g的每一个的方法和资源将初步类型President443 和Politician446与问题LAT207“leader”匹配的程度度量。第二得分是 用于指示类型与LAT的匹配度的数值。

分类器373使用第二组TyCor组件355a–355g的输出判定候选答案 432“Lincoln”是否是元首。分类器373评估来自第二组TyCor组件355a –355g的每一个的第二得分并且确定最终得分,该最终得分表示候选答案 432“Lincoln”具有问题的词法类型(“leader”)的置信度。

分类器373聚合来自第二组TyCor组件355a–355g的每一个的第二 得分,并且使用起源信息(即,哪个TyCor组件提取了候选答案的类型, 并且哪些TyCor组件确定初步类型是问题LAT的子类型)作为特性。分 类器373的输出是最终得分,该最终得分表示候选答案432“Lincoln”具 有问题的词法类型“leader”的置信度。

可以有利地在数个垂直领域的应用中采用此处公开的系统和方法的原 理:包括涉及文本分析的应用不断增加的领域,以及其中遍历大量数据变 得重要的领域。例如,实例领域可以包括但不限于例如生物技术、金融、 营销、法律等。

此外,可以扩展本概念以便涵盖信息搜寻对话,而不仅仅是问答。这 具有以下应用:例如人和机器(电话、计算机)之间的口语对话,以及例 如使用语音和文本的多模式对话,它们都利用基于规则的对话模型创建方 法,或者利用统计对话建模和基于规则的对话建模的组合。因此,它不允 许在不大量降低性能的情况下进行上下文切换。根据此处的系统和方法执 行的延迟类型匹配应该减少性能降低并且允许上下文切换。

在另一种系统和方法中,可以扩展概念以便涵盖信息挖掘,其中数据 通常质量低下,但上下文应该例如有助于从会议记录中提取信息。

图5是示出根据此处的系统和方法的确定问答系统中的问题的候选答 案的置信度得分的示例性方法的处理流程的流程图。在509,将问题接收 到包括数据语料库的自动QA系统中。在518,执行自动查询分析以便确 定与问题关联的词法答案类型(LAT)。在527,候选答案生成器使用数 据语料库标识问题的候选答案。在536,使用第一多个TyCor组件确定候 选答案的初步类型。第一多个TyCor组件的每一个使用不同的资源(算法 和/或数据库)产生初步类型,并且第一多个TyCor组件的每一个产生初 步类型。TyCor组件可以根据不同的方法,针对相同的候选答案产生不同 的初步类型。在545,第一多个TyCor组件的每一个将初步类型与问题LAT 相比较,并且在554,使用TyCor组件的自动评分功能,根据初步类型对 应于问题LAT的数量,针对初步类型产生第一类型得分。基于产生相同 初步类型的TyCor组件之间的差异,候选答案的相同初步类型可以接收不 同的类型得分。在563,使用第二多个TyCor组件,自动评估候选答案的 每个初步类型和第一类型得分。在572,第二多个TyCor组件的每一个根 据以下组合针对初步类型产生第二得分:第一类型得分和初步类型与问题 LAT匹配的程度度量。基于第一多个TyCor组件中的哪一个产生了初步 类型而区分评分。第二多个TyCor组件的每一个评估来自第一多个TyCor 组件的每一个的每个初步类型和第一类型得分。在某些方法中,在581, 第二多个TyCor组件根据候选答案类型与问题LAT匹配的良好程度,判 定初步类型是否是问题LAT的子类型。在590,自动输出最终得分,该最 终得分表示候选答案是与问题LAT匹配的类型的置信度。最终得分基于 聚合来自第二多个TyCor组件的每一个的第二得分。

在此参照根据各种系统和方法的方法、装置(系统)和计算机程序产 品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或 二维框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算 机程序指令实现。计算机程序指令可以提供给通用计算机、专用计算机或 其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令 在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流 程图和/或框图中的一个或多个方框中规定的功能/动作的装置。

根据此处的进一步系统和方法,提供一种包括有形计算机可读介质的 制造品,计算机可读介质中包含计算机可读指令以便执行计算机实现的方 法(包括但不限于图5中所示的方法)的步骤。可以采用一个或多个计算 机可读非瞬时性介质的任意组合。计算机可读介质可以是计算机可读信号 介质或者计算机可读存储介质。非瞬时性计算机存储介质存储指令,并且 处理器执行指令以便执行在此描述的方法。计算机可读存储介质例如可以 是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器 件,或者上述的任意合适的组合。这些器件的任何一个可以具有计算机可 读指令以便执行上面参考图5描述的方法的步骤。

可以把计算机程序指令存储在计算机可读介质中,这些指令使得计算 机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储 在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个 或多个方框中规定的功能/动作的指令的制造品。

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

如果通过软件和/或固件实现此处的系统和方法,则可以从存储介质或 网络将组成软件的程序安装到具有专用硬件的计算机中,并且如果计算机 中安装了各种程序,则计算机能够执行各种功能。

图6中示出用于实现此处的系统和方法的代表性硬件环境。该示意图 示出根据此处的系统和方法的信息处理/计算机系统的硬件配置。所述系统 包括至少一个处理器或中央处理单元(CPU)710。CPU710通过系统总 线712与例如以下各种设备互连:随机存取存储器(RAM)714、只读存 储器(ROM)716和输入/输出(I/O)适配器718。I/O适配器718可以连 接到外围设备(例如磁盘机711和磁带驱动器713)或者其它可由所述系 统读取的程序存储器件。所述系统可以读取程序存储器件上的本发明指令, 并且执行这些指令以便执行此处的系统和方法的方法。

在图6中,CPU710根据存储在只读存储器(ROM)716中的程序或 者从外围设备(例如磁盘机711和磁带驱动器713)加载到随机存取存储 器(RAM)714的程序,执行各种处理。在RAM714中,还在必要时存 储CPU710执行各种处理等时所需的数据。CPU710、ROM716和RAM 714通过总线712彼此相连。输入/输出适配器718也连接到总线712,以 便在必要时提供输入/输出接口。在必要时将诸如磁盘、光盘、磁光盘、半 导体存储器之类的可移动介质安装在外围设备上,以便可以在必要时将从 其中读取的计算机程序安装到RAM714中。

所述系统还包括用户接口适配器719,其将键盘715、鼠标717、扬声 器724、麦克风722和/或诸如触摸屏设备(未示出)之类的其它用户接口 设备连接到总线712以便收集用户输入。此外,通信适配器720(包括网 络接口卡,例如LAN卡、调制解调器等)将总线712连接到数据处理网 络725。通信适配器720通过诸如因特网之类的网络执行通信处理。显示 适配器721将总线712连接到显示设备723,显示设备723例如可以体现 为诸如显示器(例如阴极射线管(CRT)、液晶显示器(LCD)等)、打 印机或发送器之类的输出设备。

在其中使用软件实现上述一系列处理的情况下,可以从网络(例如因 特网)或存储介质(例如可移动介质)安装组成软件的程序。

所属技术领域的技术人员应该理解,存储介质并不限于图6中所示的 其中存储程序的外围设备,存储介质从器件单独分发以便为用户提供程序。 可移动介质的实例包括磁盘(包括软盘)、光盘(包括紧凑盘只读存储器 (CD-ROM)和数字通用光盘(DVD))、磁光盘(包括小型磁盘(MD) (注册商标))和半导体存储器。备选地,存储介质可以是ROM716、包 含在存储扇区711中的硬盘等,存储介质在其中存储程序并且连同包含它 们的器件一起分发给用户。

所属技术领域的技术人员知道,此处的系统和方法的各个方面可以实 现为系统、方法或计算机程序产品。因此,本公开的各个方面可以具体实 现为以下形式,即:完全的硬件系统、完全的软件系统(包括固件、驻留 软件、微代码等),或硬件和软件方面结合的系统,这里可以统称为“电 路”、“模块”或“系统”。此外,本公开的各个方面还可以实现为在一 个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质 中包含计算机可读的程序代码。

可以采用一个或多个计算机可读非瞬时性介质的任意组合。计算机可 读介质可以是计算机可读信号介质或者计算机可读存储介质。非瞬时性计 算机存储介质存储指令,并且处理器执行指令以便执行在此描述的方法。 计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、 或半导体的系统、装置或器件,或者上述的任意合适的组合。计算机可读 存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的 电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器 (ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、磁存储 器件、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、“即插即用” 存储器件(如USB闪存驱动器)、或者上述的任意合适的组合。在本文件 中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序 可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传 播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号 可以采用多种形式,包括—但不限于—电磁信号、光信号或上述的任意合 适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何 计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令 执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括 —但不限于—无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开的 各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程 序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设 计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在 用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包 执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计 算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过 任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户 计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通 过因特网连接)。

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

部署类型包括通过加载诸如CD、DVD之类的存储介质,直接在客户 端、服务器和代理计算机中加载。也可以通过将过程软件发送到中央服务 器或中央服务器组,将过程软件自动或半自动部署到计算机系统。然后将 过程软件下载到执行过程软件的客户端计算机。通过电子邮件将过程软件 直接发送到客户端系统。然后通过电子邮件上的按钮将过程软件分离到目 录或者下载到目录,该按钮执行将过程软件分离到目录的程序。备选地, 将过程软件直接发送到客户端计算机硬盘驱动器上的目录。当具有代理服 务器时,所述过程将选择代理服务器代码,确定在哪些计算机上放置代理 服务器的代码,传输代理服务器代码,然后将代理服务器代码安装在代理 计算机上。将过程软件传输到代理服务器,然后存储在代理服务器上。

尽管应该理解可以通过加载诸如CD、DVD之类的存储介质,直接在 客户端、服务器和代理计算机中手动加载来部署过程软件,但也可以通过 将过程软件发送到中央服务器或中央服务器组,将过程软件自动或半自动 部署到计算机系统。然后将过程软件下载到执行过程软件的客户端计算机。 备选地,通过电子邮件将过程软件直接发送到客户端系统。然后通过电子 邮件上的按钮将过程软件分离到目录或者下载到目录,该按钮执行将过程 软件分离到目录的程序。另一种备选方案是将过程软件直接发送到客户端 计算机硬盘驱动器上的目录。当具有代理服务器时,所述过程将选择代理 服务器代码,确定在哪些计算机上放置代理服务器的代码,传输代理服务 器代码,然后将代理服务器代码安装在代理计算机上。将过程软件传输到 代理服务器,然后存储在代理服务器上。

在图7中,步骤800开始过程软件的部署。首先判定当执行过程软件 时,是否具有驻留在一个或多个服务器上的任何程序(801)。如果有,则 标识包含可执行程序的服务器(909)。通过FTP或某种其它协议,或者 通过使用共享文件系统复制,将一个或多个服务器的过程软件直接传输到 服务器的存储装置(910)。然后将过程软件安装在服务器上(911)。

接下来,判定是否通过使用户访问一个或多个服务器上的过程软件, 部署过程软件(802)。如果用户要访问服务器上的过程软件,则标识存储 过程软件的服务器地址(803)。

判定是否要构建代理服务器(900)以便存储过程软件。代理服务器是 位于客户端应用(例如Web浏览器)和实际服务器之间的服务器。它拦截 去往实际服务器的所有请求以便查看它自身是否可以满足请求。如果不可 以,则它将请求转发到实际服务器。代理服务器的两个主要优势是提高性 能并过滤请求。如果需要代理服务器,则安装代理服务器(901)。通过诸 如FTP之类的协议将过程软件发送到服务器,或者通过文件共享将过程软 件直接从源文件复制到服务器文件(902)。另一种方法是将事务发送到包 含过程软件的服务器并使服务器处理事务,然后接收过程软件并将其复制 到服务器的文件系统。将过程软件存储在服务器中之后,用户然后通过其 客户端计算机访问服务器上的过程软件并将过程软件复制到其客户端计算 机文件系统(903)。另一种方法是使服务器自动将过程软件复制到每个客 户端,然后在每个客户端计算机上运行过程软件的安装程序。用户在其客 户端计算机上执行安装过程软件的程序(912),然后退出所述过程(808)。

在步骤804,判定是否要通过电子邮件将过程软件发送给用户来部署 过程软件。标识要部署过程软件的用户组以及用户客户端计算机的地址 (805)。通过电子邮件将过程软件发送(904)到用户的每个客户端计算 机。用户接收电子邮件(905),然后将过程软件从电子邮件分离到其客户 端计算机上的目录(906)。用户在其客户端计算机上执行安装过程软件的 程序(912),然后退出所述过程(808)。

最后,判定是否将过程软件直接发送到用户客户端计算机上的用户目 录(806)。如果是,则标识用户目录(807)。将过程软件直接传输到用 户的客户端计算机目录(907)。这可以以数种方式完成,例如包括但不限 于共享文件系统目录然后从发送者的文件系统复制到接收用户的文件系 统,或者备选地使用诸如文件传输协议(FTP)之类的传输协议。用户访 问其客户端文件系统上的目录以便准备安装过程软件(908)。用户在其客 户端计算机上执行安装过程软件的程序(912),然后退出所述过程(808)。

将过程软件集成到客户端、服务器和网络环境,方法是提供过程软件 以便与应用、操作系统和网络操作系统软件共存,然后将过程软件安装在 运行过程软件的环境中的客户端和服务器上。

第一步是标识其中部署过程软件的客户端和服务器上的任何软件(包 括网络操作系统),这些软件是过程软件需要的或者与过程软件协同工作。 这包括网络操作系统,它是通过添加网络特性增强基本操作系统的软件。

接下来,标识软件应用和版本号,并且将它们与经过测试可与过程软 件一起工作的软件应用和版本号的列表相比较。使用正确版本号升级那些 缺少或者与正确版本不匹配的软件应用。检查将参数从过程软件传递到软 件应用的程序指令,以便确保参数列表与过程软件需要的参数列表匹配。 相反,检查软件应用传递到过程软件的参数,以便确保参数与过程软件需 要的参数匹配。标识客户端和服务器操作系统(包括网络操作系统),并 且将它们与经过测试可与过程软件一起工作的操作系统、版本号和网络软 件的列表相比较。在客户端和服务器上,将那些与经过测试的操作系统和 版本号的列表不匹配的操作系统、版本号和网络软件升级到所需级别。

在确保其中部署过程软件的软件具有正确版本级别(其经过测试可与 过程软件一起工作)之后,通过将过程软件安装在客户端和服务器上而完 成集成。

在图8中,步骤920开始过程软件的集成。首先判定是否具有将在一 个或多个服务器上执行的任何过程软件程序(921)。如果没有,则集成继 续到927。如果有,则标识服务器地址(922)。检查服务器以便查看它们 是否包含以下软件:其包括使用过程软件测试的操作系统(OS)、应用和 网络操作系统(NOS)及其版本号(923)。还检查服务器以便判定是否 具有过程软件需要的任何缺少的软件(923)。

判定版本号是否与使用过程软件测试的OS、应用和NOS的版本号匹 配(924)。如果所有版本都匹配,并且没有缺少的所需软件,则集成在 927继续。

如果一个或多个版本号不匹配,则在一个或多个服务器上使用正确版 本更新不匹配的版本(925)。此外,如果存在缺少的所需软件,则在一个 或多个服务器上更新该软件(925)。通过安装过程软件而完成服务器集成 (926)。

在步骤921、924或926之后的步骤927判定是否具有将在客户端上执 行的任何过程软件程序。如果没有过程软件程序在客户端上执行,则集成 继续到930并且退出。如果有,则标识客户端地址(928)。

检查客户端以便查看它们是否包含以下软件:其包括使用过程软件测 试的操作系统(OS)、应用和网络操作系统(NOS)及其版本号(929)。 还检查客户端以便判定是否存在过程软件需要的任何缺少的软件(929)。

判定版本号是否与使用过程软件测试的OS、应用和NOS的版本号匹 配(931)。如果所有版本都匹配,并且没有缺少的所需软件,则集成继续 到930并且退出。

如果一个或多个版本号不匹配,则在客户端上使用正确版本更新不匹 配的版本(932)。此外,如果存在缺少的所需软件,则在客户端上更新该 软件(932)。通过将过程软件安装在客户端上而完成客户端集成(933)。 集成过程继续到930并且退出。

过程软件可以存储在可从一个或多个服务器访问的共享文件系统上。 经由事务执行过程软件,这些事务包含使用被访问服务器上的CPU单位 的数据和服务器处理请求。CPU单位是服务器的中央处理器上的时间单 位,例如分钟、秒、小时。此外,被访问服务器可以发出需要CPU单位 的其它服务器请求。CPU单位是表示一种使用度量的实例。其它使用度量 包括但不限于网络带宽、存储器利用率、存储装置利用率、分组传输、完 整事务等。当多个客户使用同一过程软件应用时,通过包括在事务中的参 数区分其事务,这些参数标识唯一客户和该客户的服务类型。记录所有 CPU单位以及用于每个客户的服务的其它使用度量。当去往任何一个服务 器的事务数量达到开始影响该服务器性能的某一数量时,访问其它服务器 以便增加容量并且共享工作负载。同样,当诸如网络带宽、存储器利用率、 存储装置利用率之类的其它使用度量接近某一容量以致影响性能时,添加 额外的网络带宽、存储器、存储装置等以便共享工作负载。将用于每个服 务和客户的使用度量发送到收集服务器,该服务器针对在提供过程软件共 享执行的服务器网络中的任何位置处理的每个服务,计算每个客户的使用 度量总和。将总计的使用单位度量定期乘以单位成本,并且备选地将生成 的总过程软件应用服务成本发送给客户和/或在客户访问的网站上指示,客 户然后向服务提供者支付款项。在另一种方法中,服务提供者直接从客户 在银行或金融机构中的账户请求款项。在另一种方法中,如果服务提供者 也是使用过程软件应用的客户的客户,则使应付给服务提供者的款项与服 务提供者应支付的款项抵消,以便最小化支付转移。

过程软件被共享,从而以灵活、自动的方式同时服务于多个客户。它 被标准化,从而需要很少的定制,并且它可扩展,从而以即买即用模型按 需提供容量。

过程软件可以存储在可从一个或多个服务器访问的共享文件系统上。 经由事务执行过程软件,这些事务包含使用被访问服务器上的CPU单位 的数据和服务器处理请求。CPU单位是服务器的中央处理器上的时间单 位,例如分钟、秒、小时。此外,被访问服务器可以发出需要CPU单位 的其它服务器请求。CPU单位是表示一种使用度量的实例。其它使用度量 包括但不限于网络带宽、存储器利用率、存储装置利用率、分组传输、完 整事务等。

当多个客户使用同一过程软件应用时,通过包括在事务中的参数区分 其事务,这些参数标识唯一客户和该客户的服务类型。记录所有CPU单 位以及用于每个客户的服务的其它使用度量。当去往任何一个服务器的事 务数量达到开始影响该服务器性能的某一数量时,访问其它服务器以便增 加容量并且共享工作负载。同样,当诸如网络带宽、存储器利用率、存储 装置利用率之类的其它使用度量接近某一容量以致影响性能时,添加额外 的网络带宽、存储器、存储装置等以便共享工作负载。

将用于每个服务和客户的使用度量发送到收集服务器,该服务器针对 在提供过程软件共享执行的服务器网络中的任何位置处理的每个服务,计 算每个客户的使用度量总和。将总计的使用单位度量定期乘以单位成本, 并且备选地将生成的总过程软件应用服务成本发送给客户和/或在客户访 问的网站上指示,客户然后向服务提供者支付款项。

在另一种方法中,服务提供者直接从客户在银行或金融机构中的账户 请求款项。

在另一种方法中,如果服务提供者也是使用过程软件应用的客户的客 户,则使应付给服务提供者的款项与服务提供者应支付的款项抵消,以便 最小化支付转移。

在图9中,步骤940开始按需过程。创建事务,该事务包含唯一客户 标识、被请求的服务类型以及进一步指定服务类型的任何服务参数(941)。 然后将事务发送到主服务器(942)。在按需环境中,主服务器最初可以是 仅有的服务器,然后随着容量的使用,向按需环境中添加其它服务器。

查询按需环境中的服务器中央处理单元(CPU)容量(943)。估计 事务的CPU要求,然后将按需环境中的服务器可用CPU容量与事务CPU 要求相比较,以便查看在任意服务器中是否具有足够的CPU可用容量以 处理事务(944)。如果没有足够的服务器CPU可用容量,则分配额外的 服务器CPU容量以便处理事务(948)。如果已经具有足够的可用CPU 容量,则将事务发送到选定服务器(945)。

在执行事务之前,检查剩余的按需环境以便判定环境是否具有足够的 可用容量以处理事务。该环境容量例如包括但不限于以下事物:网络带宽、 处理器存储器、存储装置等(946)。如果没有足够的可用容量,则向按需 环境中添加容量(947)。接下来,访问处理事务所需的软件,将其加载到 存储器中,然后执行事务(949)。

记录使用度量(950)。使用度量包括按需环境中用于处理事务的那些 功能的各个部分。记录例如包括但不限于网络带宽、处理器存储器、存储 装置和CPU周期的这些功能的使用。计算使用度量总和,将其乘以单位 成本,然后将其记录为向请求客户收取的费用(951)。如果客户请求将按 需成本发布到网站(952),则发布按需成本(953)。

如果客户请求将按需成本通过电子邮件发送到客户地址(954),则发 送按需成本(955)。如果客户请求直接从客户账户支付按需成本(956), 则直接从客户账户接收款项(957)。最后一个步骤是退出按需过程(958)。

可以通过使用虚拟专用网络(VPN)部署、访问和执行过程软件,虚 拟专用网络是可以用于保护通过否则不安全或不可信网络的连接的技术的 任何组合。使用VPN是为了提高安全性并且降低操作成本。VPN使用公 共网络(通常为因特网)将远程站点或用户连接在一起。VPN使用通过因 特网从公司的专用网络路由到远程站点或员工的“虚拟”连接,而不是使 用专用的实际连接(例如租用线路)。

可以通过远程访问或站点到站点VPN来部署、访问和执行过程软件。 当使用远程访问VPN时,经由公司专用网络和远程用户之间的通过第三 方服务提供商的安全、加密的连接来部署、访问和执行过程软件。企业服 务提供商(ESP)设置网络访问服务器(NAS),并且为远程用户的计算 机提供桌面客户端软件。远程工作者然后可以拨打免费号码或者直接通过 电缆或DSL调制解调器连接以便到达NAS,并且使用其VPN客户端软件 访问公司网络并访问、下载和执行过程软件。

当使用站点到站点VPN时,通过使用专用设备和大规模加密来部署、 访问和执行过程软件,这些设备和加密用于通过公共网络(例如因特网) 连接公司的多个固定站点。

通过VPN经由隧道传输过程软件,这是将整个分组放在另一个分组 中并且通过网络发送的过程。网络和两个点理解外部分组的协议,这两个 点称为隧道接口,分组通过这些接口进入和离开网络。

在图10和11中,步骤960开始虚拟专用网络(VPN)过程。进行判 定以便查看是否需要用于远程访问的VPN(961)。如果不需要,则继续 到962。如果需要,则判定是否存在远程访问VPN(964)。

如果存在,则继续到965。否则,标识第三方提供商,其在公司的专 用网络和公司的远程用户之间提供安全、加密的连接(976)。标识公司的 远程用户(977)。第三方提供商然后设置网络访问服务器(NAS)(978), 该网络访问服务器允许远程用户拨打免费号码或者直接通过电缆或DSL 调制解调器连接以便访问、下载和安装用于远程访问VPN的桌面客户端 软件(979)。

构建远程访问VPN之后,或者如果先前已安装远程访问VPN,则远 程用户然后可以通过拨号到NAS或者直接通过电缆或DSL调制解调器连 接到NAS来访问过程软件(965)。这允许进入公司网络,可在其中访问 过程软件(966)。通过网络经由隧道将过程软件传输到远程用户的桌面。 即,将过程软件分为分组,并且将包括数据和协议的每个分组放在另一个 分组中(967)。当过程软件到达远程用户的桌面时,将过程软件从分组中 移除,进行重构,然后在远程用户的桌面上执行(968)。

进行判定以便查看是否需要用于站点到站点访问的VPN(962)。如 果不需要,则继续以便退出所述过程(963)。否则,判定是否存在站点到 站点VPN(969)。如果存在,则继续到972。否则,安装建立站点到站 点VPN所需的专用设备(970)。然后将大规模加密内置于VPN中(971)。

构建站点到站点VPN之后,或者如果先前已建立站点到站点VPN, 则用户通过VPN访问过程软件(972)。通过网络经由隧道将过程软件传 输给站点用户(973)。即,将过程软件分为分组,并且将包括数据和协议 的每个分组放在另一个分组中(974)。当过程软件到达远程用户的桌面时, 将过程软件从分组中移除,进行重构,然后在站点用户的桌面上执行(975)。 继续以便退出所述过程(963)。

在此使用的术语只是为了描述特定的系统和方法,并且并非旨在作为 本公开的限制。如在此使用的,单数形式“一”、“一个”和“该”旨在 同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明 书中使用时,术语“包括”和/或“包含”指定了声明的特性、整数、步骤、 操作、元素和/或组件的存在,但是并不排除一个或多个其它特性、整数、 步骤、操作、元素、组件和/或其组合的存在或增加。

下面权利要求中的对应结构、材料、操作以及所有功能性限定的装置 或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它元 件相组合地执行该功能的结构、材料或操作。出于示例目的给出了对此处 各种系统和方法的描述,但所述描述并非旨在是穷举的或限于所公开的系 统和方法。在不偏离所述系统和方法的范围和精神的情况下,对于所属技 术领域的普通技术人员来说许多修改和变化都将是显而易见的。此处所用 术语的选择,旨在最好地解释所述系统和方法的原理、实际应用或对市场 中的技术的技术改进,或者使所属技术领域的其它普通技术人员能理解在 此公开的系统和方法。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号