用于使用倾向分析进行搜索查询处理的系统和方法

文档序号:6501736阅读:152来源:国知局
专利名称:用于使用倾向分析进行搜索查询处理的系统和方法
技术领域
本发明涉及以下共同转让的待审美国专利申请于2003年4月4日提交的题为“Universal Interface System and Methods”的临时申请第60/460,222号;以及于2003年10月9日提交的题为“Systemand Methods for Search Processing Using Clustering of Units”的临时申请第60/510,220号。所有这些申请的披露均结合于此作为参考。
背景技术
随着互联网和用户通过万维网(网络)可用的大量网页及媒体内容的出现,需要向用户提供用于从网络过滤和获取期望信息的改进的方法。已开发了搜索系统和程序以满足用户对获取期望信息的需要。这些技术,例如,可以通过Yahoo!、Google和其它站点来访问。典型地,用户输入查询并且搜索程序返回一个或多个关于查询的链接(在搜索网络的情况下)、文件和/或参考资料(在不同搜索资料库的情况下)。返回的链接可能与用户实际上寻找的内容紧密相关,或者它们可能与其完全不相关。查询结果的“相关度(relatedness)”可能部分地为所输入的实际查询和所使用的搜索系统(下层收集系统)的鲁棒性(robustness)的函数。相关度可以由用户主观地确定或者由用户可能一直寻找的内容客观地确定。
用户输入的查询典型地由一个或多个单词(word)构成。例如,“hawaii”是一个查询,“new york city”也是如此,并且“new yorkcity law enforcement”也是如此。同样地,查询作为整体对于人的大脑不是完整的。换句话说,人们不按照查询自然地进行思考。它们是通过搜索引擎或查寻库目录的需要部分强加的人工构造。人们也不根据单个单词自然地进行思考。人们根据自然概念进行思考。例如,就由单词数目衡量的长度而言,“hawaii”和“new york city”是很不同的查询,但是它们共享一个重要的特征它们各由一个概念构成。然而,查询“new york city law enforcement”是不同的,因为它由两个截然不同的概念“new york city”和“law enforcement”构成。
人们还按照概念之间的逻辑关系进行思考。例如,“lawenforcement”和“police”是相关概念,因为警察局是法律实施的重要机构;键入这些概念之一的用户可能对与其它概念相关的站点感兴趣,即使那些站点不包括用户正巧键入的特定单词或者短语。作为这种思考模式的结果,人们生来通过输入一个或多个自然概念建立查询,不单单是单个单词的可变长度序列,并且通常查询不包括用户可能知道的全部相关概念。同样,用户意图未必反映在查询的单个单词中。例如,“law enforcement”是一个概念,而分开的单词“law”和“enforcement”不单独地传达与单词组合时相同的用户意图。
任何主要搜索提供方的当前技术,例如,MSN、Google或任何其它主要搜索引擎站点,均不以创建它们的人们的相同方式理解查询。例如,通常现存的搜索引擎搜索用户所输入的确切单词或短语,不是搜索潜在的自然概念或实际上在用户头脑中的相关概念。这可能是阻止搜索提供方识别用户的意图并且提供最佳的搜索结果和内容的最重要的原因。
正如所看到的,需要改进搜索和接口技术来帮助提供更符合用户可能感兴趣的实际概念的结果并且增强用户的体验。

发明内容
本发明的实施例提供了一种用于处理搜索请求的系统和方法,包括分析所接收到的查询以提供所搜索的信息的更完善的理解。查询被解析成单元,其可能包括例如,查询的一个或多个单词或标记(token)。对查询的单元表示执行进一步分析以检测模式,例如在不同查询中使用的单元的类似组合。在查询中出现的单元连同第二(secondary)单元的类似组被分组成群集(cluster),并且可以根据与每个单元有关的第二单元的相似程度来对两个群集成员之间的关系分配权重。
根据本发明的一个方面,对于查询的不同子集进行重复群集,其中,查询按照一个或多个维度被分类为子集。在一个实施例中,维度包括时间、个人特征或者用户的人口统计状况(demographics)(例如,年龄、性别、已知的兴趣、或用户简介)、地理维度(例如,物理位置或IP地址)、或表示查询之前的用户活动或内容的垂直维度(例如,当输入查询时用户在网站的何处)。这为查询的每个子集生成子集专用群集(或概念网络)。通过将相应子集专用概念网络与至少两个子集进行比较,生成关于单元或群集的倾向信息。
下面的详细描述与附图一起,将为本发明的性质和优点提供更好的理解。


图1是根据本发明的实施例的信息检索和通信系统的简化高层框图。
图2是根据本发明的实施例的用于传输媒体内容的信息检索和通信网络的简化框图。
图3是根据本发明的实施例的查询处理引擎的简化框图。
图4是根据本发明的实施例的用于执行倾向分析的过程的流程图。
图5是根据本发明的实施例的包括单元词典和相关处理信息的系统(包括某些方面的查询处理引擎)的简化框图。
图6是示出作为一天中时间的函数的查询频率的倾向数据的图表。
具体实施例方式
图1示出了根据本发明的实施例的包括客户机系统20的信息检索和通信网络10的总体图。在计算机网络10中,客户机系统20通过互联网40或其它通信网络(例如,通过任何LAN或WAN连接)连接到任意数目的服务器系统501至50N。将在此描述,根据本发明,将客户机系统20配置成与任意的服务器系统501至50N进行通信,例如,访问、接收、检索和显示媒体内容和其它信息(例如网页)。
在图1所示的系统中的若干组件包括在此不必详细解释的常规的、众所周知的组件。例如,客户机系统20可以包括桌面个人计算机、工作站、便携式计算机、个人数字助理(PDA)、移动电话、或任何无线应用协议(WAP)装置或任何能够直接或间接连接到互联网的其他计算装置。客户机系统20典型地运行浏览程序,例如微软的Internet ExplorerTM浏览器、Netscape NavigatorTM浏览器、MozillaTM浏览器、OperaTM浏览器、或在移动电话、PDA或其它无线装置的情况下的WAP浏览器等,允许客户机系统20的用户通过互联网40从服务器系统501至50N访问、处理和观看浏览器可用的信息和网页。客户机系统20典型地还包括一个或多个用户接口装置22,例如键盘、鼠标、触摸屏、笔等,用来与图形用户界面(GUI)进行互动,GUI以及由服务器系统501至50N或其它服务器提供的页面、表格和其它信息,由浏览器提供在显示器(例如,监控器屏幕、LCD显示器,等)上。本发明适于用在互联网上,互联网指网络的特定全球互联网络。然而,应当理解,可以使用其它网络或互联网(例如内联网、外联网、虚拟个人网络(VPN)、基于非TCP/IP的网络、任何LAN或WAN等)代替。
根据一个实施例,客户机系统20和其所有的组件是能够使用中央处理器单元(例如Intel PentiumTM处理器、AMD AthlonTM处理器等)或多个处理器进行运行以及使包括计算机代码的应用程序运行的操作器。在此描述的用于操作和配置客户机系统20以进行通信、处理和显示数据和媒体内容的计算机代码被优选地下载并存储到硬盘上,但是整个程序代码,或其多个部分也可以被存储在众所周知的任何其它易失性或非易失性存储介质或装置中(例如ROM或RAM),或提供在可以存储程序代码的任何媒体上,例如光盘(CD)介质、数字通用盘(DVD)介质、软盘等。另外,整个程序代码或其一部分可以从软件源传输和下载,例如,通过互联网从服务器系统501至50N之一至客户机系统20,或通过任何其它网络连接(例如,外联网、VPN、LAN、或其它常规的网络)使用任何通信媒介和协议(例如,TCP/IP、HTTP、HTTPS、以太网、或其它传统媒体和协议)来传输。
应当意识到用于本发明的实现方面的计算机代码可以是C、C++、HTML、XML、Java、JavaScript等代码,或任何其它适合的脚本语言(例如,VBScript),或任何其它适合的编程语言,其可以在客户机系统20上执行或被编译,以在客户机系统20上执行。在某些实施例中,没有代码被下载到客户机系统20,并且所需的代码由服务器执行,或执行已经存在于客户机系统20的代码。
图2示出了根据本发明的实施例的用于传输媒体内容的另一个信息检索和通信网络110。如所示,网络110包括客户机系统120、一个或多个内容服务器系统150、和搜索服务器系统160。在网络110中,客户机系统120通过互联网140或其它通信网络可通信地连接到服务器系统150和160。如上所述,客户机系统120和其组件被配置成通过互联网140或其它通信网络与服务器系统150和160以及其它服务器系统进行通信。
根据一个实施例,在客户机系统120上执行的客户机应用程序(以模块125表示)包括用于控制客户机系统120和其组件以与服务器系统150和160进行通信和处理及显示从那里接收的数据内容的指令。客户机应用程序125优选地从软件源传输和下载到客户机系统120,例如远程服务器系统(例如,服务器系统150、服务器系统160或其它远程服务器系统),虽然客户机应用程序模块125可以被提供在如上所述的任何软件存储介质(例如软盘、CD、DVD、等)上。例如,在一方面,客户机应用程序模块125在HTML封装器(wrapper)中可以通过互联网140提供给客户机系统120,其中,HTML封装器包括用于在各种对象、框和窗口中操作数据和提供数据的各种控件,例如,诸如嵌入式JavaScript或Active X控件。
另外,客户机应用程序模块125包括用于处理数据和媒体内容的各种软件模块,例如用于处理搜索请求和搜索结果数据的特定搜索模块126,用于在文本和数据框和活动窗口(例如,浏览器窗口和对话框)中提供数据和媒体内容的用户界面(interface)模块127,用于与在客户机120上执行的各种应用程序进行连接和通信的应用程序界面模块128。根据本发明的多个方面,应用程序界面模块128被优选地配置成与客户机系统120相连接,在客户机系统120上执行的各种应用程序的实例包括各种电子邮件应用程序、即时通信(IM)应用程序、浏览器应用程序、文档管理应用程序和其它应用程序。另外,界面模块127可能包括浏览器,例如在客户机系统120上配置的缺省浏览器或不同的浏览器。在某些实施例中,客户机应用程序模块125提供第60/460,222号临时申请所描述的通用搜索界面的特征。
根据一个实施例,搜索服务器系统160用于向客户机系统120提供搜索结果数据和媒体内容,并且例如,响应于在搜索服务器系统160提供的搜索结果页面中所选择的链接,内容服务器系统150用于向客户机系统120提供数据和媒体内容(例如网页)。在某些改变中,搜索服务器系统160也返回内容,或者替代地,链接和/或内容的其它引用。
在一个实施例中,搜索服务器系统160引用各种收集技术,用于使用例如页、到页面的链接、表示所索引页面的内容的数据等来填充一个或多个页面索引。这些收集技术包括自动网络爬行者(crawlers)、蜘蛛等,以及用于在分层结构中分类和排列网页的手动或半自动分类算法和界面。在某些方面,搜索服务器系统16也配置有用于处理和排列网页的与搜索相关的算法。搜索服务器系统160也优选地被用于以查询日志文件的形式记录用户查询活动。
搜索服务器系统160用于响应于从客户机系统(特别是搜索模块126)接收到的各种搜索请求来提供数据。服务器系统150和160可能是单个组织的部分,例如,诸如由Yahoo!公司提供给用户的分布式服务器系统,或者它们可能是不同组织的部分。内容服务器系统150和搜索服务器系统160均包括至少一个服务器和一个相关的数据库系统,并且可能包括多个服务器和相关数据库系统,并且虽然以单个框示出,但可以在地理上分散。例如,搜索服务器系统160的所有服务器可能是彼此靠近放置(例如,位于单个建筑物或校园中的服务器中心),或者它们可能分散在彼此远离的位置(例如,位于城市A中的一个或多个服务器和位于城市B中的一个或多个服务器)。
如在此所用的,“服务器系统”典型地包括一个或多个逻辑上和/或物理上连接的本地或跨越一个或多个地理位置分布的服务器。如在本领域中所熟知的,“服务器”通常包括计算机系统和相关的存储系统和数据库应用程序。
根据一个实施例,搜索服务器系统160配置有一个或多个页面索引和用于响应于从客户机系统120接收的搜索查询来访问页面索引和提供搜索结果给用户的算法。在某些方面,搜索服务器系统160另外用于响应于来自客户机系统120的搜索结果,来提供增强的搜索查询分析和群集功能。在其它改变中,搜索服务器系统160包括内容服务器系统150的全部内容和功能。
在一个实施例中,在搜索服务器系统160上执行的过程执行搜索查询和/或搜索结果的上下文分析并且用分组的搜索结果进行响应,以反映不同上下文。根据预期的上下文,许多搜索术语可能具有不同的含义。例如,如果用户使用术语“Java”执行搜索,预期的上下文不清楚。用户可能对Java计算机语言感兴趣,可能对印度尼西亚的Java岛感兴趣,或对咖啡感兴趣(其经常被通俗地称为java)。本发明有利地分析搜索查询和/或结果,并且为了显示在用户计算机120上,在上下文中将结果分组。例如,响应于搜索术语“Java”,某些搜索服务器系统160的实施例返回被分组成三个(如果识别其它上下文,可能更多)上下文或单词意义的搜索结果Java计算机语言、Java岛、和咖啡java。该系统可以用于显示具有与每个上下文相关的链接的组中的结果,或者系统可以仅显示没有任何链接的上下文(具有为用户区分上下文的足够信息)并且允许用户选择期望的上下文来显示相关链接。在Yahoo!网络系统中,例如,可能显示一组上下文,其中,每个上下文具有从搜索索引到页面的一组链接、与赞助商匹配相关的链接、与目录匹配相关的链接和与Inside Yahoo!(IY)匹配相关的链接。
除了具有模糊含义的单词或短语外,例如“Java”,本发明的系统在一个实施例中被用于将不是很模糊的搜索术语的结果分组进上下文。一个实例是为搜索术语“Hawaii”返回的结果。术语“Hawaii”在本质上可能不是模糊的;然而,对于这样的术语返回的结果的特性可能非常广泛,涉及每个讨论或仅提到Hawaii的站点。为了给用户提供更有用的结果,通过支持(leveraging)对结果实际涉及内容的认识,本发明的系统优选地将搜索结果组织进上下文。例如,对于Hawaii,系统可能在不同上下文分组中返回结果,例如“Hawaiitravel”、“Hawaiiclimate”、“Hawaiigeography”、“Hawaiiculture”,等。
在某些实施例中,上下文标识符与页面链接相关联地存储在在索引中,因此当执行搜索时,可以根据标识符对链接进行分组。页面链接可以与多个上下文标识符相关联。在用户执行相关搜索时,通过系统优选地将这种标识符自动地与链接进行关联;然而,也可以由一个或多个索引编辑者的团队手动地修改和使标识符与链接相关。以此方式中,由众多搜索收集的知识被反馈进系统,来限定或重限定上下文,以使显示的搜索结果对请求用户更有价值和更有用。
在一个实施例中,在搜索服务器系统160上的算法执行搜索术语的概念发现或概念分析,以向用户提供更有意义的结果。例如,对于搜索短语“New York City”,相当清楚的是,相对于(as supposedto)纽约州的其它城市,用户对涉及纽约市(市或区)的站点感兴趣。类似地,对于“New York City law enforcement”,很清楚,用户对涉及纽约市的法律实施(例如,工作部分)的站点感兴趣。然而,大多数搜索引擎可能仅使用单独的术语“New”、“York”、“City”、“law”和“enforcement”进行搜索,而不管在搜索短语中术语出现的顺序。其它搜索引擎可能试图找到在索引中出现的搜索短语中的最长子字符串。例如,如果索引包含“New York”、“NewYork City”和“New York City law”但不包含“New York City lawenforcement”,搜索引擎将使用“New York City law”和“enforcement”搜索,这不一定是用户所预期的。
本发明的实施例有利地分析在搜索短语中的术语,以识别构成搜索查询的一个或多个概念(单元)。
图3是根据本发明的一个实施例的用于执行概念发现或包括倾向分析的概念分析的系统300的框图。由查询处理引擎(同时称为查询引擎)304接收一个或多个查询日志文件302(或实际查询),该引擎产生如下所述的单元词典306。查询日志文件(或实际查询)可以通过互联网或通过多种网络连接(例如,LAN、WAN、直接链接、分布介质(例如,CD、DVD、软盘)等)从不同的来源接收。来源的实例包括搜索服务器系统160(图1)、或在搜索服务器的分布式网络中的多个搜索服务器160、和一个或多个内容服务器150。通常查询日志文件来源与同一组织或实体有关,例如,Yahoo!服务器,但不是必须的。由查询引擎304使用统计学方法(例如在信息理论中所使用的)或概念(例如交互信息)来处理查询日志文件(也称为查询日志)。在优选方面,使用日常查询日志,根据需要可能使用不同时期的日志,例如,小时、星期、等。查询日志通常包括由用户提交的实际查询,并且也可能包括用于某些或全部查询的额外信息,例如查询用户的地理位置、时间信息、客户机系统的IP地址、cookies、客户机类型(例如,浏览器类型)等。查询处理引擎304处理各种的查询日志并且从其产生单元(unit)。单元和相关统计(例如出现的频率)被存储在存储器中或在此称为单元词典306的数据库文件中。可以通过搜索引擎响应于后续查询来使用单元词典306,如下所述。
在一个实施例中,查询处理器304包括单元分析模块310和群集模块312。单元分析模块310处理查询日志302来产生单元。在优选的实施例中,系统使用搜索术语出现的顺序来识别构成查询的单元。单元可以是单词(例如,“java”)或经常彼此相邻出现的单词组(例如,“new york city”)。在上面引用的第60/460,222号临时申请中对单元的确定进行了详细描述。由单元分析模块310产生的单元存储在单元词典306中;在一些实施例中,也可以包括统计信息(例如,出现的频率或连同一个或多个其他单元一起出现的频率)。可以通过搜索引擎响应于后续查询使用存储在单元词典306中的信息。
群集模块312使用由单元分析模块310识别出的单元来执行对查询的进一步分析,以创建群集,或概念网络,其指示不同单元间的相似性。如在本领域通常所知的,概念网络是用于表示关系的结构,其中每个概念对应于一个节点,并且概念之间的关系由连接节点的线(或边)表示。可以为边分配不同的权重,因此每个边的权重反映了概念(节点)之间相似性的强度或接近程度。根据本发明的一个实施例,通过识别倾向于与一个或多个相同组“签名”单元一起出现在查询中的不同单元(群集的“成员”),从单元产生群集。成员单元可以用作概念网络中的节点。可以理解,也可以使用不同单元或概念之间的联系或关系的其它表示,并且在此使用的“概念网络”包括可选表示。
例如,假设许多用户搜索关于它们喜爱的流行音乐节目的信息。通常,这些用户将构建包括节目名称(例如,“Avril Lavigne”或“Celine Dion”)以及一些其它反映搜索信息类型的词语(例如,“lyrics(歌词)”、“mp3”、“guitar tabs”、“discography(音乐唱片分类目录)”等)的查询。群集模块312分析这些查询并确定“lyrics”、“mp3”、“guitar tabs”、“discography”等是用于群集的“签名”单元,群集的成员包括不同流行音乐节目的名称。用于创建群集的特定技术的实例可以在群集模块312中实施,这些实例如第60/510,220号临时申请中所述。群集模块312有利地将包括涉及成员单元的数据和签名的群集信息存储在单元词典306中。因此,在单元词典306中的可用信息包括有关单元和它们的“近邻”(也就是说,与给定单元一起出现在查询中的其它单元)以及与具有相似近邻的单元的关系的信息。
在优选实施例中,由群集模块312创建的群集倾向于反映概念的真实世界的关系(例如,属于共同分类的分组单元),即使不需要向查询处理引擎304提供真实世界的知识或有关特定单元或查询的语义信息。例如,一个群集可能包括“New York City(纽约市)”、“San Francisco”、和“Chicago”、并且群集的签名可能包括“hotel”、“restaurant”、和“night club”。这样的群集将会反映纽约市、旧金山、和芝加哥全部是旅游目的地(或城市),但查询引擎304(图3)不要求具有任何概念“目的地”(或“城市”)的现有知识。该概念性知识可以从分析查询的模式自动增长。应该理解,本说明书使用对人们带有语义含义的术语来标注群集,这便于促进本公开的理解。实际上,由查询引擎304或单元词典306使用的任何群集标注方案均不需要具有该属性;例如,群集标签可以仅是一个数字、一个群集签名的指示器等。
单元可能属于多个群集;例如,模糊单元(例如“java”)可以终止于“computer programming”群集中、“food and drink”群集中、和“travel”或“place”群集中。在一些实施例中,单元可以不属于任何群集。
根据本发明的一个实施例,查询处理引擎304也包括沿着多个维度寻找查询中的倾向的倾向分析模块320,例如时间、地理、用户人口统计状况、用户历史或上下文(在此称为“垂直”维度)等。倾向分析模块320有利地支持单元分析模块310和群集模块312的功能,以在查询的不同子集上进行概念分析和/或概念发现,然后汇编结果。得到的倾向信息被方便地加入单元词典306。
单元词典306可以以任何格式实施,并且存储在任何合适的存储介质上,包括磁盘或磁带、诸如光盘(CD)的光学存储介质等。单元词典306的内容有利地包括单元,以及有关每个单元的附加信息,例如由单元分析模块310生成的统计数据、由群集模块312确定的群集信息、和由倾向分析模块320产生的倾向信息。涉及单元、群集、和/或倾向的信息可以由搜索引擎使用以响应后续查询。
图4是可以由倾向分析模块320的实施例执行的过程400的流程图。在步骤402,包含在查询日志中的查询沿着所选择的维度分类成子集。可以根据关于日志文件提供的查询的任何信息限定维度,并且可以沿给定维度将查询分为任何数目的子集。
作为一个实例,如果查询日志提供涉及多种已知查询的提交时间的信息,可以使用“时间”维度。沿着时间维度,例如,可以按星期或月份来划分查询,以分析用户兴趣随着时间的倾向。也可以根据一天中的时间(例如,早上、下午、傍晚、深夜)、工作日对周末或假日、季节等划分查询。许多变更是可能的;仅作为一个实例,可以在一周、一个月、或另一个所需时期的时间集合在上午8时和上午10时之间收到的查询。在一些实施例中,根据搜索服务器的本地时间来确定一天的时间。在搜索服务提供多个服务器以服务不同地理区域的情况下,服务器的本地时间大体上表示用户的本地时间。在其它实施例中,可以使用用户的本地时间。
作为另一个实例,如果查询日志提供关于查询的地理起源的信息,可以使用“地理”维度。地理可以涉及物理地理。例如,一些IP地址可以用来识别查询起源的可能国家;用于提交查询的用户的用户简介(profile)可以用来确认用户居住在何处;或者可以根据它们是否在位于不同位置的镜像站点或与不同位置有关的地区/国家站点被接收到,来分类查询。可选地,地理维度可以表示“计算机地理”,其中,用户的IP地址(或由IP地址确定的域)被视为地理起源。可以结合物理的和计算机的地理维度。
作为第三实例,如果查询日志提供关于例如年龄、性别、等用户的人口统计学特征的信息,可以使用“人口统计学”维度。人口统计学数据的任何数字和结合均可以被用来限定用于倾向分析的人口统计学维度。例如,人口统计学维度可以包括一组“年龄大于25和拥有住房的女性用户”、另一组“年龄大于35和租房的男性用户”、一组“年龄小于25拥有汽车的用户”等。
作为第四实例,如果查询日志提供关于在查询输入之前的用户活动的信息(在此称为“用户历史”或“用户上下文”),可以使用“垂直的”或“用户历史”维度。例如,假设门户站点(例如,在www.yahoo.com的Yahoo!站点)包括不同区域或“属性”,例如购物属性、通用网络目录、音乐属性等,每个属性包括了使用户输入查询的搜索接口的属性。关于当输入查询时用户正在访问这些属性的哪一个的信息可能被存储并且作为“垂直”维度被使用。因此,在一个实施例中,垂直维度可能包括来自在“购物”属性的用户的一个查询子集和来自在“通用目录”属性的用户的另一个查询子集等。在其它实施例中,例如在任意时间用户已经为了输入搜索查询连续访问对话框的情况下(这样的对话框的一个实例如第60/460,222号临时申请所述),用户历史信息可能也包括当用户输入查询时显示的网页的URL或其它标识符。垂直维度可能根据URL、其一部分(例如,域名)、或关于页面内容的信息(例如,可能保持在页面索引中的信息)来分开查询。
本领域的技术人员将认识到前述维度和子集的实例是说明性的,并不是限制性的;可以使用沿给定维度的查询的任何数目的维度和子集。查询沿着维度的分类可以包括相关维度的“未知”和/或“其它”值的子集,并且可以根据系统设置来分析或不分析该子集。
在步骤404,查询的每个子集被提供给群集模块312以产生一个或多个子集专用概念网络。在某些实施例中,使用现存单元词典306;在其它实施例中,也可以将子集提供给单元分析模块310来产生子集专用单元组。单元分析和群集分析如第60/510,220号临时申请所述。有利地为每个查询子集独立执行群集分析,因此为每个子集产生概念网络组。得到的子集专用概念网络返回到倾向分析模块320。
在步骤408,倾向分析模块320使用子集专用概念网络沿着维度执行倾向分析,以检测反映用户行为的不同模式的相似性和差异。这些不同模式在此称为“倾向”,并且倾向分析通常涉及比较由不同子集产生的群集(例如,概念网络)和/或签名以发现这些差异。倾向和倾向分析可以采取广泛多样的形式。
作为一个实例,一个倾向分析可能比较在不同时期或对于不同用户人口统计的特定搜索术语或单元的相对频率。比较的单元可能是,例如群集的不同成员单元或对于群集的不同签名单元。假设,例如,有一个“歌唱家”的群集;对于该群集的一个倾向分析可能显示对于小于21岁的用户,“Avril Lavigne”是比“Celine Dion”更流行的查询术语,而对于大于35岁的用户结果是相反的。或者假设有一个“cities(城市)”的群集并且该群集的签名包括单元“employment”和“hotel”;对该签名的倾向分析可能显示在工作日期间更经常搜索“employment”,而在周末更经常搜索“hotel”。(这可能反映,例如,用户倾向于在工作日期间进行工作搜索并且在周末期间进行度假计划)。
在某些实施例中,倾向分析也可能被用来检测用户兴趣和行为中更微妙的倾向。例如,假设在一个领域中(例如,音乐),众所周知的名人决定进入另一个领域(例如,政治)。对该名人的兴趣的总体水平可能没有改变很多,但是所搜索的关于该名人的信息的种类可能变动。例如,对于名人的姓名加上“song”或“album(曲集)”的搜索的频率可能减少而对于名人的姓名加上“politics”或“taxes”的术语的搜索的频率增加。对在不同时期的名人姓名的近邻比较将显示这样的倾向。
在步骤410,为了用于响应后续查询,倾向信息被存储在例如单元词典306中。信息可能与信息所属的特定单元和/或群集、与关于单元或群集的签名或建议等一起存储。
将意识到,在此描述的系统和过程是说明性的并且可以变更和修改。可以平行执行按顺序描述的过程步骤,可以改变步骤的次序,并且可以修改或合并步骤。可以在任何数目的维度上同时进行倾向分析(例如,来自“购物”区域的年龄小于21的用户),并且沿着维度的分类根据所需可以为近似的或精细的。一个子集专用概念网络可以与另一个子集专用概念网络进行比较,或者不同子集专用概念网络可以与由没有分类的查询所产生的“全局”概念网络进行比较。倾向分析可以限于特定概念网络,例如,那些涉及用在足够大数目的查询中以产生有意义数据的单元的,或者作为用于建议相关搜索的基础的单元的。可以在单元、群集、签名、或它们的任意组合上执行倾向分析。
像单元和群集数据一样,经常有利地随时间更新或重新产生倾向信息,以捕获可以反映用户兴趣的改变的用户行为的变化(例如,特定流行音乐表演者的流行增加或减少,找工作相对旅行的兴趣增加或减少等)。
在本发明的另一个实施例中,通过考虑相关倾向,倾向信息被用于帮助响应于特定用户的兴趣修整搜索。图5示出了可以由图2的系统110使用的方法以响应查询。客户机120发送查询到搜索服务器系统160。搜索服务器系统160向概念服务器180发送查询和/或其组成单元,其访问单元词典306。概念服务器180返回涉及查询的概念数据,例如从查询识别的一个或多个单元以及用于多个单元的统计和群集信息,以及涉及单元的倾向信息。例如,可以通过混编(hashing)查询来识别在此包含的单元,并访问单元词典306以检索用于每个识别出的单元的条目(entries),来推断该信息。在一个实施例中,返回的信息包括单元、统计、群集、和关于与查询相关的倾向的信息、一个或多个其组成单元,或者一个或多个与任何组成单元相关的群集。
搜索服务器系统160有利地使用从响应于查询的概念服务器180接收到的概念数据。由搜索服务器系统160返回的结果有利地包括响应于用户查询而给用户的结果,以及其它相关信息,例如关于用户下一步可能要寻找的内容的提示和指点,其基于在单元和它们的扩充和结合物中所捕获的对用户需要的理解,其扩充和结合物包括关于单元和/或群集的群集和倾向。
例如,假设查询包括模糊术语,例如可能在多于一个上下文中使用的“Java,”。这样的术语可能属于多个群集,例如,“food anddrink”群集,“computer”群集、和“location”群集。在某些实施例中,搜索服务器系统160可以使用倾向数据来形成响应,例如,通过选择哪个群集将被给予最显著的位置。例如,如果在工作日搜索“Java”的用户很可能对计算机语言感兴趣,而在周末搜索“Java”的用户很可能对咖啡感兴趣,显示哪个搜索结果的次序可能取决于星期几;例如,如果是工作日,涉及计算机语言的结果可能被最显著地显示,而如果是周末,涉及咖啡的结果可能被最显著地显示。(第60/510,220号参考临时申请描述了用于根据不同群集的相关性分组搜索结果的一些技术。)作为第二实例,假设有其为打击乐团体名称同时也是用于某个公司的证券报价机(stock-ticker)符号的四字母序列(“WXYZ”)。根据当股票市场营业时所收到的查询相对于当市场关闭时所收到的查询,比较概念网络或群集可能显示在前一种情况中公司WXYZ更经常地被搜索,而在后一种情况中打击乐团体WXYZ更经常地被搜索。因此,涉及公司的搜索结果可能被置于涉及打击乐团体的结果之前或之后,取决于当接收到查询时市场是否营业。
作为第三实例,考虑术语“party”,取决于上下文,其可以涉及社会活动或涉及政治。包括术语“party”的某些查询也可以包括解析(resolve)模糊的另一个术语(例如,“Republican party”或“partygames”),但其它查询可能不包括这些术语。倾向分析可以被用于形成对模糊查询的响应。例如,图6是示出了沿着一天中的时间维(每4小时增量)、包含术语“party”的查询的频率(以任意单位)的倾向数据的图表。这种倾向数据可能通过分析根据上述过程400的某些组查询来获得。倾向数据组602(符号“×”)对应于其中“party”与另一个清楚地涉及社会活动(例如,“game)”、“favors”、“supplies”)的术语共同出现的查询。倾向数据组604(符号“○”)对应于其中“party”与另一个清楚地涉及政治(例如,“Republican”、“Democrat”、“candidate”)的术语共同出现的查询。倾向数据组606(三角)对应于包括“party”的查询,其中不能通过参考查询中的其它术语来解析模糊。
根据本发明,解析模糊的一个方法是通过比较不同倾向的形状(例如,在图6所示的数据组的第一和/或第二导数),并且确定该模糊组查询是否比其它组与一个明确组查询更接近地匹配。在图6中所示的实例中,模糊倾向数据606明显地比“political”倾向数据604更类似于“social event”倾向数据602。由此,可以推断输入包括“party”的模糊查询的用户可能对社会活动比对政治更感兴趣,并且可以相应地显示搜索结果,例如,通过在涉及政治的结果之前显示涉及社会活动的结果。
应当注意到两组倾向数据之间的相似性程度也可以被考虑,并且用于建立用于所推断意图的置信度。在图6中所示的实例中,模糊倾向数据606相当接近地与“social event”倾向数据602匹配,因此,推断的置信度水平将会很高。在其它实例中,取决于用户行为,置信度水平可能较低或较高。这样的置信度水平可能是形成查询响应的另一个因素。例如,给出足够高置信度水平,最初可能只显示涉及社会活动的结果;在这种情况中,可以为用户提供检索涉及政治的结果的选择。
该实例是说明性的,并且可以变更和修改。例如,沿着多个维度(例如,一天中的时间和用户年龄)的倾向可能在确定相似性中一起考虑。倾向比较可能基于两条曲线的相似性的任何适当的测量,例如实际频率值、导数(变化率)、更高阶导数、或它们的任何组合。
作为第四实例,考虑术语“poison”,其可能涉及有毒物质或涉及重金属乐队。再次,某些查询将包括解析模糊的其它术语;例如,查询例如“rat poison”或“poison control”将涉及有毒物质,而“poisonlyrics”或“poison mp3”将涉及乐队。然而,其它查询将完全是不确定的。
例如在上面“party”的实例中描述的分析可以被用来解析模糊。另一个方法涉及确认乐队“poison”属于音乐表演者的群集,并且该群集包括其名称相对明确的其它表演者。(例如,实际上,每个输入“Britney Spears”作为查询的用户对该著名的歌手均感兴趣。)包括音乐表演者明确名称的查询可以被用作“控制”组,可以从中得出关于正在寻找关于音乐表演者信息的用户的行为的推断。为了估计模糊术语涉及表演者的可能性,可以将该行为与键入模糊术语(例如,“poison”)的用户的行为进行比较,该模糊术语可能涉及表演者或可能不涉及。
控制组和包括模糊术语的查询之间的大量比较是可能的。例如,可以计算包括模糊术语“poison”同时包含确定地与音乐相关的术语(例如,“lyrics”)的查询的分数,包含明确名称(例如,“Britney Spears”)的查询的相应“控制”分数也是如此。控制分数可以视为接近于对音乐感兴趣的用户将输入可能模糊查询的可能性。通过将此与包含“poison”的明确音乐有关的查询的频率进行比较,推断出输入查询“poison”的用户对乐队感兴趣的可能性是可能的。
为了使该实例更具体,假设包括术语“poison”同时包括术语“lyrics”的查询的分数为0.1,并且包括术语“Britney Spears”同时包括术语“lyrics”的查询的分数为0.2。由此,可以推断出输入术语“poison”的一半用户可能不想涉及乐队。在这种情况中,涉及乐队和涉及毒物的结果都将被显著地显示。为了估计搜索有毒物质的用户不能包括模糊解析术语的可能性,也可以根据包括有毒“poison”(例如,涉及药品的群集)的群集使用控制分数做出类似的分析。如果在涉及药品的群集中的术语的模糊查询的可能性很小,将暗示模糊查询“poison”更有可能涉及乐队。
另外,通过将接收来自对药品感兴趣的用户相对于对音乐感兴趣的用户的可能模糊查询的可能性进行比较,可以推断用户意图。例如,假设来自对音乐感兴趣的用户的查询的29%为仅包括表演者姓名的单个单元查询,而来自对药品感兴趣的用户的查询只有2%包括单个单元。这可以推断出输入单个单元查询“poison”的用户更可能对乐队感兴趣。
将意识到,也可以使用该分析的更复杂改变。例如,不是仅使用一个表演者来计算控制分数,可以使用更多表演者(例如,不仅是“Britney Spears”而且包括“matchbox twenty”、“Johnny Cash”等)。类似地,不是只考虑一个模糊解析术语,可以使用多个术语(例如,不仅是“lyrics”而且包括“mp3”、“tour”、“album”等)。也可以将类似的分析用于其它模糊术语和其它群集。
作为第五实例,假设用户输入查询“digital cameras”。用户可能在寻找出售数字相机的站点或寻找关于数字相机的信息(例如产品评论)。可以使用沿着多个维度的先前查询的倾向分析(包括,例如,用户简介和/或垂直维度)来确定哪一个更可能,因此可以相应地修整结果。
作为第六实例,在某些实施例中,搜索服务器系统160可能根据倾向信息提出相关搜索。例如,如果已知小于21的用户输入包括歌手姓名的查询,除了显示与该歌手相关的站点的列表,搜索服务器系统160可能建议涉及通过倾向分析确认为在小于21的用户中流行(例如,“Avril Lavigne”)的一个或多个其它歌手的搜索。对于35岁的用户,可能建议不同的歌手(例如,“Celine Dion”)。在另一个实例中,如果“new york city”的查询在周日被输入,可能使建议“employment”比建议“hotel”更显著(如果这与倾向数据一致),而如果在周末输入相同的查询,可能使用相反的顺序。
在一些实施例中,也可以由搜索服务器系统160使用倾向数据,来推断关于特定用户的信息,例如,用户的可能性别、年龄或地理位置。这种推断可能涉及将倾向数据与由相同用户输入的许多查询进行比较,以使用户行为与不同维度匹配。应当理解,这些推断不能保证是精确的;它们反映了用户如何行动,而不必反映用户是谁。可以使用对特定用户做出的任何推断,来调整对由该用户输入的另外查询的响应,再使用倾向数据作为类似用户意图的一个指示。因此,可以使用倾向数据定制搜索服务器对输入查询的特定用户的响应。
倾向数据也可以连同广告决策(例如在特定场合显示哪一个广告和/或为特定广告放置所收取的价格)一起由搜索服务器系统160的提供方使用。
虽然参考特定实施例描述了本发明,本领域的技术人员将认识到可能有许多修改。例如,用于倾向分析的维度的数目和特征以及查询子集可以改变,并且不是所有收到的查询需要用于倾向分析。可以动态地限定群集、签名和倾向信息,并且可以时常执行倾向分析(例如,每天或每周),以响应于变化的用户行为来更新倾向信息。在其它实施例中,可以在查询被收到时处理它们,因此实际上实时更新群集、签名和倾向数据。在此所描述的自动化的系统和方法可以通过对所得到的单元词典(包括群集、签名、涉及单元、群集、和签名的任何或全部的倾向信息等等)的全部或部分的人工检查(human review)扩充或补充。
在此描述的实施例可以涉及网站、链接、和用于其中由万维网(或其子集)充当搜索主体的实例的其它术语。应当理解,在此描述的系统和过程可以被修改用于不同的搜索主体(例如电子数据库或文档储存库),并且结果可能包括内容和可以找到内容的位置的链接或引用。
因此,虽然已经参考特定实施例描述了本发明,将意识到本发明包括权利要求书所限定的范围内的所有修改及其等价物。
权利要求
1.一种用于处理查询的方法,所述方法包括接收一组先前查询,其中,每个所述先前查询均包括一个或多个单元;沿着维度将所述查询分类成子集;为所述查询的每个子集产生一个或多个子集专用概念网络;以及比较来自至少两个所述子集的相应子集专用概念网络,从而产生用于单元的倾向信息。
2.根据权利要求1所述的方法,其中,所述维度是时间维度。
3.根据权利要求1所述的方法,其中,通过对用户的一个或多个人口统计学特征的引用来限定所述维度。
4.根据权利要求1所述的方法,其中,所述维度是地理维度。
5.根据权利要求1所述的方法,其中,所述维度是表示所述查询的用户上下文的垂直维度。
6.根据权利要求1所述的方法,进一步包括接收后续查询;将所述后续查询解析成一个或多个组成单元;以及在形成对所述后续查询的响应时使用所述倾向信息。
7.根据权利要求6所述的方法,其中,所述倾向信息用于解析所述查询的模糊术语。
8.根据权利要求6所述的方法,其中,所述倾向信息用于建议相关搜索。
9.根据权利要求6所述的方法,其中,所述倾向信息用于将响应数据分组。
10.根据权利要求6所述的方法,其中,所述倾向信息用于选择用于显示的广告。
11.一种用于处理查询的系统,包括倾向分析模块,用于沿着维度将一组查询分类成多个子集;以及群集模块,用于为所述多个子集中的每一个产生相应概念网络,其中,所述倾向分析模块还用于比较用于至少两个所述子集的相应概念网络,从而产生倾向信息。
12.根据权利要求11所述的系统,其中,所述维度是时间维度。
13.根据权利要求11所述的系统,其中,所述维度通过对用户的一个或多个人口统计学特征的引用来限定。
14.根据权利要求11所述的系统,其中,所述维度是地理维度。
15.根据权利要求11所述的系统,其中,所述维度是表示所述查询的用户上下文的垂直维度。
16.根据权利要求11所述的系统,还包括响应模块,用于接收后续查询,以将所述后续查询解析成一个或多个组成单元,并且用于至少部分基于所述倾向信息来形成对所述查询的响应。
17.根据权利要求16所述的系统,其中,所述响应模块还用于使用所述倾向信息来分析所述查询的模糊术语。
18.根据权利要求16所述的系统,其中,所述响应模块还用于使用所述倾向信息来建议相关搜索。
19.根据权利要求16所述的系统,其中,所述响应模块还用于使用所述倾向信息对响应数据进行分组。
20.根据权利要求16所述的系统,其中,所述响应模块还用于使用所述倾向信息来选择用于显示的广告。
全文摘要
本发明提供了一种用于处理搜索请求的系统和方法,包括分析所接收到的查询以提供被搜索信息的更完善理解。在一个实施例中,查询被解析为单元,其中可能包括查询的一个或多个单词或标记,并且单元在概念网络中相关。通过沿着感兴趣的维度将查询分类成子集和比较用于不同子集的概念网络来执行倾向分析。倾向信息可用于增强自动搜索工具对后续接收到的查询的响应。
文档编号G06F17/30GK1930566SQ200480036754
公开日2007年3月14日 申请日期2004年11月12日 优先权日2003年11月12日
发明者希亚姆·卡普尔 申请人:雅虎公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1