协作搜索方法及系统
技术领域
本发明涉及协作搜索(collaborative searching)技术领域,具体来说,涉及一种协作搜索方法以及协作搜索系统。
背景技术
目前,为了准确地搜索到用户期望的搜索结果,搜索引擎通常需要跟踪用户的身份。例如,在一些搜索系统中,搜索引擎要求用户首先在数据库中注册用户信息。在另外一些搜索系统中,搜索引擎要求用户首先创建兴趣组,以便通过兴趣组来识别用户之间的关系。
然而,由于不同搜索系统拥有各自的搜索引擎和数据库,因此,需要用户在每一个搜索系统的数据库中进行注册,或者创建兴趣组。通常,为了提高搜索的准确性,要求用户在注册时详细地输入其个人信息或者在创建兴趣组时详细地描述兴趣组。对于用户来说,这通常是很麻烦的。另外,用户每次在使用上述搜索系统进行搜索时需要首先进行登录,以便所述搜索系统能够识别该用户。对于用户来说,这通常也是很麻烦的。
公开日为2008年1月10日的美国专利申请公布US2008/0009268公开了一种在通信设备上仅显示授权移动内容的方法,该专利申请在此引入作为参考。
公开日为2006年10月19日的美国专利申请公布US2006/0235873公开了一种基于社会网络的互联网搜索引擎,该专利申请在此引入作为参考。
Jill Freyne、Barry Smyth、Maurice Coyle、Evelyn Balfe和PeterBriggs的论文“Further Experiments on Collaborative Ranking inCommunity”-Artificial Intelligence Review,Volume21,Issue3-4(June2004),Pages:229-252,Year of Publication:2004,ISSN:0269-2821-中公开了一种在Web搜索中使用上下文的方法,以便根据专业用户团体的需求使得通用搜索引擎的结果个性化,该论文在此引入作为参考。
通常,现有技术的搜索引擎在对搜索结果进行排序的时候不会考虑用户之间的关系。例如,在用户A和用户B是同事的情况下,用户A所选择的搜索结果很可能也是用户B所期望的搜索结果。然而,在现有技术中,搜索引擎不会考虑用户A和用户B的关系来对搜索结果进行排序。
目前,诸如手机、PDA、iPhoneTM等的移动终端的性能日益强大。例如,移动终端具有网上浏览的功能等。许多用户可以通过移动终端来搜索信息。移动终端具有许多与传统固定联网终端不同的特点,例如:
-每个移动终端通常是与一个用户相对应的,即,通过移动终端的标识符(例如,手机号码)可以标识使用该移动终端的用户;
-移动终端通常会保存用户的通话记录和/或通讯录;以及
-移动终端需要得到电信服务运营商的许可来使用通信服务,其中,电信服务运营商能够记录用户的通话记录等。
然而,在现有技术中,没有考虑固定终端和移动终端之间的区别。因此,需要针对通过移动终端的搜索服务提出一种新的、改进的技术,以便优化返回给用户的搜索结果。
发明内容
本发明的一个目的是提供一种新的方法或系统来处理上述现有技术中的至少一个技术问题。
根据本发明的一个方面,提供了一种协作搜索方法,包括:接收移动终端的搜索请求;根据搜索请求进行搜索以获取搜索结果;获取与移动终端的标识符相关联的关系列表;根据所述关系列表来获取与关系列表中的成员相关联的搜索历史信息;以及根据所述搜索历史信息来对搜索结果进行排序。
优选地,所述方法还包括:获取用于访问关系列表的授权。优选地,获取用于访问关系列表的授权的步骤还包括:基于数字签名的方式来获取用于访问关系列表的授权。
优选地,所述移动终端的标识符是移动终端的手机号码。
优选地,所述关系列表是存储在移动终端中的联系人列表和通信记录中的至少一个。
优选地,所述关系列表是根据所述标识符从电信服务运营商获取的。优选地,所述关系列表是通信记录。
优选地,所述方法还包括:将排序后的搜索结果提供给移动终端;接收移动终端对搜索结果的选择;以及将移动终端对搜索结果的选择存储作为搜索历史信息。
根据本发明的另一个方面,提供了一种协作搜索系统,包括:第一接收单元,用于接收移动终端的搜索请求;搜索单元,用于根据搜索请求进行搜索以获取搜索结果;获取单元,用于获取与移动终端的标识符相关联的关系列表;搜索历史信息库,用于存储搜索历史信息;以及排序单元,用于根据所述关系列表来获取与关系列表中的成员相关联的搜索历史信息,以及根据所述搜索历史信息来对搜索结果进行排序。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1是示出根据本发明的第一实施例的协作搜索方法的流程图。
图2是示出根据本发明的第一实施例的协作搜索系统的框图。
图3是示出根据本发明的第二实施例的协作搜索方法的流程图。
图4是示出根据本发明的第二实施例的协作搜索系统的框图。
图5是示出根据本发明的实施例的第一示例的示图。
图6是示出根据本发明的实施例的第二示例的示图。
具体事实方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的单元和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为本说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是示出根据本发明的第一实施例的协作搜索方法1000的流程图。
如图1所示,在步骤s1100,协作搜索系统接收到来自移动终端的搜索请求。
所述移动终端诸如是手机、PDA、iPhoneTM等。
所述搜索请求中包含用户的查询词等。另外,搜索请求中还包含移动终端的标识符。例如,所述移动终端的标识符可以是移动终端的手机号码。
在步骤s1200,协作搜索系统根据搜索请求进行搜索以获取搜索结果。
在步骤s1300,协作搜索系统获取与移动终端的标识符相关联的关系列表。
在一个示例中,移动终端将存储在移动终端中的联系人列表和/或通信记录发送给协作搜索系统。例如,移动终端在发送搜索请求时将存储在移动终端中的联系人列表和/或通信记录发送给协作搜索系统。协作搜索系统获取所述联系人列表和/或通信记录作为与移动终端的标识符相关联的关系列表。
在另一个示例中,协作搜索系统首先从来自移动终端的搜索请求中提取移动终端的标识符。然后,系统搜索系统将所提取的标识符发送给电信服务运营商服务器。电信服务运营商服务器根据所述标识符来检取移动终端的通信记录,并将移动终端的通信记录发送给协作搜索系统。协作搜索系统获取所述通信记录作为与移动终端的标识符相关联的关系列表。
本领域技术人员应当理解,协作搜索系统可以采用上面示例中所述的任何一种方式和/或两种方式的结合来获取关系列表。
另外,协作搜索系统可以存储所述关系列表,并且每当从移动终端和/或电信服务运营商获取关系列表时,更新所述关系列表。
另外,协作搜索系统还可以以预定的时间间隔(例如,1个星期、1个月等)请求移动终端将其关系列表发送给协作搜索系统,以便更新存储在协作搜索系统中的关系列表。
在步骤s1400,协作搜索系统根据关系列表来获取与关系列表中的成员相关联的搜索历史信息。
协作搜索系统包含搜索历史信息库,用于存储与标识符相关联的搜索历史信息。协作搜索系统根据所获取的关系列表中的标识符,从搜索历史信息库中获取搜索历史信息。
在步骤s1500,协作搜索系统根据搜索历史信息来对搜索结果进行排序。例如,如果搜索结果中存在与搜索历史信息中相同的条目,则在排序过程中给予该条目较高的排名。
图2是示出根据本发明的第一实施例的协作搜索系统2000的框图。
协作搜索系统2000包括:第一接收单元2100、搜索单元2200、获取单元2300、搜索历史信息库2400和排序单元2500。
如图2所示,第一接收单元2100接收来自移动终端的搜索请求。
所述移动终端诸如是手机、PDA、iPhoneTM等。
所述搜索请求中包含用户的查询词等。另外,搜索请求中还包含移动终端的标识符。例如,所述移动终端的标识符可以是移动终端的手机号码。
搜索单元2200根据搜索请求进行搜索以获取搜索结果。
获取单元2300获取与移动终端的标识符相关联的关系列表。
在一个示例中,移动终端将存储在移动终端中的联系人列表和/或通信记录发送给协作搜索系统。例如,移动终端在发送搜索请求时将存储在移动终端中的联系人列表和/或通信记录发送给协作搜索系统。获取单元2300获取所述联系人列表和/或通信记录作为与移动终端的标识符相关联的关系列表。
在另一个示例中,获取单元2300首先从来自移动终端的搜索请求中提取移动终端的标识符。然后,获取单元2300将所提取的标识符发送给电信服务运营商服务器。电信服务运营商服务器根据所述标识符来检取移动终端的通信记录,并将移动终端的通信记录发送给获取单元2300。获取单元2300获取所述通信记录作为与移动终端的标识符相关联的关系列表。
本领域技术人员应当理解,获取单元2300可以采用上面示例中所述的任何一种方式和/或两种方式的结合来获取关系列表。
另外,获取单元2300可以存储所述关系列表,并且每当从移动终端和/或电信服务运营商获取关系列表时,更新所述关系列表。
另外,获取单元2300还可以以预定的时间间隔(例如,1个星期、1个月等)请求移动终端将其关系列表发送给获取单元2300,以便更新存储在获取单元2300中的关系列表。
搜索历史信息库2400根据关系列表来获取与关系列表中的成员相关联的搜索历史信息。
搜索历史信息库2400用于存储与标识符相关联的搜索历史信息。搜索历史信息库2400接收来自获取单元2300的关系列表,并根据关系列表中的标识符,提供搜索历史信息。
排序单元2500接收来自搜索历史信息库2400的搜索历史信息。排序单元2500根据所接收的搜索历史信息来对搜索结果进行排序。例如,如果搜索结果中存在与搜索历史信息中相同的条目,则在排序过程中给予该条目较高的排名。
图3是示出根据本发明的第二实施例的协作搜索方法3000的流程图。
如图3所示,在步骤s3050,协作搜索系统获取用于访问移动终端的关系列表的授权。所述移动终端诸如是手机、PDA、iPhoneTM等。
在一个示例中,协作搜索系统仅需要来自移动终端的关系列表。因此,只需要由移动终端(或其用户)授权协作搜索系统访问移动终端中的关系列表。
在另一个示例中,协作搜索系统需要来自电信服务运营商的关系列表。在这种情况下,由移动终端(或其用户)授权电信服务运营商将关系列表提供给协作搜索系统。
例如,移动终端的用户可以到协作搜索系统的营业厅签署授权协议,以便授权协作搜索系统访问其关系列表。
另外,例如,当用户通过移动终端申请协作搜索服务时,协作搜索系统将授权协议发送到移动终端。所述授权协议例如是由协作搜索系统数字签名的。
当移动终端接收到授权协议时,用户阅读所述授权协议。如果用户同意所述授权协议,则用户通过移动终端签署所述授权协议,以表明其授权移动终端获取关系列表。例如,用户可以通过移动终端以数字签名的方式来签署所述授权协议。
在步骤s3100,协作搜索系统接收到来自移动终端的搜索请求。
所述搜索请求中包含用户的查询词等。另外,搜索请求中还包含移动终端的标识符。例如,所述移动终端的标识符可以是移动终端的手机号码。
在步骤s3200,协作搜索系统根据搜索请求进行搜索以获取搜索结果。
在步骤s3300,协作搜索系统获取与移动终端的标识符相关联的关系列表。
在一个示例中,移动终端将存储在移动终端中的联系人列表和/或通信记录发送给协作搜索系统。例如,移动终端在发送搜索请求时将存储在移动终端中的联系人列表和/或通信记录发送给协作搜索系统。协作搜索系统获取所述联系人列表和/或通信记录作为与移动终端的标识符相关联的关系列表。
在另一个示例中,协作搜索系统首先从来自移动终端的搜索请求中提取移动终端的标识符。然后,系统搜索系统将所提取的标识符发送给电信服务运营商服务器。电信服务运营商服务器首先根据所述标识符判定协作搜索系统具有用于访问移动终端的关系列表的授权。接着,电信服务运营商服务器根据所述标识符来检取移动终端的通信记录,并将移动终端的通信记录发送给协作搜索系统。协作搜索系统获取所述通信记录作为与移动终端的标识符相关联的关系列表。
本领域技术人员应当理解,协作搜索系统可以采用上面示例中所述的任何一种方式和/或两种方式的结合来获取关系列表。
另外,协作搜索系统可以存储所述关系列表,并且每当从移动终端和/或电信服务运营商获取关系列表时,更新所述关系列表。
另外,协作搜索系统还可以以预定的时间间隔(例如,1个星期、1个月等)请求移动终端将其关系列表发送给协作搜索系统,以便更新存储在协作搜索系统中的关系列表。
在步骤s3400,协作搜索系统根据关系列表来获取与关系列表中的成员相关联的搜索历史信息。
协作搜索系统协包含搜索历史信息库,用于存储与标识符相关联的搜索历史信息。协作搜索系统根据所获取的关系列表中的标识符,从搜索历史信息库中获取搜索历史信息。
在步骤s3500,协作搜索系统根据搜索历史信息来对搜索结果进行排序。例如,如果搜索结果中存在与搜索历史信息中相同的条目,则在排序过程中给予该条目较高的排名。
在步骤s3600,协作搜索系统将排序后的搜索结果提供给移动终端。
在步骤s3700,协作搜索系统接收移动终端对搜索结果的选择。
在步骤s3800,协作搜索系统将移动终端对搜索结果的选择存储在搜索历史信息库中,作为搜索历史信息,以供以后使用。
图4是示出根据本发明的第二实施例的协作搜索系统4000的框图。
协作搜索系统4000包括:授权单元4050、第一接收单元4100、搜索单元4200、获取单元4300、搜索历史信息库4400、排序单元4500、提供单元4600和第二接收单元4700。
授权单元4050获取用于访问移动终端的关系列表的授权。所述移动终端诸如是手机、PDA、iPhoneTM等。
在一个示例中,协作搜索系统仅需要来自移动终端的关系列表。因此,授权单元4050只需要从移动终端(或其用户)获取用于访问移动终端中的关系列表的授权。
在另一个示例中,协作搜索系统需要来自电信服务运营商的关系列表。在这种情况下,授权单元4050从移动终端(或其用户)获取授权,以便能够从电信服务运营商获取关系列表。
例如,移动终端的用户可以到协作搜索系统的营业厅签署授权协议,以便授权协作搜索系统访问其关系列表。
另外,例如,当用户通过移动终端申请协作搜索服务时,授权单元4050将授权协议发送到移动终端。例如,授权单元4050可以对所述授权协议进行数字签名。
当移动终端接收到授权协议时,用户阅读所述授权协议。如果用户同意所述授权协议,则用户通过移动终端签署所述授权协议,以表明其授权移动终端获取关系列表。例如,用户可以通过移动终端以数字签名的方式来签署所述授权协议。
第一接收单元4100接收到来自移动终端的搜索请求。
所述搜索请求中包含用户的查询词等。另外,搜索请求中还包含移动终端的标识符。例如,所述移动终端的标识符可以是移动终端的手机号码。
搜索单元4200根据搜索请求进行搜索以获取搜索结果。
获取单元4300获取与移动终端的标识符相关联的关系列表。
在一个示例中,移动终端将存储在移动终端中的联系人列表和/或通信记录发送给协作搜索系统。例如,移动终端在发送搜索请求时将存储在移动终端中的联系人列表和/或通信记录发送给协作搜索系统。获取单元4300获取所述联系人列表和/或通信记录,作为与移动终端的标识符相关联的关系列表。
在另一个示例中,获取单元4300首先从来自移动终端的搜索请求中提取移动终端的标识符。然后,获取单元4300将所提取的标识符发送给电信服务运营商服务器。电信服务运营商服务器首先根据所述标识符判定协作搜索系统具有用于访问移动终端的关系列表的授权。接着,电信服务运营商服务器根据所述标识符来检取移动终端的通信记录,并将移动终端的通信记录发送给获取单元4300。获取单元4300获取所述通信记录,作为与移动终端的标识符相关联的关系列表。
本领域技术人员应当理解,获取单元4300可以采用上面示例中所述的任何一种方式和/或两种方式的结合来获取关系列表。
另外,获取单元4300可以存储所述关系列表,并且每当从移动终端和/或电信服务运营商获取关系列表时,更新所述关系列表。
另外,获取单元4300还可以以预定的时间间隔(例如,1个星期、1个月等)请求移动终端将其关系列表发送给获取单元4300,以便更新存储在获取单元4300中的关系列表。
搜索历史信息库4400根据关系列表来获取与关系列表中的成员相关联的搜索历史信息。
搜索历史信息库4400用于存储与标识符相关联的搜索历史信息。搜索历史信息库4400根据所获取的关系列表中的标识符,从搜索历史信息库中获取搜索历史信息。
排序单元4500接收来自搜索历史信息库4400的搜索历史信息。排序单元4500根据所接收的搜索历史信息来对搜索结果进行排序。例如,如果搜索结果中存在与搜索历史信息中相同的条目,则在排序过程中给予该条目较高的排名。
提供单元4600将排序后的搜索结果提供给移动终端。
第二接收单元4700接收移动终端对搜索结果的选择并将其发送给搜索历史信息库4400。
搜索历史信息库4400存储移动终端对搜索结果的选择,作为搜索历史信息,以供以后使用。
下面参照图5和图6来描述本发明的具体示例。本领域技术人员应当理解,所述示例仅是说明性的而不应作为对本发明的任何限制。
【第一示例】
图5是示出根据本发明的实施例的第一示例的示图。
如图5所示,根据本发明的协作搜索系统5100和网络5300相连。证书服务器5200与网络5300相连,并用于发布数字证书。移动终端5600经由基站5500、网关5400和网络5300相连。
在第一示例中,用户通过移动终端5600访问根据本发明的协作搜索系统5100,并使用由协作搜索系统5100提供的搜索服务。所述移动终端例如是手机、PDA、iPhoneTM等。
首先,用户授权协作搜索系统5100访问其关系列表。例如,所述关系列表是存储在移动终端5600中的联系人列表和/或通信记录。
如前面所述,例如,用户可以到协作搜索系统5100的营业厅签署授权协议,以便授权协作搜索系统5100访问其关系列表。
另外,用户也可以通过移动终端5600来授权协作搜索系统5100访问其关系列表。
例如,用户通过移动终端5600点击协作搜索系统5100的站点,以便对其进行访问。如果用户是首次访问协作搜索系统5100,则协作搜索系统5100将授权协议和客户端程序发送给移动终端5600。
例如,协作搜索系统5100可以首先从证书服务器5200获取数字证书,然后,利用数字证书对授权协议进行数字签名。例如,证书服务器5200可以是数字证书机构verisign等的服务器。利用数字证书进行签名的技术是本领域公知的,因此在此不需要对其进行详细描述。
客户端程序用于在用户使用协作搜索系统5100所提供的搜索服务时提供移动终端(用户)的标识符和关系列表。例如,客户端程序可以是API接口程序。例如,所述标识符是移动终端的手机号码。
用户通过移动终端5600阅读授权协议。如果用户接受授权协议,则在移动终端上安装所述客户端程序。例如,用户可以通过其自己的数字证书来签署所述授权协议,以表明其接受所述授权协议。另外,移动终端5600可以将所签署的协议返回给协作搜索系统5100。
之后,用户可以通过移动终端5600使用协作搜索系统5100所提供的搜索服务。
用户打开移动终端5600上的浏览器,并访问协作搜索系统5100的网站。
例如,用户在协作搜索系统5100的网页中输入查询词“java xml”,并点击查询。
移动终端5600上的浏览器通过客户端程序(例如,手机上的API接口程序)获取移动终端(用户)的标识符和关系列表。所述关系列表例如是存储在移动终端上的通讯簿中的联系人列表和/或移动终端上所记录的用户的通话记录。
移动终端5600上的浏览器向协作搜索系统5100发送搜索请求。所述浏览器可以在搜索请求的http头中写入用户的标识符和所述关系列表。下面示出了所述搜索请求的http头的一个示例:
GET
/search?hl=zh-CN&q=java+xml&btnG=Google+%E6%90%9C%E7
%B4%A2&meta=HTTP/1.1
Host:www.google.cn
User-Agent:Mozilla/5.0(Windows;U;Windows NT5.1;en-US;
rv:1.8.1.16)Gecko/20080702Firefox/2.0.0.16
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language:en-us,en;q=0.5
Accept-Encoding:gzip,deflate
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive:300
Connection:keep-alive
Referer:http://www.google.cn/webhp?source=g_cn
SEARCH_USER_IDENTITY:13200299292
SEARCH_USER_CONTACTS:同事(13310929353);同学(13387469353;13329383353);家人(13329383353)
如上所示,“SEARCH_USER_IDENTITY”字段表示用户的标识符,在这里是手机号码“13200299292”。“SEARCH_USER_CONTACTS”字段表示用户的关系列表,在这里是联系人列表“同事(13310929353);同学(13387469353;13329383353);家人(13187683353)”。
移动终端5600经由基站5500、网关5400和网络5300将搜索请求发送给协作搜索系统5100。
一方面,协作搜索系统5100根据搜索请求进行搜索,以获取搜索结果。
另一方面,协作搜索系统5100从搜索请求中获取关系列表并根据关系列表来获取与关系列表中的成员相关联的搜索历史信息。
搜索历史信息是用户搜索行为的记录。例如,典型的用户搜索行为包括“用户点击搜索结果中的一个文档以对其进行查看”。
表1作为示例示出了一个搜索历史信息的示例。
表1
用户标识符 | 查询词 | 搜索行为 | 文档编号 | 时间戳 |
13310929353 | Java xml | 点击搜索结果 | 23 | 2008-08-06T12:00:00:000Z |
13387469353 | Java xml | 点击搜索结果 | 23 | 2008-08-05T12:00:00:000Z |
13310929353 | 北京旅馆 | 点击搜索结果 | 78 | 2008-08-05T11:00:00:000Z |
13329383353 | Java xml | 点击搜索结果 | 23 | 2008-08-05T11:00:00:000Z |
13039383353 | Java xml | 点击搜索结果 | 56 | 2008-08-08T11:00:00:000Z |
13187683353 | 电影院 | 点击搜索结果 | 89 | 2008-08-08T11:00:00:000Z |
13928683353 | Java xml | 点击搜索结果 | 75 | 2008-08-08T11:00:00:000Z |
例如,表1保存了7位用户的搜索历史信息。表1包括字段“标识符”、“查询词”、“搜索行为”、“文档编号”和“时间戳”。
协作搜索系统5100根据所获取的搜索历史信息对搜索结果进行重新排序,即进行协作搜索排序。在协作搜索排序中,与当前用户关联的用户的搜索历史信息会影响对返回给当前用户的搜索结果的排序。
下面参照表1来描述一个用于协作搜索排序的简单算法。
例如,当前用户的标识符是13200299292,以及查询词是“j avaxml”。
在第一步,协作搜索系统5100检索出与查询词相关的所有文档。
在第二步,协作搜索系统5100找出用户的关系列表中的所有用户的、与当前的查询词相关的搜索行为。协作搜索系统5100根据这些用户的搜索行为,找出被“点击搜索结果”的文档的编号。
例如,协作搜索系统5100所获得的当前用户的关系列表为:
-“同事”:13310929353,
-“同学”:13387469353,
-“同学”:13329383353。
根据表1,可以知道以上三个用户的搜索行为,即:对于查询词“java xml”,文档编号为23的文档被点击了3次。
在第三步,协作搜索系统5100根据文档被点击的点击次数将在第一步中所检索到的文档号重新排序。
在重新排序的过程中,考虑所述点击次数对在第一步中所检索到的所有文档的排名的影响。根据现有技术,在第一步中检索到的所有文档都具有得分值,以及根据得分值来确定文档的排名。在根据本发明的协作搜索系统5100,可以根据下面的公式重新计算每个文档的得分值S’:
S’=S×(e/2)n 公式1
其中,S为原得分值,e为科学计数,以及n为该文档被当前用户的关系列表中的用户所点击的点击次数。
在本示例中,文档编号为23的文档被点击了3次,因此,其得分值S’变为原得分值S的(e/2)3倍。这样,可以相应地提高文档编号为23的文档的排名。
接着,协作搜索系统5100将重新排序的搜索结果返回给移动终端5600。例如,协作搜索系统5100每次10个搜索结果返回给移动终端5600。
协作搜索系统5100记录用户的搜索行为。例如,用户点击查看了第一页搜索结果中的第4个文档,其文档编号是23。用户的点击结果被返回给协作搜索系统5100。协作搜索系统5100将所返回的点击结果记录下来,例如,在其搜索历史信息存储库中增加一条新的记录:
表2
用户标识符 | 查询词 | 搜索行为 | 文档编号 | 时间戳 |
13200299292 | Java xml | 点击搜索结果 | 23 | 2008-08-09T12:00:00:000Z |
所述新的记录又可以用于其他用户的搜索。
本领域技术人员应当明白,上面所述的用于协作搜索排序的简单算法仅仅是示例性的,而不应作为对于本发明的限制。本领域技术人员还可以想到许多其它方式来利用搜索历史信息对搜索结果进行重新排序。
【第二示例】
图6是示出根据本发明的实施例的第二示例的示图。
如图6所示,根据本发明的协作搜索系统6100和网络6300相连。证书服务器6200与网络6300相连,并用于发布数字证书。移动终端6600经由基站6500、网关6400和网络6300相连。电信服务运营商服务器6700与网络6300相连。
在第二示例中,用户通过移动终端6600访问根据本发明的协作搜索系统6100,并使用由协作搜索系统6100提供的搜索服务。所述移动终端例如是手机、PDA、iPhoneTM等。
首先,用户授权协作搜索系统6100访问其关系列表。第二示例与第一示例的不同之处在于:所述关系列表是存储在电信服务运营商服务器6700通信记中的通信记录。
如前面所述,例如,用户可以到协作搜索系统6100的营业厅签署授权协议,以便授权协作搜索系统6100从电信服务运营商服务器6700获取其关系列表。
另外,用户也可以通过移动终端6600来授权协作搜索系统6100从电信服务运营商服务器6700获取其关系列表。
例如,用户通过移动终端6600点击协作搜索系统6100的站点,以便对其进行访问。如果用户是首次访问协作搜索系统6100,则协作搜索系统6100将授权协议和客户端程序发送给移动终端6600。
例如,协作搜索系统6100可以首先从证书服务器6200获取数字证书,然后,利用数字证书对授权协议进行数字签名。例如,证书服务器6200可以是数字证书机构verisign等的服务器。利用数字证书进行签名的技术是本领域公知的,因此在此不需要对其进行详细描述。
客户端程序用于在用户使用协作搜索系统6100所提供的搜索服务时提供移动终端(用户)的标识符。例如,客户端程序可以是API接口程序。例如,所述标识符是移动终端的手机号码。
用户通过移动终端6600阅读授权协议。如果用户接受授权协议,则在移动终端上安装所述客户端程序。用户可以通过其自己的数字证书来签署所述授权协议,以表明其接受所述授权协议。另外,移动终端6600可以将所签署的协议返回给协作搜索系统6100。
协作搜索系统6100将用户所签署的协议发送给电信服务运营商服务器6700,以便能够在进行搜索时从电信服务运营商服务器6700获取用户的关系列表。
之后,用户可以通过移动终端6600使用协作搜索系统6100所提供的搜索服务。
用户打开移动终端6600上的浏览器,并访问协作搜索系统6100的网站。
例如,用户在协作搜索系统6100的网页中输入查询词“java xml”,并点击查询。
移动终端6600上的浏览器通过客户端程序(例如,手机上的API接口程序)获取移动终端(用户)的标识符。
移动终端6600上的浏览器向协作搜索系统6100发送搜索请求。所述浏览器可以在搜索请求的http头中写入用户的标识符。下面示出了所述搜索请求的http头的一个示例:
GET
/search?hl=zh-CN & q=java+xml & btnG=Google+%E6%90%9C%E7%B4%A2 & meta=HTTP/1.1
Host:www.google.cn
User-Agent:Mozilla/5.0(Windows;U;Windows NT5.1;en-US;rv:1.8.1.16)Gecko/20080702Firefox/2.0.0.16
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language:en-us,en;q=0.5
Accept-Encoding:gzip,deflate
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive:300
Connection:keep-alive
Referer:http://www.google.cn/webhp?source=g_cn
SEARCH_USER_IDENTITY:13200299292
如上所示,“SEARCH_USER_IDENTITY”字段表示用户的标识符,在这里是手机号码“13200299292”。
移动终端6600经由基站6500、网关6400和网络6300将搜索请求发送给协作搜索系统6100。
一方面,协作搜索系统6100根据搜索请求进行搜索,以获取搜索结果。
另一方面,协作搜索系统6100从搜索请求中获取标识符,并将标识符发送给电信服务运营商服务器6700,以请求其提供该用户的关系列表。
电信服务运营商服务器6700接收所述标识符,并判断协作搜索系统6100是否具有用于访问移动终端的关系列表的授权。例如,电信服务运营商服务器6700检查是否存在授权协作搜索系统6100访问移动终端的关系列表的授权协议。
如果存在所述授权协议,则电信服务运营商服务器6700根据所述标识符来检取移动终端的通信记录,并将移动终端的通信记录发送给协作搜索系统6100。
协作搜索系统6100接收所述通信记录,作为与所述标识符相关联的关系列表。
协作搜索系统6100根据关系列表来获取与关系列表中的成员相关联的搜索历史信息。
协作搜索系统6100根据搜索历史信息对搜索结果进行重新排序。之后的步骤与第一示例中的步骤相同,因此,在这里不需要进行重复描述。
可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。