聚类的搜索处理转让专利

申请号 : CN200780049318.7

文献号 : CN101583949B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 爱德华·斯坦利·欧特基思·大卫·萨福特麦克·波尔里斯梅荷尔·坦德州凯恩保罗·伊佑

申请人 : 雅虎公司

摘要 :

用于搜索数据并且将搜索结果分组成根据搜索相关性来排序的聚类的方法和装置。每个聚类包括一个或多个数据类型,诸如图像、web页面、本地信息、新闻、广告等。在一个实施例中,针对指示搜索的数据源的分类的相关概念来评价搜索项。还可通过诸如客户端设备的位置、当前运行的应用等上下文信息来识别数据源。每个聚类中的搜索结果通过相关性来排序,并且每个聚类都基于该聚类之内的相关性的聚集而被给予分数。每个聚类分数可基于一个或多个相应概念和/或上下文信息来修改。基于经修改的分数来排序聚类。包括广告的内容还可被增加到经排序的列表以表现为另一聚类。

权利要求 :

1.一种用于利用与客户端设备通信的网络设备搜索数据的方法,包括:从所述客户端设备接收一个或多个搜索项;

基于对所述一个或多个搜索项的分析来确定至少一个概念;

基于所述至少一个概念来识别在其上执行搜索的一个或多个概念特定的数据源;

基于至少一个所述搜索项在所述一个或多个概念特定的数据源中的每个概念特定的数据源上执行搜索来产生多个聚类,其中来自每个概念特定的数据源的搜索结果包括所述多个聚类中的不同的聚类;

基于所述客户端设备的用户的用户特定上下文数据为每个聚类中的每个结果确定一个相关性分数;

对于所述多个聚类中的每个聚类,至少应用相应聚类中的每个结果的相关性分数来确定相应的聚类分数;

基于相应的聚类分数生成所述多个聚类中的每个聚类的排序列表;以及在所述客户端设备上显示经排序的多个聚类的至少一部分。

2.根据权利要求1所述的方法,还包括:

搜索至少一个非概念特定的数据源以产生搜索结果的所述多个聚类中的至少一个聚类。

3.根据权利要求1所述的方法,还包括:

从下述至少一个确定用户特定的上下文:

用来提交所述搜索项的客户端设备的位置;

由所述客户端设备用来提交所述搜索项的应用程序;

当前正由所述客户端设备显示的搜索结果的数据类型;

提交所述搜索项通过的web页面;

所述客户端设备的用户的被追踪的行为;以及人口统计数据。

4.根据权利要求1所述的方法,其中对所述多个聚类进行排序包括利用用于所述多个聚类中的每一个的聚类显示元素来创建文档,其中每个聚类显示元素使用户能选择性地显示所述多个聚类中的相应一个的搜索结果中的至少一个。

5.根据权利要求1所述的方法,其中所述用户的用户特定上下文数据包括关于以下至少一种的信息:当前在所述客户端设备上运行的应用、所述用户的过去行为、或者所述用户的过去购买。

6.一种用于利用与客户端设备通信的网络设备搜索数据的设备,包括:用于从所述客户端设备接收一个或多个搜索项的装置;

用于基于对所述一个或多个搜索项的分析来确定至少一个概念的装置;

用于基于所述至少一个概念来识别在其上执行搜索的一个或多个概念特定的数据源的装置;

用于基于至少一个所述搜索项在所述一个或多个概念特定的数据源中的每个概念特定的数据源上执行搜索来产生多个聚类的装置,其中来自每个概念特定的数据源的搜索结果包括所述多个聚类中的不同的聚类;

用于基于所述客户端设备的用户的用户特定上下文数据为每个聚类中的每个结果确定一个相关性分数的装置;

用于对于所述多个聚类中的每个聚类,至少应用相应聚类中的每个结果的相关性分数来确定相应的聚类分数的装置;

用于基于相应的聚类分数生成所述多个聚类中的每个聚类的排序列表的装置;以及用于在所述客户端设备上显示经排序的多个聚类的至少一部分的装置。

7.根据权利要求6所述的设备,其中所述用户的用户特定上下文数据包括关于以下至少一种的信息:当前在所述客户端设备上运行的应用、所述用户的过去行为、或者所述用户的过去购买。

8.根据权利要求6所述的设备,还包括:

用于搜索至少一个非概念特定的数据源以产生搜索结果的所述多个聚类中的至少一个聚类的装置。

说明书 :

聚类的搜索处理

[0001] 相关申请的交叉引用
[0002] 本申请要求于2007年1月5日递交的、申请号为11/651,102的美国专利申请的权益,该美国专利申请通过引用而被全部并入于此。

技术领域

[0003] 本发明一般地涉及搜索数据,并且更具体地但非排他性地涉及将搜索结果分组成根据搜索相关性来排序的聚类。

背景技术

[0004] 在因特网中已发生了巨大的改变,它们影响了我们的日常生活。例如,在今天的社会中,移动计算设备正越来越变得更加普遍。很多移动计算设备,诸如个人数字助理、蜂窝电话等,可用来通信话音消息、电子邮件、文本消息等,以及通过因特网搜索信息。看到有人在公共汽车、火车或者甚至船上使用他们的移动设备来搜索商家、餐馆、音乐、商务等并非罕见。
[0005] 然而,执行对用户相关信息的搜索查询仍是繁琐的。经常,用户可能不得不执行几次搜索查询以获得相关的搜索结果。无关的搜索结果意味着当用户正在寻找时他们找到的可能性降低,这又可理解为对商家而言失去了从用户受益的商机或其他的生意。因此,很多商业机构正在寻找新的方式以使搜索结果与用户更相关。一种技术是对匹配所提交的搜索项的搜索结果进行分组。一些搜索系统提供了用于搜索结果的数据类型的预定义分组,诸如web页面、图像、视频、本地结果、购物有关的结果、工作、新闻、广告等。分组通常以相同顺序布置,并且每个分组通常仅包括一个数据类型。
[0006] 另一种技术是基于搜索结果的文本相似性来确定分组。然而,文本类似的分组一般不考虑关于搜索者的任何信息。因此,通过文本相似性来确定的分组可能不是与搜索者最相关的分组。类似地,文本类似的分组的排位可能不是处于与搜索者最相关的的顺序。当前的分组系统也一般仅提供到搜索结果的链接以及简要的概括信息。返回的搜索结果页面一般不包括没有基于搜索项的链接的任何实质内容。因此,就这些考虑及其他事物而言提出了本发明。

附图说明

[0007] 下面的附图描述了本发明的非限制性的和非穷尽性的实施例。在整个附图中,类似的标号表示类似的部分,除非以另外的方式指定。
[0008] 为了更好地理解本发明,将结合附图参考下面的详细描述,附图中:
[0009] 图1是可实践本发明的环境的一个实施例的系统图;
[0010] 图2示出可包括在实现本发明的系统中的移动设备的一个实施例;
[0011] 图3示出可包括在实现本发明的系统中的服务器设备的一个实施例;
[0012] 图4示出与确定搜索结果的相对直观的概念有关的主题搜索项的搜索结果页面的一个示例;
[0013] 图5示出与确定搜索结果的较不直观的概念有关的搜索项的搜索结果页面的一个示例;
[0014] 图6例示了一般地示出用于搜索数据的总体处理的一个实施例的逻辑流程图;
[0015] 图7例示了一般地示出用于确定概念特定的数据源的处理的一个实施例的逻辑流程图;以及
[0016] 图8例示了一般地示出用于修改搜索结果的聚类的聚类分数的处理的一个实施例的逻辑流程图。

具体实施方式

[0017] 现在将在下文中参考附图更充分地描述本发明,这些附图形成了本发明的一部分,并且这些附图以例示的方式示出了可实践本发明的具体示例性实施例。然而,本发明可以以很多不同的形式来实施,并且不应理解为限于这里所陈述的实施例;相反,提供这些实施例是为了使本公开透彻且完整,并且将充分地向本领域的技术人员表达本发明的范围。本发明可实施为方法或装置,等等。因此,本发明可采取完全硬件实施例、完全软件实施例或者组合了软件和硬件方面的实施例的形式。因此,下面的详细描述将不具有限制性意义。
[0018] 在整个说明书和权利要求书中,下面的术语具有这里所清楚关联的意思,除非上下文以另外的方式明确规定。这里所用的词组“在一个实施例中”未必指同一实施例,虽然它可以是同一实施例。此外,这里所用的词组“在另一实施例中”未必指不同实施例,虽然它可以是不同实施例。因此,如下所述,在不脱离本发明的范围或精神的情况下,本发明的各种实施例可容易地组合。
[0019] 此外,这里所使用的术语“或”是包括性的“或”操作符(operator),并且等同于术语“和/或”,除非上下文以另外的方式明确规定。术语“基于”是非排他性的,并且允许基于未被描述的额外因素,除非上下文以另外的方式明确规定。此外,在整个说明书中,“一个”(“a”,“an”)和“该”(“the”)的意思包括复数指称。“在...中”的意思包括“在...中”和“在...上”。
[0020] 例示的操作环境
[0021] 图1示出其中可实践本发明的环境的一个实施例的组件。不是所有的组件都被需要以实践本发明,并且在不脱离本发明的精神或范围的情况下可进行组件的布置和类型上的变化。如所示出的,图1的系统100包括实现客户端和服务器设备之间的通信的网络。网络105可以包括一个或多个局域网(“LAN”)/广域网(“WAN”)。无线网络110可包括LAN、WAN、电话网络等。系统100还包括通用客户端设备101、移动客户端设备102-104、搜索服务器106和内容服务器107。
[0022] 下面结合图2更详细地描述移动设备102-103的一个实施例。然而,一般地,移动设备102-104实际上可包括能够通过诸如网络105、无线网络110等网络来接收和发送消息的任何便携式计算设备。移动设备102-104还可被一般地描述为配置成便携式的客户端设备。因此,移动设备102-104实际上可包括能够连接至另一计算设备以及接收信息的任何便携式计算设备。这样的设备包括便携式设备,诸如蜂窝电话、智能电话、显示寻呼机、射频(RF)设备、红外(IR)设备、个人数字助理(PDA)、手持计算机、膝上计算机、可佩戴计算机、平板(tablet)计算机、组合了一个或多个前述设备的集成设备等等。这样,就能力和特征而言移动设备102-104通常在很宽范围内变化。例如,蜂窝电话可具有数字键盘以及其上仅可显示文本的若干行单色LCD显示器。在另一示例中,具有web能力的移动设备可具有触摸敏感屏、触笔(stylus)以及其中文本和图形都可显示的若干行彩色LCD显示器。
[0023] 具有web能力的移动设备可包括被配置为接收和发送web页面、基于web的消息等的浏览器应用。浏览器应用可被配置为接收和显示图形、文本、多媒体等,浏览器应用实际上使用任何基于web的语言,包括无线应用协议消息(WAP)等等。在一个实施例中,浏览器应用能使用手持设备标记语言(HDML)、无线标记语言(WML)、WMLScript、JavaScript、标准通用标记语言(SMGL)、超文本标记语言(HTML)、可扩展标记语言(XML)等来显示和发送消息。在一个实施例中,移动设备的用户可使用浏览器应用来通过网络执行搜索。然而,也可使用另一应用来通过网络执行搜索。
[0024] 移动设备102-104还可包括被配置为从另一计算设备接收内容的至少一个其他的客户端应用。客户端应用可包括提供和接收文本内容、图形内容、音频内容等的能力。客户端应用还可提供标识自身的信息,包括类型、能力、名称等。在一个实施例中,移动设备102-104可通过多种机制中的任何一种来唯一地标识它们自身,这些机制包括电话号码、移动标识号(MIN)、电子序列号(ESN)或其他移动设备标识符。该信息还可指示移动设备能使用的内容格式。可在发送至搜索服务器106、客户端设备101或其他计算设备的消息等中提供这样的信息。
[0025] 在一个实施例中,移动设备102-104还可向另一计算设备提供物理位置。然而,在一个实施例中,移动设备102-104可提供纬度和经度等方面的物理位置信息。然而,移动设备102-104还可提供可用来确定设备的物理位置的其他信息,例如包括蜂窝塔(cell tower)地址、MAC地址、IP地址等。
[0026] 移动设备102-104还可被配置为包括使末端用户能登录末端用户账号的客户端应用,该末端用户账号可由诸如搜索服务器106之类的另一计算设备来管理。例如,这样的末端用户账号可被配置为使末端用户能接收电子邮件,发送/接收IM消息、SMS消息,访问所选择的web页面,参与社交联网活动,执行搜索查询等等。然而,也可在不登录末端用户账号的情况下执行参与各种社交联网活动、执行搜索查询等。
[0027] 客户端设备101实际上可包括能够通过网络来通信以发送和接收信息的任何计算设备,这些信息包括搜索查询信息、位置信息、社交联网信息等。这样的设备的集合可包括通常利用有线或无线通信介质来连接的设备,诸如个人计算机、多处理器系统、基于微处理器的或可编程的消费电子产品、网络PC等。
[0028] 无线网络110被配置为将移动设备102-104及其组件与网络105耦合。无线网络110可包括多种无线子网中的任何一种,这些无线子网也可覆盖独立的自组织网络等,以向移动设备102-104提供面向基础设施的连接。这样的子网可包括蜂窝网络、网格网络、无线LAN(WLAN)网络等等。
[0029] 无线网络110还可包括通过无线无线电链路等连接的终端、网关、路由器等的自治系统。这些连接器可被配置为自由且随机地移动并且任意地组织它们自身,以使得无线网络110的拓扑可迅速地改变。
[0030] 无线网络110还可使用多种接入技术,包括第2(2G)、第3(3G)代蜂窝系统无线电接入、WLAN、无线路由器(WR)网格等。诸如2G、3G和未来的接入网之类的接入技术可实现对于具有各种移动程度的、诸如移动设备102-104之类的移动设备的广域覆盖。例如,无线网络110可通过诸如全球移动通信系统(GSM)、通用分组无线服务(GPRS)、增强数据GSM环境(EDGE)、宽带码分多址(WCDMA)等无线电网络接入来实现无线电连接。本质上,无线网络110实际上可包括任何无线通信机制,通过该机制信息可以在移动设备102-104与另一计算设备、网络等之间传播。
[0031] 网络105被配置为将搜索服务器106及其组件与包括移动设备102-104、客户端设备101的其他计算设备耦合,以及将搜索服务器106及其组件通过无线网络110耦合至移动设备102-104。网络105能使用任何形式的计算机可读介质来从一个电子设备向另一电子设备通信信息。此外,网络105可包括因特网以及局域网(LAN)、广域网(WAN)、直接连接(诸如通过通用串行总线(USB)端口)、其他形式的计算机可读介质、或者它们的任何组合。在包括基于不同体系结构和协议的那些LAN的LAN的互连集合上,路由器起到了LAN之间链路的作用,使消息能从一个LAN发送至另一个LAN。此外,LAN内的通信链路通常包括双绞线或同轴线缆,而网络之间的通信链路可使用模拟电话线路、完全或部分专用的数字线路(包括T1、T2、T3和T4)、综合业务数字网(ISDN)、数字用户线(DSL)、包括卫星链路的无线链路、或者对本领域的技术人员而言已知的其他通信链路。此外,远程计算机和其他的有关电子设备可经由调制解调器和临时电话链路远程地连接至LAN或者WAN。本质上,网络
105包括任何通信方法,通过该通信方法信息可以在搜索服务器106、客户端设备101和其他计算设备之间传播。
[0032] 此外,通信介质通常承载计算机可读指令、数据结构、程序模块,或者诸如载波、数据信号之类的经调制的数据信号中的其他数据,或者其他传输机制,并且包括任何信息传送介质。术语“经调制的数据信号”和“载波信号”包括如下信号:该信号具有的一个或多个特性被以如下方式设置或改变,以使得在该信号中对信息、指令、数据等进行编码。作为示例,通信介质包括有线介质(诸如双绞线、同轴线缆、纤维光学、波导和其他的有线介质)以及无线介质(诸如声音、RF、红外和其他的无线介质)。
[0033] 下面结合图3更详细地描述搜索服务器106的一个实施例。然而,简要地说,搜索服务器106可包括能够连接至网络105以便实现数据搜索、过滤、分类和其他数据管理操作的任何计算设备。搜索服务器106还可提供网络入口信息和/或服务,包括在具有用户许可的情况下追踪他们的在线行为以及提供内容。搜索服务器106还可实现社交联网信息的聚集和管理。可作为搜索服务器106工作的设备包括个人计算机、台式计算机、多处理器系统、基于微处理器的或可编程的消费电子产品、网络PC、服务器等。
[0034] 虽然图1将搜索服务器106示出为单个计算设备,但是本发明并不局限于此。例如,搜索服务器106的一个或多个功能可分布在一个或多个不同计算设备上。例如,在不脱离本发明的范围或精神的情况下,管理搜索、搜索结果、即时消息接发(IM)会话、SMS消息、电子邮件消息、联系信息的共享、收集行为信息、社交联网信息的聚集和/或存储等可由多个计算设备执行。
[0035] 内容服务器107表示多种内容和/或可在移动设备102-104上和/或在客户端101上使用的其他数据。这样的内容可包括web内容、音频内容、视频内容、FTP数据等。数据服务可包括但不限于web服务、第三方服务、音频服务、视频服务、电子邮件服务、IM服务、SMS服务、VOIP服务、日历服务、照片服务等。此外,与内容服务器107所提供的内容和/或服务有关的信息可用来向搜索查询提供结果。
[0036] 可工作为内容服务器107的设备包括个人计算机、台式计算机、多处理器系统、基于微处理器的或可编程的消费电子产品、网络PC、服务器等。
[0037] 例示的移动客户端环境
[0038] 图2示出可包括在实现本发明的系统中的移动设备200的一个实施例。移动设备200可包括很多比图2所示的那些组件更多或更少的组件。然而,所示的组件足够公开用于实践本发明的例示的实施例。例如,移动设备200可表示图1的移动设备102-104中的至少一个的一个实施例。
[0039] 如图所示,移动设备200包括经由总线224与大容量存储器230通信的中央处理单元(CPU)222。移动设备200还包括电源226、一个或多个网络接口250、音频接口252、显示器254、小键盘256、照明器258、输入/输出接口260、触觉接口262以及可选的全球定位系统(GPS)接收器264。电源226向移动设备200提供电力。可再充电的或不可再充电的电池可用来提供电力。电力还可由外部电源提供,诸如补充和/或再充电电池的AC适配器或带电的底座(docking cradle)。
[0040] 移动设备200可以可选地与基站(未示出)通信,或者直接与另一计算设备通信。网络接口250包括用于将移动设备200耦合至一个或多个网络的电路,并且被构建用于结合一个或多个通信协议和技术使用,这些协议和技术包括但不限于全球移动通信系统(GSM)、码分多址(CDMA)、时分多址(TDMA)、用户数据报协议(UDP)、传输控制协议/因特网协议(TCP/IP)、SMS、通用分组无线服务(GPRS)、WAP、超宽带(UWB)、IEEE 802.16微波接入全球互通(WiMax)、SIP/RTP或者多种其他的无线通信协议中的任何一种。网络接口250有时被称为收发器、收发装置或网络接口卡(NIC)。
[0041] 音频接口252被布置为产生和接收诸如人的话音的声音之类的音频信号。例如,音频接口252可耦合至扬声器和麦克风(未示出)以实现与其他人的通信和/或生成对一些动作的音频确认。显示器254可以是液晶显示器(LCD)、气体等离子体、发光二极管(LED)或结合计算设备使用的任何其他类型的显示器。显示器254还可包括触摸敏感屏,该触摸敏感屏被布置为接收来自诸如触笔或人手的手指之类的物体的输入。
[0042] 小键盘256可包括被布置为从用户接收输入的任何输入装置。例如,小键盘256可包括按钮数字拨盘或键盘。小键盘256还可包括与选择和发送图像相关联的命令按钮。照明器258可提供状态指示和/或提供光。照明器258可针对具体时段或响应于事件而保持活动。例如,当照明器258是活动的时候,它可对小键盘256上的按钮提供背光并且在客户端设备被加电的同时保持接通。此外,当执行诸如对另一客户端设备拨号之类的特定动作时,照明器258可以以各种模式对这些按钮提供背光。照明器258还可导致位于客户端设备的透明或半透明壳内的光源响应于动作而发光。在另一实施例中,照明器258可包括用于内装相机(未示出)的闪光灯。
[0043] 移动设备200还包括用于与外部设备通信的输入/输出接口260,这些外部设备诸如头戴式耳机或图2中未示出的其他输入或输出设备。输入/输出接口260可使用一种或TM多种通信技术,诸如USB、红外、Bluetooth 等。触觉接口262被布置为向客户端设备的用户提供触觉反馈。例如,当计算设备的另一用户正在呼叫时,触觉接口可用来以特定的方式振动移动设备200。
[0044] 可选的GPS收发器264可确定移动设备200在地球表面上的物理坐标,它通常将位置输出为纬度和经度值。GPS收发器264还可使用其他的地理定位机制,包括但不限于三角测量、辅助GPS(AGPS)、增强型观测时间差(E-OTD)、蜂窝标识符(CI)、服务区标识符(SAI)、增强型定时提前(ETA)、基站子系统(BSS)等,以进一步确定移动设备200在地球表面上的物理位置。可以理解的是,在不同条件下,GPS收发器264可确定移动设备200在毫米内的物理位置;并且在其他情况下,所确定的物理位置可能精确性较低,诸如在米或明显更大的距离内。然而,在一个实施例中,移动设备可通过其他组件提供可用来确定设备物理位置的其他信息,例如包括MAC地址、IP地址等。
[0045] 大容量存储器230包括RAM 232、ROM 234和其他存储装置。大容量存储器230示出用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的计算机存储介质的另一示例。大容量存储器230存储用于控制移动设备200的低级操作的基本输入输出系统(“BIOS”)240。大容量存储器还存储用于控制移动设备200的操作的操作系TM统241。应当认识到的是,此组件可包括专用客户端通信操作系统诸如WindowsMobile 或操作系统,或者通用操作系统诸如UNIX版或LINUXTM。操作系统可包括Java虚拟机模块或者与Java虚拟机模块相接口,该Java虚拟机模块通过Java应用程序实现控制硬件组件和/或操作系统的操作。
[0046] 存储器230还包括一个或多个数据存储装置244,数据存储装置244可被移动设备200用来存储应用242和/或其他数据等。例如,数据存储装置244还可用来存储描述移动设备200的各种能力的信息。该信息然后可基于多种事件中的任何一种而提供给另一设备,这些事件包括在通信期间作为报头的一部分被发送、在请求时被发送等。此外,数据存储装置244还可用来存储搜索数据、用户偏好、地址簿、好友列表、别名、社交联网信息等。至少部分信息还可存储在移动设备200内的盘驱动器或其他存储介质(未示出)上。
[0047] 应用242可包括计算机可执行指令,当被移动设备200执行时这些计算机可执行指令发送、接收和/或以另外的方式处理消息(例如SMS、MMS、IM、电子邮件和/或其他消息)、音频、视频,并且实现与另一客户端设备的另一用户的通信。应用程序的其他示例包括日历、搜索程序、电子邮件客户端、IM应用、SMS应用、VOIP应用、联系管理器、任务管理器、代码转换器(transcoder)、数据库程序、字处理程序、安全应用、电子数据表格程序、游戏、搜索程序等。图中所示的一个应用是浏览器245。
[0048] 浏览器245实际上可包括被配置为接收和显示图形、文本、多媒体等的任何应用,这些应用实际上使用任何基于web的语言。在一个实施例中,浏览器应用能使用手持设备标记语言(HDML)、无线标记语言(WML)、WMLScript、JavaScript、标准通用标记语言(SMGL)、超文本标记语言(HTML)、可扩展标记语言(XML)等来显示和发送消息。然而,可使用多种其他的基于web的语言中的任何一种。
[0049] 在一个实施例中,浏览器245可被配置为实现对搜索应用的访问,诸如可以通过图1的搜索服务器106和/或内容服务器104而进行。在一个实施例中,移动设备200的用户可向搜索应用输入多种搜索项以用于获得搜索结果。浏览器245还可提供位置信息或在确定它的物理位置时可使用的信息。在一个实施例中,这样的信息可用来自动地(例如对于用户输入是透明的)修改搜索查询。
[0050] 例示的服务器环境
[0051] 图3示出了根据本发明的一个实施例的服务器设备的一个实施例。服务器设备300可包括比所示的组件更多的组件。然而,所示的组件足够公开用于实践本发明的例示的实施例。例如,服务器设备300可表示图1的搜索服务器106和/或内容服务器107。
[0052] 服务器设备300包括中央处理单元312、视频显示适配器314以及大容量存储器,所有这些组件都经由总线322互相通信。大容量存储器一般地包括RAM 316、ROM 332以及一个或多个永久大容量存储装置,诸如硬盘驱动器328、磁带驱动器、光驱和/或软盘驱动器。大容量存储器存储用于控制服务器设备300的操作的操作系统320。可使用任何通用操作系统。基本输入输出系统(“BIOS”)318也被提供用于控制服务器设备300的低级操作。如图3所示,服务器设备300还可经由网络接口单元310与因特网或一些其他的通信网络通信,网络接口单元310被构建用于结合包括TCP/IP协议的各种通信协议使用。网络接口单元310有时被称为收发器、收发装置或网络接口卡(NIC)。
[0053] 如上所述的大容量存储器示出了另一类型的计算机可读介质,即计算机存储介质。计算机存储介质可包括易失性、非易失性、可移除的和不可移除的介质,这些介质以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现。计算机存储介质的示例包括RAM、ROM、EEPROM、闪存或其他存储器技术,CD-ROM、数字通用光盘(DVD)或其他光存储装置,磁盒、磁带、磁盘存储装置或其他磁存储装置,或者可用来存储希望的信息并且可被计算设备访问的任何其他介质。
[0054] 大容量存储器还存储程序代码和数据。一个或多个应用350被载入大容量存储器,并且在操作系统320上运行。应用程序的示例可包括代码转换器、调度器(scheduler)、日历、数据库程序、字处理程序、HTTP程序、可定制的用户接口程序、IPSec应用、加密程序、安全程序、VPN程序、SMS消息服务器、IM消息服务器、电子邮件服务器、账号管理等。搜索模块352和/或搜索聚类模块354也可作为应用程序被包括在应用350内或者作为分离的应用程序。
[0055] 搜索模块352被配置为从客户端设备接收搜索项、确定其他搜索参数、执行数据源的搜索、提供搜索结果以及执行其他搜索有关的操作。搜索聚类模块354可以是搜索模块352的一部分,或者与搜索模块352相分离。搜索聚类模块354被配置为将搜索结果组织成分组,并且排位结果的分组。搜索模块352和/或搜索聚类模块354可使用基本与下面描述的处理类似的处理。
[0056] 通用操作
[0057] 现在将参考图4-8描述本发明的某些方面的操作。图4是移动设备上搜索结果显示400的例示。全部搜索结果可滚动通过面积有限的显示器。除搜索结果以外,内容可显示在搜索结果之中。内容可包括与所提交的搜索项401有关的信息,诸如内容402。可替代地,或另外地,内容可包括位置信息404、广告或其他信息。一般地,内容信息被格式化为表现得与搜索结果相类似,虽然内容可以以任何其他方式来格式化。
[0058] 第一聚类元素406指示搜索结果的第一聚类。聚类元素可被选择来在搜索结果的展开视图和仅聚类元素的关闭视图之间切换。该聚类元素还可包括搜索结果自身。接近结果显示400的顶部来显示搜索结果的第一聚类。第一聚类一般包括与所提交的搜索项最相关的搜索结果。聚类包括一个或多个特定数据类型的搜索结果,这些数据类型诸如本地列表信息、新闻文章、web页面链接、图像、购物信息、其他建议的搜索等。例如,第一聚类元素406指示了对于通过搜索项识别的并且在移动设备位置的预定义半径内的咖啡店的本地列表信息的聚类。在此示例中,本地列表信息基于若干因素而被确定为最相关聚类的信息,这些因素诸如搜索项、在输入搜索项后从点击流(由众多用户进行的选择)的综合分析所确定的信息、搜索项中用户的先前行为、移动设备的位置和/或其他信息。此特定搜索项401与零售商店的概念相关联并且与公司的概念相关联。然而,零售商店的概念比公司的概念可能具有与更多用户的更高相关性。因此,本地列表信息的聚类被排为第一聚类。
[0059] 聚类的搜索结果还可包括指示数据类型或其他信息的内容。例如,符号408可指示搜索结果中所提供的信息的类型。此外,或可替代地,标志或其他内容可例如基于付费的布局而被置于一个或多个搜索结果上。可选择的展开控制元素409可用来将额外的结果显示在聚类中。
[0060] 在第一排位的聚类之后显示第二排位的聚类。在此示例中,第二排位聚类元素410标识了包括多个数据类型的搜索结果的聚类。此示例聚类包括web站点搜索结果410、股票报价搜索结果412以及到专门的公司概要信息的链接414。此聚类例示了被定义为包括多个特定数据类型的聚类类型。可替代地,聚类类型可利用多个数据类型来生成,这些数据类型可基于搜索准则和/或其他信息来确定。如通过第二排位聚类所示出的,定制的聚类类型可被定义为包括搜索结果和/或内容的多种数据类型。
[0061] 其他聚类类型可包括搜索结果的单个数据类型,诸如第一排位聚类、第三排位聚类412和第四排位的414。在那些情况下,聚类类型可等同于数据类型。更低排位聚类还可利用更少搜索结果或仅利用间隔聚类选择元素来显示。例如,低排位聚类416仅利用聚类选择元素来显示,这些聚类选择元素需要用户选择聚类选择元素以扩展相应搜索结果的视图。因此,聚类的相关性可通过位置、尺寸和其他属性来指示。
[0062] 图4中所使用的搜索项一般是与相对直观的概念有关的主题搜索项。一些搜索项不这么直观。图5示出针对搜索项501的搜索结果页面500的一个示例,搜索项501与用户可能想要搜索结果针对的概念较少直观地相关。搜索项“今天”单独地可能没有直接建议用户可能期望的某些数据类型的搜索结果。此搜索项可指示早间电视节目、报纸标题的概念、或其他不相关的概念。在此情况下,诸如移动设备的位置之类的上下文信息可提供对用户意图的更好指示。因此,上下文信息可被给予更多权重以确定搜索哪些数据源以及如何排位搜索结果的聚类。如果移动设备在纽约市中,并且用户输入搜索项“今天”,则用户可能正在搜索与该城市中的日常生活相关的信息。
[0063] 这样的信息可包括与当天这座城市有关的内容。例如,数据内容504可提供当前日期并且使用户能访问日历。类似地,天气信息506可显示城市中当前的天气状况,并且预报城市中的天气状况。还可包括一个或多个广告502。可以以获得搜索结果的聚类的相同方式来从专门的数据源或从独立的数据源获得每个这些内容项。此内容聚类或每个内容项还可被与其他聚类相对地排位,仿佛该内容聚类或内容项就是搜索结果的多个聚类之中的另一聚类。在此情况下,内容信息可被认作第一排位聚类。交通警报聚类508会被认作第二排位聚类。类似地,本地新闻聚类510会是第三排位聚类,体育聚类514会是第四排位聚类,等等。搜索结果的聚类可能不具有与搜索项直观地相关联的数据类型,而上下文数据可用来获得并且排位相关搜索结果的聚类。
[0064] 图6例示了一般地示出用于搜索数据并且排位搜索结果和/或内容的聚类的总体处理600的一个实施例的逻辑流程图。可通过服务器、服务器的组合、独立计算设备、以及/或者计算设备和/或软件模块的其他配置来执行该处理。为了简化讨论,就单个服务器与单个移动客户端设备通信而言来描述下面的实施例。在操作602,人类管理员可预定义某些概念、聚类类型、数据类型、概念处理规则、上下文规则、相关性计分规则以及/或者可用来确定数据源、排位搜索结果、排位搜索结果的聚类、增加内容、确定用户偏好、确定用户行为和/或执行其他操作的其他信息。可替代地,或另外地,可执行自动化分析以确定一个或多个以上的信息类型、操作规则和/或其他数据。例如,可对聚集的数据执行点击流分析以确定可用在确定资源和/或排位信息中的乘数和/或其他因素。在另一实施例中,不执行这样的预处理。
[0065] 在操作604,服务器从移动设备接收一个或多个搜索项。为了简化讨论,将假设是单个搜索项。迭代处理和/或其他逻辑可用在替换实施例中。在操作606服务器还可接收或获得上下文数据。例如,服务器可检查用户的当前位置、在移动设备上运行的当前应用、移动设备概要数据、偏好的在线概要数据、行为、过去的采购、社交联网关系和/或其他用户特定的数据。类似地,服务器可从点击流分析和/或其他统计分析获得或计算聚集的数据。上下文信息可用来在搜索处理之前和/或在搜索处理期间调整默认权重乘数。在另一实施例中,不接收或确定上下文数据。上下文的一些额外示例可包括但不限于:
[0066] *用来提交搜索项的客户端设备的web页面或画面
[0067] *所追踪的用户行为(例如采购历史、搜索的数目)
[0068] *用户特定的数据(例如诸如性别之类的人口统计数据)
[0069] *查询时间在一天中的时间
[0070] *用户的时区
[0071] *搜索查询特性(例如语言、查询的长度、媒体类型)
[0072] *设备或用户的数据规划
[0073] *设备能力或特性(例如屏幕尺寸)
[0074] *用户所表达的偏好(例如不呈现图像)
[0075] *邻近(例如到其他设备或其他用户)
[0076] *设备的方向(例如设备正面向北方)
[0077] *设备的移动(例如设备正去向北方,设备正以10mph移动)
[0078] *与用户发起搜索有关的用户的被追踪的行为或其他上下文
[0079] *社交网络(例如用户A的朋友搜索体育,所以体育对于用户A更相关)[0080] *网络特性(例如速度)
[0081] *用户所拥有的内容或用户所使用的设备上的内容,该内容可以是但未必是与移动设备相同(例如用户具有与移动设备上所做的搜索相关的、他们PC上的文档)[0082] 在判定操作608,服务器判断任何已知概念是否从所提交的搜索项被识别。服务器可执行对于与搜索项相关联的概念的查找操作,或者可执行诸如自然语言处理之类的其他解释(interpretation)以确定概念。概念一般地标识与搜索项有关的信息的分类。例如,搜索项“芝加哥”与城市的概念以及戏剧(play)的概念有关。作为另一示例,搜索项“芝加哥比萨”与比萨的风格的概念以及芝加哥城市中食品的概念有关。
[0083] 每个概念可与一个或多个特定数据源相关联。例如,本地剧院的戏剧或电影节目表可以在特定数据源中,这些特定数据源将不会被正常地搜索,除非确定用户希望搜索项与戏剧或电影相关联。概念特定的数据源的其他示例可包括但不限于:
[0084]web 股票报价数据 零件库存数据
wap 日期/个人 像片
图像 字典 飞机时刻表
像片 电子邮件 播客(podcast)
视频 娱乐 所打印的材料
本地列表 百科全书 产品
新闻 事件 铃声
天气 渡船时刻表 RSS
多媒体 金融 屏幕保护程序
地址簿 飞行资格 购物
占星术 游戏 体育
音频 库存 词典
书籍 工作 时间
公共汽车时刻表 地标 时区
名人 彩票 火车时刻表
城市 电影节目时间 翻译
分类的 电影院 交通
消耗品 电影 TV播出时间
国家 音乐 墙纸
货币 人 地点

[0085] 每个概念特定的数据源可包括单个数据类型的数据,诸如所有股票报价数据。可替代地,概念特定的数据源实际可包括具有相同或不同数据类型的多个数据源。如果服务器从搜索项识别出任何概念,则在操作610服务器搜索相应的概念特定的数据源。下面与图7的描述有关地提供概念特定的搜索处理的一个实施例的更多细节。来自每个概念特定的数据源的搜索结果包括搜索结果的聚类。聚类的聚类类型可与多个数据类型的数据类型或定制聚类类型相同。
[0086] 在搜索概念特定的数据源之后,或者如果没有概念被识别出,则在判定操作612,服务器判断任何上下文数据是否被提交或是可得的。如果上下文数据可得,则服务器查找或确定上下文数据与上下文特定的数据源之间的关联。在操作614服务器搜索相关联的上下文特定的数据源。来自每个上下文特定的数据源的搜索结果包括搜索结果的另一聚类。如上,上下文特定的数据源可包括单个数据类型的数据,诸如移动设备当前位置的某半径内的所有餐馆列表。可替代地,上下文特定的数据源可包括具有相同或不同数据类型的多个数据源。因此,聚类的聚类类型可与多个数据类型的数据类型或定制聚类类型相同。
[0087] 在搜索了上下文特定的数据源之后,或者如果没有上下文数据是可得的,则在操作616服务器搜索是非特定的数据源。非特定数据源可包括将总是被搜索的数据,诸如web页面索引、新闻数据、图像、购物数据等。在操作618,服务器排序从每个数据源获得的搜索结果的每个聚类中的结果。聚类之内的搜索结果一般基于搜索结果与搜索项的相关性来排位。若干技术可用来排位聚类之内的搜索结果。权重因素、规则和/或其他处理可使用聚集的点击流数据、用户特定的点击流数据、用户行为信息和/或其他信息。在一些情况下,在操作620,利用来自多个数据源的搜索结果来填充特定的聚类,并且排位。
[0088] 在操作622,服务器从总体上为每个聚类确定分数。服务器可利用聚类之内的搜索结果的相关性分数来确定聚类分数。例如,服务器可基于相关性分数的累积分数并且基于预定义的或动态确定的因素来确定加权平均值。在操作624,可基于概念和或上下文数据来修改每个聚类分数。下面与图8有关地描述关于此操作的进一步细节。在操作626,所有聚类然后以基于聚类分数的顺序来排列。
[0089] 在此示例实施例中,利用经排序的聚类生成搜索结果web页面,诸如图4和图5所示的那些web页面。在操作628,额外内容,诸如非聚类广告、标志和/或其他内容可被增加到搜索结果web页面。搜索结果web页面然后返回至移动设备用于显示。
[0090] 现在提供关于操作610的进一步细节。图7例示了一般地示出用于确定和搜索概念特定的数据源的处理700的一个实施例的逻辑流程图。在判定操作702,服务器判断多个概念是否从搜索项被识别出。如果仅仅单个概念被识别,则在操作712服务器搜索相应的概念特定的数据源。如果多个概念被识别,则在操作704服务器为每个概念确定分数。如同聚类分数,可基于概念与搜索项的相关性和/或基于聚集分析来确定概念分数。
[0091] 在判定操作706,服务器检查任何上下文数据是否被接收或被确定。如果上下文数据是可得的,则服务器将上下文特定的乘数应用于概念分数。可预定义或动态地确定乘数以指示每个概念与每个上下文的相关性。
[0092] 在修改概念分数之后,或者如果没有上下文数据是可得的,则在操作710,服务器确定最相关的概念。服务器可选择单个最相关的概念,或者可排位多个概念。在操作712,服务器搜索与最相关概念相关联的一个或多个概念特定的数据源。可替代地,服务器可搜索用于经排位的概念中的每一个的概念特定的数据源。为了简化讨论此示例实施例选择最相关概念并搜索单个相对应的概念特定的数据源。搜索结果包括概念特定的聚类。
[0093] 现在提供与图6的操作610有关的进一步细节。图8例示了一般地示出用于修改聚类分数的处理800的一个实施例的逻辑流程图。在判定操作802,服务器检查任意概念是否从搜索项被识别出。如果概念被识别,则在操作804服务器将乘数应用于与概念相关联的相应聚类的聚类分数。
[0094] 在应用概念乘数之后,或者如果没有概念被识别,则在判定操作806服务器检查任意上下文数据是否可得。如果上下文数据是可得的,则服务器将一个或多个上下文特定的乘数应用于概念分数。经修改的概念分数然后被返回用于聚类的随后排序。应当理解,流程图例示的每个框以及流程图例示中框的组合可通过计算机程序指令来实现。这些程序指令可被提供至处理器以产生机器,以使得在处理器上执行的指令创建出用于实现流程图的一个或多个框中所指定的动作的装置。计算机程序指令可由处理器执行以便导致一系列的操作步骤被处理器执行以产生计算机实现的处理,以使得在处理器上执行的指令提供用于实现流程图的一个或多个框中所指定的动作的步骤。计算机程序指令还可导致流程图的框中所示的操作步骤中的至少一些被并行执行。此外,一些步骤还可跨越多于一个的处理器来执行,诸如可发生在多处理器计算机系统中。此外,在不脱离本发明的范围或精神的情况下,流程图例示中的一个或多个框或者框的组合还可与其他框或框的组合并发地执行,或者甚至以与所示出的不同的顺序来执行。
[0095] 因此,流程图例示的框支持用于执行所指定的动作的装置的组合、用于执行所指定的动作的步骤与用于执行所指定的动作的程序指令装置的组合。还应当理解,流程图例示的每个框以及流程图例示中框的组合可由执行所指定的动作或步骤的专用的基于硬件的系统、或者专用硬件与计算机指令的组合来实现。
[0096] 以上的说明、示例和数据提供了对本发明的组成的制造和使用的完整描述。因为在不脱离本发明的精神和范围的情况下可产生本发明的很多实施例,所以本发明受限于权利要求。