CN102999547A - 搜索查询的自动生成 - Google Patents
搜索查询的自动生成 Download PDFInfo
- Publication number
- CN102999547A CN102999547A CN2012103503785A CN201210350378A CN102999547A CN 102999547 A CN102999547 A CN 102999547A CN 2012103503785 A CN2012103503785 A CN 2012103503785A CN 201210350378 A CN201210350378 A CN 201210350378A CN 102999547 A CN102999547 A CN 102999547A
- Authority
- CN
- China
- Prior art keywords
- key
- search
- semantic
- search results
- relevant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于搜索查询的自动生成的方法、计算机可读介质和系统。语义密钥可以在第一搜索查询中被自动识别,从而允许第二搜索查询基于第一搜索查询而自动生成。可以使用第二搜索查询来执行第一搜索。响应于第一搜索而生成的搜索结果可以包括与语义密钥相关的至少一个语义子密钥的一个或多个实例。以这种方式,可以返回更相关的搜索结果,同时使用户免于与搜索查询关键词分开地手动输入语义密钥和/或区分语义密钥和搜索查询关键词。
Description
相关申请
本申请为2011年1月24日提交的标题为“SEARCHINGUSING SEMANTIC KEYS”的美国专利申请第13/012,690号的部分继续申请,第13/012,690号申请指定Hong Liang Qiao为发明人,且具有代理人文件号码LEXE-0001.P1.US1,该申请要求2010年1月25日提交的标题为“SYSTEM AND METHOD FORENHANCING SEARCH RELEVANCY USING SEMANTICKEYS”的美国临时专利申请第61/298,166号的权益,第61/298,166号临时申请指定Hong Liang Qiao为发明人,且具有代理人文件号码LEXE-0001.P1.US0,其中美国专利申请第13/012,690号是美国专利申请第12/112,774号的部分继续申请,第12/112,774号申请于2008年4月30日提交,标题为“SYSTEMAND METHOD FOR ENHANCING SEARCH RELEVANCYUSING SEMANTIC KEYS”,指定Hong Liang Qiao为发明人,且具有代理人文件号码LEXE-0001.P1.US1,该申请要求2007年10月12日提交的标题为“SYSTEM AND METHOD FORENHANCING SEARCH RELEVANCY WITH SEMANTICKEYS”的美国临时专利申请第60/998,810号的权益,第60/998,810号临时申请指定Hong Liang Qiao为发明人,且具有代理人文件号码LEXE-0001.US0,且该申请(第12/112,774号申请)还要求2007年10月18日提交的标题为“SYSTEM ANDMETHOD FOR ENHANCING SEARCH RELEVANCY WITHSEMANTIC KEYS”的美国临时专利申请第60/999,813号的权益,第60/999,813号临时申请指定Hong Liang Qiao为发明人,且具有代理人文件号码LEXE-0001.US01。这些申请在此以引用方式全文并入本文并用于所有目的。
本申请还要求2011年9月16日提交的标题为“AUTOMATICRECOGNITION OF SEMANTIC KEYS IN SEARCH QUERIES”的美国临时专利申请第61/535,895号的权益,第61/535,895号临时申请指定Hong Liang Qiao为发明人,且具有代理人文件号码LEXE-0001.P2.US0。该申请在此以引用方式全文并入本文并用于所有目的。
本申请与__________________提交的标题为“RANKING DATAUTILIZING MULTIPLE SEMANTIC KEYS IN A SEARCHQUERY”的美国专利专利申请第___________________号相关,第___________号申请指定Hong Liang Qiao为发明人,且具有代理人文件号码LEXE-0001.P3.US1。该申请在此以引用方式全文并入本文并用于所有目的。
本申请与__________________提交的标题为“SYSTEM ANDMETHOD FOR ORDERING OF SEMANTIC SUB-KEYS”的美国专利专利申请第_____________号相关,第___________号申请指定Hong Liang Qiao为发明人,且具有代理人文件号码LEXE-0001.P4.US1。该申请在此以引用方式全文并入本文并用于所有目的。
本申请与_________________提交的标题为“RANKING DATAUTILIZING ATTRIBUTES ASSOCIATED WITH SEMANTICSUB-KEYS”的美国专利专利申请第________________号相关,第______________号申请指定Hong Liang Qiao为发明人,且具有代理人文件号码LEXE-0001.P5.US1。该申请在此以引用方式全文并入本文并用于所有目的。
发明背景
传统的搜索引擎通常使用来自用户输入搜索查询的关键词以定位并显示网页。例如,如果用户对了解哪些国家与美国接壤感兴趣,那么用户可以输入搜索查询“与美利坚合众国接壤的国家”。作为响应,传统的搜索引擎可返回带有“国家”、“接壤”、“美利坚”和“合众国”这四个词中的全部或一些的网页。
然而,此类查询很可能返回大量(例如,数以千万的)不相关或不想要的网页。例如,结果可能含有关于美国乡村音乐、关于美国的总体信息等的网页。因而,用户一般执行过度限制性搜索以将结果的数量缩小到更易于管理的数量,由此从结果中排除许多相关的网页。因此,使用传统的基于关键词的搜索引擎在互联网上找到相关信息可能是冗长和耗时的。
通过传统的搜索引擎返回的相关结果的数量还受传统的关键词搜索方法的字面性质的限制。例如,网页可使用与在搜索查询中输入的关键词相关的同义词或其它词,而不使用一个或更多个确切的关键词。在这种情况下,传统的基于关键词的搜索引擎可能在搜索结果中不包括这些网页,尤其是在使用更具限制性的搜索(例如,在搜索查询的关键词之间使用“and”(“与”)运算符或其它类型的运算符)的情况下更为如此。因此,给出传统的关键词搜索的字面性质,使用传统的搜索引擎搜索相关信息变得更加繁琐。
此外,一些传统的搜索引擎基于网页与用户输入的搜索查询的关键词的相关性对搜索结果进行排名。尽管这可能重新组织搜索结果,但是它不解决返回不相关的搜索结果的上述问题和由传统的基于关键词的搜索引擎的字面性质引起的其它问题。
发明概要
因此,存在对返回更相关结果的搜索引擎和/或搜索方法的需要。还存在对允许执行更宽泛的搜索同时减少不相关结果的数量的搜索引擎和/或搜索方法的需要。另外,还存在对以较不冗长且耗时的方式返回相关结果的搜索引擎和/或搜索方法的需要。本发明的实施方案提供对这些需要和如下文所述的其它需要的新颖解决方案。
本发明的实施方案目的在于一种用于搜索查询的自动生成的方法、计算机可读介质和系统。更具体地,语义密钥可在第一搜索查询(例如,由用户输入)中被自动识别,从而允许第二搜索查询(例如,包括至少一个关键词且不包括语义密钥)基于第一搜索查询而自动生成。可使用第二搜索查询来执行第一搜索。响应于第一搜索生成的搜索结果可包括与语义密钥相关的至少一个语义子密钥的一个或多个实例。以这种方式,更相关的搜索结果可被返回,同时使用户免于与搜索查询关键词分开地手动输入语义密钥和/或区分语义密钥和搜索查询关键词。
在一个实施方案中,可基于第一搜索查询来执行第二搜索。响应于第一搜索和第二搜索生成的搜索结果可被分析来自动确定输出哪些搜索结果以供呈现(例如,经由图形用户接口向用户)。该分析可包括通过基于一个或多个参数给几组搜索结果评分来确定最相关的一组搜索结果,其中最相关的该组搜索结果可被输出。该分析可包括确定与第一搜索的搜索结果相关的数量和与第二搜索的搜索结果相关的数量之比,其中如果该比超过预定的阈值,则第一搜索的搜索结果可以被输出。以这种方式,可从多组搜索结果自动选择用于输出的一组搜索结果,从而允许在一些情况下输出更相关的搜索结果。
在一个实施方案中,可以给用户提供在几组搜索结果之间切换的选择。例如,图形用户接口可包括允许用户选择性地显示第一搜索的搜索结果和/或第二搜索的搜索结果的元件。以这种方式,用户可快速确定哪组搜索结果是更可取的和/或最相关的,是否自动选择的这组搜索结果是更可取的和/或最相关的,等等。
在一个实施方案中,第二搜索查询可响应于确定第一搜索查询的第二部分(例如,与包括语义密钥的第一部分分开的)与语言的预定部分(例如,关系代词、疑问代词、介词、动词等)相关而生成。在这种情况下,第二搜索查询可生成,使得它没有第一部分和第二部分(例如,其包括在第一搜索查询中或是第一搜索查询的部分)。因此,第一搜索查询中的语言的预定部分的自动识别可提供一个或多个优势(例如,通过在第一搜索查询中自动区分语义密钥和至少一个关键词来更有效地生成第二搜索查询、可通过不包括第一搜索查询的第二部分来提供更相关的搜索结果、输出基于第二搜索查询生成的搜索结果的决定的确认,等等)。
在一个实施方案中,可以确定第一搜索查询的第一部分(例如,包括语义密钥)和第一搜索查询的第二部分(例如,包括与语义密钥分开的一个或多个词)是否与短语相关。如果确定第一部分和第二部分不与短语相关,则第二搜索查询(例如,不包括语义密钥)可以生成。或者,如果确定第一部分和第二部分与短语相关,则第二搜索查询可以不生成。因此,搜索查询的第一部分和第二部分可有利地用于更有效地提供搜索结果。
在一个实施方案中,由计算机实现的搜索查询的自动生成的方法包括访问第一搜索查询。该方法还包括确定第一搜索查询的第一部分包括语义密钥。响应于该确定,第二搜索查询基于第一搜索查询而自动生成,其中第二搜索查询没有第一部分,且其中第二搜索查询不同于第一搜索查询。可基于第二搜索查询来执行第一搜索,其中响应于第一搜索生成的第一搜索结果包括多个文档,且其中多个文档中的每个文档包括与语义密钥相关的至少一个语义子密钥的至少一个相应的实例。
在另一实施方案中,一种计算机可读介质可以具有计算机可读程序代码,该代码体现于计算机可读介质中,用于使计算机系统执行搜索查询的自动生成的方法。且在一个实施方案中,一种系统可以包括处理器和存储器,其中存储器包括用于使处理器实现搜索查询的自动生成的方法的指令。
概念
下面的第一组概念被本申请支持:
1.一种由计算机实现的对数据排名的方法,所述方法包括:
访问搜索查询;
确定所述搜索查询包括多个语义密钥,其中所述多个语义密钥中的每个语义密钥与多组语义子密钥中的相应的一组语义子密钥相关;
确定在所述多组语义子密钥中的每组语义子密钥中包括的至少一个语义子密钥;以及
将与所述至少一个语义子密钥相关的至少一个文档排名在与至少一个其它语义子密钥相关的至少一个其它文档之上,其中所述至少一个其它语义子密钥包括在所述多组语义子密钥中的少于全部组的语义子密钥中,且其中所述至少一个文档和所述至少一个其它文档与响应于基于所述搜索查询执行的搜索而生成的搜索结果相关。
2.概念1的方法,还包括:
输出包括排名在所述至少一个其它文档之上的所述至少一个文档的所述搜索结果。
3.概念1的方法,还包括:
将所述至少一个语义子密钥排名在所述至少一个其它语义子密钥之上。
4.概念3的方法,还包括:
为了呈现,输出与在所述至少一个其它语义子密钥之上的所述至少一个语义子密钥的排序相关的数据。
5.概念1的方法,其中所述多个语义密钥中的至少一个语义密钥包括多个词。
6.概念1的方法,其中所述至少一个文档和所述至少一个其它文档中的每个文档选自由网页、电子文档、电子文件和广告内容组成的组。
7.概念1的方法,其中所述搜索查询包括多个语义密钥的所述确定还包括使用所述搜索查询的至少一部分对数据库编索引以访问所述多个语义密钥中的至少一个语义密钥。
8.概念1的方法,还包括:
确定与所述多个语义密钥相关的所述多组语义子密钥,且其中所述确定所述多组语义子密钥还包括使用所述多个语义密钥对数据库编索引以访问所述多组语义子密钥,并且
其中所述确定至少一个语义子密钥还包括比较所述多组语义子密钥以确定包括在每组语义子密钥中的所述至少一个语义子密钥。
9.一种计算机可读介质,其具有体现在其中的计算机可读程序代码,所述计算机可读程序代码用于使计算机系统执行对数据进行排名的方法,所述方法包括:
访问搜索查询;
确定所述搜索查询包括多个语义密钥,其中所述多个语义密钥中的每个语义密钥与多组语义子密钥中的相应的一组语义子密钥相关;
确定包括在所述多组语义子密钥中的每组语义子密钥中的至少一个语义子密钥;以及
将与所述至少一个语义子密钥相关的至少一个文档排名在与至少一个其它语义子密钥相关的至少一个其它文档之上,其中所述至少一个其它语义子密钥包括在所述多组语义子密钥中的少于全部组的语义子密钥中,且其中所述至少一个文档和所述至少一个其它文档与响应于基于所述搜索查询执行的搜索而生成的搜索结果相关。
10.概念9的计算机可读介质,其中所述方法还包括:
输出包括排名在所述至少一个其它文档之上的所述至少一个文档的所述搜索结果。
11.概念9的计算机可读介质,其中所述方法还包括:
将所述至少一个语义子密钥排名在所述至少一个其它语义子密钥之上。
12.概念11的计算机可读介质,其中所述方法还包括:
为了呈现,输出与在所述至少一个其它语义子密钥之上的所述至少一个语义子密钥的排序相关的数据。
13.概念9的计算机可读介质,其中所述多个语义密钥中的至少一个语义密钥包括多个词。
14.概念9的计算机可读介质,其中所述至少一个文档和所述至少一个其它文档中的每个文档选自由网页、电子文档、电子文件和广告内容组成的组。
15.概念9的计算机可读介质,其中所述搜索查询包括多个语义密钥的所述确定还包括使用所述搜索查询的至少一部分对数据库编索引以访问所述多个语义密钥中的至少一个语义密钥。
16.概念9的计算机可读介质,其中所述方法还包括:
确定与所述多个语义密钥相关的所述多组语义子密钥,且其中所述确定所述多组语义子密钥还包括使用所述多个语义密钥对数据库编索引以访问所述多组语义子密钥,并且
其中所述确定至少一个语义子密钥还包括比较所述多组语义子密钥以确定包括在每组语义子密钥中的所述至少一个语义子密钥。
17.一种包括处理器和存储器的系统,其中所述存储器包括用于使所述处理器实现对数据进行排名的方法的指令,所述方法包括:
访问搜索查询;
确定所述搜索查询包括多个语义密钥,其中所述多个语义密钥中的每个语义密钥与多组语义子密钥中的相应的一组语义子密钥相关;
确定包括在所述多组语义子密钥中的每组语义子密钥中的至少一个语义子密钥;以及
将与所述至少一个语义子密钥相关的至少一个文档排名在与至少一个其它语义子密钥相关的至少一个其它文档之上,其中所述至少一个其它语义子密钥包括在所述多组语义子密钥中的少于全部组的语义子密钥中,且其中所述至少一个文档和所述至少一个其它文档与响应于基于所述搜索查询执行的搜索而生成的搜索结果相关。
18.概念17的系统,其中所述方法还包括:
输出包括排名在所述至少一个其它文档之上的所述至少一个文档的所述搜索结果。
19.概念17的系统,其中所述方法还包括:
将所述至少一个语义子密钥排名在所述至少一个其它语义子密钥之上。
20.概念19的系统,其中所述方法还包括:
为了呈现,输出与在所述至少一个其它语义子密钥之上的所述至少一个语义子密钥的排序相关的数据。
21.概念17的系统,其中所述多个语义密钥中的至少一个语义密钥包括多个词。
22.概念17的系统,其中所述至少一个文档和所述至少一个其它文档中的每个文档选自由网页、电子文档、电子文件和广告内容组成的组。
23.概念17的系统,其中所述搜索查询包括多个语义密钥的所述确定还包括使用所述搜索查询的至少一部分对数据库编索引以访问所述多个语义密钥中的至少一个语义密钥。
24.概念17的系统,其中所述方法还包括:
确定与所述多个语义密钥相关的所述多组语义子密钥,且其中所述确定所述多组语义子密钥还包括使用所述多个语义密钥对数据库编索引以访问所述多组语义子密钥,并且
其中所述确定至少一个语义子密钥还包括比较所述多组语义子密钥以确定包括在每组语义子密钥中的所述至少一个语义子密钥。
下面的第二组概念被本申请支持:
1.一种由计算机实现的确定排序的方法,所述方法包括:
访问搜索查询;
确定所述搜索查询包括多个语义密钥,其中所述多个语义密钥中的每个语义密钥与多组语义子密钥中的相应的一组语义子密钥相关;
基于对所述多组语义子密钥的分析确定分类密钥;以及
基于所述分类密钥确定所述多组语义子密钥中的语义子密钥的排序。
2.概念1的方法,其中所述确定所述分类密钥还包括选择具有最少的成员的一组语义子密钥作为所述分类密钥。
3.概念1的方法,其中所述确定所述分类密钥还包括选择只包括词的一组语义子密钥作为所述分类密钥。
4.概念1的方法,其中所述确定所述分类密钥还包括选择与所述多组语义子密钥相关的统计参数作为所述分类密钥。
5.概念1的方法,还包括:
为了呈现,输出与所述语义子密钥的所述排序相关的数据。
6.概念1的方法,其中所述搜索查询包括多个语义密钥的所述确定还包括使用所述搜索查询的至少一部分对数据库编索引以访问所述多个语义密钥中的至少一个语义密钥。
7.概念1的方法,还包括:
确定与所述多个语义密钥相关的所述多组语义子密钥。
8.概念7的方法,其中所述确定所述多组语义子密钥还包括使用所述多个语义密钥对数据库编索引以访问所述多组语义子密钥。
9.一种计算机可读介质,其具有体现在其中的计算机可读程序代码,所述计算机可读程序代码用于使计算机系统执行确定排序的方法,所述方法包括:
访问搜索查询;
确定所述搜索查询包括多个语义密钥,其中所述多个语义密钥中的每个语义密钥与多组语义子密钥中的相应的一组语义子密钥相关;
基于对所述多组语义子密钥的分析确定分类密钥;以及
基于所述分类密钥确定所述多组语义子密钥中的语义子密钥的排序。
10.概念9的计算机可读介质,其中所述确定所述分类密钥还包括选择具有最少的成员的一组语义子密钥作为所述分类密钥。
11.概念9的计算机可读介质,其中所述确定所述分类密钥还包括选择只包括词的一组语义子密钥作为所述分类密钥。
12.概念9的计算机可读介质,其中所述确定所述分类密钥还包括选择与所述多组语义子密钥相关的统计参数作为所述分类密钥。
13.概念9的计算机可读介质,其中所述方法还包括:
为了呈现,输出与所述语义子密钥的所述排序相关的数据。
14.概念9的计算机可读介质,其中所述搜索查询包括多个语义密钥的所述确定还包括使用所述搜索查询的至少一部分对数据库编索引以访问所述多个语义密钥中的至少一个语义密钥。
15.概念9的计算机可读介质,其中所述方法还包括:
确定与所述多个语义密钥相关的所述多组语义子密钥。
16.概念15的计算机可读介质,其中所述确定所述多组语义子密钥还包括使用所述多个语义密钥对数据库编索引以访问所述多组语义子密钥。
17.一种包括处理器和存储器的系统,其中所述存储器包括用于使所述处理器实现确定排序的方法的指令,所述方法包括:
访问搜索查询;
确定所述搜索查询包括多个语义密钥,其中所述多个语义密钥中的每个语义密钥与多组语义子密钥中的相应的一组语义子密钥相关;
基于对所述多组语义子密钥的分析确定分类密钥;以及
基于所述分类密钥确定所述多组语义子密钥中的语义子密钥的排序。
18.概念17的系统,其中所述确定所述分类密钥还包括选择具有最少的成员的一组语义子密钥作为所述分类密钥。
19.概念17的系统,其中所述确定所述分类密钥还包括选择只包括词的一组语义子密钥作为所述分类密钥。
20.概念17的系统,其中所述确定所述分类密钥还包括选择与所述多组语义子密钥相关的统计参数作为所述分类密钥。
21.概念17的系统,其中所述方法还包括:
为了呈现,输出与所述语义子密钥的所述排序相关的数据。
22.概念17的系统,其中所述搜索查询包括多个语义密钥的所述确定还包括使用所述搜索查询的至少一部分对数据库编索引以访问所述多个语义密钥中的至少一个语义密钥。
23.概念17的系统,其中所述方法还包括:
确定与所述多个语义密钥相关的所述多组语义子密钥。
24.概念23的系统,其中所述确定所述多组语义子密钥还包括使用所述多个语义密钥对数据库编索引以访问所述多组语义子密钥。
下面的第三组概念被本申请支持:
1.一种由计算机实现的对数据排名的方法,所述方法包括:
访问搜索查询;
确定与所述搜索查询相关的语义密钥,其中所述语义密钥与多个语义子密钥相关,且其中所述多个语义子密钥中的每个语义子密钥与至少一个相应的属性相关;
确定与匹配所述搜索查询的一部分的属性相关的所述多个语义子密钥中的至少一个语义子密钥;以及
将与所述至少一个语义子密钥相关的至少一个文档排名在与所述多个语义子密钥中的至少一个其它语义子密钥相关的至少一个其它文档之上,且其中所述至少一个文档和所述至少一个其它文档与响应于基于所述搜索查询执行的搜索而生成的搜索结果相关。
2.概念1的方法,还包括:
输出包括排名在所述至少一个其它文档之上的所述至少一个文档的所述搜索结果。
3.概念1的方法,还包括:
将所述至少一个语义子密钥排名在所述至少一个其它语义子密钥之上。
4.概念3的方法,还包括:
为了呈现,输出与在所述至少一个其它语义子密钥之上的所述至少一个语义子密钥的排序相关的数据。
5.概念1的方法,其中所述确定所述语义密钥还包括确定所述搜索查询的第二部分包括所述语义密钥,且其中所述搜索查询的所述第二部分不同于所述搜索查询的所述部分。
6.概念1的方法,其中所述确定所述语义密钥还包括从包括所述搜索查询的搜索数据访问所述语义密钥。
7.概念1的方法,其中所述确定所述语义密钥还包括基于所述搜索查询确定所述语义密钥,且其中所述搜索查询没有所述语义密钥。
8.概念1的方法,其中所述排名还包括基于在所述搜索结果的每个文档中的所述至少一个语义子密钥的实例的相应数量来对所述搜索结果进行排名。
9.一种计算机可读介质,其具有体现在其中的计算机可读程序代码,所述计算机可读程序代码用于使计算机系统执行对数据进行排名的方法,所述方法包括:
访问搜索查询;
确定与所述搜索查询相关的语义密钥,其中所述语义密钥与多个语义子密钥相关,且其中所述多个语义子密钥中的每个语义子密钥与至少一个相应的属性相关;
确定与匹配所述搜索查询的一部分的属性相关的所述多个语义子密钥中的至少一个语义子密钥;以及
将与所述至少一个语义子密钥相关的至少一个文档排名在与所述多个语义子密钥中的至少一个其它语义子密钥相关的至少一个其它文档之上,且其中所述至少一个文档和所述至少一个其它文档与响应于基于所述搜索查询执行的搜索而生成的搜索结果相关。
10.概念9的计算机可读介质,其中所述方法还包括:
输出包括排名在所述至少一个其它文档之上的所述至少一个文档的所述搜索结果。
11.概念9的计算机可读介质,其中所述方法还包括:
将所述至少一个语义子密钥排名在所述至少一个其它语义子密钥之上。
12.概念11的计算机可读介质,其中所述方法还包括:
为了呈现,输出与在所述至少一个其它语义子密钥之上的所述至少一个语义子密钥的排序相关的数据。
13.概念9的计算机可读介质,其中所述确定所述语义密钥还包括确定所述搜索查询的第二部分包括所述语义密钥,且其中所述搜索查询的所述第二部分不同于所述搜索查询的所述部分。
14.概念9的计算机可读介质,其中所述确定所述语义密钥还包括从包括所述搜索查询的搜索数据访问所述语义密钥。
15.概念9的计算机可读介质,其中所述确定所述语义密钥还包括基于所述搜索查询确定所述语义密钥,且其中所述搜索查询没有所述语义密钥。
16.概念9的计算机可读介质,其中所述排名还包括基于所述搜索结果的每个文档中的所述至少一个语义子密钥的实例的相应数量来对所述搜索结果进行排名。
17.一种包括处理器和存储器的系统,其中所述存储器包括用于使所述处理器实现对数据进行排名的方法的指令,所述方法包括:
访问搜索查询;
确定与所述搜索查询相关的语义密钥,其中所述语义密钥与多个语义子密钥相关,且其中所述多个语义子密钥中的每个语义子密钥与至少一个相应的属性相关;
确定与匹配所述搜索查询的一部分的属性相关的所述多个语义子密钥中的至少一个语义子密钥;以及
将与所述至少一个语义子密钥相关的至少一个文档排名在与所述多个语义子密钥中的至少一个其它语义子密钥相关的至少一个其它文档之上,且其中所述至少一个文档和所述至少一个其它文档与响应于基于所述搜索查询执行的搜索而生成的搜索结果相关。
18.概念17的系统,其中所述方法还包括:
输出包括排名在所述至少一个其它文档之上的所述至少一个文档的所述搜索结果。
19.概念17的系统,其中所述方法还包括:
将所述至少一个语义子密钥排名在所述至少一个其它语义子密钥之上。
20.概念19的系统,其中所述方法还包括:
为了呈现,输出与在所述至少一个其它语义子密钥之上的所述至少一个语义子密钥的排序相关的数据。
21.概念17的系统,其中所述确定所述语义密钥还包括确定所述搜索查询的第二部分包括所述语义密钥,且其中所述搜索查询的所述第二部分不同于所述搜索查询的所述部分。
22.概念17的系统,其中所述确定所述语义密钥还包括从包括所述搜索查询的搜索数据访问所述语义密钥。
23.概念17的系统,其中所述确定所述语义密钥还包括基于所述搜索查询确定所述语义密钥,且其中所述搜索查询没有所述语义密钥。
24.概念17的系统,其中所述排名还包括基于所述搜索结果的每个文档中的所述至少一个语义子密钥的实例的相应数量来对所述搜索结果进行排名。
附图简述
在附图中作为例子而不是作为限制来说明本发明,且其中相似的参考编号指相似的元件。
图1示出根据本发明的一个实施方案的用于实现搜索引擎的示例性系统。
图2示出根据本发明的一个实施方案的用于执行网页搜索的由计算机实现的过程的示例性流程图。
图3示出根据本发明的一个实施方案的网页搜索的执行的示例性数据流图。
图4示出根据本发明的一个实施方案的用于基于搜索查询的焦点确定语义密钥的由计算机实现的过程的示例性流程图。
图5示出根据本发明的一个实施方案的语义子密钥的示例性组织。
图6示出根据本发明的一个实施方案的与数值表达式相关的语义子密钥的示例性组织。
图7A示出根据本发明的一个实施方案的用于过滤网页搜索结果的由计算机实现的过程的示例性流程图。
图7B示出根据本发明的一个实施方案的描绘网页搜索过滤机制的示例性方框图。
图8A示出根据本发明的一个实施方案的用于使用从关键词搜索结果生成的文本过滤网页搜索结果的由计算机实现的过程的示例性流程图。
图8B示出根据本发明的一个实施方案的描绘使用从关键词搜索结果生成的文本的网页搜索过滤机制的示例性方框图。
图9示出根据本发明的一个实施方案的用于根据语义子密钥频率对网页搜索结果进行排名的由计算机实现的过程的示例性流程图。
图10示出根据本发明的一个实施方案的用于根据关键词频率对网页搜索结果进行排名的由计算机实现的过程的示例性流程图。
图11示出根据本发明的一个实施方案的用于根据语义子密钥与搜索查询关键词的接近度对网页搜索结果进行排名的由计算机实现的过程的示例性流程图。
图12示出根据本发明的一个实施方案的可以用于确定网页的两个部分之间的接近度的网页内容的示例性词顺序排序。
图13示出根据本发明的一个实施方案的用于执行网页搜索的示例性屏幕上图形用户接口。
图14示出根据本发明的一个实施方案的用于执行网页搜索的具有显示的搜索结果的示例性屏幕上图形用户接口。
图15示出根据本发明的一个实施方案的执行搜索的示例性数据流图。
图16示出根据本发明的一个实施方案的用于创建语义密钥数据库的由计算机实现的过程的示例性流程图。
图17示出根据本发明的一个实施方案的语义密钥和语义子密钥的示例性表。
图18示出根据本发明的一个实施方案的示例性倒排索引。
图19示出根据本发明的一个实施方案的示例性语义密钥数据库。
图20示出根据本发明的一个实施方案的用于执行搜索的由计算机实现的过程的示例性流程图。
图21示出根据本发明的一个实施方案的用于执行搜索的示例性用户接口。
图22示出根据本发明的一个实施方案的使用搜索数据处理器执行搜索的示例性数据流图。
图23示出根据本发明的一个实施方案的用于修改搜索查询以进一步包括至少一个语义子密钥的由计算机实现的过程的示例性流程图。
图24示出根据本发明的一个实施方案的包括至少一个属性的示例性语义密钥数据库。
图25示出根据本发明的一个实施方案的用于修改搜索查询以进一步包括语义密钥或其一部分的由计算机实现的过程的示例性流程图。
图26A示出根据本发明的一个实施方案的描绘语义关键词的自动完成或建议的示例性屏幕上图形用户接口的第一视图。
图26B示出根据本发明的一个实施方案的描绘语义关键词的自动完成或建议的示例性屏幕上图形用户接口的第二视图。
图27示出根据本发明的一个实施方案的用于呈现搜索结果的示例性屏幕上图形用户接口。
图28示出根据本发明的一个实施方案的用于基于改变的搜索查询执行搜索的由计算机实现的过程的示例性流程图。
图29示出根据本发明的一个实施方案的使用修改的搜索查询执行搜索的示例性数据流图。
图30示出根据本发明的一个实施方案的基于自动生成的搜索查询执行搜索的实例性数据流图。
图31示出根据本发明的一个实施方案的基于包括至少一个语义子密钥的自动生成的搜索查询执行搜索的示例性数据流图。
图32A示出根据本发明的一个实施方案的用于自动生成搜索查询的示例性的由计算机实现的过程的流程图的第一部分。
图32B示出根据本发明的一个实施方案的用于自动生成搜索查询的示例性的由计算机实现的过程的流程图的第二部分。
图33示出根据本发明的一个实施方案的基于搜索查询中的多个语义密钥的对数据的第一排名的示例性数据流图。
图34示出根据本发明的一个实施方案的基于搜索查询中的多个语义密钥的对数据的第二排名的示例性数据流图。
图35示出根据本发明的一个实施方案的描绘数据的排名的示例性图。
图36示出根据本发明的一个实施方案的用于对数据进行排名的由计算机实现的过程的流程图。
图37示出根据本发明的一个实施方案的用于确定排序的由计算机实现的过程的流程图。
图38示出根据本发明的一个实施方案的包括与语义密钥相关的多组语义子密钥的示例性数据结构。
图39A示出根据本发明的一个实施方案的描绘数据的第一排序的示例性数据结构。
图39B示出根据本发明的一个实施方案的描绘数据的第二排序的示例性数据结构。
图39C示出根据本发明的一个实施方案的描绘数据的第三排序的示例性数据结构。
图40示出根据本发明的一个实施方案的示例性的由计算机实现的用于使用与至少一个语义子密钥相关的属性对数据进行排名的过程的流程图。
图41示出根据本发明的一个实施方案的包括与至少一个语义子密钥相关的至少一个属性的示例性数据结构。
图42示出示例性计算机系统平台,其上可实现本发明的实施方案。
本发明的详细描述
现在将详细参考本发明的实施方案,其示例在附图中示出。尽管将结合以下实施方案讨论本发明,但是应理解,它们并不打算将本发明仅限于这些实施方案。相反,本发明旨在涵盖可以包括有由所附权利要求定义的本发明的精神和保护范围的可选、修改和等效形式。此外,在本发明的以下详细描述中,阐述了众多的特定细节,以便提供对本发明的透彻理解。然而,可以在没有这些特定细节的情况下实践本发明的实施方案。在其它情况下,未详细描述众所周知的方法、程序、组件和电路,以便不使本发明的方面不必要地难以理解。
符号和术语
从过程、逻辑块、处理和对计算机存储器内的数据位的操作的其它符号表示的方面介绍接下来的详细描述的一些部分。这些描述和表示是数据处理领域的技术人员用于将其工作的实质最有效地传达给本领域其他技术人员的手段。在本申请中,过程、逻辑块、流程等被构想为导致预期结果的前后一致的步骤或指令序列。步骤为需要物理量的物理操作的那些步骤。通常,尽管不一定,这些量采用能够在计算机系统中存储、传递、组合、比较和以其它方式操作的电或磁信号的形式。
然而,应该牢记,所有这些和相似的术语与适当的物理量相关,且仅仅是应用于这些量的方便标签。除非另外明确说明,否则如从以下讨论中明显的,应认识到,贯穿本发明,利用诸如“异常中止”、“接受”、“访问”、“添加”、“调整”、“分析”、“应用”、“装配”、“指派”、“平衡”、“阻塞”、“计算”、“捕获”、“组合”、“比较”、“收集”、“建立”、“调试”、“定义”、“描绘”、“检测”、“确定”、“显示”、“设立”、“实施”、“过滤”、“交换”、“生成”、“分组”、“隐藏”、“识别”、“发起”、“交互”、“匹配”、“修改”、“监控”、“移动”、“排序”、“输出”、“执行”、“放置”、“呈现”、“处理”、“编程”、“查询”、“排名”、“移除”、“重复”、“恢复”、“取样”、“选择”、“模拟”、“分类”、“存储”、“减去”、“暂停”、“跟踪”、“代码转换”、“变换”、“解除阻塞”、“使用”等的术语的讨论指计算机系统或相似电子计算设备的行动和过程,计算机系统或相似电子计算装置操作表示为计算机系统的寄存器和存储器内的物理(电子)量的数据并将其变换为相似地表示为计算机系统的存储器或寄存器或其它这样的信息存储器、传输或显示设备内的物理量的其它数据。
本发明的实施方案
图1示出根据本发明的一个实施方案的用于实现搜索引擎(例如,基于互联网的搜索引擎)的示例性系统100。如图1中所示,服务器110可以包括用于实现搜索网页的过程(例如,根据图2的200)的搜索引擎代码115。在一个实施方案中,服务器110可以经由互联网130与一个或多个计算机系统(例如,120a、120b等)通信,从而使搜索引擎代码(例如,115)能够与一个或多个图形用户接口(例如,计算机系统120a的125a、计算机系统120b的125b等)通信。图形用户接口(例如,125a、125b等)可以将输入(例如,由用户输入的搜索查询、用于发起网页搜索的命令等)传递给搜索引擎代码(例如,115),也可以显示或以其它方式呈现从搜索引擎代码接收的输出(例如,网页搜索的结果等)。以这种方式,图形用户接口(例如,125a、125b等)可以实现用于执行网页的搜索的图形用户接口(例如,图13和图14的1300)。
尽管图1只示出两个计算机系统(例如,120a和120b),但是应认识到,在其它实施方案中可以使用更大或更小数量的计算机系统。也应认识到,一个或多个网络、网络设备等可以耦接到系统100的组件或以其它方式用于实现系统100的组件(例如,服务器110、计算机系统120a、计算机系统120b等)之间的通信。也应认识到,在一个实施方案中,服务器110可以经由内联网(例如,代替互联网130,除了互联网130以外,等等)与耦接的计算机系统(例如,120a、120b等)通信。另外,尽管在图1中只示出了一个服务器(例如,110),但是应认识到,在其它实施方案中系统100可以包括更大数量的服务器。此外,应认识到,在其它实施方案中,系统100可以包括额外组件(例如,耦接到互联网130和/或直接耦接到服务器110的一个或多个存储器,其用于存储搜索引擎代码115、用于存储由服务器110和/或搜索引擎代码115等访问的数据)。
图2示出根据本发明的一个实施方案的用于执行网页搜索的由计算机实现的过程200的示例性流程图。在本文中描述过程200的步骤时,将参考图3的示例性数据流图300以及图1的系统100,以提供示例并帮助阐明讨论。
暂时转向图3,搜索引擎320可以执行广泛的关键词搜索,其中来自广泛的关键词搜索的结果可以随后由过滤组件350过滤。过滤组件350可以基于一个或多个语义密钥(例如,从语义密钥数据库342访问)来过滤搜索结果。基于搜索查询(例如,由搜索引擎320用于执行广泛的关键词搜索)的焦点来确定所述一个或多个语义密钥,其中一个或多个语义密钥可以具有至少一个相关的语义子密钥。因此,广泛的关键词搜索可以提供更完整的搜索结果(例如,省略较少的相关搜索结果),搜索结果然后(例如,由过滤组件350)被过滤,以减少不相关搜索结果的数量并提供更相关的搜索结果。在一个实施方案中,可以接着对搜索结果进行排名(例如,由排名组件360),由此生成已排名的搜索结果,所述已排名的搜索结果比传统的搜索引擎生成的那些搜索结果更完整且更相关。
如图2中所示,步骤210涉及访问网页搜索查询。在一个实施方案中,可以将网页搜索查询(例如,310)输入到搜索引擎(例如,320)。搜索查询(例如,310)可以包括至少一个词和/或至少一个短语。另外,在一个实施方案中,搜索查询(例如,310)可以包括至少一个运算符(例如,“and(与)”、“or(或)”等)和/或用于控制由搜索引擎(例如,320)执行的搜索的其它数据。
步骤220涉及确定网页搜索查询的焦点。在一个实施方案中,步骤220可以由语法分析器(例如,330)执行,所述语法分析器可操作来访问搜索查询(例如,310)并输出搜索查询焦点(例如,335)。搜索查询的焦点可以包括与输入搜索查询的用户所期望的信息相关的搜索查询的关键词或短语。另外,在搜索查询是问题的情况下,查询焦点可以包括可以用于确定回答的形式和/或内容的搜索查询的关键词或短语。例如,如果搜索查询是问题“艾菲尔铁塔有多高”,那么可以将搜索查询的焦点确定为与距离相关的关键词“高”。因而,回答可以包括与艾菲尔铁塔的高度相关的距离。作为另一例子,如果搜索查询是问题“哪些国家与美利坚合众国接壤”,那么可以将搜索查询的焦点确定为关键词“国家”。因而,回答可以包括与美国接壤的国家的列表。如图2中所示,步骤230涉及基于焦点来确定语义密钥。在一个实施方案中,可以根据图4的过程400来执行步骤230。如图4中所示,步骤410涉及访问网页搜索查询(例如,310)的焦点(例如,335)。步骤420涉及确定哪个语义密钥与焦点相关。在一个实施方案中,通过比较焦点(例如,335)与可能的语义密钥(例如,存储于语义密钥数据库342中)来确定(例如,由语义密钥生成器340)语义密钥。在找到焦点(例如,335)与语义密钥(例如,510)之间的匹配或两者之间的关联时,可以将匹配和/或相关的语义密钥(例如,510)指定为对那个焦点的语义密钥。
例如,如果焦点(例如,335)为“国家”,那么与国家的列表(例如,语义子密钥520)相关的语义密钥(例如,如图5中所示的510)可以与焦点(例如,335)相关。在一个实施方案中,语义密钥(例如,510)和/或相关语义子密钥(例如,520)可以在分级结构中用一个或多个节点来组织(例如,语义密钥510为上级或父节点,而语义子密钥520为与语义密钥510相关的父节点的子节点)。此外,语义子密钥(例如,520)中的一个或多个可以包括语义密钥(例如,510)的下位词(例如,语义密钥510包括标题“国家”,而语义子密钥520包括国家的列表或索引)。
作为另一例子,如果焦点(例如,335)为“高”,那么与距离(例如,语义子密钥620)相关的语义密钥(例如,如图6中所示的610)可以与焦点(例如,335)相关。在一个实施方案中,语义密钥(例如,510)和/或相关的语义子密钥(例如,520)可以在分级结构中用一个或多个节点来组织(例如,语义密钥610为语义子密钥620的上级或父节点,语义子密钥621为语义子密钥623的上级或父节点,且语义子密钥622为语义子密钥624的上级或父节点)。此外,语义子密钥(例如,620)中的一个或多个可以包括语义密钥(例如,610)的下位词(例如,语义密钥610包括标题“距离”,而语义子密钥620包括距离的不同单位)。
在一个实施方案中,步骤420可以涉及确定语义密钥的至少一个替代版本。例如,在步骤420中可以为语义密钥“国家(country)”确定语义密钥“国家(nation)”。作为另一例子,可以为语义密钥“价格”确定语义密钥“成本”、“费用”和/或“金钱”。
在一个实施方案中,语义密钥和语义子密钥可以包括其它类型的数据。例如,“电子邮件地址(email address)”(例如,“电子邮件地址(electronic mail address)”等)可以是语义密钥,其中相应的语义子密钥可以包括至少一个电子邮件地址。作为另一例子,“地址”(例如,包括街道名称、街道号码、城市、州、国家等的实体地址)可以是语义密钥,其中相应的语义子密钥可以包括至少一个地址。作为又一例子,“电话号码(phone number)”(例如,电话号码(telephone number)、手机号码等)可以是语义密钥,其中相应的语义子密钥可以包括至少一个电话号码。作为另一例子,“传真号码(fax number)”(例如,“传真号码(facsimilenumber)”等等)可以是语义密钥,其中相应的语义子密钥可以包括至少一个传真号码。且作为另一例子,语义密钥可以是概念(例如,意义、含义、理由/原因、情绪、褒义词、贬义词、位置、方法等),其中相应的语义子密钥可以包括与概念相关的至少一个词。
在一个实施方案中,可以在步骤420中通过使用语义密钥(例如,基于搜索查询焦点335确定)为语义密钥数据库342编索引来确定语义子密钥。语义密钥数据库342可以包括对应于每个语义密钥的至少一个相应的语义子密钥。语义密钥数据库342也可以包括对应于每个语义密钥和/或每个语义子密钥(例如,如图19中所示)的至少一个相应的文档(例如,网页、电子文档或文件、广告内容等)或其标识符。在一个实施方案中,语义密钥数据库342可以包括对应于每个语义密钥和/或每个语义子密钥(例如,如图19中所示)的至少一个相应的位置(例如,在文档内)。且在一个实施方案中,语义密钥数据库342可以包括对应于每个语义密钥和/或每个语义子密钥(例如,如图24中所示)的至少一个相应的属性。
如图4中所示,步骤430涉及输出与在步骤420中确定的语义密钥(例如,510、610等)相关的语义子密钥(例如,520、620等)。语义子密钥(例如,345)可以由如图3中所示的语义密钥生成器(例如,340)输出。另外,在一个实施方案中,语义子密钥345可以包括语义子密钥520和/或620(例如,取决于指派给搜索查询(例如,310)的焦点(例如,335)的至少一个相应的语义密钥)中的一个或多个。
在一个实施方案中,由语义密钥处理器(例如,340)输出的语义子密钥(例如,345)可以由输入347控制。输入347可以包括用户输入、系统生成的输入等。例如,输入347可以选择至少一个语义密钥(例如,510、610等)和/或至少一个语义子密钥(例如,345、520、620等)以由语义密钥处理器340输出,其中在一个实施方案中可以将对语义子密钥的选择输入到图形用户接口(例如,125a、125b等)。因而,在一个实施方案中,输入347可以使用户能够配置和/或改进搜索查询(例如,310),由此进一步使用户能够配置或改进由搜索引擎320执行的搜索,如下文所述。
回来转到图2,步骤240涉及使用网页搜索查询(例如,在步骤210中访问的)来执行网页搜索。网页搜索可以包括关键词搜索(例如,基于搜索查询的一个或多个关键词)。且在一个实施方案中,网页搜索可以包括任何众所周知的方式的关键词搜索。另外,搜索可以由搜索引擎(例如,320)执行,所述搜索引擎可操作来访问搜索查询(例如,310)并输出搜索结果(例如,关键词搜索结果322)。在一个实施方案中,网页搜索可以由任何众所周知的基于关键词的搜索引擎执行。搜索引擎(例如,322)可以由搜索引擎代码(例如,图1的115)实现,且搜索查询(例如,310)可以被输入到图形用户接口(例如,125a、125b等)并传递到计算机系统(例如,服务器110),所述计算机系统访问和/或执行搜索引擎代码(例如,115)。
步骤250涉及访问在网页搜索(例如,在步骤240中执行的)期间生成的网页搜索结果。在一个实施方案中,网页搜索结果(例如,关键词搜索结果322)可以被过滤组件(例如,350)访问。
如图2中所示,步骤260涉及使用与语义密钥(例如,在步骤230中确定的)相关的语义子密钥(例如,345、520、620等)来过滤网页搜索结果(例如,322)。在一个实施方案中,可以根据图7A的过程700来执行步骤260。如图7A中所示,步骤710涉及使用至少一个语义子密钥(例如,345、520、620等)作为新的网页搜索查询来执行额外网页搜索。额外网页搜索可以由搜索引擎(例如,320)执行,所述搜索引擎可操作来访问至少一个语义子密钥(例如,345、520、620等)并生成额外网页搜索结果(例如,语义子密钥搜索结果324)。
可以比较关键词搜索结果(例如,322)与基于至少一个语义子密钥(例如,345、520、620等)生成的额外网页搜索结果(例如,324)。步骤730涉及识别关键词搜索结果(例如,322)和额外网页搜索结果(例如,324)所共有的至少一个网页。在一个实施方案中,步骤720和步骤730可以由过滤组件(例如,350)执行,所述过滤组件可操作来访问关键词搜索结果(例如,322)和额外网页搜索结果(例如,324)。
如图7A中所示,步骤740涉及指定至少一个共有的网页作为经过滤的网页搜索结果(例如,作为在步骤260中过滤的结果而生成的那些搜索结果)。在一个实施方案中,经过滤的网页搜索结果(例如,355)可以由过滤组件(例如,350)输出。以这种方式,实施方案可以从搜索结果(例如,355)过滤不相关的网页(例如,不包括至少一个语义子密钥的那些网页),同时保留相关网页(例如,包括至少一个语义子密钥的那些网页)。
尽管已按照示例性过程700的步骤描述了在步骤260中执行的过滤,但是应认识到,可以在其它实施方案中执行其它过滤机制。例如,可以搜索关键词搜索(例如,322)的结果的每个网页以找到语义子密钥(例如,345、520、620等)。在一个实施方案中,如果网页不含有至少一个语义子密钥(例如,345、520、620等),那么该网页可以从经过滤的网页搜索结果(例如,355)丢弃或排除。以这种方式,经过滤的网页搜索结果(例如,355)可以包括含有至少一个语义子密钥(例如,345、520、620等)的网页。或者,在其它实施方案中可以使用其它过滤机制以删除不相关的网页(例如,不被搜索查询310预期或期望的那些网页),同时保留相关网页(例如,被搜索查询310预期或期望的那些网页)。
图7B示出根据本发明的一个实施方案的描绘网页搜索过滤机制的示例性方框图750。如图7B中所示,搜索结果322可以包括网页A至网页E,而搜索结果324包括网页D至网页H。在一个实施方案中,关键词搜索结果322可以包括响应于关键词搜索而被识别、定位等的网页。另外,语义子密钥搜索结果324可以包括使用包括一个或多个语义子密钥(例如,345、520、620等)的搜索查询响应于网页搜索而被识别、定位等的网页。
然后,可以通过比较搜索结果322与搜索结果324(例如,如图7A的过程700的步骤720中所描述的)并识别由搜索结果322和324共享的至少一个网页(例如,如图7A的过程700的步骤730中所描述的)来过滤搜索结果322。如图7B中所示,搜索结果322与搜索结果324的比较可以通过搜索结果(例如,322和324)的重叠来描述。重叠区域(例如,包括网页D和网页E)可以指示网页D和网页E是搜索结果322和搜索结果324的成员。一旦识别出由搜索结果322和324共享的网页(例如,网页D和网页E),则这些网页可以被指定为经过滤的搜索结果355(例如,如关于图7A的过程700的步骤740所描述的)。
应认识到,搜索结果322和/或搜索结果324可以包括搜索结果的一个或多个子集的聚集。例如,在执行多个语义子密钥搜索的情况下(例如,在与搜索查询310的焦点335相关的语义密钥具有与其相关的多于一个的语义子密钥345的情况下),可以组合来自每个搜索的搜索结果。例如,搜索结果324可以包括来自第一语义子密钥搜索(例如,使用第一语义子密钥作为搜索查询)的搜索结果、来自第二语义子密钥搜索(例如,使用第二语义子密钥作为搜索查询)的搜索结果和来自第三语义子密钥搜索(例如,使用第三语义子密钥作为搜索查询)的搜索结果。在其它实施方案中,可以组合更大或更小数量的搜索结果以形成搜索结果324。以这种方式,所输出的搜索结果(例如,355)的每个网页可以包括至少一个语义子密钥(例如,345、520、620等),由此在考虑到语义子密钥(例如,345)与搜索查询(例如,310)的焦点(例如,355)关联(例如,经由语义密钥)的情况下增加相关结果的数量。
回来转到图2,在一个实施方案中,可以根据图8A的过程800执行步骤260。下文将结合图8A描述图8B。
如图8A中所示,步骤810涉及为每个关键词搜索结果(例如,322)生成文本。在一个实施方案中,文本(例如,860)可以由过滤组件(例如,350)生成。另外,文本(例如,860)可以包括关键词搜索结果(例如,322)的至少一个网页的标题、关键词搜索结果(例如,322)的至少一个网页的主体或内容的部分、关键词搜索结果(例如,322)的至少一个网页的标识符或其它参考,或其某一组合等。例如,如图8B中所示,文本860可以包括关键词搜索结果322的网页A至网页C中的每一个的文本。
步骤820涉及比较每个关键词搜索结果的相应文本与子密钥。例如,如图8B中所示,语义子密钥345可以包括子密钥W至子密钥Z,其可以与基于关键词搜索结果(例如,322)生成的文本(例如,860)比较(例如,通过比较器870)。在一个实施方案中,比较器870可以由过滤组件350(例如,其从语义密钥处理器340访问语义子密钥345,如图3中虚线箭头348所示的)实现。比较可以涉及在文本860中单独地搜索子密钥345中的每一个(例如,在文本860中搜索子密钥W,然后在文本860中搜索子密钥X等),直到找到匹配为止,或者,可以涉及并行地在文本860中搜索子密钥345中的每一个(例如,在文本860中同时搜索子密钥W至子密钥Z)以确定是否找到匹配。另外,比较可以是文本与文本的比较,其中子密钥345是文本。
如图8A中所示,步骤830涉及用至少一个子密钥(例如,345)识别至少一个相应的文本(例如,对应于关键词搜索结果322的一个或多个网页)。例如,如图8B中所示,比较结果880(例如,由比较器870输出)可以包括与网页B和网页C相关的文本,其中网页B的文本包括子密钥W和子密钥X,且网页C的文本包括子密钥X。在一个实施方案中,网页A的文本可以不包括子密钥W至子密钥Z中的任何一个,因此可以不包括在比较结果880中。因此,可以在步骤830中(例如,通过比较结果880)识别对应于网页B和网页C的文本。
步骤840涉及将对应于至少一个经过滤的文本的关键词搜索结果的至少一个网页指定为经过滤的网页搜索结果。例如,如图8B中所示,在比较结果880包括网页B和网页C的文本的情况下,那么来自关键词搜索结果322的网页B和网页C可以被指定为经过滤的搜索结果(例如,355)。
且在一个实施方案中,步骤840可以包括将指定网页(例如,与比较结果880相关的或用其识别的)优先排列或以其它方式排名在不包括子密钥345中的一个或多个的关键词搜索结果322的其它网页之上。以这种方式,步骤840可以实现预排名步骤(例如,在图2的步骤270中排名之前执行的)。例如,参考图8B,网页B和网页C(其包括一个或多个子密钥345)可以在网页A(其不包括子密钥345中的至少一个)之前被排名。因此,在一个实施方案中,经过滤的搜索结果355甚至可以包括没有至少一个语义子密钥345的网页。
回来转到图2,步骤270涉及对经过滤的网页搜索结果(例如,355)进行排名。在一个实施方案中,经过滤的搜索结果(例如,355)可以由排名组件(例如,图3的360)来排名,从而生成已排名的搜索结果(例如,365)。另外,在一个实施方案中,可以分别根据图9至图11的示例性过程900-1100中的一个或多个来执行步骤270。
图9示出根据本发明的一个实施方案的用于根据语义子密钥频率对网页搜索结果进行排名的由计算机实现的过程900的示例性流程图。如图9中所示,步骤910涉及确定语义子密钥在经过滤的搜索结果(例如,355)的每个网页中的频率。在一个实施方案中,可以基于搜索结果(例如,355)的每个网页的所有语义子密钥(例如,245、520、620等)的实例总数来确定每个网页的语义子密钥频率。例如,在一个实施方案中,如果网页X包括语义子密钥1的30个实例和语义子密钥2的40个实例,那么网页X的语义子密钥频率可以是70(例如,30与40的和)。或者,可以基于搜索结果(例如,355)的每个网页的一个或多个选定的语义子密钥(例如,245、520、620等)的实例数量来确定每个网页的语义子密钥频率。例如,如果语义子密钥1用于确定语义子密钥频率,那么网页X的语义子密钥频率可以是30。或者,如果语义子密钥2用于确定语义子密钥频率,那么网页X的语义子密钥频率可以是40。
步骤920涉及基于每个网页的相应大小和/或语义子密钥在语义子密钥索引(例如,存储于语义密钥数据库342内)内的频率来调整每个网页的相应的语义子密钥频率。例如,在一个实施方案中,搜索结果的每个网页的语义子密钥频率可以按比例缩小(例如,除以)与其相应的网页大小(例如,字数、行数、帧大小等)相关的倍数。或者,搜索结果的每个网页的语义子密钥频率可以按比例缩小其相应的语义子密钥(例如,用于生成包括网页的搜索结果的语义子密钥)在语义子密钥索引(例如,与给定语义密钥相关的语义子密钥的集合)内的频率之多。例如,如果语义子密钥在给定语义子密钥索引(例如,在与语义密钥相关的索引内的不同子节点下的每个实例)内出现三次,那么与该语义子密钥相关的每个网页搜索结果的语义子密钥频率可以按比例缩小(例如,除以)与语义子密钥在语义子密钥索引内的频率相关的倍数(例如,3)。且在其它实施方案中,可以省略步骤920。
如图9中所示,步骤930涉及基于每个网页的相应的语义子密钥频率对经过滤的搜索结果的网页进行排名。例如,在一个实施方案中,如果网页X具有语义子密钥频率(例如,如在步骤910中确定的未按比例缩小的和/或如在步骤920中确定的已按比例缩小的)70,而网页Y具有语义子密钥频率80,那么网页Y可排在网页X前面。在这种情况下,在一个实施方案中,网页Y的较高语义子密钥频率可以指示网页Y比网页X与搜索查询(例如,310)更相关,因此网页Y相对于网页X的排名更高。
图10示出根据本发明的一个实施方案的用于根据关键词频率对网页搜索结果进行排名的由计算机实现的过程1000的示例性流程图。如图10中所示,步骤1010涉及确定在经过滤的搜索结果(例如,355)的每个网页中网页搜索查询关键词(例如,搜索查询310的)的频率。在一个实施方案中,可以基于搜索结果(例如,355)的每个网页的所有搜索查询关键词的实例总数来确定每个网页的关键词频率。例如,在一个实施方案中,如果网页X包括关键词1的10个实例和关键词2的50个实例,那么网页X的关键词频率可以是60(例如,10与50的和)。或者,可以基于搜索结果(例如,355)的每个网页的一个或多个选定的搜索查询关键词的实例数量来确定每个网页的关键词频率。例如,如果关键词1用于确定关键词频率,那么网页X的关键词频率可以是10。或者,如果关键词2用于确定关键词频率,那么网页X的关键词频率可以是50。
步骤1020涉及基于每个网页的相应大小和/或在搜索查询(例如,310)内的一个或多个关键词的频率来调整每个网页的相应关键词频率。例如,在一个实施方案中,搜索结果的每个网页的关键词频率可以按比例缩小(例如,除以)与其相应的网页大小(例如,字数、行数、帧大小等)相关的倍数。或者,搜索结果的每个网页的关键词频率可以按比例缩小在搜索查询内的一个或多个关键词的频率之多。例如,如果关键词在搜索查询内出现三次,那么包括关键词的每个网页搜索结果的关键词频率可以按比例缩小(例如,除以)与关键词在搜索查询(例如,310)内的频率相关的倍数(例如,3)。且在其它实施方案中,可以省略步骤1020。
如图10中所示,步骤1030涉及基于每个网页的相应关键词频率对经过滤的搜索结果的网页进行排名。例如,在一个实施方案中,如果网页X具有关键词频率(例如,如在步骤1010中确定的未按比例缩小的和/或如在步骤1020中确定的已按比例缩小的)60,而网页Y具有关键词频率90,那么网页Y可以排在网页X的前面。在这种情况下,在一个实施方案中,网页Y的较高关键词频率可以指示网页Y比网页X与搜索查询(例如,310)更相关,因此网页Y相对于网页X的排名更高。
图11示出根据本发明的一个实施方案的用于根据语义子密钥与搜索查询关键词的接近度对网页搜索结果进行排名的由计算机实现的过程1100的示例性流程图。如图11中所示,步骤1110涉及在经过滤的搜索结果(例如,355)的每个网页中确定语义子密钥(例如,345、520、620等)与网页搜索查询关键词的至少一个接近度。在一个实施方案中,可以通过计算两个语义子密钥之间、两个关键词之间、语义子密钥与关键词之间、其某一组合等的接近度的“距离”或其它度量来确定接近度。在一个实施方案中,可以基于如关于图12讨论的顺序字排序来确定接近度的度量。
图12示出根据本发明的一个实施方案的可以用于确定网页的两个部分之间的接近度的网页内容的示例性字顺序排序1200。如图12中所示,行1210包括网页的字的顺序排序,行1220包括与网页的一个或多个相应的字相关的语义子密钥(例如,S1和S2)和关键词(例如,K1和K2),且行1230包括代表局部化的语义子密钥和/或关键词的集合的四个“热点”,接近度是针对这些语义子密钥和/或关键词来确定的。在一个实施方案中,一个热点可以包括在网页中找到的所有语义子密钥(例如,S1和S2)和所有关键词(例如,K1和K2)。在其它实施方案中,一个热点可以包括在网页中找到的少于全部的语义子密钥和/或关键词。另外,在一个实施方案中,可以为多个重叠热点指派单个接近度(例如,等于每个单独重叠热点的最大接近度,等于每个单独重叠热点的最小接近度,等等)。
可以用热点跨越的字数来计算给定热点的接近度。例如,热点1可以包括5的接近度(例如,因为该热点从字2跨越到字6),热点2可以包括4的接近度(例如,因为该热点从字4跨越到字7),热点3可以包括5的接近度(例如,因为该热点从字42跨越到字46),且热点4可以包括6的接近度(例如,因为该热点从字82跨越到字87)。在一个实施方案中,在步骤1110中可以将单个接近度(例如,最高接近度、最低接近度、平均接近度等)指派给每个网页。
如图11中所示,步骤1120涉及基于每个网页的相应大小来调整每个网页的至少一个接近度。例如,在一个实施方案中,搜索结果的每个网页的接近度可以按比例缩小(例如,除以)与其相应的网页大小(例如,字数、行数、帧大小等)相关的倍数。另外,在一个实施方案中,在步骤1120中可以将单个接近度(例如,最高按比例缩小的接近度、最低按比例缩小的接近度、平均按比例缩小的接近度等)指派给每个网页(例如,如果在步骤1110中不为每个网页选择单个接近度)。
步骤1130涉及基于每个网页的至少一个相应的接近度对经过滤的搜索结果的网页进行排名。例如,在一个实施方案中,如果网页X具有6的接近度(例如,如在步骤1110中确定的未按比例缩小的和/或如在步骤1120中确定的已按比例缩小的),而网页Y具有4的接近度,那么网页Y可以排在网页X的前面。在这种情况下,在一个实施方案中,网页Y的较低接近度可以指示网页Y比网页X与搜索查询(例如,310)更相关,因此网页Y相对于网页X的排名更高。
回来转到图2,步骤280涉及输出网页搜索结果。在步骤280中输出的搜索结果可以包括经过滤的搜索结果(例如,在未排名情况下从过滤组件350访问的,如图3的箭头352所示)或已排名的搜索结果(例如,从排名组件360访问的)。另外,在一个实施方案中,在步骤280中执行的输出可以包括基于搜索结果(例如,355或365)输出图形数据(例如,由图形数据生成器370生成的为显示而输出的搜索结果275)。例如,在一个实施方案中,可以将搜索结果变换(例如,通过图形数据生成器370)为可操作来由计算机系统应用(例如,网络浏览器等)显示的格式(例如,C、C++、Java、HTML等),其中显示的信息可以包括图形用户接口(例如,125a、125b、1300等)。
如图3中所示,搜索结果输出(例如,375)可以由输入377配置或控制,其中输入377可以包括用户输入、系统生成的输入等。在一个实施方案中,可以响应于输入377而隐藏或不显示与搜索结果(例如,355、365等)的一个或多个网页相关的信息。例如,输入377可以包括对至少一个语义密钥和/或至少一个语义子密钥的选择,其中与选定的语义密钥和/或语义子密钥相关的信息可以包括在输出372中用于显示,而与未选定的语义密钥和/或语义子密钥相关的信息可以从输出372中排除(例如,用于有效地隐藏或不显示该信息)。
图13示出根据本发明的一个实施方案的用于执行网页搜索的示例性屏幕上图形用户接口(GUI)1300。如图13中所示,GUI1300可以包括用于输入搜索查询的区域1310。例如,如图13中所示,用户可以输入以下搜索查询(例如,310):“艾菲尔铁塔有多高?”。搜索查询可以包括问题。或者,搜索查询可以包括一系列关键词和/或短语。另外,在一个实施方案中,在区域1310中输入的搜索查询(例如,310)可以包括至少一个运算符(例如,“and(与)”、“or(或)”等)和/或用于控制由搜索引擎(例如,320)执行的搜索的其它数据。
GUI 1300也可以包括图形对象1320,其用于基于在区域1310中输入的搜索查询(例如,310)来发起网页搜索。响应于与图形对象1320的交互(例如,在图形对象1320上移动鼠标指针或光标并点击鼠标上的按钮),可以进行网页搜索并可以在GUI 1300的其它区域(例如,如图14中所示)中显示搜索的结果。
图14示出根据本发明的一个实施方案的用于执行网页搜索的具有显示的搜索结果的示例性屏幕上图形用户接口。如图14中所示,区域1330可以显示搜索结果输出375的一部分,搜索结果输出375包括对在区域1310中输入的问题的一个或多个回答(例如,1332和1334)。回答可以包括第一部分,其包括从搜索结果(例如,355、365等)的一个或多个网页提取的数值(例如,324、1063等)。另外,回答可以包括第二部分(例如,单位“米”和“英尺”),其可以对应于第一部分。第二部分也可以与语义子密钥(例如,345、520、620等)相关。此外,在一个实施方案中,第一部分可以从与语义子密钥(例如,其也与第二部分相关)相关的搜索结果(例如,355、365等)的网页得到。
在一个实施方案中,在搜索查询(例如,310)的焦点(例如,335)与数量(例如,与距离、高度等相关)相关的情况下,那么可以确定回答(例如,显示于区域1330中)可以包括数量(例如,构成回答的第一部分)。因而,一个或多个数量(例如,324、1063等)可以从搜索结果(例如,355、365等)提取并与适当的修饰语(例如,与用于过滤和/或生成搜索结果的语义子密钥相关)配对。该数量可以位于极靠近修饰语或与对应于其的语义子密钥(例如,由顺序字排序确定的,如关于图12所讨论的)的位置。例如,如果在搜索结果(例如,与艾菲尔铁塔相关)中在字“英尺”的一些字内通常找到数量“1063”,那么可以选择数量“1063”以与修饰语“英尺”配对,用于显示在区域1330中。另外,如果在搜索结果中在修饰语或与其对应的语义子密钥附近找到多个数量,那么可以选择更频繁地出现的数量以与修饰语配对并显示在区域1330中。
作为另一例子,在区域1310中输入的搜索查询(例如,310)可以包括以下问题:“哪些国家与美利坚合众国接壤?”。可以将搜索查询(例如,310)的焦点(例如,335)确定为词“国家”,因此用于搜索的语义子密钥(例如,345、520、620等)可以包括国家的列表(例如,如图5中所示)。在一个实施方案中,可以选择与来自具有最高排名的搜索结果(例如,355、365等)的网页相关的语义子密钥(例如,345、520、620等)以显示在GUI 1300的区域1330内。例如,大部分的具有最高排名的网页可包括语义子密钥“加拿大”和“墨西哥”,因此“加拿大”和“墨西哥”这两个词可以被选择为对在搜索查询(例如,310)中呈现的问题的回答,并且因此被显示在区域1330中。
在一个实施方案中,显示在区域1330中的每个回答可以是超链接的。因而,在与显示在区域1330中的回答之一交互时,与已激活的回答相关的一个或多个网页可以被显示(例如,以提供与搜索查询和/或交互的特定回答相关的额外信息)。此外,在一个实施方案中,响应于与显示在区域1330中的回答的交互而引出的网页可以包括至少一个加亮的语义子密钥和/或至少一个加亮的关键词。因而,实施方案使网页中的相关信息能够更快地被定位。
如图13中所示,区域1340可以包括从搜索结果输出375生成的网页的列表(例如,1342-1346)。网页可以包括经过滤的搜索结果(例如,355)和/或已排名的搜索结果(例如,365)。以这种方式,可以根据已排名的搜索结果(例如,由排名组件360输出的365)来对区域1340中的网页的列表进行排序。另外,在一个实施方案中,一个或多个网页可以是超链接的。因而,在与显示在区域1340中的一个网页交互时,一个或多个额外网页(例如,与在区域1340中列出的已激活的网页相关的)可以被显示(例如,以提供与搜索查询和/或交互的网页相关的额外信息)。
区域1340也可以包括额外信息1343-1347,每条额外信息与在区域1340中列出的相应的网页相关。额外信息1343-1347可以包括每个相应网页的一个或多个字、短语、段落等。另外,额外信息1343-1347可以包括至少一个加亮的语义子密钥和/或至少一个加亮的关键词。因而,实施方案使网页(例如,在区域1340中列出的)中的相关信息能够更快地被定位。
如图14中所示,GUI 1300也可以包括区域1350,其用于显示语义密钥和/或语义子密钥(例如,用于生成显示在区域1330和/或区域1340中的搜索结果)。在一个实施方案中,至少一个交互式图形对象(例如,1351-1355)可以显示在区域1350中,其中每个交互式图形对象可以对应于语义密钥和/或语义子密钥。交互式图形对象(例如,1351-1355)可以用于选择或取消选择语义密钥和/或语义子密钥。在一个实施方案中,对语义密钥和/或语义子密钥的选择可以使与选定的语义密钥和/或语义子密钥相关的搜索结果显示在区域1330和/或区域1340中。另外,对语义密钥和/或语义子密钥的取消选择可以使与选定的语义密钥和/或语义子密钥相关的搜索结果被隐藏或不显示(例如,在区域1330和/或区域1340中)。以这种方式,在一个实施方案中,对交互式图形对象1354(例如,与标为“英尺”的语义子密钥相关)和交互式图形对象1355(例如,与标为“米”的语义子密钥相关)的选择可以使与相应的语义子密钥相关的回答显示在区域1330中。另外,对交互式图形对象1354和交互式图形对象1355的选择可以使与相应的语义子密钥相关的一个或多个网页显示在区域1340中。
显示在GUI 1300的区域1350中的交互式图形对象(例如,1351-1355)可以用于输入或以其它方式传递输入377(例如,到图形数据生成器)。以这种方式,在一个实施方案中,交互式图形对象可以用于改变搜索结果(例如,375)的显示,而不发起新的网页搜索。
或者,在一个实施方案中,交互式图形对象也可以用于发起新的网页搜索。例如,对与给定的语义子密钥相关的图形对象的取消选择可以使语义子密钥345输出(例如,通过语义密钥处理器340),而没有给定的语义子密钥,这又可以使语义子密钥搜索结果(例如,324)输出(例如,通过搜索引擎320),而没有与给定的语义子密钥相关的搜索结果,而这又可以影响由其它组件(例如,过滤组件350、排名组件360、图形数据生成器370等)访问和/或输出的搜索结果。因此,改变显示在区域1350中的活动的语义子密钥(例如,通过选择或取消选择至少一个语义子密钥)可以通过生成新的网页搜索(例如,由搜索引擎320执行的)而改变搜索结果(例如,375)的显示。
在一个实施方案中,与相关于上级或父节点的交互式图形对象的交互可以选择或取消选择所有子节点。例如,与交互式图形对象1351的交互可以选择或取消选择显示在交互式图形对象1351下方的所有其它语义子密钥(例如,1352-1355)。另外,与交互式图形对象1352的交互可以选择或取消选择显示在交互式图形对象1352下方且显示在交互式图形对象1353上方的所有其它语义子密钥(例如,1354)。
GUI 1300也可以包括图形对象1360,其用于更新显示在区域1330和/或1340中的搜索结果(例如,375)的显示。例如,在一个实施方案中,响应于激活或去激活显示在区域1350中的语义子密钥,与图形对象1360的交互可以更新显示在区域1330和/或1340中的搜索结果(例如,375)的显示,而不发起新的网页搜索(例如,传递用于改变搜索结果输出375的带有新的语义子密钥配置的输入377)。或者,在一个实施方案中,响应于激活或去激活显示在区域1350中的语义子密钥,与图形对象1360的交互可以通过发起新的网页搜索(例如,基于由区域1350的交互式图形对象1351-1355指示的新的语义子密钥配置)来更新显示在区域1330和/或1340中的搜索结果(例如,375)的显示。此外,应认识到,可以响应于与显示在GUI 1300的区域1350中的一个或多个交互式图形对象(例如,1351-1355)的交互而自动地(例如,无需与图形对象1360交互)更新GUI 1300中的搜索结果的显示(例如,发起或不发起新的搜索)。
图15示出根据本发明的一个实施方案的执行搜索的示例性数据流图1500。如图15中所示,可以基于搜索查询输入310由搜索引擎320执行搜索。搜索引擎320可以通过为倒排索引1510编索引(例如,使用搜索查询输入310)来执行搜索以生成关键词搜索结果322。倒排索引1510可以是数据结构,其包括多个字(例如,语义密钥或其一部分、语义子密钥或其一部分、不是语义密钥的字、不是语义子密钥的字等)和对应于每个字的至少一个相应的文档(或文档标识符)(例如,如图18中所示)。
语法分析器330可以基于搜索查询输入来生成搜索查询焦点335(例如,如上文关于图2、图3等所描述的)。语义密钥处理器340可以基于搜索查询焦点335和/或输入347来输出数据1545(例如,至少一个文档标识符、至少一个完整文档、至少一个文档的至少一部分、与至少一个文档相关的其它信息、其某一组合等)。例如,语义密钥处理器340可以确定与搜索查询焦点335相关的语义密钥,其中语义密钥可以用于为语义密钥数据库342编索引以返回与语义密钥和/或与语义密钥相关的至少一个语义子密钥相关的数据1545。
过滤组件350可以使用数据1545来过滤关键词搜索结果322并生成经过滤的关键词搜索结果355。例如,可以从关键词搜索结果322中删除不与数据1545相关的搜索结果。作为另一例子,可以从关键词搜索结果322中删除不包括数据1545的至少一部分的搜索结果。且作为另一例子,可以从关键词搜索结果322中删除不包括语义密钥(例如,与搜索查询焦点335相关)和/或与语义密钥相关的至少一个语义子密钥的搜索结果。
然后,可以由排名组件360对经过滤的搜索结果进行排名,以生成已排名的搜索结果365(例如,如上文关于图2、图3、图7A、图7B、图8A、图8B等所讨论的)。在一个实施方案中,可以使用数据1545来执行排名。且在一个实施方案中,可以使用语义密钥(例如,与搜索查询焦点335相关)和/或与语义密钥相关的至少一个语义子密钥来执行排名。
图形数据生成器370可以输出至少一个搜索结果(例如,375)用于显示(例如,如上文关于图2、图3等所讨论的)。图形数据生成器可以基于已排名的搜索结果(例如,由排名组件360输出的365)和/或经过滤的搜索结果(例如,由过滤组件350输出的355,如由虚线箭头352所指示的)来生成图形数据。且在一个实施方案中,可以基于输入377输出至少一个搜索结果用于显示(例如,375)。
图16示出根据本发明的一个实施方案的用于创建语义密钥数据库(例如,342)的由计算机实现的过程1600的示例性流程图。如图16中所示,步骤1610涉及创建语义密钥和语义子密钥的表。例如,如图17中所示,表1700可以包括至少一个语义密钥(例如,“水果”、“计算机品牌”、至少一个其它语义密钥等)和对应于每个语义密钥的至少一个相应的语义子密钥(例如,对应于语义密钥“水果”的“苹果”和“樱桃”、对应于语义密钥“计算机品牌”的“苹果”、“戴尔”和“东芝”、至少一个其它语义子密钥等)。
步骤1620可以涉及使用表(例如,在步骤1610、1700等中创建和/或访问的)和倒排索引(例如,1510)来确定文档(例如,至少一个网页、至少一个电子文档或文件、广告内容等)与语义子密钥之间的关联。在一个实施方案中,如图18中所示,倒排索引1510可以包括多个词(例如,“苹果”、“樱桃”、“戴尔”、“东芝”等),每个词位于相应的位置(例如,如在索引1510的最右边的列中所示)且具有相应的文档(例如,如在索引1510的中间列中所示)。索引1510的词可以是或不是语义密钥、语义子密钥等。因而,步骤1620可以涉及确定或访问(例如,从索引1510)与在表(例如,表1700)中找到的每个语义子密钥(例如,“苹果”)和/或语义密钥(例如,“水果”、“计算机品牌”等)相关的至少一个相应的文档(例如,D1、D2、D3和D10)和/或至少一个相应的文档位置(例如,LA、LE、LF和LB)。
如图16中所示,步骤1630涉及使用与文档相关的至少一个参数来校正文档(和/或文档位置)与语义子密钥之间的关联。例如,在语义子密钥(例如,“苹果”)基于索引1510的数据而与多于一个的语义密钥(例如,“水果”和“计算机品牌”)相关的情况下,步骤1630可以涉及使用与文档相关的至少一个参数来确定每个文档和文档位置与哪个语义密钥关联。
在一个实施方案中,参数可以是语义子密钥与文档的至少一个词或短语之间的关系(例如,句法关系,例如主谓、动宾、在同一个句子中、在同一个从句中、在同一个短语中等)。例如,在文档(例如,D1)包括在句子“苹果尝起来味道很好”中使用的语义子密钥“苹果”的情况下,词“尝起来”(例如,在与语义子密钥“苹果”的主谓关系中)可以用于在步骤1630中确定语义子密钥“苹果”(且因此文档D1和/或在文档中的位置LA)与语义密钥“水果”相关而不与语义密钥“计算机品牌”相关(例如,如图19的语义密钥数据库342中所示)。
在一个实施方案中,参数可以是语义子密钥与文档的至少一个词或短语之间的接近度或距离(例如,字数、行数、段落数等)。例如,如果语义子密钥(例如,“苹果”)和词(例如,在以上示例中的“尝起来”)在预定的接近度或距离(例如,预定字数、预定行数、预定段落数等)内,那么在步骤1630中可以确定语义子密钥“苹果”(且因此文档D1和/或在文档中的位置LA)与语义密钥“水果”相关(例如,如图19的语义密钥数据库342中所示)。
在一个实施方案中,参数可以是文档中与语义子密钥相关的词的数量(例如,词的实例数量)。例如,如果词的数量(例如,在以上示例中的词“尝起来”的实例的数量)满足或超过预定阈值,那么可以在步骤1630中确定语义子密钥“苹果”(且因此文档D1和/或在文档中的位置LA)与语义密钥“水果”相关(例如,如图19的语义密钥数据库342中所示)。
在一个实施方案中,参数可以是在文档中找到的主题。在一个实施方案中,可以根据2010年9月17日提交的标题为“Methodand System for Scoring Texts”的美国专利申请第12/884,395号来确定主题(例如,主要主题、补充主题、次要主题等),该专利申请完全地并为所有目的而通过引用并入本文。例如,在文档(例如,D2)的主题被确定为“计算机编程”或类似主题的情况下,可以在步骤1630中确定语义子密钥“苹果”(且因此文档D2和/或在文档中的位置LE)与语义密钥“计算机品牌”相关(例如,如图19的语义密钥数据库342中所示)。
如在图16中所示,步骤1640涉及创建语义密钥数据库(例如,如在图19中所示的342)。在一个实施方案中,可以使用来自表(例如,在步骤1610中创建的)的信息和文档与语义子密钥之间的关联(例如,在步骤1620中确定的,在步骤1630中校正和/或进一步确定的,等等)来创建语义密钥数据库。
尽管图15示出具有特定数量的组件的数据流图1500,但是应认识到在其它实施方案中,数据流图1500可以包括不同数量的组件。尽管图15示出具有组件的特定排列的数据流图1500,但是应认识到在其它实施方案中,数据流图1500可以包括组件的不同排列。
尽管图16示出具有特定数量的步骤的过程1600,但是应认识到在其它实施方案中,过程1600可以具有不同数量的步骤。尽管图16示出具有步骤的特定排序的过程1600,但是应认识到在其它实施方案中,过程1600可以具有步骤的不同排序。
尽管图17示出具有某个数量或类型的数据的表1700,但是应认识到在其它实施方案中,表1700可以具有不同数量或类型的数据。另外,尽管图17示出具有数据的某种排列的表1700,但是应认识到在其它实施方案中,表1700可以具有数据的不同排列。
尽管图18示出具有某个数量或类型的数据的倒排索引1510,但是应认识到在其它实施方案中,倒排索引1510可以具有不同数量或类型的数据。另外,尽管图18示出具有数据的某种排列的倒排索引1510,但是应认识到在其它实施方案中,倒排索引1510可以具有数据的不同排列。
尽管图19示出具有某个数量或类型的数据的语义密钥数据库342,但是应认识到在其它实施方案中,语义密钥数据库342可以具有不同数量或类型的数据。另外,尽管图19示出具有数据的某种排列的语义密钥数据库342,但是应认识到在其它实施方案中,语义密钥数据库342可以具有数据的不同排列。
图20示出根据本发明的一个实施方案的用于执行搜索的由计算机实现的过程2000的示例性流程图。在本文中描述过程2000的步骤时,将参考图22的示例性数据流图2200以提供示例并帮助阐明讨论。
如图20中所示,步骤2010涉及访问包括语义密钥和搜索查询的搜索数据(例如,2210)。搜索数据可以由用户经由用户接口来输入。例如,用户可以在图21的屏幕上图形用户接口2100中的区域2110(例如,包括诸如文本输入框、下拉列表框等的表单域)中输入搜索数据,其中搜索数据包括语义密钥(例如,词“color”(颜色))和搜索查询(例如,词“ferrari”(法拉利))。应认识到语义密钥可以包括任何数量的词或字符,且也应认识到搜索查询可以包括任何数量的词或字符。在一个实施方案中,语义密钥与搜索查询可以由至少一个符号(例如,冒号、连字号、运算符等)分隔。且在一个实施方案中,可以在步骤2010中由搜索数据处理器2230访问搜索数据。
步骤2020涉及处理搜索数据(例如,使用搜索数据处理器2230)。在一个实施方案中,步骤2020中的处理可以涉及分离语义密钥(例如,2234)与搜索查询(例如,2232)、从搜索数据提取语义密钥(例如,2234)、从搜索数据提取搜索查询(例如,2232)等。在一个实施方案中,步骤2020中的处理可以涉及修改搜索查询(例如,2232)以进一步包括与语义密钥(例如,2234)相关的至少一个语义子密钥(例如,按照图23的过程2300)。且在一个实施方案中,步骤2020中的处理可以涉及修改搜索查询(例如,2232)以进一步包括语义密钥(例如,2234)或其一部分(例如,按照图25的过程2500)。
图23示出根据本发明的一个实施方案的用于修改搜索查询以进一步包括至少一个语义子密钥的由计算机实现的过程2300的示例性流程图。如图23中所示,步骤2310涉及访问搜索查询(例如,来自搜索数据2210的2232、搜索查询输入310等)。在在从搜索数据(例如,2210)访问搜索查询的一个实施方案中,搜索查询(例如,2232)可以从搜索数据提取或以其它方式由搜索数据处理器(例如,2230)生成。
步骤2320涉及确定与搜索查询(例如,在步骤2310中访问的)相关的至少一个语义密钥。在一个实施方案中,可以在步骤2320中从搜索数据(例如,2210)确定至少一个语义密钥(例如,使用搜索数据处理器2230)。在一个实施方案中,可以在步骤2320中基于搜索查询焦点(例如,335)来确定至少一个语义密钥(例如,使用语法分析器330和/或语义密钥处理器340),其中搜索查询焦点(例如,335)可以用于为语义密钥数据库(例如,342)编索引以访问至少一个语义密钥。
如图23中所示,步骤2330涉及确定与至少一个语义密钥(例如,在步骤2320中确定的)相关的至少一个语义子密钥。在一个实施方案中,可以通过使用语义密钥为语义密钥数据库(例如,342)编索引来确定至少一个语义子密钥(例如,使用语义密钥处理器340)以访问至少一个语义子密钥。
步骤2340涉及确定与至少一个语义子密钥(例如,在步骤2330中确定的)相关的至少一个属性。在一个实施方案中,可以通过使用语义子密钥为语义密钥数据库(例如,342)编索引来确定至少一个属性(例如,使用语义密钥处理器340)以访问至少一个属性。例如,在语义密钥(例如,在步骤2320中确定的)包括短语“美国州花”且语义子密钥(例如,在步骤2330中确定的)包括词“玫瑰”的情况下,可以在步骤2340中使用语义子密钥“玫瑰”为语义密钥数据库342编索引以确定属性“纽约”(例如,如在图24的语义密钥数据库342中所示)。
如图23中所示,步骤2350涉及确定搜索查询(例如,在步骤2310中访问的)是否包括至少一个属性(例如,在步骤2340中确定的)。如果在步骤2350中确定搜索查询不包括至少一个属性,那么过程2300可以结束。或者,如果在步骤2350中确定搜索查询包括至少一个属性,那么可以执行步骤2360。
步骤2360涉及修改搜索查询(例如,在步骤2310中访问的)以进一步包括至少一个语义子密钥(例如,在步骤2330中确定的)。例如,在确定搜索查询以包括至少一个属性“纽约”的情况下,可以在步骤2360中修改搜索查询以进一步包括语义子密钥“玫瑰”。在一个实施方案中,对搜索查询的修改可以是对用户透明的和/或隐藏的(例如,未显示在诸如用户接口2100的图形用户接口、用于执行或发起搜索的另一图形用户接口等中)。以这种方式,如果搜索查询包括至少一个属性(例如,与语义子密钥相关的),那么本发明的实施方案可以通过修改搜索查询以包括至少一个语义子密钥(例如,与诸如语义密钥2234的语义密钥相关的,基于搜索查询焦点335确定的,等等)而使更相关的搜索结果能够被返回(例如,作为在过程2000的步骤2040中执行的搜索的结果)。
尽管图23示出具有特定数量的步骤的过程2300,但是应认识到在其它实施方案中,过程2300可以具有不同数量的步骤。尽管图23示出具有步骤的特定排序的过程2300,但是应认识到在其它实施方案中,过程2300可以具有步骤的不同排序。
尽管图24示出具有某个数量或类型的数据的语义密钥数据库342,但是应认识到在其它实施方案中,语义密钥数据库342可以具有不同数量或类型的数据。另外,尽管图24示出具有数据的某种排列的语义密钥数据库342,但是应认识到在其它实施方案中,语义密钥数据库342可以具有数据的不同排列。
图25示出根据本发明的一个实施方案的用于修改搜索查询以进一步包括语义密钥或其一部分的由计算机实现的过程2500的示例性流程图。如图25中所示,步骤2510涉及访问搜索查询(例如,来自搜索数据2210的2232、搜索查询输入310等)。在从搜索数据(例如,2210)访问搜索查询的一个实施方案中,搜索查询(例如,2232)可以从搜索数据提取或以其它方式由搜索数据处理器(例如,2230)生成。
步骤2520涉及确定与搜索查询(例如,在步骤2510中访问的)相关的至少一个语义密钥。在一个实施方案中,可以在步骤2520中从搜索数据(例如,2210)确定至少一个语义密钥(例如,使用搜索数据处理器2230)。在一个实施方案中,可以在步骤2520中基于搜索查询焦点(例如,335)来确定至少一个语义密钥(例如,使用语法分析器330和/或语义密钥处理器340),其中搜索查询焦点(例如,335)可以用于为语义密钥数据库(例如,342)编索引以访问至少一个语义密钥。
如图25中所示,步骤2530涉及修改搜索查询(例如,在步骤2510中访问的)以进一步包括至少一个语义密钥(例如,在步骤2520中确定的)或其一部分。例如,在搜索查询包括词“2008”(如在步骤2510中访问的)且与搜索查询相关的语义密钥被确定为“诺贝尔化学奖得主(Nobel laureate chemistry)”(例如,在步骤2520中)的情况下,可以在步骤2530中修改搜索查询以进一步包括词“诺贝尔”(例如,语义密钥“诺贝尔化学奖得主”的一部分)。作为另一例子,在搜索查询包括词“2008”(如在步骤2510中访问的)且与搜索查询相关的语义密钥被确定为“诺贝尔化学奖得主”(例如,在步骤2520中)的情况下,可以在步骤2530中修改搜索查询以进一步包括词“诺贝尔化学奖得主”(例如,整个语义密钥“诺贝尔化学奖得主”)。以这种方式,本发明的实施方案可以通过修改搜索查询以包括至少一个语义密钥(例如,基于搜索查询的一个或多个词确定的)或其一部分而使更相关的搜索结果能够被返回(例如,作为在过程2000的步骤2040中执行的搜索的结果)。
尽管图25示出具有特定数量的步骤的过程2500,但是应认识到在其它实施方案中,过程2500可以具有不同数量的步骤。尽管图25示出具有步骤的特定排序的过程2500,但是应认识到在其它实施方案中,过程2500可以具有步骤的不同排序。
回来转到图20,步骤2030涉及确定与语义密钥(例如,在步骤2010和/或步骤2020中访问的)相关的至少一个文档(例如,网页、电子文档或文件、广告内容等)。可以在步骤2030中通过使用语义密钥为语义密钥数据库342编索引来确定至少一个文档以访问或以其它方式确定与语义密钥和/或与语义密钥相关的语义子密钥相关的一个或多个文档。例如,可以使用语义密钥“水果”来为语义密钥数据库342编索引以访问或以其它方式确定与语义密钥相关的一个或多个文档(例如,如图19中所示的D1、D10、D4、D5等)。作为另一例子,可以使用与语义密钥(例如,“水果”)相关的语义子密钥(例如,“苹果”)来为语义密钥数据库342编索引以访问或以其它方式确定与语义子密钥和/或语义密钥相关的一个或多个文档(例如,如图19中所示的D1、D10等)。在一个实施方案中,步骤2030可以涉及生成和/或输出数据(例如,2245),该数据包括至少一个文档标识符、至少一个完整文档、至少一个文档的至少一部分、与至少一个文档相关的其它信息、其某一组合等。
步骤2040涉及基于搜索查询(例如,在步骤2010和/或步骤2020等中访问的2232)来执行搜索。搜索可以是关键词搜索(例如,基于搜索查询的一个或多个字或关键词)。在步骤2040中,搜索引擎320可以基于搜索查询2232执行搜索并基于搜索查询2232生成关键词搜索结果322(例如,通过使用搜索查询2232为倒排索引1510编索引以访问和/或生成关键词搜索结果322)。搜索结果(例如,322)可以包括至少一个网页、至少一个电子文档或文件、广告内容、其某一组合等。
如图20中所示,步骤2050涉及访问响应于搜索(例如,在步骤2040中执行的)而生成的搜索结果(例如,322)。搜索结果可以由能够过滤搜索结果的组件(例如,图22中所示的过滤组件350)、能够对搜索结果进行排名的组件(例如,图22中所示的排名组件360)、其某一组合等访问。
步骤2060涉及使用与语义密钥(例如,在步骤2030中确定的)相关的至少一个文档来过滤搜索结果(例如,在步骤2050中访问的)。例如,过滤组件350可以使用数据2245(例如,包括与语义密钥相关的至少一个文档的至少一个文档标识符、与语义密钥相关的至少一个完整文档、与语义密钥相关的至少一个文档的至少一部分、与与语义密钥相关的至少一个文档相关的其它信息、其某一组合等)来过滤关键词搜索结果322并生成经过滤的关键词搜索结果355。
在一个实施方案中,可以在步骤2060中通过从关键词搜索结果322中删除不与数据2245相关的搜索结果来执行过滤。作为另一例子,可以在步骤2060中通过从关键词搜索结果322中删除不包括数据2245的至少一部分的搜索结果来执行过滤。且作为另一例子,可以在步骤2060中通过从关键词搜索结果322中删除不包括语义密钥(例如,在步骤2010和/或步骤2020等中确定的2232)和/或与语义密钥相关的至少一个语义子密钥的搜索结果来执行过滤。
如图20中所示,步骤2070涉及对搜索结果(例如,在步骤2050中访问的搜索结果、在步骤2060中生成的经过滤的搜索结果等)进行排名。例如,排名组件360可以对搜索结果进行排名以生成已排名的搜索结果365(例如,如上文关于图2、图3、图7A、图7B、图8A、图8B等所讨论的)。在一个实施方案中,可以与过程200的步骤270相似和/或类似地执行步骤2070。
在一个实施方案中,可以在步骤2070中基于数据2245或以其它方式使用数据2245来执行排名。例如,可以在步骤2070中基于至少一个语义密钥的频率(例如,在与数据2245相关的至少一个文档中)、基于至少一个语义子密钥的频率(例如,在与数据2245相关的至少一个文档中)、基于搜索查询的至少一个关键词的频率(例如,在与数据2245相关的至少一个文档中)、基于至少一个语义密钥与搜索查询的至少一个关键词之间的接近度或距离(例如,以字数、行数、段落数等测量的)(例如,在与数据2245相关的至少一个文档中)、基于至少一个语义子密钥与搜索查询的至少一个关键词之间的接近度或距离(例如,以字数、行数、段落数等测量的)(例如,在与数据2245相关的至少一个文档中)等对搜索结果进行排名。
且在一个实施方案中,可以在步骤2070中使用语义密钥(例如,在步骤2010和/或步骤2020等中确定的2232)和/或与语义密钥相关的至少一个语义子密钥来执行排名。例如,可以在步骤2070中基于语义密钥的频率(例如,在与数据2245相关的至少一个文档中)、基于至少一个语义子密钥的频率(例如,在与数据2245相关的至少一个文档中)、基于语义密钥与搜索查询的至少一个关键词之间的接近度或距离(例如,以字数、行数、段落数等测量的)(例如,在与数据2245相关的至少一个文档中)、基于至少一个语义子密钥与搜索查询的至少一个关键词之间的接近度或距离(例如,以字数、行数、段落数等测量的)(例如,在与数据2245相关的至少一个文档中)等对搜索结果进行排名。
如图20中所示,步骤2080涉及输出搜索结果(例如,在步骤2050中访问的搜索结果、在步骤2060中生成的经过滤的搜索结果、在步骤2070中生成的已排名的搜索结果等)。例如,图形数据生成器370可以输出至少一个搜索结果(例如,375)用于显示(例如,如上文关于图2、图3等所讨论的)。在一个实施方案中,可以在步骤2080中基于输入377输出至少一个搜索结果(例如,375)用于显示。且在一个实施方案中,可以与过程200的步骤280相似和/或类似地执行步骤2080。
在一个实施方案中,过程2000可以用于搜索和/或输出广告内容。例如,在步骤2050中访问的搜索结果包括广告内容(例如,至少一个广告)的情况下,步骤2080可以涉及输出搜索结果(例如,包括广告内容)。搜索结果(例如,包括广告内容)可以在步骤2080中被输出以与网页搜索结果同时被显示(例如,使用屏幕上图形用户接口,如用户接口2100、用户接口2700等)。在一个实施方案中,可以基于相同的搜索查询、相同的至少一个语义密钥、相同的至少一个语义子密钥、其某一组合等来生成或访问网页搜索结果和包括广告内容的搜索结果。以这种方式,本发明的实施方案使广告内容与网页搜索结果能够同时被返回(例如,响应于使用搜索查询、至少一个语义密钥、至少一个语义子密钥、其某一组合等而执行的搜索)和/或显示,其中广告内容(例如,与至少一个语义密钥、至少一个语义子密钥、其某一组合等相关的)可以与搜索查询和/或网页搜索结果更相关。
尽管图20示出具有特定数量的步骤的过程2000,但是应认识到在其它实施方案中,过程2000可以具有不同数量的步骤。尽管图20示出具有步骤的特定排序的过程2000,但是应认识到在其它实施方案中,过程2000可以具有步骤的不同排序。
尽管图21示出具有某个数量和排列的元件的用户接口2100,但是应认识到在其它实施方案中,用户接口2100可以具有不同数量和/或排列的元件。另外,尽管图21示出具有特定大小和形状的用户接口2100的元件,但是应认识到在其它实施方案中,用户接口2100的元件可以是不同大小和/或形状。
尽管图22示出具有特定数量的组件的数据流图2200,但是应认识到在其它实施方案中,数据流图2200可以包括不同数量的组件。尽管图22示出具有组件的特定排列的数据流图2200,但是应认识到在其它实施方案中,数据流图2200可以包括组件的不同排列。
图26A和图26B示出根据本发明的一个实施方案的描绘语义关键词的自动完成或建议的示例性屏幕上图形用户接口2100。如图26A中所示,响应于字母“col”的输入(例如,由用户使用用户接口2100的区域2110),可以自动地显示区域2615。区域2615可以包括与区域2110中的输入(例如,字母“col”)相关的至少一个语义密钥(例如,“color”、“colors”、“colour”和“colours”)。在一个实施方案中,区域2615可以是下拉列表框或使用户能够选择语义密钥的其它表单元件。
在一个实施方案中,响应于使用区域2615选择语义密钥,可以将选定的语义密钥自动地显示在区域2110中。例如,如图26B中所示,响应于从区域2615选择语义密钥“color”,语义密钥“color”(“颜色”)可以自动地显示在区域2110中。另外,响应于使用区域2615选择语义密钥,区域2615可以被隐藏或不显示(例如,如图26B中所示)。
因此,实施方案使语义密钥和/或搜索数据(例如,包括构成搜索查询的至少一个语义密钥和数据)能够更有效地被选择和输入,用于在搜索中使用。另外,实施方案使用户能够确定和/或选择语义密钥,而无需预先知道语义密钥。例如,在用户不知道词“color”为语义密钥的情况下,区域2615可以响应于在区域2110中一个或多个字母(例如,字母“c”、字母组合“co”等)的输入而显示语义密钥“color”(和/或与其相关的一个或多个其它语义密钥)。因而,区域2615可以用于通知用户一个或多个可能的语义密钥用于选择。
尽管图26A和图26B示出具有某个数量和排列的元件的用户接口2100,但是应认识到在其它实施方案中,用户接口2100可以具有不同数量和/或排列的元件。另外,尽管图26A和图26B示出具有特定大小和形状的用户接口2100的元件,但是应认识到在其它实施方案中,用户接口2100的元件可以是不同大小和/或形状。
图27示出根据本发明的一个实施方案的用于呈现搜索结果的示例性屏幕上图形用户接口2700。如图27中所示,区域2710包括至少一个搜索结果(例如,375)。区域2710也可以包括与每个搜索结果相关的相应信息(例如,文档标识符、标题、URL等)。且在一个实施方案中,区域2710可以包括响应于基于搜索数据(例如,2210,包括至少一个语义密钥和搜索查询等)执行的搜索而生成的至少一个搜索结果。
区域2720可以包括与语义密钥(例如,2234,基于搜索查询焦点335等而确定的)相关的至少一个语义子密钥。在一个实施方案中,可以响应于与显示在区域2720中的语义子密钥的交互而执行新的搜索。可以基于经修改的搜索查询来执行新的搜索,其中经修改的搜索查询可以进一步包括语义子密钥(例如,从区域2720选择的)。在一个实施方案中,作为新搜索的结果而生成的搜索结果可以显示在区域2710中。且在一个实施方案中,对搜索查询的修改可以是对用户透明的和/或隐藏的(例如,未显示在诸如用户接口2100的图形用户接口、用于执行或发起搜索的另一图形用户接口等中)。
如图27中所示,区域2730可以包括与显示在区域2710中的至少一个搜索结果相关的至少一个统计参数。例如,区域2730可以包括在显示在区域2710中的至少一个搜索结果中找到的项目的列表(例如,至少一个词、至少一个短语、至少一个语义密钥、至少一个语义子密钥、其某一组合等)。区域2730也可以包括对应于列表中的每一项目的相应的数量或值。以这种方式,区域2730可以用于提供关于至少一个搜索结果(例如,显示在区域2710中)的信息。
在一个实施方案中,数量或值可以是搜索结果(例如,显示在区域2710中)中的相应项目(例如,至少一个词、至少一个短语、至少一个语义密钥、至少一个语义子密钥、其某一组合等)的实例的数量。在一个实施方案中,数量或值可以是与相应项目相关的比率或比例。例如,可以通过使搜索结果中的相应项目的实例数量除以搜索结果中的多个项目(例如,包括相应项目、包括显示在区域2730中的所有项目、包括与至少一个语义密钥相关的所有语义子密钥等)的实例数量来确定数量或值。在一个实施方案中,数量或值可以与搜索结果中的相应项目的频率相关。且在一个实施方案中,数量或值可以与相关于相应项目的其它数值信息相关(例如,在可以从显示在区域2710中的一个或多个搜索结果确定数值信息的情况下)。例如,在显示在区域2730中的项目包括语义密钥“普通话”的情况下,数值信息可以包括讲普通话的人的数量。
在一个实施方案中,响应于与显示在区域2730中的字或短语的交互,可以执行新的搜索。可以基于经修改的搜索查询来执行新的搜索,其中经修改的搜索查询可以进一步包括上述字或短语(例如,从区域2730选择的)。在一个实施方案中,作为新搜索的结果而生成的搜索结果可以显示在区域2710中。且在一个实施方案中,对搜索查询的修改可以是对用户透明的和/或隐藏的(例如,未显示在诸如用户接口2100的图形用户接口、用于执行或发起搜索的另一图形用户接口等中)。
在一个实施方案中,对应于在区域2730中找到的字或短语的至少一个搜索结果(例如,显示在区域2710中)的部分可以被加亮或以其它方式(例如,使用围绕相关部分的边框等)被指示给用户。以这种方式,用户可以容易且有效地找到显示在区域2710中的至少一个搜索结果中的词语。
在一个实施方案中,响应于与显示在区域2710中的至少一个搜索结果(例如,对应于显示在区域2730中的字或短语)的一部分的交互,可以执行新的搜索。可以基于经修改的搜索查询来执行新的搜索,其中经修改的搜索查询可以进一步包括至少一个搜索结果(例如,从区域2710选择的)的部分。在一个实施方案中,作为新搜索的结果而生成的搜索结果可以显示在区域2710中。且在一个实施方案中,对搜索查询的修改可以是对用户透明的和/或隐藏的(例如,未显示在诸如用户接口2100的图形用户接口、用于执行或发起搜索的另一图形用户接口等中)。
尽管图27示出具有某个数量和排列的元件的用户接口2700,但是应认识到在其它实施方案中,用户接口2700可以具有不同数量和/或排列的元件。另外,尽管图27示出具有特定大小和形状的用户接口2700的元件,但是应认识到在其它实施方案中,用户接口2700的元件可以是不同大小和/或形状。
图28示出根据本发明的一个实施方案的用于基于改变的搜索查询执行搜索的由计算机实现的过程2800的示例性流程图。在本文中描述过程2800的步骤时,将参考图29的示例性数据流图2900以提供示例且帮助阐明讨论。
如图28中所示,步骤2810涉及访问搜索查询(例如,从搜索数据2210、搜索查询输入310等)。在从搜索数据(例如,2210)访问搜索查询的一个实施方案中,搜索查询可以从搜索数据提取或以其它方式由搜索数据处理器(例如,2230)生成。
步骤2820涉及确定与搜索查询(例如,在步骤2810中访问的)相关的至少一个语义密钥。在一个实施方案中,可以在步骤2820中从搜索数据(例如,2210)确定至少一个语义密钥(例如,使用搜索数据处理器2230)。在一个实施方案中,可以在步骤2820中基于搜索查询焦点(例如,335)来确定至少一个语义密钥(例如,使用语法分析器330和/或语义密钥处理器340),其中搜索查询焦点(例如,335)可以用于为语义密钥数据库(例如,342)编索引以访问至少一个语义密钥。
如图28中所示,步骤2830涉及确定与至少一个语义密钥(例如,在步骤2820中确定的)相关的至少一个语义子密钥(例如,如在图29中所示的2945)。在一个实施方案中,可以通过使用语义密钥为语义密钥数据库(例如,342)编索引来确定至少一个语义子密钥(例如,使用语义密钥处理器340)以访问至少一个语义子密钥(例如,如图29中所示的2945)。
步骤2840涉及修改搜索查询以进一步包括至少一个语义子密钥(例如,2945)。在一个实施方案中,可以通过搜索数据处理器2230修改搜索查询(例如,在步骤2810中访问的)以进一步包括至少一个语义子密钥(例如,2945),其中搜索数据处理器2230可以输出经修改的搜索查询作为已修改的搜索查询2932(例如,如在图29中所示)。
步骤2850涉及基于经修改的搜索查询(例如,在步骤2840等中生成的2932)来执行搜索。搜索可以是关键词搜索(例如,基于经修改的搜索查询的一个或多个字或关键词)。在步骤2850中,搜索引擎320可以基于经修改的搜索查询来执行搜索并基于该搜索查询生成搜索结果2955(例如,通过使用经修改的搜索查询2932为倒排索引1510编索引以访问和/或生成搜索结果2955)。搜索结果(例如,2955)可以包括至少一个网页、至少一个电子文档或文件、广告内容、其某一组合等。在一个实施方案中,在步骤2850中生成的搜索结果(例如,搜索结果2955)可以与由过滤组件350(例如,如图22中所示)输出的经过滤的搜索结果(例如,355)相同或相似。
如图20中所示,步骤2860涉及访问响应于搜索(例如,在步骤2850中执行的)而生成的搜索结果(例如,2955)。在一个实施方案中,搜索结果可以由能够对搜索结果进行排名的组件(例如,图22中所示的排名组件360)访问。
步骤2870涉及对搜索结果(例如,在步骤2860等中访问的搜索结果2955)进行排名。例如,排名组件360可以对搜索结果(例如,2955)进行排名以生成已排名的搜索结果365(例如,如上文关于图2、图3、图7A、图7B、图8A和图8B等所讨论的)。在一个实施方案中,可以与过程200的步骤270相似和/或类似地执行步骤2870。
在一个实施方案中,可以在步骤2870中基于与搜索数据(例如,2210)或其一部分(例如,搜索查询、至少一个语义密钥2234等)相关的数据来执行排名。例如,可以在步骤2870中基于至少一个语义密钥(例如,2234,在步骤2820等中确定的)的频率、基于至少一个语义子密钥(例如,与至少一个语义密钥2234相关的,在步骤2830中确定的,等等)的频率、基于搜索查询(例如,在步骤2810中访问的)的至少一个关键词的频率、基于至少一个语义密钥(例如,2234,在步骤2820中确定的,等等)与搜索查询(例如,在步骤2810中访问的)的至少一个关键词之间的接近度或距离(例如,以字数、行数、段落数等测量的)、基于至少一个语义子密钥(例如,与至少一个语义密钥2234相关的,在步骤2830中确定的,等等)与搜索查询(例如,在步骤2810中访问的)的至少一个关键词之间的接近度或距离(例如,以字数、行数、段落数等测量的)等对搜索结果进行排名。
如图28中所示,步骤2880涉及输出搜索结果(例如,在步骤2860中访问的搜索结果、在步骤2870中生成的已排名的搜索结果等)。例如,图形数据生成器370可以输出至少一个搜索结果(例如,375)用于显示(例如,如上文关于图2、图3等所讨论的)。在一个实施方案中,可以在步骤2880中基于输入377输出至少一个搜索结果(例如,375)用于显示。且在一个实施方案中,可以与过程200的步骤280相似和/或类似地执行步骤2880。
在一个实施方案中,过程2800可以用于搜索和/或输出广告内容。例如,在步骤2860中访问的搜索结果包括广告内容(例如,至少一个广告)的情况下,步骤2880可以涉及输出搜索结果(例如,包括广告内容)。搜索结果(例如,包括广告内容)可以在步骤2880中被输出以与网页搜索结果同时被显示(例如,使用屏幕上图形用户接口,例如用户接口2100、用户接口2700等)。在一个实施方案中,可以基于相同的搜索查询(例如,经修改以包括与至少一个语义密钥相关的至少一个语义子密钥的搜索查询)、相同的至少一个语义密钥、相同的至少一个语义子密钥、其某一组合等来生成或访问网页搜索结果和包括广告内容的搜索结果。例如,可以基于经修改的搜索查询2932来生成或访问网页搜索结果和包括广告内容的搜索结果,经修改的搜索查询2932包括与一个或多个语义密钥2234(例如,“软饮料”)相关的一个或多个语义子密钥2945(例如,“可口可乐”、“百事可乐”、“芬达”、“胡椒博士”等)。以这种方式,本发明的实施方案使广告内容能够与网页搜索结果同时被返回(例如,响应于使用搜索查询、至少一个语义密钥、至少一个语义子密钥、其某一组合等而执行的搜索)和/或显示,其中广告内容(例如,与至少一个语义密钥、至少一个语义子密钥、其某一组合等相关的)可以与搜索查询和/或网页搜索结果更相关。
尽管图28示出具有特定数量的步骤的过程2800,但是应认识到在其它实施方案中,过程2800可以具有不同数量的步骤。尽管图28示出具有步骤的特定排序的过程2800,但是应认识到在其它实施方案中,过程2800可以具有步骤的不同排序。
尽管图29示出具有特定数量的步骤的过程2900,但是应认识到在其它实施方案中,过程2900可以具有不同数量的步骤。尽管图29示出具有步骤的特定排序的过程2900,但是应认识到在其它实施方案中,过程2900可以具有步骤的不同排序。
搜索查询的自动生成
图30示出根据本发明的一个实施方案的基于自动生成的搜索查询执行搜索的示例性数据流图3000。如图30所示,搜索查询处理器3030可以访问第一搜索查询(例如,3010)并确定第一搜索查询(例如,3010)的第一部分包括至少一个语义密钥(例如,2234)。响应于确定了第一搜索查询(例如,3010)的第一部分包括至少一个语义密钥(例如,2234),搜索查询处理器3030可以基于第一搜索查询(例如,3010)自动生成第二搜索查询(例如,3032)。可通过修改第一搜索查询(例如,3010)或通过基于第一搜索查询(例如,3010)创建新的搜索查询来(例如,通过搜索查询处理器3030)生成第二搜索查询(例如,3032)。第二搜索查询(例如,3032)可以没有第一搜索查询(例如,3010)的第一部分和/或可以不同于第一搜索查询(例如,3010)。可基于第二搜索查询(例如,3032)来(例如,通过搜索引擎320)执行第一搜索,其中响应于第一搜索生成的搜索结果(例如,关键词搜索结果322、经过滤的搜索结果355、经排名的搜索结果365、被输出以供呈现的搜索结果375等)可以包括与至少一个语义密钥(例如,2234)相关的至少一个语义子密钥的一个或多个实例。
在一个实施方案中,可以使用来自语义密钥处理器340的数据2245(例如,包括与至少一个语义密钥相关的至少一个文档的至少一个文档标识符、与至少一个语义密钥相关的至少一个完整文档、与至少一个语义密钥相关的至少一个文档的至少一部分、与与至少一个语义密钥相关的至少一个文档相关的其它信息、其某一组合等)来执行过滤(例如,过滤组件350),使得搜索结果的每个文档包括与至少一个语义密钥(例如,2234)相关的至少一个语义子密钥的至少一个相应实例。因此,通过利用搜索查询处理器3030来自动识别第一搜索查询(例如,3010)中的至少一个语义密钥,可以返回更相关的搜索结果(例如,使用搜索查询3032),同时使用户免于与搜索查询(例如,包括至少一个关键词)分开地手动输入语义密钥和/或区分语义密钥和搜索查询(例如,包括至少一个关键词)。
在一个实施方案中,搜索查询处理器3030可以通过使用第一搜索查询(例如,3010)的第一部分对语义密钥数据库342(例如,如图30中所示)编索引以访问或检索至少一个语义密钥(例如,2234)来确定所述第一部分包括至少一个语义密钥(例如,2234)。或者,在其它实施方案中,搜索查询处理器3030可以确定第一部分包括至少一个语义密钥。
在一个实施方案中,搜索查询3010可以由用户输入。搜索查询3010可以没有符号(例如,冒号、连字号、运算符等)和/或没有第一部分(例如,包括至少一个语义密钥)和其它部分(例如,包括一个或多个关键词)的任何区分。因此,在一个实施方案中,搜索查询3010可以由用户输入作为正常关键词搜索查询,且至少一个语义密钥的自动识别和第二搜索查询(例如,3032)的自动生成可以对用户透明地执行。
在一个实施方案中,可以访问(例如,通过如虚线箭头3015所指示的搜索引擎320)第一搜索查询(例如,3010),并可以基于第一搜索查询(例如,3010)执行(例如,通过搜索引擎320)第二搜索。可以分析(例如,使用一个或多个组件例如排名组件360、过滤组件350、语义密钥处理器340、搜索查询处理器3030等)响应于第一搜索(例如,基于搜索查询3032)和第二搜索(例如,基于搜索查询3010)而生成的搜索结果以自动确定输出哪些搜索结果以供呈现(例如,经由图形用户接口向用户)。分析可以包括通过基于一个或多个参数对几组搜索结果评分来确定一组最相关的搜索结果,其中这组最相关的搜索结果可以被输出(例如,通过图形数据生成器370,作为被输出以供呈现的搜索结果375)。在一个实施方案中,输入377可以用于选择由图形数据生成器370输出的这组搜索结果,其中输入377可以是系统生成的输入(例如,来自排名组件360、过滤组件350、语义密钥处理器340、搜索查询处理器3030等)。分析可以包括确定与第一搜索的搜索结果相关的数量和与第二搜索的搜索结果相关的数量之比,其中如果该比超过预定的阈值,则第一搜索的搜索结果可以被输出。以这种方式,可以从多组搜索结果中自动选择用于输出的一组搜索结果,从而允许在一些情况下输出更相关的搜索结果。
在一个实施方案中,可以给用户提供在几组搜索结果之间切换的选项。例如,图形用户接口(例如,用于呈现被输出以供呈现的搜索结果375,例如GUI 1300、GUI 2700等)可包括允许用户选择性地显示第一搜索的搜索结果和/或第二搜索的搜索结果的元件。在这种情况下,输入377(例如,如图30中所示)可以是响应于与图形用户接口的交互而生成的用户输入。因此,用户可以选择性显示第一搜索结果和/或第二搜索结果以快速确定哪组搜索结果是更可取的和/或最相关的、是否自动选择的一组搜索结果是更可取的和/或最相关的,等等。
在一个实施方案中,响应于确定了第一搜索查询的第二部分(例如,与包括语义密钥的第一部分分开)与语言的预定部分(例如,关系代词、疑问代词、介词、动词等)相关,可以由搜索查询处理器3030生成第二搜索查询(例如,3032)。在这种情况下,第二搜索查询(例如,3032)可以被生成,使得它没有第一部分和第二部分(例如,其包括在第一搜索查询中或是第一搜索查询的部分)。因此,在第一搜索查询(例如,3010)中的语言的预定部分的自动识别可以提供一个或多个优势(例如,通过自动区分第一搜索查询中的语义密钥和至少一个关键词来更有效地生成第二搜索查询、可以通过排除第一搜索查询的第二部分来提供更相关的搜索结果、输出基于第二搜索查询而生成的搜索结果的决定的确认,等等)。
在一个实施方案中,搜索查询处理器3030可以通过使用第一搜索(例如,3010)的第二部分对语言的部分数据库3044(例如,如图30中所示)编索引以访问或检索语言的预定部分中的一个或多个来确定第二部分与语言的预定部分相关。或者,在其它实施方案中,搜索查询处理器3030可以确定第二部分包括语言的预定部分。
搜索查询处理器3030可以确定第一搜索查询的第一部分(例如,包括语义密钥)和第一搜索查询的第二部分(例如,包括与语义密钥分开的一个或多个词)是否与短语相关。如果确定第一部分和第二部分不与短语相关,则可生成第二搜索查询(例如,不包括语义密钥的3032)。或者,如果确定第一部分和第二部分与短语相关,则可不生成第二搜索查询(例如,3032)。在这种情况下,可以提供基于第一搜索查询(例如,3010)生成的搜索结果。因此,搜索查询的第一部分和第二部分可以有利地用于更有效地提供搜索结果。
在一个实施方案中,搜索查询处理器3030可以通过使用第一搜索查询(例如,3010)的第一部分和第二部分对短语数据库3046(例如,如在图30中所示)编索引来确定第一部分和第二部分是否与短语相关。如果一个或多个短语响应于编索引而被返回,则搜索查询处理器3030可以确定第一部分和第二部分与一个或多个短语相关。或者,如果没有短语响应于编索引而被返回,则搜索查询处理器3030可以确定第一部分和第二部分不与短语相关。或者,在其它实施方案中,搜索查询处理器3030可以确定第一部分和第二部分是否与短语相关。
图31示出根据本发明的一个实施方案的基于包括至少一个语义子密钥的自动生成的搜索查询执行搜索的示例性数据流图3100。如图31中所示,搜索查询处理器3030可以访问第一搜索查询(例如,3010)并确定第一搜索查询(例如,3010)的第一部分包括至少一个语义密钥(例如,2234)。响应于确定了第一搜索查询(例如,3010)的第一部分包括至少一个语义密钥(例如,2234),搜索查询处理器3030可以基于第一搜索查询(例如,3010)自动生成第二搜索查询(例如,3132)。第二搜索查询(例如,3132)可以包括与至少一个语义密钥2234(例如,被提供到语义密钥处理器340的)相关的至少一个语义子密钥2945(例如,由语义密钥处理器340接收的)。在一个实施方案中,第二搜索查询(例如,3132)可以没有第一搜索查询(例如,3010)的第一部分和/或可以不同于第一搜索查询(例如,3010)。另外,通过修改第一搜索查询(例如,3010)或通过基于第一搜索查询(例如,3010)创建新的搜索查询可以(例如,通过搜索查询处理器3030)生成第二搜索查询(例如,3132)。
基于第二搜索查询(例如,3132)可以执行(例如,通过搜索引擎320)第一搜索,其中响应于第一搜索而生成的搜索结果(例如,搜索结果2955、经排名的搜索结果365、被输出以供呈现的搜索结果375等)可以包括与至少一个语义密钥(例如,2234)相关的至少一个语义子密钥(例如,2945)的一个或多个实例。在一个实施方案中,搜索结果的每个文档可以包括与至少一个语义密钥(例如,2234)相关的至少一个语义子密钥(例如,2945)的至少一个相应的实例。因此,通过利用搜索查询处理器3030自动识别第一搜索查询(例如,3010)中的至少一个语义密钥,更相关的搜索结果可以被返回(例如,使用搜索查询3132),同时使用户免于与搜索查询(例如,包括至少一个关键词)分开地手动输入语义密钥和/或区分语义密钥和搜索查询(例如,包括至少一个关键词)。
在一个实施方案中,搜索查询处理器3030可以通过使用第一搜索查询(例如,3010)的第一部分对语义密钥数据库342(例如,如图31中所示)编索引以访问或检索至少一个语义密钥(例如,2234)来确定第一部分包括至少一个语义密钥(例如,2234)。或者,在其它实施方案中,搜索查询处理器3030可以确定第一部分包括至少一个语义密钥。
在一个实施方案中,搜索查询3010可以由用户输入。搜索查询3010可以没有符号(例如,冒号、连字号、运算符等)和/或没有第一部分(例如,包括至少一个语义密钥)和其它部分(例如,包括一个或多个关键词)的任何区分。因此,在一个实施方案中,搜索查询3010可以由用户输入作为正常关键词搜索查询,且至少一个语义密钥的自动识别和第二搜索查询(例如,3132)的自动生成可以对用户透明地执行。
在一个实施方案中,可以访问(例如,通过如虚线箭头3015所指示的搜索引擎320)第一搜索查询(例如,3010),并可以基于第一搜索查询(例如,3010)执行(例如,通过搜索引擎320)第二搜索。可以分析(例如,使用一个或多个组件例如排名组件360、语义密钥处理器340、搜索查询处理器3030等)响应于第一搜索(例如,基于搜索查询3132)和第二搜索(例如,基于搜索查询3010)而生成的搜索结果以自动确定输出哪些搜索结果以供呈现(例如,经由图形用户接口向用户)。分析可以包括通过基于一个或多个参数对几组搜索结果评分来确定一组最相关的搜索结果,其中这组最相关的搜索结果可以被输出(例如,通过图形数据生成器370,作为被输出以供呈现的搜索结果375)。在一个实施方案中,输入377可以用于选择由图形数据生成器370输出的这组搜索结果,其中输入377可以是系统生成的输入(例如,来自排名组件360、语义密钥处理器340、搜索查询处理器3030等)。分析可以包括确定与第一搜索的搜索结果相关的数量和与第二搜索的搜索结果相关的数量之比,其中如果该比超过预定的阈值,则第一搜索的搜索结果可以被输出。以这种方式,可以从多组搜索结果中自动选择用于输出的一组搜索结果,从而允许在一些情况下输出更相关的搜索结果。
在一个实施方案中,可以给用户提供在几组搜索结果之间切换的选项。例如,图形用户接口(例如,用于呈现被输出以供呈现的搜索结果375,例如GUI 1300、GUI 2700等)可包括允许用户选择性地显示第一搜索的搜索结果和/或第二搜索的搜索结果的元件。在这种情况下,输入377(例如,如图31中所示)可以是响应于与图形用户接口的交互而生成的用户输入。因此,用户可以选择性显示第一搜索结果和/或第二搜索结果以快速确定哪组搜索结果是更可取的和/或最相关的、是否自动选择的一组搜索结果是更可取的和/或最相关的,等等。
在一个实施方案中,响应于确定了第一搜索查询的第二部分(例如,与包括语义密钥的第一部分分开)与语言的预定部分(例如,关系代词、疑问代词、介词、动词等)相关,可以由搜索查询处理器3030生成第二搜索查询(例如,3132)。在这种情况下,第二搜索查询(例如,3132)可以被生成,使得它没有第一部分和第二部分(例如,其包括在第一搜索查询中或是第一搜索查询的部分)。因此,在第一搜索查询(例如,3010)中的语言的预定部分的自动识别可以提供一个或多个优势(例如,通过自动区分第一搜索查询中的语义密钥和至少一个关键词来更有效地生成第二搜索查询、可以通过排除第一搜索查询的第二部分来提供更相关的搜索结果、输出基于第二搜索查询而生成的搜索结果的决定的确认,等等)。
在一个实施方案中,搜索查询处理器3030可以通过使用第一搜索查询(例如,3010)的第二部分对语言的部分数据库3044(例如,如图31中所示)编索引以访问或检索语言的预定部分中的一个或多个来确定第二部分与语言的预定部分相关。或者,在其它实施方案中,搜索查询处理器3030可以确定第二部分包括语言的预定部分。
搜索查询处理器3030可以确定第一搜索查询的第一部分(例如,包括语义密钥)和第一搜索查询的第二部分(例如,包括与语义密钥分开的一个或多个词)是否与短语相关。如果确定第一部分和第二部分不与短语相关,则可生成第二搜索查询(例如,不包括语义密钥的3132)。或者,如果确定第一部分和第二部分与短语相关,则可以不生成第二搜索查询(例如,3132)。在这种情况下,可以提供基于第一搜索查询(例如,3010)生成的搜索结果。因此,搜索查询的第一部分和第二部分可以有利地用于更有效地提供搜索结果。
在一个实施方案中,搜索查询处理器3030可以通过使用第一搜索查询(例如,3010)的第一部分和第二部分对短语数据库3046(例如,如在图31中所示)编索引来确定第一部分和第二部分是否与短语相关。如果一个或多个短语响应于编索引而被返回,则搜索查询处理器3030可以确定第一部分和第二部分与一个或多个短语相关。或者,如果没有短语响应于编索引而被返回,则搜索查询处理器3030可以确定第一部分和第二部分不与短语相关。或者,在其它实施方案中,搜索查询处理器3030可以确定第一部分和第二部分是否与短语相关。
图32A和32B示出根据本发明的一个实施方案的示例性的由计算机实现的用于自动生成搜索查询的过程3200的流程图。如图32A中所示,步骤3205涉及访问第一搜索查询。在一个实施方案中,第一搜索查询(例如,3010)可以在步骤3205中被搜索查询处理器(例如,3030)访问。
步骤3210涉及确定第一搜索查询(例如,3010)的第一部分是否包括语义密钥(例如,2234)。在一个实施方案中,步骤3210可以由搜索查询处理器(例如,3030)执行。
在一个实施方案中,步骤3210可以涉及通过使用第一搜索查询(例如,3010)的第一部分为语义密钥数据库(例如,342)编索引以访问或检索至少一个语义密钥来确定第一部分是否包括至少一个语义密钥。在这种情况下,如果至少一个语义密钥被返回,则可以在步骤3210中确定第一部分包括语义密钥。或者,如果至少一个语义密钥未被返回,则可以在步骤3210中确定第一部分不包括语义密钥。
在一个实施方案中,如果第一搜索查询的第一部分完全匹配语义密钥(例如,包括一个或多个词),则可以在步骤3210中确定第一搜索查询的第一部分包括语义密钥。例如,如果搜索查询包括词“颜色法拉利”,则可以在步骤3210中确定第一搜索查询的第一部分(例如,词“颜色”)包括语义密钥“颜色”,因为在第一部分和语义密钥之间存在完全匹配。
在一个实施方案中,可以在步骤3210中确定第一搜索查询的第一部分包括语义密钥,其中第一部分包括在语义密钥的多个词之间的至少一个词或字符。例如,在第一搜索查询的第一部分包括词“法国诺贝尔化学奖得主”的情况下,可以在步骤3210中确定第一搜索查询的第一部分包括语义密钥“诺贝尔化学奖得主”。
如果在步骤3210中确定第一搜索查询的第一部分不包括语义密钥,则过程3200可以继续进行到步骤3265。或者,如果在步骤3210中确定第一搜索查询的第一部分包括语义密钥,则过程3200可以继续进行到步骤3215。
如在图32A中所示,步骤3215涉及确定第一搜索查询(例如,3010)的第一部分和第二部分是否与短语相关。在一个实施方案中,步骤3215可以由搜索查询处理器(例如,3030)执行。
在一个实施方案中,步骤3215可以涉及通过使用的第一部分和第二部分对短语数据库(例如,3046)编索引以访问或检索短语来确定第一部分和第二部分是否与短语相关。在这种情况下,如果短语被返回,则可以在步骤3215中确定第一部分和第二部分与短语相关。或者,如果短语未被返回,则可以在步骤3215中确定第一部分和第二部分不与短语相关。
作为例子,在搜索查询包括词“联合国”的情况下,可以在步骤3215中确定第一部分(例如,词“国”)和第二部分(例如,词“联合”)与短语“联合国”相关。因此,否则将被考虑为语义密钥的词“国”可以被视为正常关键词(而不是语义密钥),因为它是短语“联合国”的部分。
作为另一例子,在搜索查询包括词“北约成员国”的情况下,可以在步骤3215中确定第一部分(例如,词“国”)和第二部分(例如,“北约成员”)与短语不相关(例如,“北约成员国”不是短语,“国北约成员”不是短语,等等)。因此,词“国”可以被考虑为语义密钥,因为它被确定不是短语的部分。
如果在步骤3215中确定第一搜索查询(例如,3010)的第一部分和第二部分与短语相关,则过程3200可以继续进行到步骤3265。或者,如果在步骤3215中确定第一搜索查询(例如,3010)的第一部分和第二部分与短语不相关,则过程3200可以继续进行到步骤3220。
如图32A中所示,步骤3220涉及确定第一搜索查询的第二部分是否与语言的预定部分相关。在一个实施方案中,语言的预定部分可以是关系代词、疑问代词、介词、动词等。在一个实施方案中,步骤3220可以由搜索查询处理器(例如,3030)执行。
在一个实施方案中,步骤3220可以涉及通过使用第一搜索查询的第二部分对语言的部分数据库(例如,3044)编索引以访问或检索作为语言的预定部分的至少一个词来确定第二部分是否与语言的预定部分相关。在这种情况下,如果作为语言的预定部分的至少一个词被返回,则可以在步骤3220中确定第一搜索查询的第二部分与语言的预定部分相关。或者,如果作为语言的预定部分的至少一个词未被返回,则可以在步骤3220中确定第一搜索查询的第二部分与语言的预定部分不相关。
作为语言的预定部分是关系代词(例如,那个(that)、哪个(which)、什么(what)、谁(who)、谁(whom)、谁的(whose)、无论什么(whatever)、无论谁(whoever)、无论谁(whomever)等)的例子,搜索查询可以包括词“谁是出生在加利福尼亚州的美国总统”(US president who was born in California)。在这种情况下,搜索查询的第二部分(例如,词“谁(who)”)可以在步骤3220中被确定为与语言的预定部分(例如,关系代词)相关。
作为语言的预定部分是关系代词(例如,那个(that)、哪个(which)、什么(what)、谁(who)、谁(whom)、谁的(whose)、无论什么(whatever)、无论谁(whoever)、无论谁(whomever)等)的另一个例子,搜索查询可以包括词“那个击败卡斯帕罗夫的年轻的国际象棋选手”(young chess player that beatKasparov)。在这种情况下,搜索查询的第二部分(例如,词“那个”(that))可以在步骤3220中被确定为与语言的预定部分(例如,关系代词)相关。
作为语言的预定部分是疑问代词(例如,用于问问题的代词,例如谁(who)、谁(whom)、什么(what)、哪个(which)、谁的(whose)等)的例子,搜索查询可以包括词“哪个美国总统出生在加利福尼亚州”(which US president was born inCalifornia)。在这种情况下,搜索查询的第二部分(例如,词“哪个”(which))可以在步骤3220中被确定为与语言的预定部分(例如,疑问代词)相关。
作为语言的预定部分是疑问代词(例如,用于问问题的代词,例如谁(who)、谁(whom)、什么(what)、哪个(which)、谁的(whose)等)的另一例子,搜索查询可以包括词“iPhone以什么颜色出现”(iPhone comes in what colors)。在这种情况下,搜索查询的第二部分(例如,词“什么”(what))可以在步骤3220中被确定为与语言的预定部分(例如,疑问代词)相关。
作为语言的预定部分是介词(例如,的(of)、到(to)、在...中(in)、来自(from)、在...处(at)、通过(by)等)的例子,搜索查询可以包括词“来自加利福尼亚州的美国总统”(USpresident from California)。在这种情况下,搜索查询的第二部分(例如,词“来自”(from))可以在步骤3220中被确定为与语言的预定部分(例如,介词)相关。
作为语言的预定部分是介词(例如,的(of)、到(to)、在...中(in)、来自(from)、在...处(at)、通过(by)等)的另一例子,搜索查询可以包括词“iPhone的颜色”(colors of iPhone)。在这种情况下,搜索查询的第二部分(例如,词“的”(of))可以在步骤3220中被确定为与语言的预定部分(例如,介词)相关。
作为语言的预定部分是动词的例子,搜索查询可以包括词“美国总统出生在加利福尼亚州”(US president born inCalifornia)。在这种情况下,搜索查询的第二部分(例如,词“出生”(born))可以在步骤3220中被确定为与语言的预定部分(例如,动词)相关。
作为语言的预定部分是动词的另一例子,搜索查询可以包括词“年轻的国际象棋选手击败卡斯帕罗夫”(young chess playerbeat Kasparov)。在这种情况下,搜索查询的第二部分(例如,词“击败”(beat))可以在步骤3220中被确定为与语言的预定部分(例如,动词)相关。
作为语言的预定部分是动词的又一例子,搜索查询可以包括词“卡斯帕罗夫击败年轻的国际象棋选手”(Kasparov beatyoung chess player)。在这种情况下,搜索查询的第二部分(例如,词“击败”(beat))可以在步骤3220中被确定为与语言的预定部分(例如,动词)相关。
如果在步骤3220中确定第一搜索查询(例如,3010)的第二部分与语言的预定部分相关,则过程3200可以继续进行到步骤3270。或者,如果在步骤3220中确定第一搜索查询(例如,3010)的第二部分与语言的预定部分不相关,则过程3200可以继续进行到步骤3225。
如图32B所示,步骤3225涉及生成第二搜索查询(例如,3032、3132等)。可以基于第一搜索查询(例如,在步骤3205中访问的3010)由搜索查询处理器(例如,3030)在步骤3225中自动生成第二搜索查询。可以响应于确定了第一搜索查询的第一部分包括至少一个语义密钥(例如,在步骤3210中)而在步骤3225中自动生成第二搜索查询。
在一个实施方案中,步骤3225可以涉及生成第二搜索查询,使得它没有第一搜索查询的第一部分(例如,包括在步骤3210中确定或识别的至少一个语义密钥)和/或使得它不同于第一搜索查询。在一个实施方案中,步骤3225可以涉及生成第二搜索查询,使得它包括与至少一个语义密钥2234(例如,被提供到如图31中所示的语义密钥处理器340的)相关的至少一个语义子密钥2945(例如,由如图31中所示的语义密钥处理器340接收的)。
在一个实施方案中,可以在步骤3225中通过修改第一搜索查询(例如,3010)来生成第二搜索查询(例如,如图31中所示的3132)。在一个实施方案中,可以根据图23的步骤2360、图25的过程2500、图28的步骤2840、其某一组合等在步骤3225中执行搜索查询的修改。且在一个实施方案中,可以通过基于第一搜索查询(例如,3010)创建新的搜索查询在步骤3225中生成(例如,通过搜索查询处理器3030)第二搜索查询(例如,如图31中所示的3132)。
如图32B中所示,步骤3230涉及基于第二搜索查询(例如,3032,3132,在步骤3225中生成的,等等)执行第一搜索,以及基于第一搜索查询(例如,3010,在步骤3205中访问的,等等)执行第二搜索。在一个实施方案中,第一搜索和第二搜索在步骤3230中可以通过搜索引擎(例如,320)来执行。且在一个实施方案中,可以根据图2的步骤240、图7的步骤710、图20的步骤2040、图28的步骤2850、其某一组合等在步骤3230中执行第一搜索和/或第二搜索。
步骤3235涉及访问响应于第一搜索而生成的第一搜索结果以及访问响应于第二搜索而生成的第二搜索结果。第一搜索结果和第二搜索结果中的每个可以与一组相应的文档(例如,网页、电子文档、电子文件、广告内容等)相关和/或包括这组相应的文档。在一个实施方案中,第一搜索结果和第二搜索结果中的每个可以是原始或未处理的(例如,类似于关键词搜索结果322、搜索结果2955等)。且在一个实施方案中,第一搜索结果和/或第二搜索结果可以是经处理的(例如,类似于经过滤的搜索结果355、经排名的搜索结果365、被输出以供呈现的搜索结果375等)。
在一个实施方案中,与第一搜索结果(例如,在步骤3235中访问的)相关的或包括在第一搜索结果中的每个文档可以包括与语义密钥(例如,在步骤3210中被确定为包括在第一搜索查询的第一部分中的)相关的至少一个语义子密钥(例如,2945)的至少一个相应的实例。在一个实施方案中,可以响应于基于被生成(例如,在步骤3225中)以包括至少一个语义子密钥(例如,2945)的第二搜索查询(例如,3132)执行(例如,在步骤3230中)的第一搜索来生成第一搜索结果(例如,作为搜索结果2955直接从搜索引擎320输出的),从而允许搜索查询修改(例如,其可以在步骤3225中执行)代替搜索结果过滤(例如,其可能以另外方式在步骤3240中执行)而被利用。然而,应认识到,在一个或多个其它实施方案中,可以结合搜索结果过滤(例如,其可以在步骤3240中执行)来利用搜索查询修改(例如,其可以在步骤3225中执行)。
如图32B所示,步骤3240涉及处理第一搜索结果和第二搜索结果。在一个实施方案中,步骤2340的处理可以涉及对搜索结果进行排名(例如,使用排名组件360、根据图2的步骤270、根据图9的过程900、根据图10的过程1000、根据图11的过程1100、根据图20的步骤2070、根据图28的步骤2870等)。且在一个实施方案中,步骤2340的处理可以涉及过滤搜索结果(例如,使用过滤组件350、根据图2的步骤260、根据图7的过程700、根据图8的过程800、根据图20的过程2060等)。
步骤3245涉及分析第一搜索结果和第二搜索结果以自动确定用于输出的第三搜索结果。在一个实施方案中,第三搜索结果可以自动从第一搜索结果(例如,响应于在步骤3230中执行的第一搜索生成的)和第二搜索结果(例如,响应于在步骤3230中执行的第二搜索生成的)所组成的组中选择。可以使用一个或多个组件例如排名组件360、过滤组件350、语义密钥处理器340、搜索查询处理器3030、其某一组合等在步骤3245中分析第一搜索结果和第二搜索结果。
在一个实施方案中,在步骤3245中执行的分析可以包括确定与第一搜索结果相关的数量和与第二搜索结果相关的数量之比。例如,步骤3245可以涉及比较在第一搜索结果和第二搜索结果中的或与第一搜索结果和第二搜索结果相关的文档的相应数量,以确定第一搜索结果(例如,响应于基于第二搜索查询执行的第一搜索而生成的)的数量与第二搜索结果(例如,响应于基于第一搜索查询执行的第二搜索而生成的)的数量之比。如果该比满足或超过预定阈值,则第一搜索结果可以在步骤3245中被确定为用于输出的第三搜索结果。或者,如果该比小于或等于预定阈值,则第二搜索结果可以在步骤3245中被确定为用于输出的第三搜索结果。
在一个实施方案中,预定阈值可以是10∶1。且在其它实施方案中,预定阈值可以是另一值(例如,2∶1、5∶1、20∶1等)。
在一个实施方案中,在步骤3245中执行的分析可以包括基于第一搜索结果和第二搜索结果的评分选择第一搜索结果或第二搜索结果作为用于输出的第三搜索结果。例如,步骤3245可以涉及确定:与第一搜索结果相关的第一分数;以及与第二搜索结果相关的第二分数。如果第一分数超过第二分数,则可以在步骤3245中选择第一搜索结果用于输出。或者,如果第二分数超过第一分数,则可以在步骤3245中选择第二搜索结果用于输出。
在一个实施方案中,可以在步骤3245中基于从下列项所组成的组中选择的参数来确定第一分数:与语义密钥(例如,2234)相关的至少一个语义子密钥在第一搜索结果中的实例的数量、第一搜索查询的至少一个关键词在第一搜索结果中的实例的数量、与与语义密钥(例如,2234)相关的至少一个语义子密钥在第一搜索结果中的多个实例相关的至少一个接近度;以及与第一搜索查询的至少一个关键词在第一搜索结果中的多个实例相关的至少一个接近度。且在一个实施方案中,可以在步骤3245中基于从下列项所组成的组中选择的参数来确定第二分数:与语义密钥(例如,2234)相关的至少一个语义子密钥在第二搜索结果中的实例的数量、第二搜索查询的至少一个关键词在第二搜索结果中的实例的数量、与与语义密钥(例如,2234)相关的至少一个语义子密钥在第二搜索结果中的多个实例相关的至少一个接近度;以及与第二搜索查询的至少一个关键词在第二搜索结果中的多个实例相关的至少一个接近度。
在一个实施方案中,可以在步骤3245中根据图9的过程900、图10的过程1000、图11的过程1100、其某一组合等确定第一分数和/或第二分数。且在一个实施方案中,可以在步骤3245中根据图20的步骤2070、图28的步骤2870、其某一组合等确定第一分数和/或第二分数。
如图32B中所示,步骤3250涉及输出第三搜索结果。在一个实施方案中,可以在步骤3250中(例如,通过图形数据生成器370)生成并输出第三搜索结果以供呈现(例如,作为被输出以供呈现的搜索结果375)。在一个实施方案中,可以在步骤3250中响应于系统生成的输入(例如,由图形数据生成器370访问的377)来生成和/或输出第三搜索结果。在一个实施方案中,可以在步骤3250中响应于用户输入(例如,经由图形数据生成器370输入并由图形数据生成器370访问的377)来生成和/或输出第三搜索结果。且在一个实施方案中,可以根据图2的步骤280、图4的步骤430、图20的步骤2080、图28的步骤2880、其某一组合等执行步骤3250。
步骤3255涉及确定呈现其它搜索结果的请求是否被检测到。在一个实施方案中,该请求可以是响应于与图形用户接口(例如,用于呈现被输出以供呈现的搜索结果375,例如GUI 1300、GUI 2700等)的用户交互而生成的用户输入(例如,377)。在一个实施方案中,该请求可以是在第三搜索结果(例如,在步骤3250中输出的)和其它搜索结果的显示之间切换的请求。且在一个实施方案中,该请求可以是来自一个或多个组件(例如,搜索查询处理器3030、语义密钥处理器340、搜索引擎320、过滤组件350、排名组件360、其某一组合等)的系统生成的输入(例如,377)。
如果在步骤3255中没有检测到请求,则过程3200可以终止。或者,如果在步骤3255中检测到请求,则可以执行步骤3260。
如图32B中所示,步骤3260涉及输出第四搜索结果。在一个实施方案中,第四搜索结果可以不同于第三搜索结果(例如,在步骤3250中输出的)。在一个实施方案中,可以在步骤3250中(例如,通过图形数据生成器370)生成并输出第四搜索结果以供呈现(例如,作为被输出以供呈现的搜索结果375)。在一个实施方案中,可以在步骤3260中响应于系统生成的输入(例如,由图形数据生成器370访问的377)来生成和/或输出第四搜索结果。在一个实施方案中,可以在步骤3260中响应于用户输入(例如,经由图形数据生成器370输入并由图形数据生成器370访问的377)来生成和/或输出第四搜索结果。且在一个实施方案中,可以根据图2的步骤280、图4的步骤430、图20的步骤2080、图28的步骤2880、其某一组合等执行步骤3260。
在一个实施方案中,第四搜索结果可以是或包括第二搜索结果(例如,响应于在步骤3230中执行的第二搜索而生成的),其中第三搜索结果是或包括第一搜索结果(例如,响应于在步骤3230中执行的第一搜索而生成的)。或者,第四搜索结果可以是或包括第一搜索结果(例如,响应于在步骤3230中执行的第一搜索而生成的),其中第三搜索结果是或包括第二搜索结果(例如,响应于在步骤3230中执行的第二搜索而生成的)。
因此,被配置成生成请求(例如,响应于与用户接口的元件的用户交互)的用户接口可以允许用户可以在第三搜索结果(例如,其在步骤3245中被自动确定并在步骤3250中被输出)和第四搜索结果(例如,其在步骤3260中被输出)之间切换。以这种方式,用户可以快速确定哪组搜索结果是更可取的和/或最相关的、自动选择的这组搜索结果(例如,第三搜索结果)是否是更可取的和/或最相关的,等等。
回来转到图32A的步骤3210,如果确定第一搜索查询(例如,3010)的第一部分不包括语义密钥(例如,2234),则可以执行步骤3265。类似地,如果在步骤3215中确定第一搜索查询的第一部分和第二部分与短语相关,则可以执行步骤3265。
步骤3265涉及基于第一搜索查询(例如,在步骤3205中访问的)来执行搜索。步骤3265的第一搜索可以与步骤3230的第一搜索类似地执行。在步骤3265中执行第一搜索之后,过程3200可以继续进行到图32B的步骤3280。
回来转到图32A的步骤3220,如果确定第一搜索查询的第二部分与语言的预定部分相关,则过程3200可以继续进行到步骤3270。步骤3270涉及基于第一搜索查询(例如,在步骤3205中访问的)生成第二搜索查询。响应于确定了第一搜索查询的第二部分与语言的预定部分相关(例如,在步骤3220中),第二搜索查询可以在步骤3270中由搜索查询处理器(例如,3030)自动生成。
在一个实施方案中,步骤3270可以涉及生成第二搜索查询,使得它没有第一搜索查询的第一部分(例如,包括在步骤3210中确定或识别的至少一个语义密钥)和/或使得它不同于第一搜索查询。在一个实施方案中,步骤3270可以涉及生成第二搜索查询,使得它包括与至少一个语义密钥2234(例如,被提供到如图31中所示的语义密钥处理器340的)相关的至少一个语义子密钥2945(例如,由如图31中所示的语义密钥处理器340接收的)。
在一个实施方案中,可以在步骤3270中通过修改第一搜索查询(例如,3010)来生成(例如,通过搜索查询处理器3030)第二搜索查询(例如,如图31中所示的3132)。在一个实施方案中,可以根据图23的步骤2360、图25的过程2500、图28的步骤2840、其某一组合等在步骤3270中执行搜索查询的修改。且在一个实施方案中,可以通过基于第一搜索查询(例如,3010)创建新的搜索查询在步骤3270中生成(例如,通过搜索查询处理器3030)第二搜索查询(例如,如图31中所示的3132)。
在一个实施方案中,步骤3270可以涉及生成第二搜索查询(例如,3032、3132等),使得它没有第一搜索查询的第二部分(例如,与在步骤3220中确定或识别的语言的预定部分相关)。且在一个实施方案中,步骤3270可以涉及生成第二搜索查询(例如,3032、3132等),使得它没有第一搜索查询的第一部分(例如,包括在步骤3210中确定或识别的至少一个语义密钥)和第一搜索查询的第二部分(例如,与如在步骤3220中确定或识别的语言的预定部分相关)。
作为涉及关系代词的例子,其中第一搜索查询包括词“谁是出生在加利福尼亚州的美国总统”(US president who was bornin California),步骤3270可以涉及移除被识别为语义密钥(例如,在步骤3210中)的第一部分(例如,“美国总统”)和第二部分(例如,包括如在步骤3220中确定的关系代词“谁(who)”)以生成包括词“出生在加利福尼亚州”的第二搜索查询。在一个实施方案中,第二搜索查询可以进一步被修改以包括与第一部分(例如,“美国总统”)的语义密钥相关的至少一个语义子密钥。
作为涉及关系代词的另一例子,其中第一搜索查询包括词“那个击败卡斯帕罗夫的年轻的国际象棋选手”(young chessplayer that beat Kasparov),步骤3270可以涉及移除被识别为语义密钥(例如,在步骤3210中)的第一部分(例如,“国际象棋选手”)和第二部分(例如,包括如在步骤3220中确定的关系代词“那个(that)”)以生成包括词“年轻的击败卡斯帕罗夫”的第二搜索查询。在一个实施方案中,第二搜索查询可以进一步被修改以包括与第一部分(例如,“国际象棋选手”)的语义密钥相关的至少一个语义子密钥。且在一个实施方案中,第二搜索查询可以在步骤3270中生成,使得从第一部分的至少一个语义密钥移除或以另外方式以前与该至少一个语义密钥相关的至少一个词(例如,修饰语义密钥“国家象棋选手”的词“年轻的”)与第一搜索查询的剩余部分或第三部分(例如,词“击败卡斯帕罗夫”)分离。在这种情况下,可以生成第二搜索查询以包括词“年轻的‘击败卡斯帕罗夫’”。
作为涉及疑问代词的例子,其中第一搜索查询包括词“哪个美国总统出生在加利福尼亚州”(which US president was bornin California),步骤3270可以涉及移除被识别为语义密钥(例如,在步骤3210中)的第一部分(例如,“美国总统”)和第二部分(例如,包括如在步骤3220中确定的疑问代词“哪个(which)”)以生成包括词“出生在加利福尼亚州”的第二搜索查询。在一个实施方案中,第二搜索查询可以进一步被修改以包括与第一部分(例如,“美国总统”)的语义密钥相关的至少一个语义子密钥。
作为涉及疑问代词的另一例子,其中第一搜索查询包括词“iPhone以什么颜色出现”(iPhone comes in what colors),步骤3270可以涉及移除被识别为语义密钥(例如,在步骤3210中)的第一部分(例如,“颜色”)和第二部分(例如,包括如在步骤3220中确定的疑问代词“什么(what)”)以生成包括词“iPhone以...出现”的第二搜索查询。在一个实施方案中,第二搜索查询可以进一步被修改以包括与第一部分(例如,“颜色”)的语义密钥相关的至少一个语义子密钥。
作为涉及介词的例子,其中第一搜索查询包括词“来自加利福尼亚州的美国总统”(US president from California),步骤3270可以涉及移除被识别为语义密钥(例如,在步骤3210中)的第一部分(例如,“美国总统”)和第二部分(例如,包括如在步骤3220中确定的介词“来自(from)”)以生成包括词“加利福尼亚州”的第二搜索查询。或者,只有被识别为语义密钥(例如,在步骤3210中)的第一部分(例如,“美国总统”)可以在步骤3270中被移除(例如,从而留下包括介词“来自(from)”的第二部分)以生成包括词“来自加利福尼亚州”的第二搜索查询。在一个实施方案中,第二搜索查询可以进一步被修改以包括与第一部分(例如,“美国总统”)的语义密钥相关的至少一个语义子密钥。
作为涉及介词的另一例子,其中第一搜索查询包括词“iPhone的颜色”(colors of iPhone),步骤3270可以涉及移除被识别为语义密钥(例如,在步骤3210中)的第一部分(例如,“颜色”)和第二部分(例如,包括如在步骤3220中确定的介词“的(of)”)以生成包括词“iPhone”的第二搜索查询。在一个实施方案中,第二搜索查询可以进一步被修改以包括与第一部分(例如,“颜色”)的语义密钥相关的至少一个语义子密钥。
作为涉及动词的例子,其中第一搜索查询包括词“美国总统出生在加利福尼亚州”(US president born in California),步骤3270可以涉及移除被识别为语义密钥(例如,在步骤3210中)的第一部分(例如,“美国总统”)以生成包括词“出生在加利福尼亚州”的第二搜索查询。在一个实施方案中,第二搜索查询可以进一步被修改以包括与第一部分(例如,“美国总统”)的语义密钥相关的至少一个语义子密钥。
作为涉及动词的另一例子,其中第一搜索查询包括词“年轻的国际象棋选手击败卡斯帕罗夫”(young chess player beatKasparov),步骤3270可以涉及移除被识别为语义密钥(例如,在步骤3210中)的第一部分(例如,“国际象棋选手”)以生成包括词“年轻的击败卡斯帕罗夫”的第二搜索查询。在一个实施方案中,第二搜索查询可以进一步被修改以包括与第一部分(例如,“国际象棋选手”)的语义密钥相关的至少一个语义子密钥。
作为涉及动词的又一例子,其中第一搜索查询包括词“卡斯帕罗夫击败年轻的国际象棋选手”(Kasparov beat young chessplayer),步骤3270可以涉及移除被识别为语义密钥(例如,在步骤3210中)的第一部分(例如,“国际象棋选手”)以生成包括词“年轻的‘卡斯帕罗夫击败’”的第二搜索查询。在第一搜索查询的第三部分(例如,词“年轻的”)被置于第一部分(例如,语义密钥“国际象棋选手”)和第二部分(例如,动词“击败”)之间的这种情况下,第二搜索查询可以在步骤3270中生成,使得第三部分(例如,词“年轻的”)可以与第一搜索查询的剩余部分或第四部分(例如,词“卡斯帕罗夫”)和第二部分(例如,动词“击败”)分开。在一个实施方案中,第二搜索查询可以进一步被修改以包括与第一部分(例如,“国际象棋选手”)的语义密钥相关的至少一个语义子密钥。
如图32A中所示,步骤3275涉及基于第二搜索查询(例如,在步骤3270中生成的)来执行第一搜索。在一个实施方案中,可以通过搜索引擎(例如,320)在步骤3275中执行第一搜索。且在一个实施方案中,可以在步骤3275中根据图2的步骤240、图7的步骤710、图20的步骤2040、图28的步骤2850、其某一组合等执行第一搜索。
如图32B中所示,步骤3280涉及访问响应于第一搜索(例如,在步骤3275中执行的)和/或第二搜索(例如,在步骤3265中执行的)而生成的搜索结果。在步骤3280中访问的搜索结果中的每个可以与相应的一组文档(例如,网页、电子文档、电子文件、广告内容等)相关和/或包括这组相应的文档。在一个实施方案中,在步骤3280中访问的搜索结果中的每个可以是原始或未处理的(例如,类似于关键词搜索结果322、搜索结果2955等)。且在一个实施方案中,在步骤3280中访问的搜索结果可以是经处理的(例如,类似于经过滤的搜索结果355、经排名的搜索结果365、被输出以供呈现的搜索结果375等)。
在一个实施方案中,与响应于第一搜索而生成的搜索结果(例如,在步骤3280中访问的)相关的或包括在该搜索结果中的每个文档可以包括与语义密钥(例如,在步骤3210中被确定为包括在第一搜索查询的第一部分中的)相关的至少一个语义子密钥(例如,2945)的至少一个相应的实例。在这种情况下,用于执行第一搜索(例如,在步骤3275中)的第二搜索查询(例如,3132)可以已生成以包括至少一个语义子密钥(例如,2945),从而允许在一个实施方案中搜索查询修改(例如,其可以在步骤3270中执行)代替搜索结果过滤(例如,其可能以另外方式在步骤3285中执行)而被利用。然而,应认识到,在一个或多个其它实施方案中,可以结合搜索结果过滤(例如,其可以在步骤3285中执行)来利用搜索查询修改(例如,其可以在步骤3270中执行)。
如图32B中所示,步骤3285涉及处理搜索结果(例如,在步骤3280中访问的)。在一个实施方案中,步骤2385的处理可以涉及对搜索结果进行排名(例如,使用排名组件360、根据图2的步骤270、根据图9的过程900、根据图10的过程1000、根据图11的过程1100、根据图20的步骤2070、根据图28的步骤2870等)。且在一个实施方案中,步骤2385的处理可以涉及过滤搜索结果(例如,使用过滤组件350、根据图2的步骤260、根据图7的过程700、根据图8的过程800、根据图20的步骤2060等)。
步骤3290涉及输出搜索结果(例如,在步骤3280中访问的和/或在步骤3285中处理的)。在一个实施方案中,可以在步骤3290中(例如,通过图形数据生成器370)生成并输出搜索结果以供呈现(例如,作为被输出以供呈现的搜索结果375)。在一个实施方案中,可以在步骤3290中响应于系统生成的输入(例如,由图形数据生成器370访问的377)来生成和/或输出搜索结果。在一个实施方案中,可以在步骤3290中响应于用户输入(例如,经由图形数据生成器370输入并由图形数据生成器370访问的377)来生成和/或输出搜索结果。且在一个实施方案中,可以根据图2的步骤280、图4的步骤430、图20的步骤2080、图28的步骤2880、其某一组合等执行步骤3290。
在一个实施方案中,可以并行地执行过程3200的一个或多个步骤。例如,在一个实施方案中,可以并行地执行步骤3215和3220。且在其它实施方案中,可以并行地执行过程3200的其它步骤。
虽然在图32A和32B中示出了具有特定数量和排序的步骤的过程3200,但是应认识到,在其它实施方案中,过程3200可以包括不同数量和/或排序的步骤。例如,在过程3200中执行的一个或多个搜索(例如,在步骤3230、3265、3275中)可以是可选的,从而允许搜索查询(例如,3032、3132等)的自动生成,而不必基于其执行搜索。作为另一例子,在一个实施方案中,第一组步骤(例如,3225到3260)和第二组步骤(例如,3270到3290)可以是相互排斥的,且因此在一个实施方案中只有过程3200的一组步骤(例如,第一组或第二组)可以被执行。作为又一例子,在一个实施方案中,过程3200的所有步骤可以是可选的,除了步骤3210和3225。作为再一例子,过程3200的所有步骤可以是可选的,除了步骤3210和3225,以及步骤3230的至少一部分(例如,至少包括基于第二搜索查询的第一搜索的执行)。
虽然图30示出具有特定数量的组件的数据流图3000,但是应认识到,在其它实施方案中,数据流图3000可以包括不同数量的组件。虽然图30示出具有特定排列的组件的数据流图3000,但是应认识到,在其它实施方案中,数据流图3000可以包括不同排列的组件。
虽然图31示出具有特定数量的组件的数据流图3100,但是应认识到,在其它实施方案中,数据流图3100可以包括不同数量的组件。虽然图31示出具有特定排列的组件的数据流图3100,但是应认识到,在其它实施方案中,数据流图3100可以包括不同排列的组件。
利用搜索查询中的多个语义密钥对数据进行排名
图33示出根据本发明的一个实施方案的基于搜索查询中的多个语义密钥的对数据的第一排名的示例性数据流图3300。如图33所示,搜索查询处理器3030可以访问搜索查询(例如,3010)并确定搜索查询包括多个语义密钥(例如,2234),其中多个语义密钥中的每个语义密钥可以与多组语义子密钥中的相应的一组语义子密钥相关。语义密钥处理器340可以确定包括在多组语义子密钥中的每组语义子密钥中的至少一个语义子密钥。
该至少一个语义子密钥(例如,包括在多组语义子密钥中的每组语义子密钥中的)可以用于对数据进行排名。例如,该至少一个语义子密钥(例如,包括在多组语义子密钥中的每组语义子密钥中的)可以用于对多个语义子密钥进行排名。在这种情况下,该至少一个语义子密钥可以被排名在多组语义子密钥中的至少一个其它语义子密钥之上。排名可以由语义密钥处理器340和/或由排名组件360(例如,基于来自语义密钥处理器340的数据3348)执行。在一个实施方案中,与经排名的语义子密钥相关的数据可以被输出(例如,用于通过图形数据生成器呈现,作为被输出以供呈现的搜索结果375),其中与经排名的语义子密钥相关的数据可以由图形数据生成器370接收,作为经排名的搜索结果365(例如,从排名组件360)和/或作为数据3348(例如,从语义密钥处理器340,如在图33中由虚线箭头3349所指示的)。
作为另一例子,至少一个语义子密钥(例如,包括在多组语义子密钥中的每组语义子密钥中的)可以用于(例如,通过排名组件360)对与搜索结果(例如,响应于基于搜索查询3032的搜索而生成的和/或随后通过过滤组件350基于数据2245过滤的)相关的多个文档进行排名。在这种情况下,与至少一个语义子密钥相关的至少一个文档(例如,包括该至少一个语义子密钥的至少一个相应的实例)可以被排名在与至少一个其它语义子密钥(例如,包括在多组语义子密钥中的少于全部组的语义子密钥中)相关的至少一个其它文档之上,其中该至少一个文档和至少一个其它文档与搜索结果(例如,响应于基于搜索查询3032的搜索而生成的和/或随后通过过滤组件350基于数据2245过滤的)相关。可以基于来自语义密钥处理器340的数据3348通过排名组件360来执行排名,其中数据3348可以与多个文档(例如,包括文档本身、文档标识符的列表等)和/或多个语义子密钥(例如,包括语义子密钥本身、语义子密钥标识符的列表等)的排名或排序(例如,基于至少一个语义子密钥)相关。在一个实施方案中,与经排名的文档相关的数据可以被输出(例如,用于通过图形数据生成器呈现,作为被输出以供呈现的搜索结果375)。
在数据3348与多个文档(例如,包括文档本身、文档标识符的列表等)的排名或排序(例如,基于包括在多组语义子密钥中的至少一个语义子密钥)相关的情况下,排名组件360可以根据数据3348组织、格式化或以另外方式处理搜索结果(例如,包括文档标识符的搜索结果322和/或355、多个文档中的每个文档的至少相应的部分、其某一组合等)。在数据3348与多个语义子密钥(例如,包括语义子密钥本身、语义子密钥标识符的列表等)的排名或排序(例如,基于包括在多组语义子密钥中的至少一个语义子密钥)相关的情况下,排名组件360可以执行一个或多个操作以处理搜索结果(例如,包括文档标识符的搜索结果322和/或355、多个文档中的每个文档的至少相应的部分、其某一组合等)。例如,排名组件360可以执行搜索结果的第一排名以将包括至少一个语义子密钥(例如,由数据3348指示的和/或包括在多组语义子密钥中的每组语义子密钥中的)的至少一个实例的任何文档排序在不包括该至少一个语义子密钥的至少一个实例的任何其它文档之上。作为另一例子,可以由排名组件360执行(例如,与第一排名分开或结合第一排名)第二排名以基于任一语义子密钥(例如,多组语义子密钥中的至少一个语义子密钥或任何其它语义子密钥)的相应实例的数量来对文档进行排名。因此,在一个实施方案中,第一排名可以用于对文档分组(例如,分组成包括包含至少一个语义子密钥的至少一个相应的实例的一个或多个文档的第一组和包括不包含该至少一个语义子密钥的至少一个相应的实例的任何剩余文档的第二组),而第二排名可以用于对每组中的文档进行排名(例如,基于语义子密钥中的任一个的相应实例的数量)。
因此,可以通过利用与包括在搜索查询中的多个语义密钥相关的语义子密钥来改进数据的排名。在排名包括与搜索结果相关的文档的排名的情况下,文档可以被更准确和/或精确地排名以将更相关的搜索结果(例如,包括与多个语义密钥相关的至少一个语义子密钥的至少一个相应的实例,其中这些语义密钥包括在用于生成搜索结果的搜索查询中)排序在较不相关的搜索结果之上。在排名包括与搜索结果相关的语义子密钥的排名的情况下,语义子密钥可以被更准确和/或精确地排名以将更相关的语义子密钥(例如,与包括在用于生成搜索结果的搜索查询中的多个语义密钥相关的)排序在较不相关的语义子密钥之上。
图34示出根据本发明的一个实施方案的基于搜索查询中的多个密钥的对数据的第二排名的示例性数据流图3400。如图34所示,搜索查询处理器3030可以访问搜索查询(例如,3010)并确定搜索查询包括多个语义密钥(例如,2234),其中多个语义密钥中的每个语义密钥可以与多组语义子密钥(例如,2945)中的相应的一组语义子密钥相关。语义密钥处理器340可以确定包括在多组语义子密钥中的每组语义子密钥中的至少一个语义子密钥。
该至少一个语义子密钥(例如,包括在多组语义子密钥中的每组语义子密钥中的)可以用于对数据进行排名。例如,至少一个语义子密钥(例如,包括在多组语义子密钥中的每组语义子密钥中的)可以用于对多个语义子密钥进行排名。在这种情况下,至少一个语义子密钥可以被排名在多组语义子密钥中的至少一个其它语义子密钥之上。排名可以由语义密钥处理器340和/或由排名组件360(例如,基于来自语义密钥处理器340的数据3348)执行。在一个实施方案中,与经排名的语义子密钥相关的数据可以被输出(例如,用于通过图形数据生成器呈现,作为被输出以供呈现的搜索结果375),其中与经排名的语义子密钥相关的数据可以由图形数据生成器370接收,作为经排名的搜索结果365(例如,从排名组件360)和/或作为数据3348(例如,从语义密钥处理器340,如在图34中由虚线箭头3349所指示的)。
作为另一例子,至少一个语义子密钥(例如,包括在多组语义子密钥中的每组语义子密钥中的)可以用于(例如,通过排名组件360)对与搜索结果(例如,响应于基于搜索查询3132的搜索而生成的,其中搜索查询3132包括至少一个语义子密钥和/或至少一个其它语义子密钥)相关的多个文档进行排名。在这种情况下,与至少一个语义子密钥相关的至少一个文档(例如,包括该至少一个语义子密钥的至少一个相应的实例)可以被排名在与至少一个其它语义子密钥(例如,包括在所述多组语义子密钥中的少于全部组的语义子密钥中)相关的至少一个其它文档之上,其中该至少一个文档和至少一个其它文档与搜索结果(例如,响应于基于搜索查询3132的搜索而生成的)相关。可以基于来自语义密钥处理器340的数据3348通过排名组件360来执行排名,其中数据3348可以与多个文档(例如,包括文档本身、文档标识符的列表等)和/或多个语义子密钥(例如,包括语义子密钥本身、语义子密钥标识符的列表等)的排名或排序(例如,基于至少一个语义子密钥)相关。在一个实施方案中,与经排名的文档相关的数据可以被输出(例如,用于通过图形数据生成器显示,作为被输出以供呈现的搜索结果375)。
在数据3348与多个文档(例如,包括文档本身、文档标识符的列表等)的排名或排序(例如,基于包括在多组语义子密钥中的至少一个语义子密钥)相关的情况下,排名组件360可以根据数据3348组织、格式化或以另外方式处理搜索结果(例如,包括文档标识符的搜索结果2955、多个文档中的每个文档的至少相应的部分、其某一组合等)。在数据3348与多个语义子密钥(例如,包括语义子密钥本身、语义子密钥标识符的列表等)的排名或排序(例如,基于包括在多组语义子密钥中的至少一个语义子密钥)相关的情况下,排名组件360可以执行一个或多个操作以处理搜索结果(例如,包括文档标识符的搜索结果2955、多个文档中的每个文档的至少相应的部分、其某一组合等)。例如,排名组件360可以执行搜索结果的第一排名以将包括至少一个语义子密钥(例如,由数据3348指示的和/或包括在多组语义子密钥的每组语义子密钥中的)的至少一个实例的任何文档排序在不包括该至少一个语义子密钥的至少一个实例的任何其它文档之上。作为另一例子,可以由排名组件360执行(例如,与第一排名分开或结合第一排名)第二排名以基于任一语义子密钥(例如,多组语义子密钥中的至少一个语义子密钥或任何其它语义子密钥)的相应实例的数量来对文档进行排名。因此,在一个实施方案中,第一排名可以用于对文档分组(例如,分组成包括包含至少一个语义子密钥的至少一个相应的实例的一个或多个文档的第一组和包括不包含该至少一个语义子密钥的至少一个相应的实例的任何剩余文档的第二组),而第二排名可以用于对每组中的文档进行排名(例如,基于语义子密钥中的任一个的相应实例的数量)。
因此,可以通过利用与包括在搜索查询中的多个语义密钥相关的语义子密钥来改进数据的排名。在排名包括与搜索结果相关的文档的排名的情况下,文档可以被更准确和/或精确地排名以将更相关的搜索结果(例如,包括与多个语义密钥相关的至少一个语义子密钥的至少一个相应的实例,其中这些语义密钥包括在用于生成搜索结果的搜索查询中)排序在较不相关的搜索结果之上。在排名包括与搜索结果相关的语义子密钥的排名的情况下,语义子密钥可以被更准确和/或精确地排名以将更相关的语义子密钥(例如,与包括在用于生成搜索结果的搜索查询中的多个语义密钥相关的)排序在较不相关的语义子密钥之上。
图35示出根据本发明的一个实施方案的描绘数据的排名的示例性图3500。如图35所示,可以访问包括多个语义密钥(例如,3510)的查询。每个语义密钥可以与多组语义子密钥(例如,3520)中的一组相应的语义子密钥相关。例如,语义密钥1可以与第一组语义子密钥(例如,包括语义子密钥A、语义子密钥B和语义子密钥C)相关,而语义密钥2可以与第二组语义子密钥(例如,包括语义子密钥B和语义子密钥D)相关。可以确定,语义子密钥B包括在与多个语义密钥3510相关的语义子密钥组的每个中(例如,如虚线框3530所指示的)。该信息可以接着用于对与多个文档(例如,3540)相关的数据和/或与多个语义子密钥(例如,3550)相关的数据进行排名。
如图35所示,与多个文档(例如,3540)相关的数据可以包括与语义子密钥B相关的至少一个文档(例如,文档1和文档2),其被排名在与语义子密钥B不相关的和/或与至少一个其它语义子密钥相关的至少一个其它文档(例如,文档3、文档4和文档5)之上。数据3540中的每个文档(例如,文档1、文档2、文档3等)可以是或代表完整文档、文档的一部分、与文档相关的标识符或其它数据等。另外,在一个实施方案中,可以基于(例如,多组语义子密钥3520中的)一个或多个语义子密钥的实例的相应数量进一步对数据3540的文档进行排名。例如,文档1可比文档2包括一个或多个语义子密钥的更大数量的实例。作为另一例子,文档3可比文档4包括一个或多个语义子密钥的更大数量的实例,且文档4可比文档5包括一个或多个语义子密钥的更大数量的实例。
与多个语义子密钥(例如,3550)相关的数据可以包括排名在至少一个其它语义子密钥(例如,语义子密钥A、语义子密钥C和语义子密钥D)之上的语义子密钥B。数据3550中的每个语义子密钥(例如,语义子密钥A、语义子密钥B等)可以是或代表相应的语义子密钥本身和/或与相应的语义子密钥相关的标识符。
作为例子,可以访问包括词“诺贝尔和平奖得主美国总统”的搜索查询。可以确定该搜索查询包括两个语义密钥:“诺贝尔和平奖得主”和“美国总统”。可以接着确定与语义密钥“诺贝尔和平奖得主”和“美国总统”相关的每组语义子密钥均包括下面的共有语义子密钥:“Theodore Roosevelt”、“WoodrowWilson”、“Jimmy Carter”和“Barack Obama”。因此,在一个实施方案中,共享的语义子密钥(例如,“Theodore Roosevelt”、“Woodrow Wilson”、“Jimmy Carter”和“Barack Obama”)可以被排名在其它语义子密钥之上。且在一个实施方案中,包括至少一个共享语义子密钥(例如,“Theodore Roosevelt”、“Woodrow Wilson”、“Jimmy Carter”和“Barack Obama”)的至少一个实例的文档可以被排名在不包括至少一个共享语义子密钥的至少一个实例的至少一个其它文档之上。因此,可以确定和/或返回更相关的搜索结果(例如,与文档和/或语义子密钥相关的)。
虽然图35示出了在查询中的特定数量的语义子密钥和关键词,但是应认识到,在其它实施方案中,查询可以包括任何数量的语义子密钥和/或关键词。例如,在一个实施方案中,查询可以不包括关键词。作为另一例子,查询可以包括与任何语义子密钥均不相关的至少一个语义密钥,其中这些语义子密钥也与包括在查询中的至少一个其它语义密钥相关。另外,虽然图35示出了在每组语义子密钥中的特定数量的语义子密钥,但是应认识到,在其它实施方案中,任何数量的语义子密钥可以与语义密钥相关。此外,虽然图35只示出由几组语义子密钥3520共享的一个语义子密钥,但是应认识到,在其它实施方案中,多于一个的语义子密钥可以由几组语义子密钥3520共享。
虽然图33示出具有特定数量的组件的数据流图3300,但是应认识到,在其它实施方案中,数据流图3300可以包括不同数量的组件。虽然图33示出具有特定排列的组件的数据流图3300,但是应认识到,在其它实施方案中,数据流图3300可以包括不同排列的组件。
虽然图34示出具有特定数量的组件的数据流图3400,但是应认识到,在其它实施方案中,数据流图3400可以包括不同数量的组件。虽然图34示出具有特定排列的组件的数据流图3400,但是应认识到,在其它实施方案中,数据流图3400可以包括不同排列的组件。
图36示出根据本发明的一个实施方案的由计算机实现的用于对数据进行排名的过程3600的流程图。如图36所示,步骤3610涉及访问搜索查询。在一个实施方案中,可以在步骤3610中通过搜索查询处理器(例如,3030)访问搜索查询(例如,3010)。
步骤3620涉及确定搜索查询(例如,3010)包括多个语义密钥(例如,2234、3510等)。例如,可以在步骤3620中确定图35中示出的查询包括两个语义密钥(例如,语义密钥1和语义密钥2)。在一个实施方案中,多个语义密钥(例如,在步骤3620中确定的)中的至少一个语义密钥可以包括多个词。
在一个实施方案中,步骤3620可以通过搜索查询处理器(例如,3030)执行。在一个实施方案中,步骤3620可以涉及通过对语义密钥数据库(例如,342)编索引或以另外方式使用语义密钥数据库(例如,342)来确定搜索查询(例如,3010)包括多个语义密钥。例如,可以使用搜索查询的至少一部分来对语义密钥数据库(例如,342)编索引以访问或检索多个语义密钥中的至少一个语义密钥。
如图36中所示,步骤3630涉及确定与多个语义密钥相关的多组语义子密钥。例如,步骤3630可以涉及确定与第一语义密钥(例如,图35的语义密钥1)相关的第一组语义子密钥(例如,图35的语义子密钥A、语义子密钥B和语义子密钥C)。步骤3630还可以涉及确定与第二语义密钥(例如,图35的语义密钥2)相关的第二组语义子密钥(例如,图35的语义子密钥B和语义子密钥D)。
在一个实施方案中,步骤3630可以由语义密钥处理器(例如,340)执行。且在一个实施方案中,步骤3630可以涉及通过使用多个语义密钥对语义密钥数据库(例如,342)编索引以访问或检索多组语义子密钥来确定与多个语义密钥相关的多组语义子密钥。
如图36中所示,步骤3640涉及确定包括在多组语义子密钥(例如,在步骤3630中确定的)中的每组语义子密钥中的至少一个语义子密钥。例如,参考图35,可以确定语义子密钥B包括在多组语义子密钥(例如,如虚线框3530所指示的)中的每组语义子密钥中。在一个实施方案中,步骤3640可以由语义密钥处理器(例如,340)和/或至少一个其它组件(例如,排名组件360)执行。
在一个实施方案中,步骤3640可以涉及比较多组语义子密钥以确定包括在每组语义子密钥中的至少一个语义子密钥。例如,参考图35,第一组语义子密钥(例如,与语义密钥1相关的)可以与第二组语义子密钥(例如,与语义密钥2相关的)比较,以确定包括在第一和第二组语义子密钥中的每组中的至少一个语义子密钥(例如,如虚线框3530所指示的语义子密钥B)。响应于执行步骤3640,过程3600可以继续进行到步骤3650和/或步骤3670。
如图36中所示,步骤3650可以涉及将与至少一个语义子密钥(例如,在步骤3640中确定的)相关的至少一个文档排名在与(例如,多组语义子密钥中的)至少一个其它语义子密钥相关的至少一个其它文档之上。例如,参考图35,步骤3650可以涉及将文档1和2(例如,假定它们与包括在多组语义子密钥中的每组语义子密钥中的语义子密钥B的相关性)排名在与语义子密钥B不相关和/或与至少一个其它语义子密钥相关的至少一个其它文档(例如,文档3、文档4和文档5)之上。作为另一例子,在文档1和2包括至少一个语义子密钥(例如,在步骤3640中确定的)的至少一个实例的情况下,步骤3650可以涉及将文档1和2排名在可以不包括该至少一个语义子密钥的至少一个实例和/或可以包括至少一个其它语义子密钥的至少一个实例的其它文档(例如,文档3、文档4和文档5)之上。
在一个实施方案中,步骤3650可以由排名组件(例如,360)执行。且在一个实施方案中,至少一个其它语义子密钥(例如,语义子密钥A、语义子密钥C、语义子密钥D等)可以包括在多组语义子密钥中的少于全部组的语义子密钥中。
至少一个文档和至少一个其它文档可以与响应于基于搜索查询(例如,3032、3132、在步骤3610中访问的,等等)执行的搜索而生成的搜索结果(例如,322、355、2955等)相关。在一个实施方案中,至少一个文档和至少一个其它文档中的每个文档可以选自网页、电子文档、电子文件和广告内容组成的组。
如图36中所示,步骤3660涉及输出包括被排名在至少一个其它文档之上的至少一个文档的搜索结果。在一个实施方案中,可以在步骤3660(例如,由图形数据生成器370)生成并输出该搜索结果以供呈现(例如,作为被输出以供呈现的搜索结果375)。在一个实施方案中,可以在步骤3660中响应于系统生成的输入(例如,由图形数据生成器370访问的377)来生成和/或输出搜索结果。在一个实施方案中,可以在步骤3660中响应于用户输入(例如,经由图形用户接口输入并由图形数据生成器370访问的377)来生成和/或输出搜索结果。且在一个实施方案中,可以根据图2的步骤280、图4的步骤430、图20的步骤2080、图28的步骤2880、其某一组合等执行步骤3660。
步骤3670涉及将至少一个语义子密钥(例如,在步骤3640中确定的)排名在(例如,多组语义子密钥中的)至少一个其它语义子密钥之上。例如,参考图35,步骤3670可以涉及将语义子密钥B(例如,假定在步骤3640中确定其包括在多组语义子密钥中的每组语义子密钥中)排名或排序在至少一个其它语义子密钥(例如,语义子密钥A、语义子密钥C和语义子密钥D)之上。在一个实施方案中,步骤3670可以由排名组件(例如,360)执行。
如图36中所示,步骤3680涉及为了呈现而输出与在至少一个其它语义子密钥之上的至少一个语义子密钥的排序(或排名)相关的数据。在一个实施方案中,可以在步骤3680由图形数据生成器(例如370,作为被输出以供呈现的搜索结果375)生成并输出该数据以供呈现。在一个实施方案中,可以在步骤3680中响应于系统生成的输入(例如,由图形数据生成器370访问的377)来生成和/或输出该数据。在一个实施方案中,可以在步骤3680中响应于用户输入(例如,经由图形用户接口输入并由图形数据生成器370访问的377)来生成和/或输出该数据。且在一个实施方案中,可以根据图2的步骤280、图4的步骤430、图20的步骤2080、图28的步骤2880、其某一组合等执行步骤3680。
在一个实施方案中,可以并行地执行过程3600的一个或多个步骤。例如,在一个实施方案中,可以并行地执行步骤3650与步骤3670和/或步骤3680。作为另一例子,在一个实施方案中,可以并行地执行步骤3660与步骤3670和/或步骤3680。作为又一例子,在一个实施方案中,可以并行地执行步骤3670与步骤3650和/或步骤3660。作为再一例子,在一个实施方案中,可以并行地执行步骤3680与步骤3650和/或步骤3660。且在其它实施方案中,可以并行地执行过程3600的其它步骤。
虽然在图36中示出了具有特定数量的步骤的过程3600,但是应认识到,在其它实施方案中,过程3600可以包括不同数量的步骤。虽然在图36中示出了具有特定排序的步骤的过程3600,但是应认识到,在其它实施方案中,过程3600可以包括不同排序的步骤。
语义子密钥的排序
图37示出根据本发明的一个实施方案的由计算机实现的用于确定排序的过程3700的流程图。如图37中所示,步骤3710涉及访问搜索查询。在一个实施方案中,可以在步骤3710中由搜索查询处理器(例如,3030)访问搜索查询(例如,3010)。
步骤3720涉及确定搜索查询(例如,3010)包括多个语义密钥(例如,2234等)。例如,在在步骤3710中访问的搜索查询包括词“水果价格”的情况下,步骤3720可以涉及确定搜索查询包括两个语义密钥:“水果”和“价格”。在一个实施方案中,多个语义密钥(例如,在步骤3720中确定的)中的至少一个语义密钥可以包括多个词。
在一个实施方案中,步骤3720可以由搜索查询处理器(例如,3030)执行。在一个实施方案中,步骤3720可以涉及通过对语义密钥数据库(例如,342)编索引或以另外方式使用语义密钥数据库(例如,342)来确定搜索查询(例如,3010)包括多个语义密钥。例如,可以使用搜索查询的至少一部分来对语义密钥数据库(例如,342)编索引以访问或检索多个语义密钥中的至少一个语义密钥。
如图37中所示,步骤3730涉及确定与多个语义密钥相关的多组语义子密钥。在一个实施方案中,步骤3730可以由语义密钥处理器(例如,340)执行。在一个实施方案中,步骤3730可以涉及通过使用多个语义密钥对语义密钥数据库(例如,342)编索引以访问或检索多组语义子密钥来确定与多个语义密钥相关的多组语义子密钥。且在一个实施方案中,步骤3730可以涉及生成和/或访问图38的数据结构3800。
图38示出根据本发明的一个实施方案的包括与语义密钥相关的多组语义子密钥的示例性数据结构3800。在一个实施方案中,数据结构3800可以存储在存储器中和/或从存储器访问,其中该存储器属于或耦合到语义密钥处理器340。
如图38中所示,数据结构3800的左列可以包括第一组语义子密钥(例如,与在步骤3710中访问的搜索查询的语义密钥“水果”相关的)。数据结构3800的右列可以包括第二组语义子密钥(例如,与在步骤3710中访问的搜索查询的语义密钥“价格”相关的)。
在一个实施方案中,数据结构3800的每行可以包括来自多组语义子密钥的相关语义子密钥。例如,语义子密钥“苹果”(例如,在语义子密钥组1的第一行中)可以与语义子密钥“2.99美元”(例如,在语义子密钥组2的第一行中)有关。作为另一例子,语义子密钥“桔子”(例如,在语义子密钥组1的第三行中)可以与语义子密钥“0.99美元”(例如,在语义子密钥组2的第三行中)有关。
在一个实施方案中,如果每个语义子密钥的至少一个相应的实例出现在同一文档中,则语义子密钥可以被确定为相关的。在一个实施方案中,如果每个语义子密钥的至少一个相应的实例出现在文档的同一部分中,则语义子密钥可以被确定为相关的。且在一个实施方案中,如果在文档中每个语义子密钥的至少一个相应的实例出现在彼此的预定接近度内(例如,在预定数量的词、预定数量的行、预定数量的段落等内),则语义子密钥可以被确定为相关的。
虽然图38示出具有某个量和类型的数据的数据结构3800,但是应认识到,在其它实施方案中,数据结构3800可以包括不同量和/或类型的数据。另外,虽然图38示出具有某种排列的数据的数据结构3800,但是应认识到,在其它实施方案中,数据结构3800可以包括不同排列的数据。
回来转到图37,步骤3730可以涉及确定与第一语义密钥(例如,在步骤3710中访问的搜索查询的语义密钥“水果”)相关的第一组语义子密钥(例如,如在图38中示出的语义子密钥组1)。步骤3730还可以涉及确定与第二语义密钥(例如,在步骤3710中访问的搜索查询的语义密钥“价格”)相关的第二组语义子密钥(例如,如在图38中示出的语义子密钥组2)。
如图37中所示,步骤3740涉及基于对多组语义子密钥的分析来确定分类密钥。在一个实施方案中,步骤3740可以涉及选择具有最少的成员的一组语义子密钥作为分类密钥。例如,因为图38的语义子密钥组1包括4个不同的成员,而语义子密钥组2包括6个不同的成员,所以语义子密钥组1可以在步骤3740中被选择为分类密钥,因为它具有比语义子密钥组2更少的成员。
在一个实施方案中,步骤3740可以涉及选择只包括词的一组语义子密钥作为分类密钥。例如,因为图38的语义子密钥组1只包括词,而语义子密钥组2不包括词(只有数字和符号),所以语义子密钥组1可以在步骤3740中被选择为分类密钥。
在一个实施方案中,步骤3740可以涉及选择只包括数字或符号的一组语义子密钥作为分类密钥。例如,因为图38的语义子密钥组2只包括数字或符号,而语义子密钥组2不包括数字或符号(只有词),所以语义子密钥组2可以在步骤3740中被选择为分类密钥。
在一个实施方案中,步骤3740可以涉及选择与多组语义子密钥中的至少一个相关的数据作为分类密钥。例如,步骤3740可以涉及选择与多组语义子密钥相关的统计参数作为分类密钥。在一个实施方案中,统计参数可以与包括(例如,数据结构3800中的)一个或多个语义子密钥的至少一个相应的实例的搜索结果的数量或百分比相关。且在一个实施方案中,统计参数可以与图形用户接口(例如,GUI 2700)的区域(例如,2730)相关或显示在该区域中。
如图37中所示,步骤3750涉及基于分类密钥确定多组语义子密钥中的语义子密钥的排序。在一个实施方案中,在步骤3750中确定的排序可以涉及分类密钥数据(例如,被选择为分类密钥的一组语义子密钥、被选择为分类密钥的统计参数、被选择为分类密钥的其它数据等)的按字母顺序的排序(例如,升序或降序)、分类密钥数据的数字排序(例如,升序或降序)、某种其它排序等。在步骤3750中确定的排序也可以涉及根据分类密钥数据的排序来对与分类密钥数据相关的数据(例如,与分类密钥数据分开的至少一组语义子密钥、与分类密钥数据分开的至少一组统计参数、与分类密钥数据分开的其它数据等)进行排序。且在一个实施方案中,步骤3750可以涉及生成和/或访问数据结构(例如,图39A的3900A、图39B的3900B、图39C的3900C等)。
图39A示出根据本发明的一个实施方案的描绘数据的第一排序的示例性数据结构3900A。在一个实施方案中,数据结构3900A可以存储在存储器中,其中该存储器属于或耦合到语义密钥处理器340和/或排名组件360。
如图39A中所示,数据结构3900A的数据可以基于左列(例如,相应于图38的语义子密钥组1)的分类密钥数据的排序来分类或排序。例如,分类密钥数据(例如,在左列中)可以按字母顺序分类或排序。与中间列(例如,相应于图38的语义子密钥组2)和右列(例如,包括与中间列和/或左列相关的统计参数)中的分类密钥数据相关的数据可以接着根据分类密钥数据的排序而被分类。
在一个实施方案中,数据结构3900A的每行可以包括相关的数据。例如,在给定行内的左列和中间列的每个语义子密钥的至少一个相应的实例可以出现在同一文档内、文档的同一部分内、彼此的预定接近度内等。作为另一例子,右列中的每个统计参数可以与包括(例如,左列和/或中间列的)至少一个相应的语义子密钥的至少一个实例的搜索结果的相应数量或百分比相关。
在一个实施方案中,数据结构3900A可以通过合并或组合来自另一数据结构(例如,3800)的数据来生成。例如,在数据结构3800的两行或更多行包括相同的数据(例如,包括语义子密钥“葡萄”和“3.99美元”的第五和第六行)的情况下,来自这两行或更多行的数据可以合并或组合以形成包括相同的数据的数据结构3900A中的行(例如,包括语义子密钥“葡萄”和“3.99美元”以及统计参数“20%”的数据结构3900A的第四行)。
在一个实施方案中,数据结构3900A可以通过合并或组合与另一数据结构(例如,3800)相关的数据来生成。例如,在数据结构3800的两行或更多行包括相同的数据(例如,包括语义子密钥“葡萄”和“3.99美元”的第五和第六行)的情况下,与来自这两行或更多行的数据相关的数据(例如,相应于这两行或更多行的统计参数)可以合并或组合以形成数据结构3900A中的数据。在这种情况下,可以通过将与也合并或组合的数据结构3800内的每行数据相关的相应的统计参数相加来计算或生成(例如,在数据结构3900A的第四行中的)“20%”的统计参数。虽然没有在图38中示出,与数据结构3800的第五行和第六行中的每个(例如,包括语义子密钥“葡萄”和“3.99美元”)相关的相应的统计参数可以是被相加得到20%的值的任何组合(例如,10%和10%,以提供在数据结构3900A的第四行中所示的“20%”的统计参数;5%和15%,以提供在数据结构3900A的第四行中所示的“20%”的统计参数,等等)。
图39B示出根据本发明的一个实施方案的描绘数据的第二排序的示例性数据结构3900B。在一个实施方案中,数据结构3900B可以存储在存储器中,其中该存储器属于或耦合到语义密钥处理器340和/或排名组件360。
如图39B中所示,数据结构3900B的数据可以基于中间列(例如,相应于图38的语义子密钥组2)的分类密钥数据的排序来分类或排序。例如,分类密钥数据(例如,在中间列中)可以按数字顺序分类或排序。与左列(例如,相应于图38的语义子密钥组1)和右列(例如,包括与中间列和/或左列相关的统计参数)中的分类密钥数据相关的数据可以接着根据分类密钥数据的排序而被分类。
在一个实施方案中,数据结构3900B的每行可以包括相关的数据。例如,在给定行内的左列和中间列的每个语义子密钥的至少一个相应的实例可以出现在同一文档内、文档的同一部分内、彼此的预定接近度内等。作为另一例子,右列中的每个统计参数可以与包括(例如,左列和/或中间列的)至少一个相应的语义子密钥的至少一个实例的搜索结果的相应数量或百分比相关。
在一个实施方案中,数据结构3900B可以通过合并或组合来自另一数据结构(例如,3800)的数据来生成。例如,在数据结构3800的两行或更多行包括相同的数据(例如,包括语义子密钥“葡萄”和“3.99美元”的第五行和第六行)的情况下,来自这两行或更多行的数据可以合并或组合以形成包括相同的数据的数据结构3900B中的行(例如,包括语义子密钥“葡萄”和“3.99美元”以及统计参数“20%”的数据结构3900B的第五行)。
在一个实施方案中,数据结构3900B可以通过合并或组合与另一数据结构(例如,3800)相关的数据来生成。例如,在数据结构3800的两行或更多行包括相同的数据(例如,包括语义子密钥“葡萄”和“3.99美元”的第五行和第六行)的情况下,与来自两行或更多行的数据相关的数据(例如,相应于这两行或更多行的统计参数)可以合并或组合以形成数据结构3900B中的数据。在这种情况下,可以通过将与也合并或组合的数据结构3800内的每行数据相关的相应的统计参数相加来计算或生成(例如,在数据结构3900B的第五行中的)“20%”的统计参数。虽然没有在图38中示出,与数据结构3800的第五行和第六行中的每个(例如,包括语义子密钥“葡萄”和“3.99美元”)相关的相应的统计参数可以是被相加得到20%的值的任何组合(例如,10%和10%,以提供在数据结构3900B的第五行中所示的“20%”的统计参数;5%和15%,以提供在数据结构3900B的第五行中所示的“20%”的统计参数,等等)。
图39C示出根据本发明的一个实施方案的描绘数据的第三排序的示例性数据结构3900C。在一个实施方案中,数据结构3900C可以存储在存储器中,其中该存储器属于或耦合到语义密钥处理器340和/或排名组件360。
如图39C中所示,数据结构3900C的数据可以基于右列(例如,包括与图38的语义子密钥组1和/或图38的语义子密钥组2相关的统计参数)的数据的排序来分类或排序。例如,分类密钥数据(例如,在右列中)可以按数字顺序分类或排序。与左列(例如,相应于图38的语义子密钥组1)和中间列(例如,相应于图38的语义子密钥组2)中的分类密钥数据相关的数据可以接着根据分类密钥数据的排序而被分类。
在一个实施方案中,数据结构3900C的每行可以包括相关的数据。例如,在给定行内的左列和中间列的每个语义子密钥的至少一个相应的实例可以出现在同一文档内、文档的同一部分内、彼此的预定接近度内等。作为另一例子,右列中的每个统计参数可以与包括(例如,左列和/或中间列的)至少一个相应的语义子密钥的至少一个实例的搜索结果的相应数量或百分比相关。
在一个实施方案中,数据结构3900C可以通过合并或组合来自另一数据结构(例如,3800)的数据来生成。例如,在数据结构3800的两行或更多行包括相同的数据(例如,包括语义子密钥“葡萄”和“3.99美元”的第五行和第六行)的情况下,来自这两行或更多行的数据可以合并或组合以形成包括相同的数据的数据结构3900C中的行(例如,包括语义子密钥“葡萄”和“3.99美元”以及统计参数“20%”的数据结构3900C的第四行)。
在一个实施方案中,数据结构3900C可以通过合并或组合与另一数据结构(例如,3800)相关的数据来生成。例如,在数据结构3800的两行或更多行包括相同的数据(例如,包括语义子密钥“葡萄”和“3.99美元”的第五行和第六行)的情况下,与来自这两行或更多行的数据相关的数据(例如,相应于这两行或更多行的统计参数)可以合并或组合以形成数据结构3900C中的数据。在这种情况下,可以通过将与也合并或组合的数据结构3800内的每行数据相关的相应的统计参数相加来计算或生成(例如,在数据结构3900C的第四行中的)“20%”的统计参数。虽然没有在图38中示出,与数据结构3800的第五行和第六行中的每个(例如,包括语义子密钥“葡萄”和“3.99美元”)相关的相应的统计参数可以是被相加得到20%的值的任何组合(例如,10%和10%,以提供在数据结构3900C的第四行中所示的“20%”的统计参数;5%和15%,以提供在数据结构3900C的第四行中所示的“20%”的统计参数,等等)。
虽然图39A示出具有某个量和类型的数据的数据结构3900A,但是应认识到,在其它实施方案中,数据结构3900A可以包括不同量和/或类型的数据。例如,在其它实施方案中,数据结构3900A可以包括不同数量的行和/或列。作为另一例子,在其它实施方案中,数据结构3900A可以包括与不同数量的语义子密钥组和/或统计参数相关的数据。作为又一例子,在其它实施方案中,数据结构3900A的数据可以与不同的单位(例如,中间列可以用不同的货币来表示或以另外方式与不同的货币相关、右列可以用数量而不是百分比来表示或以另外方式与数量而不是百分比相关,等等)相关。此外,虽然图39A示出具有某种排列的数据的数据结构3900A,但是应认识到,在其它实施方案中,数据结构3900A可以包括不同排列的数据。例如,分类密钥数据(以及与分类密钥数据相关的其它数据)可以按升序、降序等来排序。
虽然图39B示出具有某个量和类型的数据的数据结构3900B,但是应认识到,在其它实施方案中,数据结构3900B可以包括不同量和/或类型的数据。例如,在其它实施方案中,数据结构3900B可以包括不同数量的行和/或列。作为另一例子,在其它实施方案中,数据结构3900B可以包括与不同数量的语义子密钥组和/或统计参数相关的数据。作为又一例子,在其它实施方案中,数据结构3900B的数据可以与不同的单位(例如,中间列可以用不同的货币来表示或以另外方式与不同的货币相关、右列可以用数量而不是百分比来表示或以另外方式与数量而不是百分比相关,等等)相关。此外,虽然图39B示出具有某种排列的数据的数据结构3900B,但是应认识到,在其它实施方案中,数据结构3900B可以包括不同排列的数据。例如,分类密钥数据(以及与分类密钥数据相关的其它数据)可以按升序、降序等来排序。
虽然图39C示出具有某个量和类型的数据的数据结构3900C,但是应认识到,在其它实施方案中,数据结构3900C可以包括不同量和/或类型的数据。例如,在其它实施方案中,数据结构3900C可以包括不同数量的行和/或列。作为另一例子,在其它实施方案中,数据结构3900C可以包括与不同数量的语义子密钥组和/或统计参数相关的数据。作为又一例子,在其它实施方案中,数据结构3900C的数据可以与不同的单位(例如,中间列可以用不同的货币来表示或以另外方式与不同的货币相关、右列可以用数量而不是百分比来表示或以另外方式与数量而不是百分比相关,等等)相关。此外,虽然图39C示出具有某种排列的数据的数据结构3900C,但是应认识到,在其它实施方案中,数据结构3900C可以包括不同排列的数据。例如,分类密钥数据(以及与分类密钥数据相关的其它数据)可以按升序、降序等来排序。
回来转到图37,步骤3760涉及为了呈现而输出与语义子密钥的排序(例如,在步骤3750中确定的)相关的数据。因此,在语义子密钥的排序被输出以供呈现(例如,经由图形用户接口,与包括语义子密钥的至少一个实例的相关搜索结果一起)的情况下,可以用较容易理解和交互的方式来呈现信息。
在一个实施方案中,步骤3760可以涉及生成并输出数据以使数据结构(例如,3800、3900A、3900B、3900C等)的至少一部分使用图形用户接口(例如,GUI 2700)的区域(例如,2730)来呈现。图形用户接口(例如,2700)可以配置成同时与相关于数据结构(例如,3800、3900A、3900B、3900C等)的搜索结果同时显示该数据结构的至少一部分(例如,在GUI 2700的区域2710中)。且在一个实施方案中,数据可以在步骤3760中由图形数据生成器(例如,370,作为被输出以供呈现的搜索结果375)生成并输出以供呈现。
在一个实施方案中,与呈现在图形用户接口(例如,2700)的区域(例如,2730)中的(例如,数据结构例如数据结构3800、数据结构3900A、数据结构3900B、数据结构3900C等的或与这些数据结构相关的)语义子密钥的用户交互或对其的选择可以使新搜索被执行(例如,基于通过修改以前的搜索查询以包括选定的语义子密钥而生成的新搜索查询),其中响应于新搜索而生成的搜索结果可以显示在图形用户接口(例如,2700)的另一区域(例如,2710)中。在一个实施方案中,可以基于响应于新搜索而生成的搜索结果来更新呈现在区域(例如,2730)中的数据(例如,以包括与新搜索结果相关的至少一个新的或不同的语义子密钥、以包括与新搜索结果相关的至少一个新的或不同的统计参数,等等)。
在一个实施方案中,可以在步骤3760中响应于系统生成的输入(例如,由图形数据生成器370访问的377)来生成和/或输出数据。在一个实施方案中,可以在步骤3760中响应于用户输入(例如,经由图形用户接口输入并由图形数据生成器370访问的377)来生成和/或输出数据。且在一个实施方案中,可以根据图2的步骤280、图4的步骤430、图20的步骤2080、图28的步骤2880、图36的步骤3680、其某一组合等执行步骤3760。
尽管图37示出具有特定数量的步骤的过程3700,但是应认识到,在其它实施方案中,过程3700可以包括不同数量的步骤。尽管图37示出具有步骤的特定排序的过程3700,但是应认识到,在其它实施方案中,过程3700可以包括步骤的不同排序。
利用与语义子密钥相关的属性对数据进行排名
图40示出根据本发明的一个实施方案的由计算机实现的用于使用与至少一个语义子密钥相关的属性对数据进行排名的示例性的过程4000的流程图。如图40所示,步骤4010涉及访问搜索查询。在一个实施方案中,搜索查询(例如,3010)可以在步骤4010中由搜索查询处理器(例如,图30、图31、图33、图34等的3030)访问。在一个实施方案中,搜索查询(例如,2232、2932等)可以在步骤4010中由搜索数据处理器(例如,图22、图29等的2230)作为搜索数据(例如2210)的一部分访问。且在一个实施方案中,搜索查询(例如,310)可以在步骤4010中由语法分析器(例如,图3、图15等的330)访问。
步骤4020涉及确定与搜索查询(例如,在步骤4010中访问的)相关的语义密钥。在一个实施方案中,步骤4020可以涉及(例如,使用搜索查询处理器例如图30、图31、图33、图34等的搜索查询处理器3030)确定搜索查询的一部分包括语义密钥(例如,根据过程3200的步骤3210)。在一个实施方案中,步骤4020可以涉及(例如,使用搜索数据处理器例如图22、图29等的搜索数据处理器2230)访问来自包括搜索查询(例如,2232、2932等)的搜索数据(例如,2210)的语义密钥,其中该语义密钥可以与搜索查询分开地(例如,由用户)输入(例如,语义密钥和搜索查询包括在搜索数据的单独部分中)。且在一个实施方案中,步骤4020可以涉及基于搜索查询(例如,使用语法分析器例如图3、图15等的语法分析器330)确定语义密钥(例如,根据过程200的步骤220和230),其中搜索查询可以没有语义密钥。
如图40中所示,步骤4030涉及确定与语义密钥(例如,在步骤4020中确定的)相关的多个语义子密钥。在一个实施方案中,步骤4030可以由语义密钥处理器(例如,340)执行。在一个实施方案中,步骤4030可以涉及通过使用语义密钥对语义密钥数据库(例如,342)编索引以访问或检索多个语义子密钥来确定与该语义密钥相关的多个语义子密钥。且在一个实施方案中,多个语义子密钥中的每个语义子密钥可以与至少一个相应的属性(例如,如在图41中所示)相关。
图41示出根据本发明的一个实施方案的包括与至少一个语义子密钥相关的至少一个属性的示例性数据结构4100。在一个实施方案中,数据结构4100可以存储在语义密钥数据库(例如,342)中。
如图41中所示,数据结构4100的中间列可以包括与左列中的至少一个语义密钥(例如,语义密钥“河流”)相关的多个语义子密钥。这多个语义子密钥(例如,在数据结构4100的中间列中)中的每个语义子密钥可以与至少一个相应的属性(例如,在数据结构4100的右列中)相关。
回来转到图40,步骤4040涉及确定与匹配搜索查询的一部分的属性相关的多个语义子密钥(例如,在步骤4130中确定的)中的至少一个语义子密钥。在一个实施方案中,可以通过使用搜索查询的该部分为数据库(例如,其包括数据结构4100)和/或数据结构(例如,4100)编索引以访问或检索至少一个语义子密钥来确定至少一个语义子密钥。例如,在搜索查询(例如,在步骤4010中访问的)包括词“亚洲的河流”且确定“河流”是语义密钥(例如,在步骤4020中)的情况下,可以使用词“亚洲的”(例如,没有语义密钥的搜索查询的一部分、与包括语义密钥“河流”或与该语义密钥相关的搜索查询的部分分开的搜索查询的一部分,等等)为数据结构4100(或包括数据结构4100的数据库)编索引来访问或检索“长江”、“黄河”和“湄公河”等语义子密钥(例如,与在步骤4020中确定的语义密钥“河流”相关的),这些语义子密钥中的每个均与匹配搜索查询的一部分(例如,词“亚洲的”)的相应属性(例如,属性“亚洲的”)相关。
因此,通过利用与语义子密钥相关的属性,可以在步骤4040中确定比至少一个其它语义子密钥与搜索查询(例如,在步骤4010中访问的)更相关的至少一个语义子密钥。例如,数据结构4100的语义子密钥“长江”、“黄河”和“湄公河”可以比数据结构4100的其它语义子密钥(例如,假定其它语义子密钥与位于亚洲以外的大洲的河流相关,且因此通常不被认为是亚洲的河流)与搜索查询“亚洲的河流”更相关。
响应于执行步骤4040,过程4000可以继续进行到步骤4050和/或步骤4070。如图40中所示,步骤4050涉及将与至少一个语义子密钥(例如,在步骤4040中确定的)相关的至少一个文档排名在与多个语义子密钥(例如,在步骤4030中确定的)中的至少一个其它语义子密钥相关的至少一个其它文档之上。例如,参考图41,步骤4050可以涉及将包括至少一个语义子密钥(例如,在步骤4040中确定的,例如“长江”、“黄河”和“湄公河”)的至少一个实例的至少一个文档排名在不包括该至少一个语义子密钥的至少一个实例和/或包括至少一个其它语义子密钥(例如,“尼罗河”、“亚马逊河”、“密西西比河”、“叶尼塞河”等)的至少一个实例的至少一个其它文档之上。在一个实施方案中,步骤4050可以由排名组件(例如,360)执行。
该至少一个文档和至少一个其它文档可以与响应于基于搜索查询(例如,在步骤4010中访问的,等等)执行的搜索而生成的搜索结果(例如,322、355、2955等)相关。在一个实施方案中,该至少一个文档和至少一个其它文档中的每个文档可以选自网页、电子文档、电子文件和广告内容所组成的组。
因此,通过利用语义子密钥的属性可以改进与搜索结果相关的文档的排名。例如,在语义子密钥的属性用于确定比至少一个其它语义子密钥(例如,假定其它语义子密钥与位于亚洲以外的大洲的河流相关,且因此通常不被认为是亚洲的河流)与搜索查询(例如,在步骤4010中访问的,例如“亚洲的河流”)更相关的至少一个语义子密钥(例如,在步骤4040中的,例如“长江”、“黄河”和“湄公河”)的情况下,包括至少一个语义子密钥(例如,“长江”、“黄河”和“湄公河”)中的一个或多个的至少一个实例的至少一个文档可以在步骤4050中被排名在不包括至少一个语义子密钥的至少一个实例的至少一个其它文档之上。以这种方式,与搜索查询更相关的至少一个文档可以被排名在与搜索查询较不相关的至少一个其它文档之上。
如图40中所示,步骤4060涉及输出包括排名在至少一个其它文档之上的至少一个文档的搜索结果。在一个实施方案中,可以在步骤4060中(例如,通过图形数据生成器370)生成并输出搜索结果以供呈现(例如,作为被输出以供呈现的搜索结果375)。在一个实施方案中,可以在步骤4060中响应于系统生成的输入(例如,由图形数据生成器370访问的377)来生成和/或输出搜索结果。在一个实施方案中,可以在步骤4060中响应于用户输入(例如,经由图形用户接口输入并由图形数据生成器370访问的377)来生成和/或输出搜索结果。且在一个实施方案中,可以根据图2的步骤280、图4的步骤430、图20的步骤2080、图28的步骤2880、其某一组合等执行步骤4060。
步骤4070涉及将至少一个语义子密钥(例如,在步骤4040中确定的)排名在至少一个其它语义子密钥(例如,在步骤4030中确定的多个语义子密钥中的)之上。例如,参考图41,步骤4070可以涉及将语义子密钥“长江”、“黄河”和“湄公河”排名或排序在至少一个其它语义子密钥(例如,“尼罗河”、“亚马逊河”、“密西西比河”、“叶尼塞河”等)之上。在一个实施方案中,步骤4070可以由排名组件(例如,360)执行。
因此,通过利用语义子密钥的属性可以改进语义子密钥的排名。例如,在语义子密钥的属性用于确定比至少一个其它语义子密钥(例如,假定其它语义子密钥与位于亚洲以外的大洲的河流相关,且因此通常不被认为是亚洲的河流)与搜索查询(例如,在步骤4010中访问的,例如“亚洲的河流”)更相关的至少一个语义子密钥(例如,在步骤4040中的,例如“长江”、“黄河”和“湄公河”)的情况下,步骤4070可以用于将与搜索查询更相关的至少一个语义子密钥中的一个或多个排名在与搜索查询较不相关的至少一个其它语义子密钥之上。
如图40中所示,步骤4080涉及为了呈现而输出与在至少一个其它语义子密钥之上的至少一个语义子密钥的排序(或排名)相关的数据。在一个实施方案中,可以在步骤4080中由图形数据生成器(例如370,作为被输出以供呈现的搜索结果375)生成并输出该数据以供呈现。在一个实施方案中,可以在步骤4080中响应于系统生成的输入(例如,由图形数据生成器370访问的377)来生成和/或输出该数据。在一个实施方案中,可以在步骤4080中响应于用户输入(例如,经由图形用户接口输入并由图形数据生成器370访问的377)来生成和/或输出该数据。且在一个实施方案中,可以根据图2的步骤280、图4的步骤430、图20的步骤2080、图28的步骤2880、其某一组合等执行步骤4080。
在一个实施方案中,可以并行地执行过程4000的一个或多个步骤。例如,在一个实施方案中,可以并行地执行步骤4050与步骤4070和/或步骤4080。作为另一例子,在一个实施方案中,可以并行地执行步骤4060与步骤4070和/或步骤4080。作为又一例子,在一个实施方案中,可以并行地执行步骤4070与步骤4050和/或步骤4060。作为再一例子,在一个实施方案中,可以并行地执行步骤4080与步骤4050和/或步骤4060。且在其它实施方案中,可以并行地执行过程4000的其它步骤。
虽然在图40中示出了具有特定数量的步骤的过程4000,但是应认识到,在其它实施方案中,过程4000可以包括不同数量的步骤。例如,在一个实施方案中,步骤4030可以是可选的且不被执行。虽然在图40中示出了具有特定排序的步骤的过程4000,但是应认识到,在其它实施方案中,过程4000可以包括不同排序的步骤。
虽然图41示出具有某个量和类型的数据的数据结构4100,但是应认识到,在其它实施方案中,数据结构4100可以包括不同量和/或类型的数据。例如,数据结构4100可以包括不同数量和/或类型的语义密钥(例如,在左列中)、不同数量和/或类型的语义子密钥(例如,在中间列中)、不同数量和/或类型的属性(例如,在右列中)、其某一组合等。作为另一例子,在其它实施方案中,数据结构4100可以包括与给定语义密钥相关的不同数量的语义子密钥和/或属性。此外,虽然图41示出具有某种排列的数据的数据结构4100,但是应认识到,在其它实施方案中,数据结构4100可以包括不同排列的数据。
计算机系统平台
图42示出示例性计算机系统平台4200,其上可实现本发明的实施方案。如图42中所示,可以通过计算机可读指令或计算机可执行指令的执行来实现本发明的部分,计算机可读指令或计算机可执行指令可以驻留在计算机系统平台4200的组件中且可以用作通用计算机网络的一部分。应认识到,图42的计算机系统平台4200仅仅是示例性的,因而本发明可以在许多不同的系统内运行,这些系统包括但不限于通用计算机系统、嵌入式计算机系统、膝上型计算机系统、手持计算机系统、便携式计算机系统和独立计算机系统。
在一个实施方案中,计算机系统平台4200可以用于实现网络服务器110、计算机系统120a、计算机系统120b、其某一组合等。且在一个实施方案中,计算机系统平台4200的一个或多个组件可以布置于外壳或外罩中和/或与外壳或外罩耦接。
在一个实施方案中,如虚线4230所示,计算机系统平台4200可以包括至少一个处理器4210和至少一个存储器4220。处理器4210可以包括中央处理单元(CPU)或其它类型的处理器。根据计算机系统环境的配置和/或类型,存储器4220可以包括易失性存储器(例如,RAM)、非易失性存储器(例如,ROM、闪存等)或两者的某一组合。另外,存储器4220可以是可移动的、不可移动的等。
在其它实施方案中,计算机系统平台4200可以包括额外存储器(例如,可移动存储器4240、不可移动存储器4245等)。可移动存储器4240和/或不可移动存储器4245可以包括易失性存储器、非易失性存储器或其任一组合。另外,可移动存储器4240和/或不可移动存储器4245可以包括CD-ROM、数字多功能光盘(DVD)或其它光学存储器、磁带盒、磁带、磁盘存储器或其它磁存储设备,或可以用于存储由计算机系统平台4200访问的信息的任何其它介质。
如图42中所示,计算机系统平台4200可以经由通信接口4270与其它系统、组件或设备通信。通信接口4270可以在调制数据信号(例如,载波)或其它传送机制中体现计算机可读指令、数据结构、程序模块或其它数据。作为例子而不是限制,通信接口4270可以耦接到有线介质(例如,有线网络、直接有线连接等)和/或无线介质(例如,无线网络、利用声波、射频(RF)、红外线的无线连接或其它无线信令等)。
通信接口4270也可以将计算机系统平台4200耦接到一个或多个输入设备(例如,键盘、鼠标、笔、语言输入设备、接触式输入设备或触摸屏等)。在一个实施方案中,通信接口4270可以将计算机系统平台4200耦接到一个或多个输出设备(例如,显示器、扬声器、打印机等)。
如图42中所示,图形处理器4250可以对存储于计算机系统平台4200的帧缓冲器4260或另一存储器(例如,4220、4240、4245等)中的图形数据执行图形处理操作。存储于帧缓冲器4260中的图形数据可以由计算机系统平台4200的组件(例如,图形处理器4250、处理器4210等)和/或其它系统/设备的组件访问、处理和/或修改。另外,可以在耦接到计算机系统平台4200的输出设备上访问(例如,通过图形处理器4250)和显示图形数据。在一个实施方式中,存储器4220、可移动存储器4240、不可移动存储器4245、帧缓冲器4260或其组合可以是计算机可读介质或计算机可用介质,且可以包括在由处理器(例如,4210、4250等)执行时实现包括以下步骤的方法的指令:执行网页搜索(例如,根据图2的过程200)、基于搜索查询焦点来确定语义密钥(例如,根据图4的过程400)、过滤网页搜索结果(例如,根据图7A的过程700)、使用从关键词搜索结果生成的文本来过滤网页搜索结果(例如,根据图8A的过程800)、根据语义子密钥频率对网页搜索结果进行排名(例如,根据图9的过程900)、根据关键词频率对网页搜索结果进行排名(例如,根据图10的过程1000)、根据语义子密钥与搜索查询关键词的接近度对网页搜索结果进行排名(例如,根据图11的过程1100)、创建语义密钥数据库(例如,根据图16的过程1600)、执行搜索(例如,根据图20的过程2000)、修改搜索查询以进一步包括至少一个语义子密钥(例如,根据图23的过程2300)、修改搜索查询以进一步包括语义密钥或其一部分(例如,根据图25的过程2500)、基于改变的搜索查询来执行搜索(例如,根据图28的过程2800)、基于自动生成的搜索查询来执行搜索(例如,根据图32A和32B的过程3200)、对数据进行排名(例如,根据图36的过程3600)、确定排序(例如,根据图37的过程3700)、使用与至少一个语义子密钥相关的属性对数据进行排名(例如,根据图40的过程4000)、其某一组合等。
在前述说明书中,已参考很多特定的细节描述了本发明的实施方案,所述细节可以从一个实现到另一实现改变。因此,申请人所预期的内容的唯一和排他性指示是,本发明是由本申请生成的以特定形式——包括任何后续修正——的权利要求的集合,这样的权利要求在该特定形式中发出。因此,在权利要求中未明确叙述的限制、要素、性质、特征、优点或属性不应该以任何方式限制这样的权利要求的范围。因此,说明书和附图应被视为在说明性而非限制性的意义上。
Claims (26)
1.一种由计算机实现的搜索查询的自动生成的方法,所述方法包括:
访问第一搜索查询;
确定所述第一搜索查询的第一部分包括语义密钥;
响应于所述确定,基于所述第一搜索查询而自动生成第二搜索查询,其中所述第二搜索查询没有所述第一部分,且其中所述第二搜索查询不同于所述第一搜索查询;以及
基于所述第二搜索查询来执行第一搜索,其中响应于所述第一搜索而生成的第一搜索结果包括多个文档,且其中所述多个文档中的每个文档包括与所述语义密钥相关的至少一个语义子密钥的至少一个相应的实例。
2.如权利要求1所述的方法,其还包括:
基于所述第一搜索查询来执行第二搜索;
访问响应于所述第二搜索而生成的第二搜索结果;
分析所述第一搜索结果和第二搜索结果以自动确定第三搜索结果用于输出,其中所述第三搜索结果选自所述第一搜索结果和所述第二搜索结果所组成的组;以及
输出所述第三搜索结果。
3.如权利要求2所述的方法,其还包括:
响应于用户输入,输出第四搜索结果,其中所述第四搜索结果不同于所述第三搜索结果,且其中所述第四搜索结果选自所述第一搜索结果和所述第二搜索结果所组成的组。
4.如权利要求1所述的方法,其中所述分析还包括确定与所述第一搜索结果相关的数量和与所述第二搜索结果相关的数量之比,且其中所述分析还包括如果所述比超过预定阈值,则自动确定所述第一搜索结果作为所述第三搜索结果用于输出。
5.如权利要求1所述的方法,其中所述分析还包括:
确定与所述第一搜索结果相关的第一分数;
确定与所述第二搜索结果相关的第二分数;
如果所述第一分数超过所述第二分数,则确定所述第一搜索结果作为所述第三搜索结果用于输出;以及
如果所述第二分数超过所述第一分数,则确定所述第二搜索结果作为所述第三搜索结果用于输出。
6.如权利要求5所述的方法,其中所述确定所述第一分数还包括基于选自下列项所组成的组的参数来确定所述第一分数:在与所述语义密钥相关的至少一个语义子密钥的所述第一搜索结果中的实例的数量;在所述第一搜索查询的至少一个关键词的所述第一搜索结果中的实例的数量;与在与所述语义密钥相关的至少一个语义子密钥的所述第一搜索结果中的多个实例相关的至少一个接近度;以及与在所述第一搜索查询的至少一个关键词的所述第一搜索结果中的多个实例相关的至少一个接近度。
7.如权利要求1所述的方法,其中所述确定所述第二分数还包括基于选自下列项所组成的组的参数来确定所述第二分数:在与所述语义密钥相关的至少一个语义子密钥的所述第二搜索结果中的实例的数量;在所述第二搜索查询的至少一个关键词的所述第二搜索结果中的实例的数量;与在与所述语义密钥相关的至少一个语义子密钥的所述第二搜索结果中的多个实例相关的至少一个接近度;以及与在所述第二搜索查询的至少一个关键词的所述第二搜索结果中的多个实例相关的至少一个接近度。
8.如权利要求1所述的方法,其还包括:
使用所述第一搜索查询的第二部分来执行至少一个操作以确定是否生成所述第二搜索查询。
9.如权利要求8所述的方法,其中所述至少一个操作包括确定所述第一部分和所述第二部分是否与短语相关,且其中所述生成响应于确定了所述第一部分和所述第二部分与所述短语不相关来执行。
10.如权利要求8所述的方法,其中所述至少一个操作包括确定所述第二部分是否与语言的预定部分相关,且其中所述生成响应于确定了所述第二部分与语言的所述预定部分相关来执行。
11.如权利要求10所述的方法,其中语言的所述预定部分选自关系代词、疑问代词、介词和动词所组成的组。
12.如权利要求10所述的方法,其中所述第二搜索查询没有所述第一部分和所述第二部分。
13.一种计算机可读介质,其具有体现在其中的计算机可读程序代码,所述计算机可读程序代码用于使计算机系统执行搜索查询的自动生成的方法,所述方法包括:
访问第一搜索查询;
确定所述第一搜索查询的第一部分包括语义密钥;
响应于所述确定,基于所述第一搜索查询而自动生成第二搜索查询,其中所述第二搜索查询没有所述第一部分,且其中所述第二搜索查询不同于所述第一搜索查询;以及
基于所述第二搜索查询来执行第一搜索,其中响应于所述第一搜索而生成的第一搜索结果包括多个文档,且其中所述多个文档中的每个文档包括与所述语义密钥相关的至少一个语义子密钥的至少一个相应的实例。
14.如权利要求13所述的计算机可读介质,其中所述方法还包括:
基于所述第一搜索查询来执行第二搜索;
访问响应于所述第二搜索而生成的第二搜索结果;
分析所述第一搜索结果和第二搜索结果以自动确定第三搜索结果用于输出,其中所述第三搜索结果选自所述第一搜索结果和所述第二搜索结果所组成的组;以及
输出所述第三搜索结果。
15.如权利要求14所述的计算机可读介质,其中所述方法还包括:
响应于用户输入,输出第四搜索结果,其中所述第四搜索结果不同于所述第三搜索结果,且其中所述第四搜索结果选自所述第一搜索结果和所述第二搜索结果所组成的组。
16.如权利要求13所述的计算机可读介质,其中所述分析还包括确定与所述第一搜索结果相关的数量和与所述第二搜索结果相关的数量之比,且其中所述分析还包括如果所述比超过预定阈值,则自动确定所述第一搜索结果作为所述第三搜索结果用于输出。
17.如权利要求13所述的计算机可读介质,其中所述分析还包括:
确定与所述第一搜索结果相关的第一分数;
确定与所述第二搜索结果相关的第二分数;
如果所述第一分数超过所述第二分数,则确定所述第一搜索结果作为所述第三搜索结果用于输出;以及
如果所述第二分数超过所述第一分数,则确定所述第二搜索结果作为所述第三搜索结果用于输出。
18.如权利要求17所述的计算机可读介质,其中所述确定所述第一分数还包括基于选自下列项所组成的组的参数来确定所述第一分数:在与所述语义密钥相关的至少一个语义子密钥的所述第一搜索结果中的实例的数量;在所述第一搜索查询的至少一个关键词的所述第一搜索结果中的实例的数量;与在与所述语义密钥相关的至少一个语义子密钥的所述第一搜索结果中的多个实例相关的至少一个接近度;以及与在所述第一搜索查询的至少一个关键词的所述第一搜索结果中的多个实例相关的至少一个接近度。
19.如权利要求13所述的计算机可读介质,其中所述确定所述第二分数还包括基于选自下列项所组成的组的参数来确定所述第二分数:在与所述语义密钥相关的至少一个语义子密钥的所述第二搜索结果中的实例的数量;在所述第二搜索查询的至少一个关键词的所述第二搜索结果中的实例的数量;与在与所述语义密钥相关的至少一个语义子密钥的所述第二搜索结果中的多个实例相关的至少一个接近度;以及与在所述第二搜索查询的至少一个关键词的所述第二搜索结果中的多个实例相关的至少一个接近度。
20.一种包括处理器和存储器的系统,其中所述存储器包括用于使所述处理器实现搜索查询的自动生成的方法的指令,所述方法包括:
访问第一搜索查询;
确定所述第一搜索查询的第一部分包括语义密钥;
响应于所述确定,基于所述第一搜索查询而自动生成第二搜索查询,其中所述第二搜索查询没有所述第一部分,且其中所述第二搜索查询不同于所述第一搜索查询;以及
基于所述第二搜索查询来执行第一搜索,其中响应于所述第一搜索而生成的第一搜索结果包括多个文档,且其中所述多个文档中的每个文档包括与所述语义密钥相关的至少一个语义子密钥的至少一个相应的实例。
21.如权利要求20所述的系统,其中所述方法还包括:
基于所述第一搜索查询来执行第二搜索;
访问响应于所述第二搜索而生成的第二搜索结果;
分析所述第一搜索结果和第二搜索结果以自动确定第三搜索结果用于输出,其中所述第三搜索结果选自所述第一搜索结果和所述第二搜索结果所组成的组;以及
输出所述第三搜索结果。
22.如权利要求21所述的系统,其中所述方法还包括:
响应于用户输入,输出第四搜索结果,其中所述第四搜索结果不同于所述第三搜索结果,且其中所述第四搜索结果选自所述第一搜索结果和所述第二搜索结果所组成的组。
23.如权利要求20所述的系统,其中所述分析还包括确定与所述第一搜索结果相关的数量和与所述第二搜索结果相关的数量之比,且其中所述分析还包括如果所述比超过预定阈值,则自动确定所述第一搜索结果作为所述第三搜索结果用于输出。
24.如权利要求20所述的系统,其中所述分析还包括:
确定与所述第一搜索结果相关的第一分数;
确定与所述第二搜索结果相关的第二分数;
如果所述第一分数超过所述第二分数,则确定所述第一搜索结果作为所述第三搜索结果用于输出;以及
如果所述第二分数超过所述第一分数,则确定所述第二搜索结果作为所述第三搜索结果用于输出。
25.如权利要求24所述的系统,其中所述确定所述第一分数还包括基于选自下列项所组成的组的参数来确定所述第一分数:在与所述语义密钥相关的至少一个语义子密钥的所述第一搜索结果中的实例的数量;在所述第一搜索查询的至少一个关键词的所述第一搜索结果中的实例的数量;与在与所述语义密钥相关的至少一个语义子密钥的所述第一搜索结果中的多个实例相关的至少一个接近度;以及与在所述第一搜索查询的至少一个关键词的所述第一搜索结果中的多个实例相关的至少一个接近度。
26.如权利要求20所述的系统,其中所述确定所述第二分数还包括基于选自下列项所组成的组的参数来确定所述第二分数:在与所述语义密钥相关的至少一个语义子密钥的所述第二搜索结果中的实例的数量;在所述第二搜索查询的至少一个关键词的所述第二搜索结果中的实例的数量;与在与所述语义密钥相关的至少一个语义子密钥的所述第二搜索结果中的多个实例相关的至少一个接近度;以及与在所述第二搜索查询的至少一个关键词的所述第二搜索结果中的多个实例相关的至少一个接近度。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161535895P | 2011-09-16 | 2011-09-16 | |
US61/535,895 | 2011-09-16 | ||
US13/595,168 US9875298B2 (en) | 2007-10-12 | 2012-08-27 | Automatic generation of a search query |
US13/595,168 | 2012-08-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102999547A true CN102999547A (zh) | 2013-03-27 |
Family
ID=47928116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012103503785A Pending CN102999547A (zh) | 2011-09-16 | 2012-09-17 | 搜索查询的自动生成 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102999547A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491538A (zh) * | 2017-08-23 | 2017-12-19 | 成都安恒信息技术有限公司 | 一种db2数据库的存储过程命令及参数值提取方法 |
CN110520869A (zh) * | 2017-04-28 | 2019-11-29 | 阿诺特尔布莱恩公司 | 能够提供时空事件的动态感知不变性以期从其提取统一语义表示的自动化方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5151857A (en) * | 1989-12-18 | 1992-09-29 | Fujitsu Limited | Dictionary linked text base apparatus |
CN1815477A (zh) * | 2005-01-31 | 2006-08-09 | 国际商业机器公司 | 用于提供基于标记语言的限定词的方法和系统 |
US20090089047A1 (en) * | 2007-08-31 | 2009-04-02 | Powerset, Inc. | Natural Language Hypernym Weighting For Word Sense Disambiguation |
US20100057725A1 (en) * | 2008-08-26 | 2010-03-04 | Norikazu Matsumura | Information retrieval device, information retrieval method, and program |
US20110119261A1 (en) * | 2007-10-12 | 2011-05-19 | Lexxe Pty Ltd. | Searching using semantic keys |
-
2012
- 2012-09-17 CN CN2012103503785A patent/CN102999547A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5151857A (en) * | 1989-12-18 | 1992-09-29 | Fujitsu Limited | Dictionary linked text base apparatus |
CN1815477A (zh) * | 2005-01-31 | 2006-08-09 | 国际商业机器公司 | 用于提供基于标记语言的限定词的方法和系统 |
US20090089047A1 (en) * | 2007-08-31 | 2009-04-02 | Powerset, Inc. | Natural Language Hypernym Weighting For Word Sense Disambiguation |
US20110119261A1 (en) * | 2007-10-12 | 2011-05-19 | Lexxe Pty Ltd. | Searching using semantic keys |
US20100057725A1 (en) * | 2008-08-26 | 2010-03-04 | Norikazu Matsumura | Information retrieval device, information retrieval method, and program |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110520869A (zh) * | 2017-04-28 | 2019-11-29 | 阿诺特尔布莱恩公司 | 能够提供时空事件的动态感知不变性以期从其提取统一语义表示的自动化方法和装置 |
CN110520869B (zh) * | 2017-04-28 | 2023-06-02 | 阿诺特尔布莱恩公司 | 信号处理电路和方法、从信号提取感知不变的装置和方法 |
CN107491538A (zh) * | 2017-08-23 | 2017-12-19 | 成都安恒信息技术有限公司 | 一种db2数据库的存储过程命令及参数值提取方法 |
CN107491538B (zh) * | 2017-08-23 | 2021-01-29 | 成都安恒信息技术有限公司 | 一种db2数据库的存储过程命令及参数值提取方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120323905A1 (en) | Ranking data utilizing attributes associated with semantic sub-keys | |
CN103177075B (zh) | 基于知识的实体检测和消歧 | |
US10007655B2 (en) | Table size dependent transaction target table display | |
US7809721B2 (en) | Ranking of objects using semantic and nonsemantic features in a system and method for conducting a search | |
US8732155B2 (en) | Categorization in a system and method for conducting a search | |
CN105518661B (zh) | 经由挖掘的超链接文本的片段来浏览图像 | |
CN102782677B (zh) | 使用语义密钥的改良搜索 | |
US20140229476A1 (en) | System for Information Discovery & Organization | |
JP2012501499A (ja) | バーティカル提案により検索要求を支援するためのシステム及び方法 | |
CA2932401A1 (en) | Systems and methods for in-memory database search | |
JP2011108085A (ja) | 知識構築装置およびプログラム | |
CN102890701A (zh) | 情感数据使用的系统和方法 | |
JP6533876B2 (ja) | 商品情報表示システム、商品情報表示方法、及びプログラム | |
US20120317141A1 (en) | System and method for ordering of semantic sub-keys | |
WO2014013488A1 (en) | System and method for searching through a graphic user interface | |
WO2009064315A1 (en) | A method and system for building text descriptions in a search database | |
US20090132236A1 (en) | Selection or reliable key words from unreliable sources in a system and method for conducting a search | |
US20120323904A1 (en) | Automatic generation of a search query | |
CN105637505A (zh) | 用于搜索数据库的方法 | |
US20090132513A1 (en) | Correlation of data in a system and method for conducting a search | |
WO2009064318A1 (en) | Search system and method for conducting a local search | |
TW201523305A (zh) | 檢索系統、檢索條件設定裝置、檢索條件設定裝置之控制方法、電腦程式產品、及資訊記憶媒體 | |
US20120317103A1 (en) | Ranking data utilizing multiple semantic keys in a search query | |
CN102999547A (zh) | 搜索查询的自动生成 | |
US20090132505A1 (en) | Transformation in a system and method for conducting a search |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130327 |
|
WD01 | Invention patent application deemed withdrawn after publication |