1.一种用于显示事实的源的方法,包括:
接收用户构制的事实查询,所述事实查询包括一个或多个查询词语;
从事实储存库识别对所述事实查询的回答,所述回答包括一个或多个事实回答词语以及识别包括所述事实查询的一个或多个查询词语和所述回答的一个或多个所述事实回答词语的源文档的信息;
在识别所述回答之后,访问与所述事实储存库不同的文档数据库中的所述源文档中的至少一个源文档;
为所述源文档中的至少一个生成片断,所述片断包括所述事实查询的一个或多个查询词语和所述回答的一个或多个所述事实回答词语;以及
生成包括所述片断的响应。
2.如权利要求1所述的方法,其中生成响应进一步包括在所述片断中高亮显示所述事实查询的所述一个或多个词语和所述回答的所述一个或多个事实回答词语。
3.如权利要求1所述的方法,进一步包括对在对所述事实查询的所述回答的显示表示中的链接的用户选择作出响应。
4.如权利要求1所述的方法,其中所述响应包括用于请求所述源文档的列表的用户可选链接,所述方法进一步包括通过发送所述源文档的列表来响应用户对所述链接的选择。
5.如权利要求1所述的方法,其中生成所述响应包括确定在所述源文档的至少一个中,所述一个或多个查询词语与所述一个或多个事实回答词语的散布。
6.如权利要求1所述的方法,其中生成所述片断包括从各个源文档选择文本,以便在所述片断中包括所述事实查询的至少一个文本词语和所述回答的至少一个文本词语。
7.一种用于显示事实的源的系统,包括:
查询接收器装置,用于接收用户构制的事实查询,所述事实查询包括一个或多个查询词语;
回答识别器装置,用于从事实储存库识别对所述事实查询的回答,所述回答包括一个或多个事实回答词语以及识别包括所述事实查询的一个或多个查询词语和所述回答的一个或多个所述事实回答词语的源文档的信息;
源文档识别器装置,用于在识别所述回答后访问与所述事实储存库不同的文档数据库中的所述源文档中的至少一个源文档;
片断生成器装置,用于为所述源文档中的至少一个生成片断,所述片断包括所述事实查询的一个或多个查询词语和所述回答的一个或多个所述事实回答词语;以及
响应生成器装置,用于生成包括所述片断的响应。
8.如权利要求7所述的系统,其中所述响应生成器装置包括用于在所生成的片断中高亮显示所述事实查询的所述一个或多个词语和所述回答的所述一个或多个事实回答词语的装置。
9.如权利要求7所述的系统,其中所述响应包括用于请求所述源文档的列表的用户可选链接,并且所述查询接收器装置通过发送所述源文档的列表来响应用户对所述链接的选择。
10.如权利要求7所述的系统,其中所述片断生成器装置包括邻近度检测器装置,用于检测在所述源文档的至少一个中,所述一个或多个查询词语与所述一个或多个事实回答词语的散布。
11.如权利要求7所述的系统,其中所述片断生成器装置被配置以从各个源文档选择文本,以便在所述片断中包括所述事实查询的至少一个文本词语和所述回答的至少一个文本词语。
技术领域\n公开的实施例通常涉及对事实的查询,尤其涉及用于事实查询引擎的用户界面和具有查询词语和回答词语的源的片段。\n背景技术\n万维网(也可以叫做web)和万维网中的网页都是事实信息的巨大资源。用户可以查看网页来获得事实问题的回答,例如“波兰的首都是什么”或者“乔治·华盛顿的出生日期是什么”。然而,万维网搜索引擎在这一点上对用户不能提供帮助,那就是他们通常不能提供对于例如上述的那些事实查询的简单、简洁的回答。相反的,万维网搜索引擎提供被确定为匹配用户查询的网页的列表,用户必须对匹配的网页进行分类才能发现回答。\n试图建立搜索引擎,可以对事实问题提供快速回答,但这种方式有其固有的缺点。例如,一些搜索引擎从单一的资源提取它们的事实,例如从特定的百科全书。这就限制了这些引擎可以应答的问题的类型。例如,基于某百科全书的搜索引擎不可能回答许多关于流行文化的问题,例如关于电影、歌曲等的问题,而且也不可能回答许多关于产品、服务、零售和批发业务诸如此类的问题。如果扩展由这样的搜索引擎所使用的资源集,然而,这样的扩展可能引入对事实查询的多种可能回答的可能性,其中一些可能是矛盾的或者含混的。另外,随着资源集的扩展,信息可能来自不可靠的来源或者未知可靠性的来源。\n发明内容\n根据本发明的一方面,公开了一种用于显示事实的源的方法,该方法包括接收包括一个或多个词语的事实查询,识别对该包括一个或多个词语的事实查询的回答,识别一个或多个源文档,所述源文档包括所述查询的一个或多个词语以及所述回答的一个或多个词语,生成至少一个源文档的片段,该片段包括所述查询的一个或多个词语以及所述回答的一个或多个词语,生成包括所述片段的响应。\n附图说明\n图1示出根据本发明一些实施例的网络。\n图2示出根据本发明一些实施例的用于对象的数据结构和事实储存库中的相关联事实。\n图3示出根据本发明一些实施例的用于事实索引的数据结构。\n图4示出根据本发明一些实施例的用于可能回答的列表的数据结构。\n图5A-5C是根据本发明一些实施例的用于选择对事实查询的回答以及显示回答和回答的源的过程的流程图。\n图6示出根据本发明一些实施例的对事实查询的回答的表示。\n图7示出根据本发明一些实施例的对于事实查询的回答的源的列表的表示。\n图8示出了根据本发明一些实施例示的系统,用于选择对事实查询的回答以及显示该回答和回答的源的列表。\n在全部图中相同的参考数字表示相应的部分。\n具体实施方式\n查询引擎可以存储从很多分散的源收集的事实信息并且响应于用户对事实信息(或者“事实查询”)的查询而返回回答。从许多源收集信息扩展了用于查询引擎的可用事实信息的范围,但也引入了多个可能回答的可能性。查询引擎可以识别可能的回答并且从可能的回答中选择最好的回答提供给用户,或者它也可以确定没有一个可能的回答可以提供给用户。查询引擎还可以提供回答的源的列表,包括来自每一个源的文本部分。文本的部分或多个部分被称作片段(snippet),可以包括事实查询词语和回答词语。当片段示出了由搜索引擎识别或选择的回答,源的列表给用户提供回答的基础并且可以帮助用户评估回答的真实性。\n图1根据本发明的一些实施例示出了网络100。网络100包括一个或多个客户端102和查询引擎106。客户端102可以包括客户端应用程序(未示出)。网络100还可以包括一个或多个可以耦接这些组件的通信网络104。\n客户端应用程序为客户端102的用户(未示出)提供至查询引擎106的接口。使用在客户端102上运行的客户端应用程序,用户可以向查询引擎106提交关于文档的搜索(例如,web搜索)和事实查询并且观察来自查询引擎106的响应。客户端应用程序可以包括万维网浏览器。万维网浏览器的实例包括FIREFOX,INTERNET EXPLORER和OPERA。\n查询引擎106提供平台用于存储事实信息和响应事实查询,以及处理其它类型的搜索。查询引擎106可以处理对文档的搜索,例如万维网搜索,还可以处理事实信息的查询。查询引擎106提供查询服务器108。查询服务器108为查询引擎106提供前端。查询服务器108从客户端102接收查询,将查询引导至能够处理事实查询和其它搜索的查询引擎106的组件,产生响应,并且将响应传送给客户端102。查询服务器108可以被分布到多个计算机。在其它实施例中,查询引擎可以处理更多或者更少的功能。例如,在其它实施例中,响应产生可以在查询引擎106中的其它地方来处理。\n查询引擎106包括第一搜索控制器110,第一高速缓存112,文档索引114和文档数据库116,用于处理文档搜索。在一些实施例中,为了提供对大量文档的快速访问可以在多个计算机中布局这些组件。例如,文档数据库116可以布局在N个服务器中,利用映射功能例如“模数N”功能来确定哪些文档被存储在N个服务器的每一个。N可以是大于1的整数,例如介于2和8196之间的整数。类似的,文档索引114可以分布在多个服务器中,第一高速缓存112也可以分布在多个服务器中。另外,第一搜索控制器110也可以分布在多个计算机中。\n第一搜索控制器110耦接到查询服务器108。第一搜索控制器110也耦接到第一高速缓存112、文档索引114和文档数据库116。配置第一搜索控制器110使得可从查询服务器108接收文档搜索查询并且传送该查询到第一高速缓存112、文档索引114和文档数据库116。第一高速缓存112用于通过临时存储以前找到的搜索结果来提高搜索效率。\n第一搜索控制器110从第一高速缓存112和/或文档索引114接收文档搜索结果并且构建经排序的搜索结果列表。第一搜索控制器110然后向查询服务器108返回定位文档列表用于向前传送到客户端102。由第一搜索控制器110从第一高速缓存112和/或文档索引114接收的文档搜索结果可以伴随着搜索结果中的被定位文档片断。\n查询引擎106还包括第二搜索控制器118,第二高速缓存10,事实索引122,以及事实储存库124。在一些实施例中,为了提供对大量事实的更快速的访问可以在多个计算机中布局这些组件。例如,事实储存库124可以布局在N个服务器中,可利用映射功能例如“模数N”功能来确定哪些事实被存储在N个服务器的每一个中。N可以是大于1的整数,例如介于2和8196之间的整数。类似的,事实索引122可以分布在多个服务器中,第二高速缓存120也可以分布在多个服务器中。另外,第二搜索控制器118也可以分布在多个计算机中。\n第二搜索控制器118耦接到查询服务器108。第二搜索控制器118还耦接到第二高速缓存120、事实索引122和事实储存库124。第二搜索控制器118被配置为可以从查询服务器108接收对事实问题的回答的查询并且传送该查询到第二高速缓存120和事实储存库124(通过事实索引122)。第二高速缓存120用于通过临时存储以前定位的搜索结果来提高事实检索效率。\n第二搜索控制器118从第二高速缓存120和/或事实储存库124接收事实查询的可能回答的事实。第二搜索控制器118从可能的回答中选择回答作为最好的回答提供给用户。回答被传送给查询服务器108,其中产生包括该回答的响应并且传送给客户端102用于呈现给用户。为了响应用户在所显示在事实查询的回答上的或其下一个上的图标的选择,查询服务器108可以识别与回答关联的源的列表并且传递源的列表到第一搜索控制器110。第一搜索控制器110访问对应于源和至少源文档子集的片断的文档。在一些实施例中,该片断包括来自查询的词语和来自回答的词语。\n事实储存库124存储从多个文档中提取的事实信息。从中提取特定事实的文档是该事实的源文档(或者称“源”)。换句话说,事实的源包括在其内容中的事实。源文档可以包括但是不限于网页。在事实储存库124中,实体、概念等等这些由事实储存库124可对其存储事实信息的,都可以通过对象来表达。一个对象可以具有一个或多个与其关联的事实。每一个对象都是事实的集合;没有事实与其关联的对象(空对象)在事实储存库124中可以被看作不存在的对象。在每一个对象中,每一个与对象关联的事实都作为一个属性-值对来存储。每一个事实还包括源文档的列表,该源文档包括它们内容中的事实并且从源文档中可提取该事实。事实储存库中的另外的关于对象和事实的细节都在下面进行描述,涉及到图2。\n为了在事实储存库124中查找信息,第二搜索控制器118在事实索引122中搜索该搜索查询中的词语。这就产生了事实储存库位置的列表(对应于事实或对象),其匹配搜索查询中的不同的词语。使用搜索查询的逻辑结构(可以认为是布尔表达示或树),第二搜索控制器118然后形成了这些位置列表的逻辑组合来识别可能的事实,如果存在的话,这样的事实匹配搜索查询。\n事实索引122给事实储存库124提供索引并且为在事实储存库124中信息的有效查询提供了方便。事实索引122可以基于一个或多个参数索引事实储存库124。例如,事实索引122具有索引(其可以被称为主索引或词语索引),它索引唯一词语到事实储存库124中的位置。另外的关于事实索引122的细节将在下面进行描述,涉及到图3。\n应当理解,尽管查询引擎106的任何组件可分布到多个计算机,为了解释的方便,我们将讨论查询引擎106的组件就像它们在一个单一的计算机上被实现一样。\n图2示出了根据本发明的一些实施例的用于事实储存库124中的对象的实例数据结构。如上所述,事实储存库包括对象,每一个对象都可以包括一个或多个事实。每一个对象200包括唯一标识符,例如对象ID 202。对象200包括一个或多个事实204。每一事实204包括唯一标识符用于该事实,例如事实ID 210。每一事实204包括属性212和值214。例如,包含在表示乔治·华盛顿的对象中的事实可以包括具有属性“出生日期”和“死亡日期”的事实,这些事实的值分别是实际的出生日期和死亡日期。事实204可以包括到另一对象的链接216,另一对象可以是对象标识符,例如事实储存库124中的另一对象的对象ID 202。链接216使得对象可具有这样的事实,该事实的值是其它对象。例如,对于对象“美国”,它可以是具有属性“总统”的事实,该属性“总统”的值是“乔治·W·布什”,而“乔治·W·布什”是事实储存库124中的另一个对象。在一些实施例中,值字段214存储所链接对象的名称,链接216存储所链接对象的对象标识符。在一些其它实施例中,事实204不包括链接字段216,因为事实204的值214可以存储至另一对象的链接。\n每一事实204还可以包括一个或多个指标218。指标可以提供事实质量的指示。在一些实施例中,指标包括置信度和重要度。置信度指示事实正确的可能性。重要度指示该事实和对象的相关性,与其它事实对于相同对象的相关性相比。换句话说,重要度衡量该事实对于由对象表示的实体或者概念的理解有多重要。\n每一事实204包括其中包含事实并且从中可提取事实的源220的列表。每一源都可以由统一资源定位符(URL)或者web地址来标识。\n在一些实施例中,一些事实包括代理字段222,该字段标识提取事实的模块。例如,代理可以是从特定源提取事实的特殊模块,或者是通过万维网在文档中从自由文本中提取事实的模块,等等。\n在一些实施例中,对象200可以具有一个或多个特定的事实,例如名称事实206和性质事实208。名称事实206是一个为对象200所表示的实体或者概念表达名称的事实。例如,对于一个表示西班牙国家的对象,可以是一个能够表达对象的名称为“西班牙”的事实。名称事实206,可以是一般事实204的特定实例,包括与任何其它事实204相同的参数;它具有:属性,值,事实ID,指标,源,等等。名称事实206的属性224指示该事实是名称事实,值是实际的名称。名称可以是文本的字符串。对象200可以具有一个或多个名称事实,同时许多事实或者概念可以具有多于一个名称。例如,表示西班牙的对象可以具有能够表达国家的通用名称“西班牙”的名称事实和官方名称“西班牙王国”。在另一实施例中,表示美国专利和商标局的对象可以具有能够表达代理的首字母缩略词“PTO”和“USPTO”的名称事实和正式官方名称“美国专利和商标局”。\n性质事实208是表达关于所关注对象200所表示的实体或者概念的陈述的事实。例如,对于表示西班牙的对象,性质事实可以表达西班牙是欧洲的一个国家。性质事实208,作为一般事实204的特定实例,还可以包括与其它事实204相同的参数(例如:属性,值,事实ID,指标,源,等等)。性质事实208的属性字段226指示该事实是性质事实,值的字段是能够表达所关注陈述的文本的字符串。例如,对于表示西班牙的对象,性质事实的值可以是文本字符串“是欧洲的一个国家”。对象200可以具有0个或更多的性质事实。\n应当理解图2中示出的数据结构和上面所描述的只是实例性的。事实储存库124的数据结构可以采取其它形式。其它字段可以被包含在事实中,并且上面描述的其中一些字段可以省略。另外,每一对象除了名称事实和性质事实外都还可以具有另外的特定事实,例如表达类型或种类的事实(例如,人,位置,电影,演员,等),用于将对象所表示的实体或者概念进行分类。在一些实施例中,对象的名称和/或性质都由特定的记录表示,这些特定的记录都具有与对象的属性-值对相关联的事实记录204不同的格式。\n图3根据本发明的一些实施例示出了实例事实索引。如上所述,事实索引122可以基于一个或多个参数来索引事实储存库。在一些实施例中,事实索引300可以是这种索引。事实索引300映射唯一词语到事实,或者映射到事实储存库124中的信息位置上。如这里所使用的,词语是单词(例如英文单词“Spain”或者“George”)或者数字(例如“123”或者“-9”)。在一些实施例中,词语还可以包括包含两个或更多单词的词语,例如英文“United States”或者“birth data”。事实索引300包括词语的多个组303和相关联的词语位置记录,并且可选的包括带有关于索引300的信息(例如关于索引大小的信息,关于用于定位所述组的映射功能的信息,等)的索引头部302。在每一个组303中都是词语304和一个或多个词语定位记录306,它可以识别事实储存库124中词语的每次出现的位置。每一词语定位记录都具有对象标识符308(用于标识出现该词语的对象)、事实标识符310(标识该对象中的事实)、事实字段标识符312(标识该事实中的字段)以及符号串(token)标识符314(标识字段中的符号串)。这四个字段把词语映射到事实储存库124中的位置。然而,应当理解,事实索引300只是一个示例,事实索引300的其它形式和其它事实索引都是可能的。在一些实施例中,当词语定位记录306指向作为一整体的对象(例如,该词语是该对象的名称),事实标识符310、字段标识符312和符号串标识符314都具有预定值或者空值。\n图4示出根据本发明一些实施例的对于事实查询的可能回答的实例列表。第二搜索控制器118从第二高速缓存120或者从事实储存库124的搜索中接收对于事实查询的一个或更多可能的回答的列表,从可能回答的列表中选择最好的回答,将最好的回答传递到查询服务器108用于进一步的处理,这其中另外的细节将在下面进行描述,涉及到图5A-5C。图4示出了可能回答400的实例列表。列表400包括一个或多个可能的回答403。每一可能的回答403都具有一个或多个字段。对象ID 404标识对象,该对象包括了是可能回答的事实。对象名称406标识由对象ID 404标识的对象所表示的实体或者概念的名称。对象名称406可以是包含在对象中的名称事实的值(参见上述的对象的数据结构)。事实属性408标识事实的属性,该事实为可能的回答。事实值410标识事实的值,该事实是可能的回答。回答字段412标识三个字段(对象名称406,事实属性408,或者事实值410)的哪一个具有响应于实际查询(也就是,用户正在寻找的回答的种类)的实际回答。QA类型414标识由实际查询提出的问题(也就是,用户寻问的问题的类型以及,隐含地,响应于被询问的问题的种类)的类型。分值416指示可能回答的得分值(评分)。分值是一种指标,其试图测出该可能回答作为精确和响应回答的质量。事实查询418是由第二搜索控制器118产生的内部查询,可以导致如所述那样的可能回答的标识。事实查询418基于用户查询(由用户在客户端102输入的查询)而产生。关于QA类型414、分值416以及事实查询418的其他细节都在下面进行描述,涉及图5A-5C。在一些实施例中,可能的回答403可以由更多或更少的信息字段来表示。在一些实施例中,列表400包括列表头部402,其包含对于整个列表400可用的信息。例如,头部402可以包括用户查询的副本,指向列表40的顶端项的指针,或者其它数据结构用于方便对列表400中的词语或者记录进行访问。\n图5A-5C示出根据本发明一些实施例的用于选择对于实际查询的最好回答和表示该回答的实例过程。对于实际查询的回答是事实储存库124中的事实,该回答被标识为对于该实际查询的最好响应。一旦接收实际查询,查询引擎106处理查询,识别可能的回答,选择最好的回答,产生包含该回答的响应。查询引擎106还产生包含该回答的源的列表的响应。\n查询引擎106接收查询(502)。查询由用户在客户端102输入并且由客户端102传递到查询引擎106。查询包括一个或多个词语。由用户输入的查询是用户查询。\n用户查询被处理(504)。用户查询被传递到第一搜索控制器110和第二搜索控制器118。因为用户查询包括一个或多个词语,它可以作为对文档的搜索查询,例如万维网搜索,并且传递到能够处理这种搜索的系统组件,例如第一搜索控制器110。搜索文档,例如万维网搜索,这在现有技术中都是公知的,并且不需要进一步进行描述。\n用户查询还可以传递到第二搜索控制器118。用户查询被预处理并且被分析以确定用户是否适合一个或多个QA类型中的任何一个。预处理可以包括剔除“停用词(stop word)”(例如英语中的定冠词和不定冠词和介词)和扩展用户查询中的词和/或短语来包括它们的各自的同义词或等效物。例如,短语“birth date”可以被扩展成包括其同义词“date birth”(没有停用词“of”)和“birthday”。分析可以包括对用户查询进行句法分析和分析用户查询的文本。如果用户查询被确定为适合任何一个QA类型,可以为用户查询产生对应于相应QA类型的事实查询。事实查询是查询引擎106内部的查询并且用于访问第二高速缓存120和事实储存库124(通过事实索引122)用于找到可能的回答。如果用户查询被确定为不适合任何QA类型,另外的由第二搜索控制器118在用户查询上的处理可以被废止,从第二搜索控制器118来看,用户查询不是事实查询。应当理解,用户查询可以被确定为适合不止一个QA类型,这样,对单一的用户查询可产生多于一个的事实查询。每一个这些事实查询都被用于访问事实储存库124、第二高速缓存120和事实索引122,用于可能的回答。\n用户查询可以适合一个或多个QA类型。QA类型是问题到回答的映射,指示了该用户查询询问了哪些问题以及响应于该事实查询的回答种类。在一些实施例中,有三个一般QA类型:名称和属性到值(“NA-V”);属性和值或性质到名称(“AV-N”);以及名称到性质、类型或者名称(“N-PTN”)。在一些实施例中,还有另外的特定QA类型以处理问题的特定类型。在一些实施例中,这些特定的QA类型可以是一般QA类型的特定实例。\n在NA-V类型中,用户(通过用户查询的项)提供对象名称和属性并且想知道具有给定的名字的对象的相应属性的值。NA-V类型查询的实例可以是“波兰的首都是什么”,其中“波兰”是对象名称,“首都”是期望知道其值的“波兰”的属性。用于该查询的回答可以是事实的值,与具有名称“波兰”的对象相关联,并具有属性“首都”。在这种情况下,具有属性“首都”的事实的值可以是字符串“华沙”。该值还可以是具有名称“华沙”的对象的对象标识符,这种情况下名称“华沙”可以由对象标识符替代并且作为可能回答返回。\n在AV-N类型中,用户提供属性和值(或者性质,由于性质只是特定的属性值对,如上所述)并且想知道具有给定属性的给定值的名称。在某种意义上,这是“反向查找”。AV-N类型查询的实例可以是“哪个国家将华沙作为其首都”,在这种情况下“首都”是属性,“华沙”是值。一种可能的回答可以是具有该属性值对的对象的名称,也就是“波兰”。\n在N-PTN类型中,用户提供名称并且想知道与给定名称相关联的对象的性质或者类型或者替代名称。N-PTN类型查询的一个实例可以是“NRA是什么(what is the NRA)”。“NRA”是用户想知道其性质、类型或者替代名称的对象的名称。对于“NRA”的一种可能的性质的回答是“第二修正权拥护组(a second amendment rights advocacygroup)”。一种可以表达由对象表示的实体或者概念的分类的回答类型,对于“NRA”可以是“组织”,指示NAR是一个组织,与其它类型例如人、书、电影等等相对。对于“NRA”的一种替代名称可以是“国家步枪联合会(National Rifle Association)”,这是由具有名称(首字母缩略词)“NRA”的对象表示的实体的正式名称。\n在一些实施例中,事实查询可以包括额外的限制。例如,事实查询可以制定某个词语可只在特定字段而不在其它字段匹配。其它的限制可以是任何可能的回答都必须匹配特定类型(例如人,书等)。这样的限制可以由第二搜索控制器118在分析和处理用户查询的期间产生。\n在处理用户查询并产生一个或多个事实查询之后,事实查询用于访问事实储存库124(通过事实索引122)和第二高速缓存以查找可能的回答(506)。可能的回答可以是匹配一个或多个事实查询的事实。对可能回答进行评分(508)。可能回答的分值提供了该可能回答作为精确的和相应的回答的质量指示。\n在一些实施例中,可能回答的分值是多个因子值的乘积。在一些实施例中,一个或多个因子值可以是0和1之间的规范化的值,0和1包括在内。实际上用于确定分值的因子可以随与可能回答相匹配的事实查询的QA类型变化。在一些实施例中,因为分值,作为0和1之间的因子的乘积,0和1包括在内,可以保持不变或者向0减少但是不会增加,如果用于特定回答的分值减少到预定阈值以下,用于任何特定可能回答的分值可以丢弃。这可以指示该可能回答是如此差的质量以至于进一步的评分是浪费的。\n在一些实施例中,所述因子可以基于QA类型、匹配事实查询的事实的指标(例如置信指标和重要性指标)、提取该匹配事实的代理、事实中的字段与事实查询匹配的程度、事实中的特定字段完全匹配事实查询的程度,等等。应当理解上述因子只是实例性的,除了上述的那些,其它因子也可以包括在内,上面描述的一些因子可以省略。\n每一个可能的回答被评分之后,可能回答被收集到可能的回答列表中,例如上述的可能回答列表400,参见图4。在一些实施例中,只有预定数量的高评分的回答被收集到可能回答列表400。例如,可能回答列表可以只包含100个最高评分的可能回答。在一些实施例中,可能回答列表400的进一步处理由第二搜索控制器118来控制。\n在图5B中继续,从可能回答列表400中识别一定数量的最高评分的可能回答(510)。该数量可以是预定数量,它可以指定有多少高评分的回答将要被进一步处理。只要仍然存在已找到的高评分的可能回答需要被处理(512-否),就会处理下一个高评分的回答。该处理涉及到为各高评分的回答识别支持回答(514)以及基于各高评分的回答的分值和它的支持回答的分值来确定用于各高评分回答的支持分值(516)。支持回答的识别将在下面进行详细描述。\n在一些实施例中,支持分值通过将每一个高评分回答的分值和它的支持回答转化为奇空间值(odds space value)。分值s被转化为奇空间值x。\n\n所转化的各值(也就是分值的奇空间转化)相加以生成值X,总和X被转化回概率空间值以获得用于该高评分回答的支持分值S。\n\n在为已找到的高评分回答确定支持分值(512-是)之后,识别具有最高支持分值(下文中为“最好支持回答”)的高评分回答(518)。对于该最好支持回答,识别与该最好支持回答矛盾的可能回答列表中的高评分回答(520)。对于该矛盾回答,确定用于该矛盾回答的支持分值的矛盾分值C(522)。另外,在一些实施例中,在与最好支持回答不相关的可能回答的列表中识别高评分回答(524)。对于该不相关的回答,确定用于该不相关回答的支持分值的不相关分值U(526)。应当理解,用于确定矛盾分值C和不相关分值U的过程类似于确定S的过程:识别支持回答,分值被转化为奇空间值,奇空间值被相加,相加的和被转化回概率空间值。矛盾和不相关的回答的确定将在下面进行描述。\n两个可能的回答是支持的、矛盾的或者不相关的都是基于两个回答的字段比较。每一个回答的所关注的字段,也就是名称、属性和值都被分组到输入和输出。例如,在一些实施例中,对于NA-V类型查询,输入是名称和属性,输出是值。对于AV-N类型查询,输入是属性和值,输出是名称。两个可能的回答通过它们的输入字段和输出字段的成对比较而进行比较。这种比较考虑到字段中的数据的类型,也就是,字段中的数据究竟是词串、日期、数字等等。回答的源也可以被考虑。\n在一些实施例中,成对的字段比较的结果是五种分类的其中之一。它们是:\n●不可比:字段具有不同的数据类型(例如,词串对日期),因此不能比较;\n●不相似:字段属于相同的数据类型,但是根本就不相同;\n●有些类似:字段具有一些相似性,但是难以得出结论是否它们指相同的东西;\n●非常相似:字段几乎是相同的;以及\n●相同:字段完全相同。\n字段相同与否的实际确定可因数据类型的不同而不同。例如,对于数字,如果数字都是小整数,那么它们一定是完全相等才能被认为是相同的。如果数字是非常大的整数或者浮点型数字,那么如果它们互相在某一百分比之内就可以被认为相同。\n基于成对的字段比较,两个回答之间的关系可以被分类:\n●如果这些回答来自于相同的源,两个回答可以被分类为“互补”。与回答A互补的回答被忽略;\n●如果这些回答具有相同的或者非常类似的输入但是输出只是有些类似,则这两个回答被分类为“可支持”(即回答A“可支持”回答B)。“可支持”回答B的回答A被忽略;\n●如果这两个回答具有相同的或者非常类似的输入以及相同的或者非常类似的输出,那么这两个回答被分类为“支持”,除非两个回答来自于相同的源。“支持”的回答的分值是支持分值确定的部分;\n●如果输入是相同或者非常类似但是输出不相似或者是不可比的,那么两个回答是“矛盾的”;以及\n●如果输入不相似或者不可比,那么两个回答是“不相关的”。\n最好的支持回答的支持分值S与预定阈值T做比较(528)。阈值T是是如果该最好的支持回答要被进一步考虑该支持分值S必须达到的最小分值。如果S小于或者等于T(528-否),那么执行图5B中示出的处理的处理器(例如第二搜索控制器118或者查询引擎106)可以产生指示查询引擎106不能提供回答的响应(534)。例如,第二搜索控制器118可以传递指示回答不可用的响应到查询服务器108,查询服务器108可以产生对该效果的响应并传递该响应到客户端102表示给用户。\n如果S大于T(528-是),可以进行检查,看该最好支持回答的支持分值S较之矛盾回答的最好支持分值C是否超出了至少第一预定裕度。在一个实施例中,这种比较通过将S与乘了常量α的矛盾分值C进行比较而进行(530)。常量α代表为了把该最后支持回答选择为对于该事实查询的最好回答而必须达到的S与C的最小比率。换句话说,S必须至少是矛盾分值C的α倍。如果S小于αC(530-否),那么执行图5B中示出的处理的处理器(例如第二搜索控制器118或者查询引擎106)可以产生指示查询引擎(106)不能提供回答的响应(534)。\n如果S等于或者大于αC(530-是),则进行另一个检查,看看最好支持回答的支持分值S较之不相关回答的最好支持分值U是否超出了至少第二预定裕度。在一个实施例中,这种检查可以通过与乘了常量β的不相关的分值U进行比较而进行(532)。常量β表示该最好支持回答可被选择作为该事实查询的最好回答之前所必须获得的S与U的最小比率。换句话说,S必须是不相关的分值U的β倍。如果S小于βU(532-否),那么执行图5B中示出的处理的处理器(例如第二搜索控制器118或者查询引擎106)可以产生指示查询引擎106不能提供回答的响应(534)。如果S等于或者大于βU(532-是),那么该最好的支持回答被选择作为该事实查询的回答并且被进一步处理,进一步的细节将参考图5C在下面进行描述。\n在图5C中继续,该最好支持回答被选择作为该事实查询的最好回答之后,查询服务器108产生响应(536)。该响应包括该最好支持回答。该响应可以包括用于该最好支持回答的源的标识符和/或超级链接(例如URL)。在一些实施例中,该响应还可以包括链接,当用户在客户端102点击该链接时,可以产生请求用于该最好支持回答的各源的列表。在一些实施例中,响应还可以包括文档搜索的结果,例如基于用户查询的web搜索。文档搜索结果可以从处理这些搜索的查询引擎106的组件传递到查询服务器108,例如第一搜索控制器110。该响应被传递到客户端102用于呈现给用户(538)。包含回答和使用用户查询的文档搜索结果的示例响应将在下面参考图6进行详细描述。\n看到在客户端102上提供的响应,用户可以请求该回答的源的列表。在一些实施例中,用户可以通过点击包含在该响应(如上所述)中的链接提出该请求,一旦点击链接则产生对源列表的请求。\n查询引擎106接收对该回答的源的列表的请求(540)。识别该回答的源(542)。在一些实施例中,可以通过在事实储存库124中查找该回答事实的源220(图2)而识别该回答的源。把片断产生请求发送到第一搜索控制器,连同源的列表、用户查询、匹配该回答的事实查询418以及该回答。片断产生请求被提交到第一高速缓存112、文档索引114和/或文档数据库116。在一些实施例中,如果源列表比预定的限界长,可以通过第一搜索控制器110选择该源列表的子集并提交到第一高速缓存112、文档索引114和/或文档数据库116。第一高速缓存112、文档索引114和/或文档数据库116或片断产生请求被提交到的一个或多个处理器,对于所列出的源的每个产生片断(544)。每一片断可以包括文本的连续部分或者来自相应源的文本的多个非连续部分。对于特定片断来讲,如果所选择的包含在片断内的文本部分在源内是不连续的,这些部分就可以用省略号分隔开。\n产生每一片断使得它能够包括尽可能多的该用户查询和/或事实查询的词语和尽可能多的该回答的词语。可以分析该源内查询和回答词语的散布(也就是查询词语和回答词语在源文档中如何散布)以帮助产生片断。产生最少查询词语和回答词语散布的一个或多个文本部分被选择用于包含在该片断内。\n产生包含该片断的响应(546)。该响应包含源的列表和每一源的片断,所述片断包含用户/事实查询词语和回答词语。该响应还可以包含回答、用户查询、到每一源的超链接。该响应被传递到客户端102用于呈现给用户(548)。\n在一些实施例中,当响应被呈现给用户时,每一片断中的用户/事实查询词语和回答词语都被突出以使它们更加醒目。如这里所使用的,在片断中突出词语是指当呈现给用户时能让词语更加醒目的任何方式,包括但不限于:粗体表示词语,为词语添加下划线,使词语变为斜体字,改变词语的字体颜色,和/或为词语的局部添加背景颜色。包含源的列表和片断的示例响应将在下面参考图7进行描述。\n在一些实施例中,提交给查询引擎106的查询可以由URL表示,包含用户查询词语和一个或多个其它参数。例如,对词语“britney spearsparents”的查询可以由URL“http://www.google.com/search?hl=en&q=britney+spears+parents”表示。在一些实施例中,请求显示该回答的源的列表可以通过添加额外的参数来进行,例如把“&fsrc=1”添加到查询URL。因此,对于上述URL,如果对于查询“britney spearsparents”的回答的源的列表是所期望的,查询URL可以如这样“http://www.google.com/search?hl=en&q=britney+spears+parents&fsrc=1”。在一些实施例中,当用户点击响应中包含回答的链接时,触发对于该回答的源的列表的请求,该链接是除额外参数之外的用于用户查询的查询URL。\n在一些其它的实施例中,查询引擎106可以连同事实查询一起接收预定的特殊算符,可用于指示查询引擎106来寻找对事实查询的回答并且返回该回答和该回答的源的列表,而无需首先返回使用该查询作为文档搜索的输入而找到的文档列表。例如,用户可以输入“Z:X ofY”,“Z:”作为特殊算符,来指示查询引擎106寻找对事实查询“X ofY”的回答和该回答的源的列表。在某种意义上来讲,算符与查询的一起使用将查询与可对该查询找到回答的源的列表的请求合并在一起。在一些实施例中,响应中能产生对该回答的源的列表的请求的链接,如上所述,当用户选择(例如点击)该链接时,对原来的查询添加该特殊算符并且把带有该特殊算符的查询提交到查询引擎106。\n图6示出了根据本发明一些实施例的对事实查询的实例响应,如在客户端102呈现给用户的,包含回答和使用该事实查询作为输入的文档搜索结果。该响应600可以显示带有原始用户查询的搜索框602。响应600包括对于查询604的回答,至该回答的源606的超链接,以及链接608,当由用户点击链接608时会触发对该回答的源的列表的请求。在一些实施例中,链接608可以是添加了源列表请求参数的用于用户查询的查询URL,如上所述。在一些实施例中,如果回答事实604在事实储存库124中只有一个源,用户点击时可触发对该回答的源的列表的请求的链接可在响应600中被省略。响应还可以包括文档搜索结果610的列表,例如万维网搜索,使用该事实查询作为输入。\n图7示出了根据本发明的一些实施例的对于回答的源列表的请求的示例响应。响应700包括带有原始用户查询的搜索框702。在一些实施例中,搜索框702还可以包括特定算符,如上所述,它可以与事实查询一起被用于请求源的列表。例如,在搜索框702中,“factsources:”是特定算符,“Britney spears parents”是原始用户查询。在一些其它实施例中,算符可以从搜索框中的查询表示中省略,例如,如果对于源的列表请求的触发是用户点击链接,例如链接608,这包括带有源列表请求参数的查询URL。该响应还可以包括对于事实查询的回答704,以及用于该回答的一个或多个源706的列表,连同URL、超链接和用于每一源的片断708。在一些实施例中,在每一片断708中,查询词语和回答词语可以被突出显示。在片断708中,查询词语和回答词语通过被加黑加粗以突出显示。\n图8是方块图,示出根据本发明的一些实施例的事实查询应答系统800。系统800通常包括:一个或多个处理单元(CPU)802,一个或多个网络或其它通信接口810,存储器812,以及一个或多个通信总线814用于互连这些组件。系统800可选的包括用户界面804,该界面包括显示装置806和键盘/鼠标808。存储器812包括高速随机存取存储器,例如DRAM、SRAM、DDR RAM或者其它随机存取固态存储器装置;并且可以包括非易失性存储器,例如一个或多个磁盘存储器装置、光盘存储器装置、闪存装置或者其它非易失性固态存储器装置。存储器812可选地包括一个或多个存储器装置,其与CPU(802)异地远程定位。在一些实施例中,存储器812存储下面的程序、模块和数据结构或者其子集:\n●操作系统816,其包括用于处理不同基本系统服务和用于执行硬件依赖任务的程序;\n●查询接受和处理模块818,用于接受查询和处理查询,例如对该查询句法分析以确定QA类型并产生事实查询;\n●回答识别模块820,用于识别对于事实查询的可能回答;\n●回答评分模块822,用于确定回答的分值和支持分值;\n●回答比较模块824,用于比较各回答以确定是否它们是支持的、矛盾的等;\n●回答选择模块825,用于选择可能回答作为提供给用户的回答;\n●源识别模块826,用于识别回答的源;\n●文档索引接口828,用于当搜索文档时提供与文档索引的接口;\n●文档存储接口830,用于当请求和接收片断时提供与文档存储系统的接口;\n●事实索引接口832,用于当搜索事实时提供与事实索引的接口;\n●事实存储接口834,用于提供与事实存储系统的接口;以及\n●响应产生模块838,用于产生被传递到客户端102的响应。\n在一些实施例中,系统800的存储器812包括事实索引而不是事实索引接口832。系统800还包括文档存储系统840用于存储文档的内容,其中一些内容可以作为用于回答事实的源。文档存储系统包括片断生成器842用于访问文档的内容并从内容中产生片断,还包括片断词语突出模块836用于突出片断中的查询词语和回答词语。系统800还包括事实存储系统844用于存储事实。存储在事实存储系统844中的每一事实都包括源的对应列表,相应的事实从这些源中提取。\n上述每一所识别的要素被存储在一个或多个上述的存储器装置中,并且对应于用于执行上述功能的指令集。上述的模块或程序(也就是指令集)不必实现成单独的软件程序、过程或者模块,因此这些模块的不同子集可以在不同实施例中被组合或者以其他方式重新安排。在一些实施例中,存储器812可以存储上述的模块和数据结构的子集。另外,存储器812可以存储另外的上面没有描述的模块和数据结构。\n虽然图8示出了事实查询应答系统,图8试图给出不同特征的功能性描述,其中这些不同的特征可以表示为一组服务,而不是这里描述的实施例的结构性示意图。实际上,本领域技术人员可以理解,单独示出的项目可以被组合并且一些项目也可以被分开。例如,图8中分离的示出的一些项目可以在单一的服务器上实现,并且单一的项目也可以由一个或多个服务器实现。用于实现事实查询应答系统的服务器的实际数量以及这些特征如何在这些服务器中被分配都将因实现的不同而不同,并且可以部分依靠于在峰值使用期间以及在平均使用期间系统必须控制的数据通信量。\n前面的描述,出于解释的目的,参考了特定的实施例进行了描述。然而,上面讨论的说明性的讨论并不是穷举或者将本发明限定到所公开的确切形式。考虑到上面的教导,许多改变和变化都是可能的。选择和描述实施例是为了更好的解释本发明的原理和其实际的应用,从而使本领域技术人员更好的利用本发明和作为特定用途的使用的具有不同变化的不同实施例。\n相关申请\n本申请涉及以下申请,其中每一个都通过引用并入此处作为参考:\n2005年3月31日提出申请的美国专利申请号为11/097,688的“Corroborating Facts Extractedx from Multiple Sources”;\n2005年3月31日提出申请的美国专利申请号为11/097,676的“Bloom Filters for Query Simultation”;\n2005年3月31日提出申请的美国专利申请号为11/097,690的“Selecting the Best Answer to a Fact Query from Among a Set ofPotential Answers”;以及\n2004年12月30日提出申请的美国专利申请号为11/024,784的“Supplementing Search Results with Information of Interest”。
法律信息
- 2018-02-16
专利权人的姓名或者名称、地址的变更
专利权人由谷歌公司变更为谷歌有限责任公司
地址由美国加利福尼亚州变更为美国加利福尼亚州
- 2010-06-23
- 2008-07-16
- 2008-05-21
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |