使用语义密钥的改良搜索的制作方法

文档序号:6359398阅读:147来源:国知局
专利名称:使用语义密钥的改良搜索的制作方法
技术领域
本发明涉及一种使用语义密钥的改良搜索。
背景技术
传统的搜索引擎通常使用来自用户输入搜索查询的关键字以定位并显示网页。例如,如果用户对了解哪些国家与美国接壤感兴趣,那么用户可以输入搜索查询“与美利坚合众国接壤的国家”。作为响应,传统的搜索引擎可能返回带有“国家”、“接壤”、“美利坚”和“合众国”这四个词中的全部或部分的网页。然而,此类查询很可能返回大量(例如,数以千万的)不相关或不想要的网页。例如,结果可能含有关于美国乡村音乐(注“国家”的英文单词也有“乡村”的含义)、关于美国的总体信息等的网页。因而,用户一般执行过度限制性搜索以将结果的数量限制在更易于管理的数量之内,由此从结果中排除许多相关的网页。因此,使用传统的基于关键字的搜索引擎在互联网上找到相关信息是一项冗长且费时的任务。另外,通过传统的搜索引擎返回的相关结果的数量还受传统的关键字搜索方法的字面性质的限制。例如,网页可能使用与在搜索查询中输入的关键字相关的同义词或其它字词,但是不使用一个或更多个确切的关键字。在这种情况下,传统的基于关键字的搜索引擎可能不会返回这些网页,尤其在使用更具限制性的搜索(例如,在搜索查询的关键字之间使用“and” ( “与”)运算符等等)的情况下更为如此。因此,在考虑到传统的关键字搜索的字面性质的情况下,使用传统的搜索引擎搜索相关信息变得更加繁琐。此外,一些传统的搜索引擎基于每个网页与输入的关键字的相关性对识别结果执行排名。尽管这可能重新组织识别结果,但是其不能解决不相关结果的上述问题和与传统的基于关键字的搜索引擎的字面性质相关的其它问题。
发明概要相应地,对搜索引擎和搜索方法有一种返回更多相关结果的需要。对搜索引擎和搜索方法还有另一种需要,即需要能够执行更宽范围的搜索,同时减少不相关结果的数量。另外,还需要搜索引擎以不那么冗长且费时的方式返回相关结果。本发明的实施例提供对 这些需要和如下文所述的其它需要的新颖解决方案。本发明的实施例针对一种用于执行搜索的方法、计算机可读介质和计算机系统。更具体而言,本发明的实施例提供一种用于基于搜索数据(例如,用户经由用户接口的输入)执行搜索的方便且有效的机制,其中搜索数据可以包括搜索查询(例如,用于执行搜索)和至少一个语义密钥。语义密钥可以用于确定至少一个文档(例如,通过为语义密钥数据库编索引,所述语义密钥数据库包括对应于每个语义密钥和/或每个语义子密钥的至少一个相应的文档)。可以使用至少一个文档(例如,通过从搜索结果中删除不与该文档相关联的文档)来过滤搜索结果(例如,包括诸如网页、电子文档或文件、广告内容等的文档)。以这种方式,可以返回更多的相关搜索结果。在一个实施例中,一种由计算机实现的用于执行搜索的方法包括访问包含语义密钥和搜索查询的搜索数据,其中搜索数据源自于经由用户接口的用户输入。确定与语义密钥相关联的至少一个文档。可以基于搜索查询来执行搜索以产生搜索结果。在另一实施例中,一种计算机可读介质可以具有计算机可读程序代码,该代码实现于计算机可读介质中,用于使计算机系统执行用于执行搜索的方法。且在又一实施例中,一种系统可以包括处理器和存储器,其中存储器包括在由系统执行时实现用于执行搜索的方法的指令。附图简述在附图中通过示例的方式而不是通过限制的方式来说明本发明,且其中相同的参考编号指相似的元件。图I示出根据本发明的一个实施例的用于实现搜索引擎的示例性系统。图2示出根据本发明的一个实施例的由计算机实现的用于执行网页搜索的过程的示例性流程图。图3示出根据本发明的一个实施例的网页搜索执行的示例性数据流图。图4示出根据本发明的一个实施例的由计算机实现的用于基于搜索查询的焦点确定语义密钥的过程的示例性流程图。图5示出根据本发明的一个实施例的语义子密钥的示例性组织。图6示出根据本发明的一个实施例的与数值表达式相关联的语义子密钥的示例性组织。图7A示出根据本发明的一个实施例的由计算机实现的用于过滤网页搜索结果的过程的示例性流程图。图7B示出根据本发明的一个实施例的用于描绘网页搜索过滤机制的示例性方框图。图8A示出根据本发明的一个实施例的由计算机实现的用于使用从关键字搜索结果产生的文本过滤网页搜索结果的过程的示例性流程图。图SB示出根据本发明的一个实施例的用于描绘使用从关键字搜索结果产生的文本的网页搜索过滤机制的示例性方框图。图9示出根据本发明的一个实施例的由计算机实现的用于根据语义子密钥频率对网页搜索结果进行排名的过程的示例性流程图。

图10示出根据本发明的一个实施例的由计算机实现的用于根据关键字频率对网页搜索结果进行排名的过程的示例性流程图。图11示出根据本发明的一个实施例的由计算机实现的用于根据语义子密钥与搜索查询关键字的接近性对网页搜索结果进行排名的过程的示例性流程图。图12示出根据本发明的一个实施例的可以用于确定网页的两个部分之间的接近性的网页内容的示例性文字顺序排序。图13示出根据本发明的一个实施例的用于执行网页搜索的示例性屏幕上的图形用户接口。图14示出根据本发明的一个实施例的用于执行网页搜索的示例性屏幕上的图形用户接口以及显示的搜索结果。图15示出根据本发明的一个实施例的执行搜索的示例性数据流图。图16示出根据本发明的一个实施例的由计算机实现的用于建立语义密钥数据库的过程的示例性流程图。图17示出根据本发明的一个实施例的语义密钥和语义子密钥的示例性表。图18示出根据本发明的一个实施例的示例性倒排索引。图19示出根据本发明的一个实施例的示例性语义密钥数据库。图20示出根据本发明的一个实施例的由计算机实现的用于执行搜索的过程的示例性流程图。图21示出根据本发明的一个实施例的用于执行搜索的示例性用户接口。图22示出根据本发明的一个实施例的使用搜索数据处理器执行搜索的示例性数据流图。图23示出根据本发明的一个实施例的由计算机实现的用于修改搜索查询以进一步包括至少一个语义子密钥的过程的示例性流程图。图24示出根据本发明的一个实施例的包括至少一个属性的示例性语义密钥数据库。图25示出根据本发明的一个实施例的由计算机实现的用于修改搜索查询以进一步包括语义密钥或语义密钥的一部分的过程的示例性流程图。图26A示出根据本发明的一个实施例的用于描绘语义关键字的自动完成或建议的示例性屏幕上的图形用户接口的第一视图。图26B示出根据本发明的一个实施例的用于描绘语义关键字的自动完成或建议的示例性屏幕上的图形用户接口的第二视图。图27示出根据本发明的一个实施例的用于呈现搜索结果的示例性屏幕上的图形用户接口。图28示出根据本发明的一个实施例的由计算机实现的用于基于改变的搜索查询执行搜索的过程的示例性流程图。图29示出根据本发明的一个实施例的用于使用修改的搜索查询执行搜索的示例性数据流图。图30示出可以实现本发明的实施例的示例性计算机系统平台。
具体实施例方式现在详细参考本发明的实施例,其示例在附图中示出。尽管将结合以下实施例论述本发明,但是应理解其目的不是将本发明仅限于这些实施例。相反,本发明旨在涵盖可以包括在由附带的权利要求书定义的本发明的精神和保护范围内的替代、修改和等效物。此夕卜,在本发明的以下详细描述中,陈述了众多的特定细节以便提供对本发明的透彻理解。然而,可以在不具有这些特定细节的情况下实践本发明的实施例。在其它情况下,未详细描述众所周知的方法、程序、组件和电路以不使本发明的各方面不必要地难以理解。符号和术语在下面详细描述的某些部分中,通过过程、逻辑块、处理和其它符号表示来描述对计算机存储器内的数据位的操作。这些描述和表示是数据处理领域的技术人员用于将其工作的实质最有效地传达给本领域其他技术人员的手段。在本申请案中,过程、逻辑块、流程等被构想为能够达到预期结果的前后一致的步骤或指令序列。步骤为需要物理量的物理操作的那些步骤。通常,尽管不一定,但是这些量采用能够在计算机系统中存储、传递、组合、比较和以其它方式操作的电或磁信号的形式。然而,应该牢记,所有这些和相似的术语是与相应的物理量相关联,且仅仅是应用于这些量的方便标签。除非特别说明,否则如从以下论述中显而易见的那样,应了解贯穿本发明,利用以下术语的论述,例如,“异常中止”、“接受”、“访问”、“添加”、“调整”、“分析”、“应用”、“装配”、“指派”、“平衡”、“阻塞”、“计算”、“捕获”、“组合”、“比较”、“收集”、“建立”、“调试”、“定义”、“描绘”、“检测”、“确定”、“显示”、“设立”、“实施”、“过滤”、“交换”、“产生”、“分组”、“隐藏”、“识别”、“启动”、“交互”、“修改”、“监视”、“移动”、“输出”、“执行”、“放置”、“呈现”、“处理”、“编程”、“查询”、“排名”、“删除”、“重复”、“恢复”、“取样”、“模拟”、“排序”、“存储”、“减去”、“暂停”、“追踪”、“代码转换”、“变换”、“解除阻塞”、“使用”等等,指计算机系统或相似电子计算装置的操作和过程。计算机系统或相似电子计算装置操作表示为计算机系统的寄存器和存储器内的物理(电子)量的数据并将其变换为相似地表示为计算机系统的存储器或寄存器或其它类似信息存储器、传输或显示装置内的物理量的其它数据。本发明的实施例图I示出根据本发明的一个实施例的用于实现搜索引擎(例如,基于互联网的搜索引擎)的示例性系统100。如图I中所示,服务器110可以包含用于实现搜索网页的过程(例如,根据图2的200)的搜索引擎代码115。在一个实施例中,服务器110可以经由互联网130与一个或更多个计算机系统(例如,120a、120b等)通信,从而使搜索引擎代码(例如,115)能够与一个或更多个图形用户接口(例如,计算机系统120a的125a、计算机系统120b的125b等)通信。图形用户接口(例如,125a、125b等)可以将输入(例如,由用户输入的搜索查询、用于启动网页搜索的命令等)传达给搜索引擎代码(例如,115),也可以显示或以其它方式呈现从搜索引擎代码接收的输出(例如,网页搜索的结果等)。以这种方式,图形用户接口(例如,125a、125b等)可以实现用于执行网页搜索的图形用户接口(例如,图13和图14的1300)。尽管图I只示出两个计算机系统(例如,120a和120b),但是应了解在其它实施例中可以使用更大或更小数量的计算机系统。也应了解一个或更多个网络、网络装置等可以耦接到系统100的组件或以其它方式用于实现系统100的组件(例如,服务器110、计算机系统120a、计算机系统120b等)之间的通信。也应了解,在一个实施例中,服务器110可以经由企业内部互联网(例如,作为互联网130的代替或补充等)与耦接的计算机系统(例如,120a、120b等)通信。另外,尽管只有一个服务器(例如,110)示出于图I中,但是应了 解在其它实施例中系统100可以包含更大数量的服务器。此外,应了解在其它实施例中,系统100可以包含额外组件(例如,耦接到互联网130和/或直接耦接到服务器110的一个或更多个存储器,用于存储搜索引擎代码115、用于存储由服务器110和/或搜索引擎代码115等访问的数据)。图2示出根据本发明的一个实施例的由计算机实现的用于执行网页搜索的过程200的示例性流程图。在本文中描述过程200的步骤时,将参考图3的示例性数据流图300以及图I的系统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)”。如另一示例,可以为语义密钥“价格”确定语义密钥“成本”、“费用”和/或“金钱”。在一个实施例中,语义密钥和语义子密钥可以包括其它类型的数据。例如,“电子邮件地址”(例如,“电子邮件地址”等等)可以是语义密钥,其中相应的语义子密钥可以包括至少一个电子邮件地址。如另一示例,“地址”(例如,包括街道名称、街道号码、城市、州、国家等的实际地址)可以是语义密钥,其中相应的语义子密钥可以包括至少一个地址。如又一示例,“电话号码”(例如,电话号码、手机号码等)可以是语义密钥,其中相应的语义子密钥可以包括至少一个电话号码。如另一示例,“传真号码”(例如,“传真号码”等等)可以是语义密钥,其中相应的语义子密钥可以包括至少一个传真号码。且如另一示例,语义密钥可以是概念(例如,意义、含义、理由/起因、情绪、褒义词、贬义词、位置、方法等),其中相应的语义子密钥可以包括与概念相关的至少一个词。
在一个实施例中,可以在步骤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)可以由搜索引擎代码(例如,图I的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中识别对应于网页B和网页C的文本(例如,通过比较结果880)。步骤840涉及指定对应于至少一个经过滤文本的关键字搜索结果的至少一个网页作为经过滤的网页搜索结果。例如,如图8B中所示,在比较结果880包括网页B和网页C的文本的情况下,那么来自关键字搜索结果322的网页B和网页C可以被指定为经过滤的搜索结果(例如,355)。且在一个实施例中,步骤840可以包括在不包括子密钥345中的一个或更多个的关键字搜索结果322的其它网页之上以优先顺序或以其它方式对指定网页(例如,与比较结果880相关的或用其识别的)进行排名。以这种方式,步骤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包含语义子密钥I的30个实例和语义子密钥2的40个实例,那么网页X的语义子密钥频率 可以是70 (例如,30与40的和)。或者,可以基于搜索结果(例如,355)的每个网页的一个或更多个选定语义子密钥(例如,245、520、620等)的实例数量来确定每个网页的语义子密钥频率。例如,如果语义子密钥I用于确定语义子密钥频率,那么网页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包含关键字I的10个实例和关键字2的50个实例,那么网页X的关键字频率可以是60 (例如,10与50的和)。或者,可以基于搜索结果(例如,355)的每个网页的一个或更多个选定搜索查询关键字的实例数量来确定每个网页的关键字频率。例如,如果关键字I用于确定关键字频率,那么网页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包含与网页的一个或更多个相应的字相关联的语义子密钥(例如,SI和S2)和关键字(例如,Kl和K2),且行1230包含四个“热点”。“热点”表示局部化的语义子密钥和/或关键字的集合,接近性是针对这些语义子密钥和/或关键字来确定的。在一个实施例中,一个热点可以包含在网页中找到的所有语义子密钥(例如,SI和S2)和所有关键字(例如,Kl和K2)。在其它实施例中,一个热点可以包含在网页中找到的部分语义子密钥和/或关键字。另外,在一个实施例中,可以为多个重叠热点指派单一接近性(例如,等于每个单个重叠热点的最大接近性、等于每个单个重叠热点的最小接近性等)。可以用热点横跨的字数来计算给定热点的接近性。例如,热点I可以包含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示出根据本发明的一个实施例的用于执行网页搜索的示例性屏幕上的图形用户接口(⑶I) 1300。如图13中所示,⑶I 1300可以包含用于输入搜索查询的区域1310。例如,如图13中所示,用户可以输入以下搜索查询(例如,310)艾菲尔铁塔有多高? ”搜索查询可以包含问题。或者,搜索查询可以包含一系列关键字和/或短语。另外,在一个实施例中,在区域1310中输入的搜索查询(例如,310)可以包含至少一个运算符(例如,“and”“与”、“or”“或”等)和/或用于控制由搜索引擎(例如,320)执行的搜索的其它数据。⑶I 1300也可以包含图形对象1320,其用于基于在区域1310中输入的搜索查询(例如,310)来启动网页搜索。通过与图形对象1320的交互(例如,在图形对象1320上移动鼠标指针或光标并在鼠标上单击按键),可以进行网页搜索并可以在GUI 1300的其它区域(例如,如图14中所示)中显示搜索结果。图14示出根据本发明的一个实施例的用于执行网页搜索的示例性屏幕上的GUI1300以及所显示的搜索结果。如图14中所示,区域1330可以显示搜索结果输出375的一部分,搜索结果输出375包含对在区域1310中输入的问题的一个或更多个回答(例如,1332和1334)。回答可以包含第一部分,其包含从搜索结果(例如,355、365等)的一个或更多个网页提取的数值(例如,324、1063等)。另外,回答可以包含第二部分(例如,单位“米”和“英尺”),其可以对应于第一部分。第二部分也可以与语义子密钥(例如,345、520、620等)相关联。此外,在一个实施例中,第一部分可以源自于与语义子密钥(例如,其也与第二部分相关联)相关联的搜索结果(例如,355、365等)的网页。在一个实施例中,在搜索查询(例如,310)的焦点(例如,335)与数量(例如,与距离、高度等相关)相关的情况下,那么可以确定回答(例如,显示于区域1330中)可以包含数量(例如,构成回答的第一部分)。因而,可以从搜索结果(例如,355、365等)提取一个或更多个数量(例如,324、1063等)且这些数量与适当的修饰符(例如,与用于过滤和/或产生搜索结果的语义子密钥相关)搭配。数量可以位于靠近修饰符或与其对应的语义子密钥(例如,由顺序字排序所确定,如关于图12所论述的)的位置。例如,如果在搜索结果(例如,与艾菲尔铁塔相关)中一些“英尺”这样的词中间通常找到数量“1063”,那么可以选择数量“1063”以搭配修饰符“英尺”以显示于区域1330中。另外,如果在搜索结果中靠近修饰符或与其对应的语义子密钥处找到多个数量,那么可以选择更频繁出现的数量以搭配修饰符并显示于区域1330中。 如另一示例,在区域1310中输入的搜索查询(例如,310)可以包含以下问题“哪些国家与美利坚合众国接壤? ”。可以将搜索查询(例如,310)的焦点(例如,335)确定为词“国家”,因此用于搜索的语义子密钥(例如,345、520、620等)可以包含国家的列表(例如,如图5中所示)。在一个实施例中,可以选择与具有最高排名的搜索结果(例如,355、365等)的网页相关联的语义子密钥(例如,345、520、620等)以显示于⑶I 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中所示,⑶I 1300也可以包含区域1350,其用于显示语义密钥和/或语义子密钥(例如,用于产生显示于区域1330和/或区域1340中的搜索结果)。在一个实施例中,至少一个可交互的图形对象(例如,1351-1355)可以显示于区域1350中,其中每个交互的图形对象可以对应于语义密钥和/或语义子密钥。可交互的图形对象(例如,1351-1355)可以用于选择或取消选择语义密钥和/或语义子密钥。在一个实施例中,对语义密钥和/或语义子密钥的选择可以使与选定语义密钥和/或语义子密钥相关联的搜索结果显示于区域1330和/或区域1340中。另外,对语义密钥和/或语义子密钥的取消选择可以使与选定语义密钥和/或语义子密钥相关联的搜索结果被隐藏或不显示(例如,在区域1330和/或区域1340中)。以这种方式,在一个实施例中,对可交互的图形对象1354(例如,与标示为“英尺”的语义子密钥相关联)和可交互的图形对象1355(例如,与标示为“米”的语义子密钥相关联)的选择可以使与相应的语义子密钥相关的回答显示于区域1330中。另夕卜,对可交互的图形对象1354和可交互的图形对象1355的选择可以使与相应的语义子密钥相关的一个或更多个网页显示于区域1340中。
显示于⑶I 1300的区域1350中的可交互的图形对象(例如,1351-1355)可以用于输入或以其它方式传达输入377 (例如,到图形数据生成器)。以这种方式,在一个实施例中,可交互的图形对象可以用于改变搜索结果(例如,375)的显示,而不启动新的网页搜索。或者,在一个实施例中,可交互的图形对象也可以用于启动新的网页搜索。例如,对与给定语义子密钥相关联的图形对象的取消选择可以使语义子密钥345输出(例如,通过语义密钥处理器340),而不带有给定语义子密钥,此举又可以使语义子密钥搜索结果(例如,324)输出(例如,通过搜索引擎320),而不带有与给定语义子密钥相关联的搜索结果,而这又可以影响由其它组件(例如,过滤组件350、排名组件360、图形数据生成器370等)访问和/或输出的搜索结果。因此,改变显示于区域1350中的激活的语义子密钥(例如,通过选择或取消选择至少一个语义子密钥)可以通过产生新的网页搜索(例如,由搜索引擎320执行的)而改变搜索结果(例如,375)的显示。在一个实施例中,与与上级或父节点相关联的可交互的图形对象的交互可以选择或取消选择所有子节点。例如,与可交互的图形对象1351的交互可以选择或取消选择显示于可交互的图形对象1351下方的所有其它语义子密钥(例如,1352-1355)。另外,与可交互的图形对象1352的交互可以选择或取消选择显示于可交互的图形对象1352下方且显示于可交互的图形对象1353上方的所有其它语义子密钥(例如,1354)。⑶I 1300也可以包含图形对象1360,其用于更新显示于区域1330和/或1340中的搜索结果(例如,375)的显示。例如,在一个实施例中,作为对激活或撤消激活显示于区域1350中的语义子密钥的响应,与图形对象1360的交互可以更新显示于区域1330和/或1340中的搜索结果(例如,375)的显示,而不启动新的网页搜索(例如,传达用于改变搜索结果输出375的带有新的语义子密钥配置的输入377)。或者,在一个实施例中,作为对激活或撤消激活显示于区域1350中的语义子密钥的响应,与图形对象1360的交互可以通过启动新的网页搜索(例如,基于由区域1350的可交互的图形对象1351-1355指示的新的语义子密钥配置)来更新显示于区域1330和/或1340中的搜索结果(例如,375)的显示。此外,应了解可以在与显示于⑶I 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和Dltl)和/或至少一个相应的文档位置(例如,La、Le、Lf和Lb)。如图16中所示,步骤1630涉及使用与文档相关联的至少一个参数校正文档(和/或文档位置)与语义子密钥之间的关联。例如,在基于索引1510的数据语义子密钥(例如,“苹果”)与多于一个的语义密钥(例如,“水果”和“计算机品牌”)相关联的情况下,步骤1630可以涉及使用与文档相关联的至少一个参数确定每个文档或文档位置关联的语义密钥。在一个实施例中,参数可以是语义子密钥与文档的至少一个词或短语之间的关系(例如,句法关系,例如主谓、动宾、位于同一个句子、位于同一个子句、位于同一个短语 等)。例如,如果文档(例如,D1)包括句子“苹果尝起来味道很好”中使用的语义子密钥“苹果”,则词“尝起来”(例如,在与语义子密钥“苹果”的主谓关系中)可以用于在步骤1630中确定语义子密钥“苹果”(且因此文档D1和/或在文档中的位置La)与语义密钥“水果”相关联而不与语义密钥“计算机品牌”相关联(例如,如图19的语义密钥数据库342中所示)O在一个实施例中,参数可以是语义子密钥与文档的至少一个词或短语之间的接近性或距离(例如,字数、行数、段落数等)。例如,如果语义子密钥(例如,“苹果”)和词(例如,在以上示例中的“尝起来”)是在预定的接近性或距离(例如,预定字数、预定行数、预定段落数等)之内,那么在步骤1630中可以确定语义子密钥“苹果”(且因此文档D1和/或在文档中的位置La)与语义密钥“水果”相关联(例如,如图19的语义密钥数据库342中所示)O在一个实施例中,参数可以是文档中与语义子密钥相关联的词的数量(例如,词的实例数量)。例如,如果词的数量(例如,在以上示例中词“尝起来”的实例数量)满足或超过预定阈值,那么可以在步骤1630中确定语义子密钥“苹果”(且因此文档D1和/或在文档中的位置La)与语义密钥“水果”相关联(例如,如图19的语义密钥数据库342中所示)O在一个实施例中,参数可以是在文档中找到的主题。在一个实施例中,可以根据2010年9月17日提出申请的标题名称为“Method and 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(例如,包括诸如文本输入框、下拉列表框等表单域)中输入搜索数据,其中搜索数据包括语义密钥(例如,词“颜色”)和搜索查询(例如,词“法拉利”)。应了解语义密钥可以包括任何数量的字词或字符,且也应了解搜索查询可以包括任何数量的字词或字符。在一个实施例中,语义密钥与搜索查询可以由至少一个符号(例如,冒号、连字号、运算符等)分隔。且在一个实施例中,可以在步骤2010中由搜索数据处理器2230来访问搜索数据。步骤2020涉及处理搜索数据(例如,使用搜索数据处理器2230)。在一个实施例中,步骤2020中的处理可以涉及分离语义密钥(例如,2234)与搜索查询(例如,2232)、从搜索数据提取语义密钥(例如,2234)、从搜索数据提取搜索查询(例如,2232)等。在一个实施例中,步骤2020中的处理可以涉及修改搜索查询(例如,2232)以进一步包括与语义密钥(例如,2234)相关联的至少一个语义子密钥(例如,按照图23的过程2300)。且在一个实施例中,步骤2020中的处理可以涉及修改搜索查询(例如,2232)以进一步包括语义密钥(例如,2234)或其一部分(例如,按照图25的过程2500)。图23示出根据本发明的一个实施例的由计算机实现的用于修改搜索查询以进一步包括至少一个语义子密钥的过程2300的示例性流程图。如图23中所示,步骤2310涉及访问搜索查询(例如,来自搜索数据2210、搜索查询输入310等的2232)。在一个实施例中,在从搜索数据(例如,2210)访问搜索查询的情况下,可以由搜索数据处理器(例如,2230)从搜索数据提取或以其它方式产生搜索查询(例如,2232)。步骤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、搜索查询输入310等的2232)。在一个实施例中,在从搜索数据(例如,2210)访问搜索查询的情况下,可以由搜索数据处理器(例如,2230)从搜索数据提取或以其它方式产生搜索查询(例如,2232)。步骤2520涉及确定与搜索查询(例如,在步骤2510中访问的)相关联的至少一个语义密钥。在一个实施例中,可以在步骤2520中从搜索数据(例如,2210)确定至少一个语义密钥(例如,使用搜索数据处理器2230)。在一个实施例中,可以在步骤2520中基于搜索查询焦点(例如,335)来确定至少一个语义密钥(例如,使用语法分析器330和/或语义 密钥处理器340),其中搜索查询焦点(例如,335)可以用于为语义密钥数据库(例如,342)编索引以访问至少一个语义密钥。如图25中所示,步骤2530涉及修改搜索查询(例如,在步骤2510中访问的)以进一步包括至少一个语义密钥(例如,在步骤2520中确定的)或其一部分。例如,在搜索查询包括词“2008” (如在步骤2510中访问的)且与搜索查询相关联的语义密钥被确定为“诺贝尔化学奖得主”(例如,在步骤2520中)的情况下,可以在步骤2530中修改搜索查询以进一步包括词“诺贝尔”(例如,语义密钥“诺贝尔化学奖得主”的一部分)。如另一示例,在搜索查询包括词“2008” (如在步骤2510中访问的)且与搜索查询相关联的语义密钥被确定为“诺贝尔化学奖得主”(例如,在步骤2520中)的情况下,可以在步骤2530中修改搜索查询以进一步包括短语“诺贝尔化学奖得主”(例如,整个语义密钥“诺贝尔化学奖得主”)。以这种方式,本发明的实施例可以通过修改搜索查询以包括至少一个语义密钥(例如,基于搜索查询的一个或更多个词确定的)或其一部分而使更相关的搜索结果被返回(例如,作为在过程2000的步骤2040中执行的搜索的结果)。尽管图25示出具有特定数量的步骤的过程2500,但是应了解在其它实施例中,过程2500可以具有不同数量的步骤。尽管图25示出具有步骤的特定排序的过程2500,但是应了解在其它实施例中,过程2500可以具有步骤的不同排序。返回到图20,步骤2030涉及确定与语义密钥(例如,在步骤2010和/或步骤2020中访问的)相关联的至少一个文档(例如,网页、电子文档或文件、广告内容等)。可以在步骤2030中通过使用语义密钥为语义密钥数据库342编索引来确定至少一个文档以访问或以其它方式确定与语义密钥和/或与语义密钥相关联的语义子密钥相关联的一个或更多个文档。例如,可以使用语义密钥“水果”来为语义密钥数据库342编索引以访问或以其它方式确定与语义密钥相关联的一个或更多个文档(例如,如图19中所示的DpDlt^DpD5等)。如另一示例,可以使用与语义密钥(例如,“水果”)相关联的语义子密钥(例如,“苹果”)来为语义密钥数据库342编索引以访问或以其它方式确定与语义子密钥和/或语义密钥相关联的一个或更多个文档(例如,如图19中所示的DpDltl等)。在一个实施例中,步骤2030可以涉及产生和/或输出数据(例如,2245),该数据包括至少一个文档标识符、至少一个完整文档、至少一个文档的至少一个部分、与至少一个文档相关联的其它信息、其某一组合等。步骤2040涉及基于搜索查询(例如,在步骤2010和/或步骤2020等中访问的2232)来执行搜索。搜索可以是关键字搜索(例如,基于搜索查询的一个或更多个词或关键字)。在步骤2040中,搜索引擎320可以基于搜索查询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、图SB等所论述)。在一个实施例中,可以按与过程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中所示,语义密钥“color”( “颜色”)可以自动地显示于区域2110中,作为对从区域2615选择语义密钥“color”的响应。另外,作为对使用区域2615选择语义密钥的响应,区域2615可以加以隐藏或不显示(例如,如图26B中所示)。因此,实施例使语义密钥和/或搜索数据(例如,包括构成搜索查询的至少一个语义密钥和数据)能够更有效地被选择和输入,以便用于搜索。另外,实施例使用户能够确定和/或选择语义密钥,而无需事先了解语义密钥。例如,在用户不知道词“color”为语义密钥的情况下,区域2615可以显示语义密钥“color” (和/或与其相关的一个或更多个其它语义密钥),作为对在区域2110中输入一个或更多个字母(例如,字母“C”、字母组合“co”等)的响应。因而,区域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中所示,可以通过计算机可读指令或计算机可执行指令的执行来实现本发明的部分,计算机可读指令或计算机可执行指令可以驻留在计算机系统平台3000的组件中且可以用作通用计算机网络的一部分。应了解,图30的计算机系统平台3000仅仅是示例性的,因而本发明可以在许多不同的系统内运行。这些系统包括(但不限于)通用计算机系统、嵌入式计算机系统、膝上型计算机系统、手持计算机系统、便携式计算机系统和独立计算机系统。在一个实施例中,计算机系统平台3000可以用于实现网络服务器110、计算机系统120、计算机系统130、计算机系统440、计算机系统550、其某一组合等。且在一个实施例中,计算机系统平台3000的一个或更多个组件可以置于外壳或外罩中和/或与外壳或外罩耦接。在一个实施例中,如虚线3030所示,计算机系统平台3000可以包括至少一个处理器3010和至少一个存储器3020。处理器3010可以包括中央处理单元(CPU)或其它类型的处理器。取决于计算机系统环境的配置和/或类型,存储器3020可以包括易失性存储器(例如,RAM)、非易失性存储器(例如,ROM、快闪存储器等)或两者的某一组合。另外,存储器3020可以是可移动、非可移动存储器等。在其它实施例中,计算机系统平台3000可以包括额外存储器(例如,可移动存储器3040、非可移动存储器3045等)。可移动存储器3040和/或非可移动存储器3045可以包括易失性存储器、非易失性存储器或两者的任何组合。另外,可移动存储器3040和/或非可移动存储器3045可以包括⑶-ROM、数字多功能光盘(DVD)或其它光学存储器、磁带盒、磁带、磁盘存储器或其它磁存储装置,或可以用于存储由计算机系统平台3000访问的信息的任何其它介质。如图30中所示,计算机系统平台3000可以经由通信接口 3070与其它系统、组件或装置通信。通信接口 3070可以通过已调数据信号(例如,载波)或其它传送机制实施计算机可读指令、数据结构、程序模块或其它数据。通过示例且并非限制的方式,通信接口3070可以耦接到有线介质(例如,有线网络、直接有线连接等)和/或无线介质(例如,无线网络、利用声波、RF、红外线的无线连接或其它无线信令等)。通信接口 3070也可以将计算机系统平台3000耦接到一个或更多个输入装置(例如,键盘、鼠标、跟踪球、操纵杆、笔、语音输入装置、接触式输入装置等)。在一个实施例中,通信接口 3070可以将计算机系统平台3000耦接到一个或更多个输出装置(例如,显示器、扬声器、打印机等)。如图30中所示,图形处理器3050可以对存储于计算机系统平台3000的帧缓冲器3060或其它存储器(例如,3020、3040、3045等)中的图形数据执行图形处理操作。存储于帧缓冲器3060中的图形数据可以由计算机系统平台3000的组件(例如,图形处理器3050、处理器3010等)和/或其它系统/装置的组件访问、处理和/或修改。另外,可以在耦接到计算机系统平台3000的输出装置上访问(例如,通过图形处理器3050)和显示图形数据。因此,存储器3020、可移动存储器3040、非可移动存储器3045、帧缓冲器3060或其组合可以 是计算机可读介质或计算机可用介质,且可以包括在由处理器(例如,3010、3050等)执行时实现包括以下步骤的方法的指令执行网页搜索(例如,根据图2的过程200)、基于搜索查询焦点来确定语义密钥(例如,根据图4的过程400)、过滤网页搜索结果(例如,根据图7A的过程700)、使用从关键字搜索结果产生的文本来过滤网页搜索结果(例如,根据图8A的过程800)、根据语义子密钥频率对网页搜索结果进行排名(例如,根据图9的过程900)、根据关键字频率对网页搜索结果进行排名(例如,根据图10的过程1000)、根据语义子密钥与搜索查询关键字的接近性对网页搜索结果进行排名(例如,根据图11的过程1100)、建立语义密钥数据库(例如,根据图16的过程1600)、执行搜索(例如,根据图20的过程2000)、修改搜索查询以进一步包括至少一个语义子密钥(例如,根据图23的过程2300)、修改搜索查询以进一步包括语义密钥或其一部分(例如,根据图25的过程2500)、基于改变的搜索查询来执行搜索(例如,根据图28的过程2800)、其某一组合等。在前述说明书中,已参考众多特定细节来描述本发明的实施例,所述细节可以随不同实施而改变。因此,内容的唯一和排他性指示,且申请人的目的是,本发明是从本申请案颁予的权利要求书集合,其以此类权利要求书颁予的特定形式包括任何后续修正。因此,在权利要求书中未明确叙述的限制、要素、性质、特征、优点或属性不应该以任何方式限制此类权利要求书的保护范围。因此,说明书和附图被视为是说明性而非限制性意义。
权利要求
1.一种由计算机实现的执行搜索的方法,所述方法包含 访问包含语义密钥和搜索查询的搜索数据,其中所述搜索数据源自于经由用户接口的用户输入; 确定与所述语义密钥相关联的至少一个文档;以及 基于所述搜索查询来执行所述搜索以产生搜索结果。
2.如权利要求I所述的方法,其还包含 使用所述至少一个文档来过滤所述搜索结果。
3.如权利要求I所述的方法,其还包含 对所述搜索结果进行排名。
4.如权利要求I所述的方法,其还包含 处理所述搜索数据。
5.如权利要求4所述的方法,其中所述处理包含从所述搜索数据提取所述语义密钥和所述搜索查询。
6.如权利要求4所述的方法,其中所述处理包含修改所述搜索查询以进一步包含与所述语义密钥相关联的至少一个语义子密钥。
7.如权利要求6所述的方法,其还包含 确定与所述至少一个语义子密钥相关联的至少一个属性,并且如果所述搜索查询包含所述至少一个属性,其中所述处理还包含修改所述搜索查询以进一步包含所述至少一个语义子密钥。
8.如权利要求4所述的方法,其中所述处理包含修改所述搜索查询以进一步包含所述语义密钥的至少一部分。
9.如权利要求I所述的方法,其中所述搜索结果包含广告内容,且还包含 输出所述搜索结果以将其与网页搜索结果同时加以呈现。
10.如权利要求9所述的方法,其中所述网页搜索结果由使用所述搜索数据的至少一部分执行的搜索产生。
11.如权利要求I所述的方法,其中所述语义密钥选自由以下组成的组字词、数字、电子邮件地址、地址、电话号码、传真号码和概念。
12.—种计算机可读介质,其具有实现于其中的计算机可读程序代码,所述代码用于使计算机系统执行分析网页导航的方法,所述方法包含 访问包含语义密钥和搜索查询的搜索数据,其中所述搜索数据源自于经由用户接口的用户输入; 确定与所述语义密钥相关联的至少一个文档;以及 基于所述搜索查询来执行所述搜索以产生搜索结果。
13.如权利要求12所述的计算机可读介质,其中所述方法还包含 使用所述至少一个文档来过滤所述搜索结果。
14.如权利要求12所述的计算机可读介质,其中所述方法还包含 对所述搜索结果进行排名。
15.如权利要求12所述的计算机可读介质,其中所述方法还包含 处理所述搜索数据。
16.如权利要求15所述的计算机可读介质,其中所述处理包含从所述搜索数据提取所述语义密钥和所述搜索查询。
17.如权利要求15所述的计算机可读介质,其中所述处理包含修改所述搜索查询以进一步包含与所述语义密钥相关联的至少一个语义子密钥。
18.如权利要求17所述的计算机可读介质,其中所述方法还包含 确定与所述至少一个语义子密钥相关联的至少一个属性,并且 如果所述搜索查询包含所述至少一个属性,其中所述处理还包含修改所述搜索查询以进一步包含所述至少一个语义子密钥。
19.如权利要求15所述的计算机可读介质,其中所述处理包含修改所述搜索查询以进一步包含所述语义密钥的至少一部分。
20.如权利要求12所述的计算机可读介质,其中所述搜索结果包含广告内容,且还包含 输出所述搜索结果以将其与网页搜索结果同时加以呈现。
21.如权利要求20所述的计算机可读介质,其中所述网页搜索结果由使用所述搜索数据的至少一部分执行的搜索产生。
22.如权利要求12所述的计算机可读介质,其中所述语义密钥选自由以下组成的组字词、数字、电子邮件地址、地址、电话号码、传真号码和概念。
23.一种包含处理器和存储器的系统,其中所述存储器包含在由所述系统执行时实现分析网页导航的方法的指令,所述方法包含 访问包含语义密钥和搜索查询的搜索数据,其中所述搜索数据源自于经由用户接口的用户输入; 确定与所述语义密钥相关联的至少一个文档;以及 基于所述搜索查询来执行所述搜索以产生搜索结果。
24.如权利要求23所述的系统,其中所述方法还包含 使用所述至少一个文档来过滤所述搜索结果。
25.如权利要求23所述的系统,其中所述方法还包含 对所述搜索结果进行排名。
26.如权利要求23所述的系统,其中所述方法还包含 处理所述搜索数据。
27.如权利要求26所述的系统,其中所述处理包含从所述搜索数据提取所述语义密钥和所述搜索查询。
28.如权利要求26所述的系统,其中所述处理包含修改所述搜索查询以进一步包含与所述语义密钥相关联的至少一个语义子密钥。
29.如权利要求28所述的系统,其中所述方法还包含 确定与所述至少一个语义子密钥相关联的至少一个属性,并且 如果所述搜索查询包含所述至少一个属性,其中所述处理还包含修改所述搜索查询以进一步包含所述至少一个语义子密钥。
30.如权利要求26所述的系统,其中所述处理包含修改所述搜索查询以进一步包含所述语义密钥的至少一部分。
31.如权利要求23所述的系统,其中所述搜索结果包含广告内容,且还包含 输出所述搜索结果以将其与网页搜索结果同时加以呈现。
32.如权利要求31所述的系统,其中所述网页搜索结果由使用所述搜索数据的至少一部分执行的搜索产生。
33.如权利要求23所述的系统,其中所述语义密钥选自由以下组成的组字词、数字、电子邮件地址、地址、电话号码、传真号码和概念。
全文摘要
本发明公开一种用于执行搜索的方法、计算机可读介质和计算机系统。本发明的实施例提供用于基于搜索数据执行搜索的方便且有效的机制,其中搜索数据可以包括搜索查询和至少一个语义密钥。所述语义密钥可以用于确定至少一个文档。可以使用所述至少一个文档来过滤搜索结果。以这种方式,可以返回更多的相关搜索结果。
文档编号G06F17/30GK102782677SQ201180007017
公开日2012年11月14日 申请日期2011年1月25日 优先权日2010年1月25日
发明者乔鸿亮 申请人:莱克西私人有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1