CN101685456B - 一种搜索的方法、系统和装置 - Google Patents
一种搜索的方法、系统和装置 Download PDFInfo
- Publication number
- CN101685456B CN101685456B CN200810190595.6A CN200810190595A CN101685456B CN 101685456 B CN101685456 B CN 101685456B CN 200810190595 A CN200810190595 A CN 200810190595A CN 101685456 B CN101685456 B CN 101685456B
- Authority
- CN
- China
- Prior art keywords
- user
- search
- interest model
- database
- search request
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施方式公开了一种搜索的方法,根据各个成员引擎的元索引、搜索请求和用户的个性化数据选择成员引擎,以便于所述选择的成员引擎完成搜索,以便于所述选择的成员引擎完成搜索。相应的公开了搜索的系统和相关装置,例如搜索服务器、调度服务器。这样提高了系统的效率与搜索的精确度。
Description
技术领域
本发明涉及通信技术领域,尤其是一种搜索的方法、系统与装置。
背景技术
随着科学的发展和进步,通信技术也随着飞速发展,其中移动搜索的也是一个在伴随着通信技术发展的新亮点。移动搜索技术的研究也成为业界研发的重点。移动搜索其中一个很重要的技术亮点是精确搜索,也就是提供给用户个性化的搜索服务,实现用户所搜即所得。
现有技术一种元搜索个性化的处理方案中,搜索服务器搜集成员引擎的元索引,搜索服务器根据元索引计算搜索请求与成员引擎的相似度,选择相似度高的成员引擎为用户服务,将搜索请求分发给这些选中的成员引擎进行搜索。
发明人在实现本发明的过程中,发现该元搜索方案中选中的成员引擎可能不准确,导致搜索的精确度不高。
发明内容
为了提高搜索的精确度,本发明的实施方式提供了相应的用于搜索的方法、系统和装置。
一种搜索的方法,该方法包括根据各个成员引擎的元索引、搜索请求和所述用户的个性化数据选择成员引擎,以便于所述选择的成员引擎完成搜索,所述元索引所述元索引包括下述信息之一或者其任意组合:
术语最大归一化权重向量mnw=(mnw1,mnw2,...,mnwi,...mnwp),其中mnwi为术语ti相对于所述成员引擎对应的数据库或者子数据库中的所有文档的最大归一化权重;
术语平均归一化权重向量anw=(anw1,anw2,...,anwi......,anwp),其中anwi为术语ti相对于所述成员引擎对应的数据库或者子数据库中的所有文档的平均归一化权重;
数据库或者子数据库中的文档的兴趣模型最大归一化权重向量mnv=(mnv1,mnv2,......,mnvi,......,mnvn),其中mnvi为所述文档的兴趣模型的第i个维度相对于所述成员引擎对应的数据库或者子数据库中的所有文档的最大归一化权重;
数据库或者子数据库中的文档的兴趣模型平均归一化权重向量anv=(anv1,anv2,......,anvi,......,anvn),其中anvi为文档的兴趣模型的第i个维度相对于所述成员引擎对应的数据库或者子数据库中的所有文档的平均归一化权重;
术语ti相对于该数据库的全局反向文档频率gidfi,其中gidfi=1/dfi,dfi为该元索引对应的数据库中包含术语ti的文档的数量;
文档的兴趣模型第i个维度对应的全局反向文档频率IM_gidfi,其中IM_gidfi=1/IM_IDFi,IM_IDFi为数据库或者子数据库中包含的属于文档的兴趣模型的第i个维度的术语的文档的个数;
术语ti相对于该数据库的全局反向文档频率gidfi=log(n/(gdfi+1)),其中gdfi为所有成员引擎对应数据库或者子数据库中包含术语ti的文档的数量的总和,n为所有成员引擎所包含的所有文档数量的总和;或者,
文档的兴趣模型第i个维度对应的全局反向文档频率IM_gidfi=log(n/(IM_gdfi+1)),IM_gdfi为所有成员引擎对应的数据库或子数据库中包含属于文档的兴趣模型的第i个维度的术语的文档个数的总和,n为所有成员引擎所包含的所有文档数量的总和。
相应的,一种用于搜索的系统,该系统能够应用上述搜索方法,该系统包括搜索客户端,用于向搜索服务子系统发送搜索请求;搜索服务子系统,用于接收搜索客户端发送的搜索请求,接收各个成员引擎上报的元索引,根据所述各个成员引擎的元索引、所述搜索请求和用户的个性化数据选择成员引擎,将所述搜索请求发送给所述选择的成员引擎;至少一个成员引擎,用于向搜索服务子系统上报该成员引擎的元索引,并在接收到所述搜索服务子系统发送的搜索请求后,完成搜索;所述元索引包括下述信息之一或者其任意组合:
术语最大归一化权重向量mnw=(mnw1,mnw2,...,mnwi,...mnwp),其中mnwi为术语ti相对于所述成员引擎对应的数据库或者子数据库中的所有文档的最大归一化权重;
术语平均归一化权重向量anw=(anw1,anw2,...,anwi......,anwp),其中anwi为术语ti相对于所述成员引擎对应的数据库或者子数据库中的所有文档的平均归一化权重;
数据库或者子数据库中的文档的兴趣模型最大归一化权重向量mnv=(mnv1,mnv2,......,mnvi,......,mnvn),其中mnvi为所述文档的兴趣模型的第i个维度相对于所述成员引擎对应的数据库或者子数据库中的所有文档的最大归一化权重;
数据库或者子数据库中的文档的兴趣模型平均归一化权重向量anv=(anv1,anv2,......,anvi,......,anvn),其中anvi为文档的兴趣模型的第i个维度相对于所述成员引擎对应的数据库或者子数据库中的所有文档的平均归一化权重;
术语ti相对于该数据库的全局反向文档频率gidfi,其中gidfi=1/dfi,dfi为该元索引对应的数据库中包含术语ti的文档的数量;
文档的兴趣模型第i个维度对应的全局反向文档频率IM_gidfi,其中IM_gidfi=1/IM_IDFi,IM_IDFi为数据库或者子数据库中包含的属于文档的兴趣模型的第i个维度的术语的文档的个数;
术语ti相对于该数据库的全局反向文档频率gidfi=log(n/(gdfi+1)),其中gdfi为所有成员引擎对应数据库或者子数据库中包含术语ti的文档的数量的总和,n为所有成员引擎所包含的所有文档数量的总和;或者,
文档的兴趣模型第i个维度对应的全局反向文档频率IM_gidfi=log(n/(IM_gdfi+1)),IM_gdfi为所有成员引擎对应的数据库或子数据库中包含属于文档的兴趣模型的第i个维度的术语的文档个数的总和,n为所有成员引擎所包含的所有文档数量的总和。
上述各实施方式由于接收了搜索请求后提取了该用户的兴趣模型,并且根据该各个成员引擎的元索引、该搜索请求和该用户的兴趣模型选择成员引擎,也就是说,这些选择的成员引擎充分考虑了搜索请求和用户的兴趣模型的因素,之后,由选择的这些成员引擎完成搜索,成员引擎的选择更具有个性化,选出的引擎是用户兴趣相关的,这样提高了系统调度(或者选择)的效率与搜索的精确度。
附图说明
图1为本发明一个实施例的系统架构示意图;
图2为本发明另一个实施例的系统架构示意图;
图3为图2所示的系统架构下的装置的结构示意图;
图4为本发明另一个实施例的系统架构示意图;
图5为图4所示的系统架构下的装置的结构示意图;
图6为本发明另一个实施例的系统架构示意图;
图7为图6的系统架构下的装置的结构示意图;
图8为本发明一个搜索方法实施例的流程示意图;
图9为本发明另一个搜索方法实施例的流程示意图;
图10为本发明又一个搜索方法实施例的流程示意图;
图11为本发明一个提取用户兴趣模型的流程示意图;
图12为本发明一个提取用户的静态兴趣模型的流程示意图;
图13为本发明一个提取用户的动态兴趣模型的流程示意图;
图14为本发明一个选取成员引擎的流程示意图;
图15为本发明实施方式提供的又一种搜索系统的架构示意图;
图16为为图15的搜索系统架构下的搜索服务器、应用服务器的结构图;
图17为图15所示的搜索的系统的工作流程图。
具体实施方式
参考图1,为一种用于搜索的系统实施例的系统结构示意图,该系统包括:
搜索客户端10,用于向搜索服务子系统发送搜索请求,
搜索服务子系统20,用于接收搜索客户端发送的搜索请求;根据该搜索请求从用户个性化数据中提取该用户的兴趣模型;接收各个成员引擎上报的元索引;根据该各个成员引擎的元索引、该搜索请求和该用户的兴趣模型选择成员引擎;将该搜索请求发送给该选择的成员引擎;
至少一个成员引擎,用于向搜索服务子系统上报该成员引擎的元索引,并在接收到该搜索服务子系统发送的搜索请求后,完成搜索。在实施的过程中,一般有多个成员引擎,例如第一成员引擎301,第二成员引擎302,第三成员引擎303,第四成员引擎304。
需要说明的是,在本发明的各实施方式中,成员引擎是指在元搜索的架构中,负责具体搜索的各个垂直搜索引擎。元索引是指在元搜索的架构中,用来描述成员引擎的能力并用于成员引擎选择的统计数据。具体的,成员引擎的元索引为关于该成员引擎对应的数据库,子数据库,数据库或者子数据库中包含的文档或者记录,以及,该文档或者记录中包含的术语的统计数据。在本发明的各实施方式中,成员引擎的元索引用作选择成员引擎的依据之一。兴趣模型是指相对于一定的维度的权重分值所组成的向量,可以用公式表示为R=(r1,r2,..fi....,rn),其中n表示n个维度,ri为该兴趣模型第i个维度的权重分值,i为自然数。其中,用户的兴趣模型是基于用户的相关数据提取出来的相对于一定的维度的权重分值所组成的向量。
上述用于搜索的系统中,由于搜索服务子系统20接收了搜索请求后提取了该用户的兴趣模型,并且根据该各个成员引擎的元索引、该搜索请求和该用户的兴趣模型选择成员引擎,也就是说,这些选择的成员引擎充分考虑了搜索请求和用户的兴趣模型的因素,之后,由选择的这些成员引擎完成搜索,成员引擎的选择更具有个性化,选出的引擎是用户兴趣相关的,这样提高了系统调度(或者选择)的效率与搜索的精确度。
参考图2为另一个搜索的系统的实施例的架构示意图,该系统与前述图1所述的系统类似,包括搜索客户端10,搜索服务子系统20A,至少一个成员引擎。搜索客户端10用于向搜索服务子系统发送搜索请求;至少一个成员引擎,用于向搜索服务子系统上报该成员引擎的元索引,并在接收到该搜索服务子系统发送的搜索请求后,完成搜索。在实施的过程中,一般有多个成员引擎,例如第一成员引擎301,第二成员引擎302,第三成员引擎303,第四成员引擎304。
该搜索服务子系统20A由搜索服务器201A和用户数据库202组成,
该用户数据库202用于存储或者提供用户的个性化数据;
该搜索服务器201A用于接收搜索客户端发送的搜索请求;根据该搜索请求从用户个性化数据中提取该用户的兴趣模型;接收各个成员引擎上报的元索引;根据该各个成员引擎的元索引、该搜索请求和该用户的兴趣模型选择成员引擎;将该搜索请求发送给该选择的成员引擎。
参考图3,为在图2所示的系统架构下各装置的具体结构示意图,其中,搜索服务器201A包括:
搜索请求接收模块201A1,用于接收搜索客户端发送的搜索请求;
用户的兴趣模型提取模块201A2,根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型;
元索引收集模块201A3,用于接收各个成员引擎上报的元索引;
成员引擎选择模块201A4,用于根据所述各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎;
搜索请求分发模块201A5,用于将所述搜索请求发送给所述选择的成员引擎,以便于所述选择的成员引擎根据所述搜索请求完成搜索。
参考图4,为又一个搜索的系统的实施例的架构示意图,该系统与前述图1该的系统类似,包括搜索客户端10,搜索服务子系统20B,至少一个成员引擎。搜索客户端10用于向搜索服务子系统发送搜索请求;至少一个成员引擎,用于向搜索服务子系统上报该成员引擎的元索引,并其中部分成员引擎在接收到该搜索服务子系统发送的搜索请求后,完成搜索。在实施的过程中,一般有多个成员引擎,例如第一成员引擎301,第二成员引擎302,第三成员引擎303,第四成员引擎304。
该搜索服务子系统20B由搜索服务器201B、调度服务器203A和用户数据库202组成。
具体的,该用户数据库202用于存储或者提供用户的个性化数据;
该搜索服务器201B,用于接收搜索客户端发送的搜索请求,根据该搜索请求从用户个性化数据中提取该用户的兴趣模型,将该用户的兴趣模型和该搜索请求发送给该调度服务器,接收该调度服务器返回的其选择的成员引擎,并将该搜索请求发送给该选择的成员引擎;
该调度服务器203A,用于接收搜索服务器发送的用户的兴趣模型和该搜索请求,以及,接收各个成员引擎上报的元索引;根据该各个成员引擎的元索引、该搜索请求和该用户的兴趣模型选择成员引擎;将该选择的成员引擎返回给该搜索服务器。
参考图5,为上述图4所示的系统架构下的搜索服务器201B和调度服务器203A的结构示意图。
该搜索服务器201B包括:
搜索请求接收模块201B1,用于接收搜索客户端发送的搜索请求,并将该搜索请求发送给成员引擎选择请求发送模块;
用户的兴趣模型提取模块201B2,用于根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型,并将该用户的兴趣模型发送给成员引擎选择请求发送模块;
成员引擎选择请求发送模块201B3,用于将所述搜索请求和该用户的兴趣模型发送给调度服务器,以便于该调度服务器根据所述各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎;
成员引擎选择结果接收模块201B4,用于接收所述调度服务器返回的其选择的成员引擎;
搜索请求分发模块201B5,用于将所述搜索请求发送给所述选择的成员引擎,以便于所述选择的成员引擎根据所述搜索请求完成搜索。
和上述搜索服务器201B通信的调度服务器203A包括:
成员引擎选择请求接收模块203A1,用于接收所述搜索服务器发送的搜索请求和该用户的兴趣模型;
元索引收集模块203A2,用于接收各个成员引擎上报的元索引;
成员引擎选择模块203A3,用于根据所述各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎;
成员引擎选择结果返回模块203A4,用于将所述选择的成员引擎发送给所述搜索服务器,以便于所述搜索服务器将所述搜索请求发送给所述选择的成员引擎,所述选择的成员引擎根据所述搜索请求完成搜索。
参考图6,为又一个搜索的系统的实施例的架构示意图,该系统与前述图1该的系统类似,包括搜索客户端10,搜索服务子系统20C,至少一个成员引擎。搜索客户端10用于向搜索服务子系统发送搜索请求;至少一个成员引擎,用于向搜索服务子系统上报该成员引擎的元索引,并在接收到该搜索服务子系统发送的搜索请求后,完成搜索。
该图6所示的搜索服务子系统20C由搜索服务器201C,调度服务器203C,用户数据库202组成,其中,
该用户数据库202用于存储或者提供用户的个性化数据;
该搜索服务器201C,用于接收搜索客户端发送的搜索请求,将该搜索请求发送给该调度服务器,接收该调度服务器返回的其选择的成员引擎,并将该搜索请求发送给该选择的成员引擎;
该调度服务器203C,用于接收搜索服务器发送的该搜索请求,根据该搜索请求从用户个性化数据中提取该用户的兴趣模型,以及,接收各个成员引擎上报的元索引;根据该各个成员引擎的元索引、该搜索请求和该用户的兴趣模型选择成员引擎;将该选择的成员引擎返回给该搜索服务器。
参考图7,为图6所示的系统架构下,搜索服务器201C,调度服务器203C的结构示意图。
如图7中所示的搜索服务器201C,该搜索服务器201C包括:
搜索请求接收模块201C1,用于接收搜索客户端发送的搜索请求,并将该搜索请求发送给成员引擎选择请求发送模块201C3;
成员引擎选择请求发送模块201C3,用于将所述搜索请求发送给调度服务器,以便于该调度服务器根据所述各个成员引擎的元索引、所述搜索请求和用户的兴趣模型选择成员引擎;
成员引擎选择结果接收模块201C4,用于接收所述调度服务器返回的其选择的成员引擎;
搜索请求分发模块201C5,用于将所述搜索请求发送给所述选择的成员引擎,以便于所述选择的成员引擎根据所述搜索请求完成搜索。
如图7中所示的一种调度服务器203C,该调度服务器203C可与前述的搜索服务器201C通信,包括
成员引擎选择请求接收模块203C1,用于接收搜索服务器发送的搜索请求;
用户的兴趣模型提取模块203C5,用于根据接收的搜索请求从用户个性化数据中提取该用户的兴趣模型,并将该用户的兴趣模型发送给成员引擎选择模块203C3;
元索引收集模块203C2,用于接收各成员引擎上报的元索引;
成员引擎选择模块203C3,用于根据各个成员引擎的元索引、搜索请求和用户的兴趣模型选择成员引擎;
成员引擎选择结果返回模块203C4,用于根据所述选择的成员引擎发送给所述搜索服务器,以便于所述搜索服务器将所述搜索请求发送给所述选择的成员引擎,所述选择的成员引擎根据所述搜索请求完成搜索。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
上述用于搜索的系统和装置,由于根据各个成员引擎的元索引、搜索请求和用户的兴趣模型选择成员引擎,由这些选择的成员引擎进行搜索,进一步提高了搜索的准确度,提高了搜索的效率。
前述的用于搜索的系统和搜索服务器、调度服务器等装置的工作流程与下文的搜索方法类似,将详述之。
参考图8,为一种搜索的方法的流程示意图。该方法包括:
801、搜索服务子系统接收各个成员引擎的元索引。
具体的,可以是各个成员引擎向搜索服务子系统上报其元索引。其中各成员引擎分别对应一个数据库,该数据库可能包含若干子数据库,成员引擎的元索引具体由该成员引擎对应的数据库或者子数据库中的数据确定。该元索引包含关于该数据中的术语的统计数据或者该数据中的文档的兴趣模型的统计数据。其中,文档的兴趣模型是基于该文档中的数据提取的相对于一定的维度的权重分值所组成的向量。在具体的发明实施方式中,上述文档的兴趣模型和前述用户的兴趣模型采用的维度应该一致。
更具体的,该元索引可以包括下述信息之一或者其任意组合:
①、术语最大归一化权重向量mnw=(mnw1,mnw2,.......,mnwi,.....mnwp),其中mnwi为术语ti相对于该成员引擎对应的数据库或者子数据库中的所有文档的最大归一化权重。
其中,mnwi可以以下面的方式计算得到:首先计算数据库中的每个文档相对于术语ti的权重,权重的取值为文档中术语出现的次数,再从所有文档相对术语ti的权重中取最大值,就得到术语ti相对于数据库中的所有文档的最大权重mnwi’,再对向量mnw’(mnw1’,mnw2’,...mnwi’,.....,mnwp’)作归一化处理,最终得到mnw’向量的归一化向量mnw(mnw1,mnw2,...,mnwi,........,mnwp)。
②、术语平均归一化权重向量anw=(anw1,anw2,.....,anwi......,anwp),其中anwi为术语ti相对于该成员引擎对应的数据库或者子数据库中的所有文档的平均归一化权重。
其中,anwi可以通过如下的方式计算:首先计算数据库的每个文档相对于术语ti的权重,权重的取值为文档中术语出现的次数,再从所有文档相对术语ti的权重中取平均值,就得到术语ti相对于数据库中的所有文档的平均权重anwi’,再对向量anw’(anw1’,anw2’...anwi’,.....,anwp’)作归一化处理,最终得到anw’向量的归一化向量anw(anw1,anw2,...,anwi,........,anwp)。
③、数据库或者子数据库中的文档的兴趣模型最大归一化权重向量mnv=(mnv1,mnv2,......,mnvi,......,mnvn),其中mnvi为该文档的兴趣模型的第i个维度相对于该成员引擎对应的数据库或者子数据库中的所有文档的最大归一化权重。
其中,mnvi可以通过下面的方式计算得到:首先计算数据库的每个文档相对于兴趣模型第i个维度的权重,权重的取值为文档中属于兴趣模型第i个维度范围(如:体育)的所有词的词频之和;再从所有文档相对于兴趣模型第i个维度的权重中取最大值,就得到兴趣模型的第i个维度相对于数据库D中的所有文档的最大权重mnvi’,再对向量mnv’(mnv1’,mnv2’...mnvi’,.....,mnvp’)作归一化处理,最终得到mnv’向量的归一化向量mnv(mnv1,mnv2,...,mnvi,........,mnvp)。
④、数据库或者子数据库中的文档的兴趣模型平均归一化权重向量anv=(anv1,anv2,......,anvi,......,anvn),其中anvi为该文档的兴趣模型的第i个维度相对于该成员引擎对应的数据库中的所有文档的平均归一化权重。
其中,anvi可以通过下面的方式计算得到:首先计算数据库的每个文档相对于兴趣模型第i个维度的权重,权重的取值为文档中属于兴趣模型第i个维度范围(如:体育)的所有词的词频之和;再从所有文档相对于兴趣模型第i个维度的权重中计算平均值,就得到兴趣模型的第i个维度相对于数据库中的所有文档的平均权重anvi’,再对向量anv’(anv1’,anv2’...anvi’,.....,anvp’)作归一化处理,最终得到anv’向量的归一化向量anv(anv1,anv2,...,anvi,........,anvp)。
⑤、术语ti相对于该数据库的全局反向文档频率gidfi,其中gidf=1/dfi,dfi为该元索引对应的数据库中包含术语ti的文档的数量。
⑥、文档的兴趣模型第i个维度对应的全局反向文档频率IM_gidfi,其中IM_gidfi=1/IM_IDFi,IM_IDFi为数据库或者子数据库中包含的属于文档的兴趣模型的第i个维度的一个或者多个术语的文档的个数。
802、搜索服务子系统接收搜索客户端发送的搜索请求。
一般的,该搜索请求中携带有用户的ID,以及,由一个或多个术语组成的搜索关键字等信息。后文可以用Q=(q1,q2,..qi...qk)表示搜索请求对应的向量,其中qi为搜索请求中术语ti的权重,i、k为自然数。
803、搜索服务子系统从用户数据库中提取用户的兴趣模型。
具体的,用户数据库中一般存储有用户的个性化数据,包括用户的静态用户档案profile、搜索历史、呈现信息、位置信息等。针对不同的数据可以采用具体不同的方法提取用户的兴趣模型,后文将详述之。
804、根据搜索请求、用户的兴趣模型和元索引选择成员引擎。
具体的,该选择的步骤既考虑搜索请求,也考虑元索引的情况,更考虑用户的兴趣模型的因素,其具体过程将在后文详述之。
参考图9,为另一个搜索的方法的流程示意图,该方法包括:
901、调度服务器接收各个成员引擎元索引。
具体的,可以是各个成员引擎向调度服务器上报其元索引。
902、搜索服务器接收搜索客户端发送的搜索请求。
一般的,该搜索请求中携带有用户的ID,以及,由一个或多个术语组成的搜索关键字等信息。
可以看出,前述901、902步骤可以没有时间的先后顺序。
903、搜索服务器接收到搜索请求后,从用户数据库中的用户个性化数据中提取用户的兴趣模型。
904、搜索服务器将该搜索请求和该用户的兴趣模型提交给调度服务器。
905、该调度服务器根据搜索请求、用户的兴趣模型和元索引选择成员引擎。
906、该调度服务器将选择的成员引擎发送给该搜索服务器。
907、该搜索服务器将前述搜索请求发送给该选择的成员引擎,以便于该成员引擎完成搜索。
参考图10,为另一个类似的搜索的方法,该方法包括:
1001、调度服务器接收各个成员引擎的元索引。
具体的,可以是各个成员引擎向该调度服务器上报其元索引。
1002、搜索客户端向搜索服务器发送搜索请求。
一般的,该搜索请求中携带有用户的ID,以及,由一个或多个术语组成的搜索关键字等信息。
可以看出,该1001、1002的步骤没有时间上的先后顺序。
1003、该搜索服务器接收到该搜索请求后将该搜索请求发送给该调度服务器。
1004、该调度服务器接收到该搜索请求后从用户数据库中的用户个性化数据提取用户的兴趣模型。
1005、该调度服务器根据搜索请求、用户的兴趣模型和元索引选择成员引擎。
1006、该调度服务器将选择的成员引擎返回给搜索服务器。
1007、该搜索服务器接收到选择的成员引擎以后,将该搜索请求分发给该选择的成员引擎。
下面具体介绍前述步骤803、903或者1004中从用户数据库中的用户个性化数据中提取用户的兴趣模型的具体方法。
其中,参考图11,一种从用户个性化数据中提取该用户的兴趣模型的方法包括:
1101、用若干兴趣维度表示用户的兴趣;
该兴趣维度例如:新闻、体育、娱乐、财经、科技、房产、游戏、女性、论坛、天气、商品、家电、音乐、读书、博客、手机、军事、教育、旅游、彩信、彩铃、餐饮、民航、工业、农业、电脑、地理等,当然实际实施的过程中不限于上述兴趣维度。
1102、针对每个兴趣维度给出评分值;
1103、由所述针对每个兴趣维度的评分值组成一个向量,该向量为该用户的兴趣模型。
该用户的兴趣模型可以用公式表示为R=(r1,r2,..ri....,rn),其中n表示n个维度,ri为该用户的兴趣模型第i个维度的权重分值,i为自然数。
具体的,该用户个性化数据可以是用户的静态用户档案profile,获得的用户的兴趣模型可以称为用户静态兴趣模型。参考图12,该方法具体包括:
1201、获得所述用户的静态用户档案中的属于某兴趣维度的词的词频;
1202、计算属于该兴趣维度的所有词的词频之和,作为该兴趣维度的评分值;
1203、各评分值组成一个评分值向量,该评分值向量为该用户的静态兴趣模型。
该用户的静态兴趣模型可以用公式表示为:用户的静态用户档案所对应的兴趣模型R1=(p1,p2,p3,......,pi),其中pi为静态用户档案中属于第i个兴趣维度的所有词的词频之和,i为自然数。
具体的,该用户个性化数据还可以是用户的搜索历史,则获得的用户的兴趣模型可以称为用户的动态兴趣模型。参考图13,该方法可以具体包括:
1301、获得所述用户的搜索历史中被点击的某文档中属于某兴趣维度的词的词频;
1302、计算该文档中属于该兴趣维度的所有词的词频之和,该词频之和作为该文档针对该兴趣维度的评分值;
1303、针对各兴趣维度的各评分值形成针对该文档的评分值向量;
1304、针对不同搜索历史中被点击的文档的上述评分值向量的和为所述用户的动态兴趣模型。
该用户的动态兴趣模型可以用公式表示为:用户的搜索点击历史对应的兴趣模型R2=d1+d2+d3+......di,其中di=(t1,t2,t3,......,tj),di为用户点击某个文档i所对应的兴趣模型向量,当用户点击了这个文档i,tj等于该文档i中属于第j个兴趣维度的所有词的词频之和,i,j为自然数。
当用户个性化数据为搜索历史时,在具体的例子中,可以根据具体情况进一步修正该用户的兴趣模型,包括:
当用户对于被点击的该文档评价好时,对所述针对该文档的评分值向量进行正向加权。
该步骤可以用公式表示为:如果对于被点击的该文档i评价好,di向量乘以一个正的常数c表示文档的重要性增加di=c*di=(c*ti,c*t2,c*t3,......,c*tn)。或者,
当用户对于被点击的该文档评价不好时,对所述针对该文档的评分值向量进行反向加权;
该步骤可以用公式表示为:如果对于被点击的该文档i评价不好,di向量乘以一个正的常数c的倒数表示文档的重要性减小di=1/c*di=(1/c*ti,1/c*t2,1/c*t3,......,1/c*tn)。
根据该文档被点击后经历的时间,递减所述针对该文档的评分值向量。
例如,过了一段时间,tj的值自动减少一定的百分比,表示随着时间的推移其重要性减弱,直到过了较长的时间tj的值减为零为止,这时将di从用户的搜索历史中删除。例如,点击后每经过一个月,tj的值减少10%。当点击后经历连续10个月而无新的点击之后,tj的值减为零。
在实施过程中,该用户个性化数据可以既包括用户的静态用户档案profile,也包括用户的搜索历史,在这种情况下,获得的用户的兴趣模型可以称之为用户的综合的兴趣模型。那么,提取用户兴趣模型的方法还可以包括:
将该静态兴趣模型、该动态兴趣模型分别作归一化,以该静态兴趣模型与该动态兴趣模型的和为综合的兴趣模型;或者,
将该静态兴趣模型、该动态兴趣模型先加权相加,再将该相加的和进行归一化,该归一化的结果为综合的兴趣模型。
下面再具体介绍前述804、905或者1005步骤中根据搜索请求、用户的兴趣模型和元索引选择成员引擎的具体过程。
参考图14,该选择的过程具体包括:
1401、获取某数据库中的第一文档与搜索请求向量Q的第一相似度,该第一文档满足与搜索请求向量Q最相似的条件;其中,搜索请求向量Q=(q1,q2,..qi...qk),,qi为搜索请求中术语ti的权重。
1402、获取该数据库中的第二文档与用户的兴趣模型R的第二相似度,并且该第二文档满足在与向量Q’(q1’,q2’...qm’)有较好匹配的基础上与用户的兴趣模型向量R最相似的条件,其中,向量Q’为搜索请求向量Q针对用户的兴趣模型向量R的转换形式,用户的兴趣模型向量R=(r1,r2,..ri....,rn),ri为用户的兴趣模型第i个维度的权重分值。
1403、选取上述第一相似度和第二相似度中的较大值作为该搜索请求和该用户的兴趣模型的结合与该数据库之间的相似度。
1404、重复采用上述方法,获得该搜索请求和该用户的兴趣模型的结合与各个数据库之间的相似度,其中各数据库分别对应一个成员引擎;
1405、按该搜索请求和该用户的兴趣模型的结合与各个数据库之间的相似度对各数据库进行排序,选择排在前面的相似度较大的一个或多个数据库对应的成员引擎。
具体的,上述1401~1402中获得第一相似度、第二相似度的过程,可以包含不同的步骤(即采取不同的公式或者算法),下面举几个具体的例子进行说明。
一种情况下:
该1402a步骤包括:计算 的值,该值作为该第二相似度;
其中,Q’的计算方法为:如果术语ti属于用户的兴趣模型的某个维度的范围,将qi的值映射成用户的兴趣模型的该维度的权重,然后将相同维度的权重相加得到qi’,再作归一化处理;V为由mnvi和anvj(j≠i,1≤j≤n)组成的向量;sim(V(mnvi,anvj(j≠i,1≤j≤n)),Q’)为向量V和向量Q’的cousine相似度;T为一个阀值,且0<T≤1;i,k,j,n为自然数。
另一种情况下:
其中,Q’的计算方法为:如果术语ti属于用户的兴趣模型的某个维度的范围,将qi的值映射成用户的兴趣模型的该维度的权重,然后将相同维度的权重相加得到qi’,再作归一化处理;V为由IM_gidfi*mnvi和IM_fidfj*anvj(j≠i,1≤j≤n)组成的向量;sim(V(IM_gidfi*mnvi,IM_gidfi*anvj(j≠i,1≤j≤n)),Q’)为向量V和向量Q’的cousine相似度;T为一个阀值,且0<T≤1。
又一种情况下:
其中Q’的计算方法为:如果术语ti属于用户的兴趣模型的某个维度的范围,将qi的值映射成用户的兴趣模型的该维度的权重,然后将相同维度的权重相加得到qi’,再作归一化处理;V为由mnvi和anvj(j≠i,1≤j≤n)组成的向量;sim(V(mnvi,anvj(j≠i,1≤j≤n)),Q’)为向量V和向量Q’的cousine相似度;T为一个阀值,且0<T≤1。
通过前述1401~1405的计算和选择,选择出的成员引擎对应的数据库与搜索请求和用户的兴趣模型的结合有较好的相似度,因而能够提高搜索的准确率,同时节约了搜索系统的资源,提高了搜索的效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
在前述的个实施方式中,成员引擎的选择充分的利用了丰富的用户数据,进行了个性化的选择,从而可以选出最符合用户个性化兴趣需要的成员引擎为用户服务,成员引擎选择调度准确,从而达到精确搜索的目的。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。
本发明另一具体实施方式中,与前述各实施方式中类似,不同之处在于元索引包含的信息:
术语ti相对于该数据库的全局反向文档频率可以替换为gidfi=log(n/(gdfi+1)),其中gdfi为所有成员引擎对应数据库或者子数据库中包含术语ti的文档的数量的总和,n为所有成员引擎所包含的所有文档数量的总和;
文档的兴趣模型第i个维度对应的全局反向文档频率可以替换为IM_gidfi=log(n/(IM_gdfi+1)),IM_gdfi为所有成员引擎对应的数据库或子数据库中包含属于文档的兴趣模型的第i个维度的术语的文档个数的总和,n为所有成员引擎所包含的所有文档数量的总和。
参考图15,为本发明实施方式提供的又一种搜索系统的架构示意图。该系统与前述图1该的系统类似,包括搜索客户端10,搜索服务子系统20D,至少一个成员引擎301,302或303。搜索客户端10用于向搜索服务子系统20D发送搜索请求;至少一个成员引擎301,302或303,用于向搜索服务子系统20D上报该成员引擎的元索引,并在接收到该搜索服务子系统20D发送的搜索请求后,完成搜索。
图15所示的搜索子系统20D由搜索服务器201D,应用服务器204,用户数据库202D组成。
该用户数据库202D用于存储或者提供用户的个性化数据。
该应用服务器204用于接收搜索客户端发送10的搜索请求,根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型;将该搜索请求和该用户兴趣模型发送给搜索服务器201D。
该搜索服务器201D用于接收应用服务器204发送的搜索请求和该用户的兴趣模型,接收各成员引擎301,302或303上报的元索引,并根据所述各个成员引擎301,302或303的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎301,302或303;将该搜索请求发送给所述选择的成员引擎301,302或303。
参考图16,为图15的搜索系统架构下的搜索服务器201D、应用服务器204的结构图。
其中,应用服务器204包括搜索请求接收模块2041,用于接收搜索客户端发送的搜索请求。兴趣模型提取模块2041,用于根据搜索请求从用户的个性化数据中提取用户的兴趣模型。类似的,可以是接收到搜索请求后从用户的个性化数据中提取用户的兴趣模型,也可以是预先从用户的个性化数据中提取用户的兴趣模型,接收到搜索请求后直接获取该预先提取的用户的兴趣模型。发送模块2043,用于将该搜索请求和用户的兴趣模型发送给搜索服务器201D。
其中搜索服务器201D包括:接收模块201D1,用于接收应用服务器发送的搜索请求和用户的兴趣模型。元索引收集模块201D2,用于接收各个成员引擎上报的元索引。成员引擎选择模块201D3,用于根据所述各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎。搜索请求分发模块201D4,用于将所述搜索请求发送给所述选择的成员引擎,以便于所述选择的成员引擎根据所述搜索请求完成搜索。
参考图17,为图15所示的搜索的系统的工作流程图。该搜索的方法包括:
1700、搜索服务器接收各成员引擎的元索引。
具体的,可以是各成员引擎主动上报自己的元索引给搜索服务器,也可以是搜索服务器向各成员引擎请求该成员引擎的元索引。
1701、应用服务器接收搜索客户端发送的搜索请求。
1702、应用服务器从用户的个性化数据提取用户的兴趣模型。
具体的,可以收到搜索请求后从用户的个性化数据中提取用户的兴趣模型,或者可以预先从用户的个性化数据中提取兴趣模型,收到搜索请求后,直接取出该预先提取的用户的兴趣模型。
1703、将该用户的兴趣模型和该搜索请求发给搜索服务器。
1704、根据该搜索请求、用户的兴趣模型和元索引选择成员引擎。
具体的,根据搜索请求、兴趣模型和元索引计算搜索请求和兴趣模型与成员引擎对应的数据库的相似度,选择相似度高的成员引擎。具体的选择的方法可以参考前述各具体实施方式。
1705、将该搜索请求发送给该选择的成员引擎,以便于由所述选择的成员引擎完成该搜索。
本领域技术人员也可以理解,上述系统和服务器的实施方式中,部分或者全部模块可以集成,也可以分散布置。例如,搜索服务子系统的功能可以由搜索服务器、调度服务器或者应用服务器组成,也可以集成在一个服务器上。用户数据库可以独立存在,也可以集成在前述任一服务器上。前述搜索服务器、调度服务器或者应用服务器中的不同模块也可以任意组合集成在一起。
需要补充说明的是,本领域技术人员可以理解,上述各方法、系统、服务器的实施方式中,根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型的步骤可以包括不同的情况:收到所述搜索请求后,从用户个性化数据中提取该用户的兴趣模型;或者预先从用户个性化数据中提取该用户的兴趣模型,在收到所述搜索请求后,直接取出所述预先从用户个性化数据中提取该用户的兴趣模型。
本领域技术人员可以理解的是,本发明中各具体实施方式中的用户的兴趣模型可以等同替换为其它各种类型的用户的个性化数据。用户的兴趣模型可以是用户的个性化数据的一种表达形式,本发明的保护范围当然不限于这种表达形式。本领域技术人员还可以理解的是,本发明各具体实施方式中根据各个成员引擎的元索引、搜索请求和用户的个性化数据选择成员引擎,在实际的应用场景中,可以增加一些考虑因素进行成员引擎的选择,或者对于选择的成员引擎进行进一步的处理,例如整合、过滤等等,再由最后确定的成员引擎进行搜索。
基于上述各实施方式的描述,可以知道本发明包括如下的具体实施方式:
一种搜索服务器,该搜索服务器包括:
搜索请求接收模块,用于接收搜索客户端发送的搜索请求;
兴趣模型提取模块,根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型;
元索引收集模块,用于接收各个成员引擎上报的元索引;
成员引擎选择模块,用于根据所述各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎;搜索请求分发模块,用于将所述搜索请求发送给所述选择的成员引擎,以便于所述选择的成员引擎根据所述搜索请求完成搜索。
一种搜索服务器,该搜索服务器包括:
搜索请求接收模块,用于接收搜索客户端发送的搜索请求,并将该搜索请求发送给成员引擎选择请求发送模块;
兴趣模型提取模块,用于根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型,并将该用户的兴趣模型发送给成员引擎选择请求发送模块;
成员引擎选择请求发送模块,用于将所述搜索请求和该用户的兴趣模型发送给调度服务器,以便于该调度服务器根据所述各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎;
成员引擎选择结果接收模块,用于接收所述调度服务器返回的其选择的成员引擎;
搜索请求分发模块,用于将所述搜索请求发送给所述选择的成员引擎,以便于所述选择的成员引擎根据所述搜索请求完成搜索。
一种调度服务器,可与前述搜索服务器通信,该调度服务器包括:
成员引擎选择请求接收模块,用于接收所述搜索服务器发送的搜索请求和该用户的兴趣模型;
元索引收集模块,用于接收各个成员引擎上报的元索引;
成员引擎选择模块,用于根据所述各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎;
成员引擎选择结果返回模块,用于将所述选择的成员引擎发送给所述搜索服务器,以便于所述搜索服务器将所述搜索请求发送给所述选择的成员引擎,所述选择的成员引擎根据所述搜索请求完成搜索。
一种搜索服务器,该搜索服务器包括:
搜索请求接收模块,用于接收搜索客户端发送的搜索请求,并将该搜索请求发送给成员引擎选择请求发送模块;
成员引擎选择请求发送模块,用于将所述搜索请求发送给调度服务器,以便于该调度服务器根据所述各个成员引擎的元索引、所述搜索请求和用户的兴趣模型选择成员引擎;
成员引擎选择结果接收模块,用于接收所述调度服务器返回的其选择的成员引擎;
搜索请求分发模块,用于将所述搜索请求发送给所述选择的成员引擎,以便于所述选择的成员引擎根据所述搜索请求完成搜索。
一种调度服务器,该调度服务器前述搜索服务器通信,包括:
成员引擎选择请求接收模块,用于接收搜索服务器发送的搜索请求;
兴趣模型提取模块,用于根据接收的搜索请求从用户个性化数据中提取该用户的兴趣模型,并将该用户的兴趣模型发送给成员引擎选择模块;
元索引收集模块,用于接收各成员引擎上报的元索引;
成员引擎选择模块,用于根据所述各个成员引擎的元索引、所述搜索请求和用户的兴趣模型选择成员引擎;
成员引擎返回模块,用于根据所述选择的成员引擎发送给所述搜索服务器,以便于所述搜索服务器将所述搜索请求发送给所述选择的成员引擎,所述选择的成员引擎根据所述搜索请求完成搜索。
一种搜索服务器,该服务器包括:
接收模块,用于接收应用服务器发送的搜索请求和用户的兴趣模型;
元索引收集模块,用于接收各个成员引擎上报的元索引;
成员引擎选择模块,用于根据所述各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎;和
搜索请求分发模块,用于将所述搜索请求发送给所述选择的成员引擎,以便于所述选择的成员引擎根据所述搜索请求完成搜索。
Claims (23)
1.一种搜索的方法,其特征在于,该方法包括:
根据各个成员引擎的元索引、搜索请求和用户的个性化数据选择成员引擎,以便于所述选择的成员引擎完成搜索,所述元索引包括下述信息之一或者其任意组合:
术语最大归一化权重向量mnw=(mnw1,mnw2,...,mnwi,...mnwp),其中mnwi为术语ti相对于所述成员引擎对应的数据库或者子数据库中的所有文档的最大归一化权重;
术语平均归一化权重向量anw=(anw1,anw2,...,anwi......,anwp),其中anwi为术语ti相对于所述成员引擎对应的数据库或者子数据库中的所有文档的平均归一化权重;
数据库或者子数据库中的文档的兴趣模型最大归一化权重向量mnv=(mnv1,mnv2,......,mnvi,......,mnvn),其中mnvi为所述文档的兴趣模型的第i个维度相对于所述成员引擎对应的数据库或者子数据库中的所有文档的最大归一化权重;
数据库或者子数据库中的文档的兴趣模型平均归一化权重向量anv=(anv1,anv2,......,anvi,......,anvn),其中anvi为文档的兴趣模型的第i个维度相对于所述成员引擎对应的数据库或者子数据库中的所有文档的平均归一化权重;
术语ti相对于该数据库的全局反向文档频率gidfi,其中gidfi=1/dfi,dfi为该元索引对应的数据库中包含术语ti的文档的数量;
文档的兴趣模型第i个维度对应的全局反向文档频率IM_gidfi,其中IM_gidfi=1/IM_IDFi,IM_IDFi为数据库或者子数据库中包含的属于文档的兴趣模型的第i个维度的术语的文档的个数;
术语ti相对于该数据库的全局反向文档频率gidfi=log(n/(gdfi+1)),其中gdfi为所有成员引擎对应数据库或者子数据库中包含术语ti的文档的数量的总和,n为所有成员引擎所包含的所有文档数量的总和;或者,
文档的兴趣模型第i个维度对应的全局反向文档频率IM_gidfi=log(n/(IM_gdfi+1)),IM_gdfi为所有成员引擎对应的数据库或子数据库中包含属于文档的兴趣模型的第i个维度的术语的文档个数的总和,n为所有成员引擎所包含的所有文档数量的总和。
2.根据权利要求1所述的方法,其特征在于,该方法包括:
所述用户的个性化数据具体为从用户个性化数据中提取的用户的兴趣模型。
3.根据权利要求2的方法,其特征在于,在所述选择成员引擎之前包括:
接收搜索客户端发送的搜索请求;
根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型;
根据各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎;
在所述选择成员引擎之后包括:将所述搜索请求发送给所述选择的成员引擎,以便于所述选择的成员引擎完成搜索。
4.根据权利要求3所述的方法,其特征在于,
所述接收搜索客户端发送的搜索请求、提取该用户的兴趣模型和将所述搜索请求发送给所述选择的成员引擎的步骤由搜索服务器完成;
所述选择成员引擎的步骤具体包括:
所述搜索服务器将所述搜索请求和所述用户的兴趣模型发送给调度服务器;
所述调度服务器根据各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎;
所述调度服务器将所述选择的成员引擎发送给所述搜索服务器。
5.根据权利要求3所述的方法,其特征在于,
所述接收搜索客户端发送的搜索请求和将所述搜索请求发送给所述选择的成员引擎的步骤由搜索服务器完成;
所述提取该用户的兴趣模型和所述选择成员引擎的步骤具体包括:
所述搜索服务器将所述搜索请求发送给调度服务器;
所述调度服务器根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型,以及,根据各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎;
所述调度服务器将所述选择的成员引擎发送给所述搜索服务器。
6.根据权利要求3所述的方法,其特征在于,
所述接收搜索客户端发送的搜索请求,以及,根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型的步骤由应用服务器完成;并且,
所述选择成员引擎的步骤包括:
所述应用服务器将所述搜索请求和所述用户的兴趣模型发送给搜索服务器;
所述搜索服务器根据各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎。
7.根据权利要求3所述的方法,其特征在于,
所述根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型包括:
收到所述搜索请求后,从用户个性化数据中提取该用户的兴趣模型;或者,预先从用户个性化数据中提取该用户的兴趣模型,在收到所述搜索请求后,直接取出所述预先从用户个性化数据中提取该用户的兴趣模型。
8.根据权利要求3所述的方法,其特征在于,
所述从用户数据中提取该用户的兴趣模型具体包括:
用若干兴趣维度表示用户的兴趣;根据用户的数据针对每个兴趣维度给出评分值;由所述针对每个兴趣维度的评分值组成一个向量,该向量为该用户的兴趣模型。
9.根据权利要求8所述的方法,其特征在于,
所述从用户数据中提取该用户的兴趣模型具体包括:
获得所述用户的静态用户档案中的属于某兴趣维度的词的词频,计算属于该兴趣维度的所有词的词频之和,作为该兴趣维度的评分值,各评分值组成一个评分值向量,该评分值向量为该用户的兴趣模型,在此简称为静态兴趣模型。
10.根据权利要求8所述的方法,其特征在于,
所述从用户数据中提取该用户的兴趣模型具体包括:
获得所述用户的搜索历史中被点击的某文档中属于某兴趣维度的词的词频,计算该文档中属于该兴趣维度的所有词的词频之和,该词频之和作为该文档针对该兴趣维度的评分值,针对各兴趣维度的各评分值形成针对该文档的评分值向量,针对不同文档的上述评分值向量的和为所述用户的兴趣模型,在此简称为动态兴趣模型。
11.根据权利要求10所述的方法,其特征在于,该方法进一步包括:
当用户对于被点击的该文档评价好时,对所述针对该文档的评分值向量进行正向加权;或者,
当用户对于被点击的该文档评价不好时,对所述针对该文档的评分值向量进行反向加权;或者,
根据该文档被点击后经历的时间,递减所述针对该文档的评分值向量。
12.根据权利要求9~11任一所述的方法,其特征在于,
所述从用户数据中提取该用户的兴趣模型的步骤中进一步包括:
先将所述静态兴趣模型和所述动态兴趣模型分别作归一化,再计算所述静态兴趣模型与所述动态兴趣模型的和,以该结果作为所述兴趣模型;或者,
先将所述静态兴趣模型和所述动态兴趣模型加权相加,再将该相加的和进行归一化,以该结果作为所述兴趣模型。
13.根据权利要求2所述的方法,其特征在于,该方法进一步包括:
接收各个成员引擎上报的元索引,所述元索引为关于下述信息之一或者其任意组合的统计数据:所述成员引擎对应的数据库,子数据库,所述数据 库中包含的文档或者记录,所述子数据库中包含的文档或者记录,或者,所述文档或者所述记录中包含的术语。
14.根据权利要求13所述的方法,其特征在于,
所述根据各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎的步骤包括:
获取某数据库中的第一文档与搜索请求向量Q的第一相似度,该第一文档满足与搜索请求向量Q最相似的条件;其中,搜索请求向量Q=(q1,q2,..qi...qk),qi为搜索请求中术语ti的权重;
获取该数据库中的第二文档与所述用户的兴趣模型R的第二相似度,并且该第二文档满足在与向量Q’(q1’,q2’...qm’)有较好匹配的基础上与用户的兴趣模型向量R最相似的条件,其中,向量Q’为搜索请求向量Q针对用户的兴趣模型向量R的转换形式,用户的兴趣模型向量R=(r1,r2,..ru....,rn),ri为用户的兴趣模型第i个维度的权重分值;
选取上述第一相似度和第二相似度中的较大值作为所述搜索请求和所述用户的兴趣模型的结合与该数据库之间的相似度;
重复采用上述方法,获得所述搜索请求和所述用户的兴趣模型的结合与各个数据库之间的相似度,其中各数据库分别对应一个成员引擎;
按所述搜索请求和所述用户的兴趣模型的结合与各个数据库之间的相似度对各数据库进行排序,选择排在前面的相似度较大的一个或多个数据库对应的成员引擎。
15.根据权利要求14所述的方法,其特征在于,
所述获取第一相似度的步骤包括:
计算的值,该值作为所述第一相似度;
所述获取第二相似度的步骤包括:
其中,|Q|为搜索请求向量Q的模;|R|为用户的兴趣模型R的模;Q’的计算方法为:如果术语ti属于用户的兴趣模型的某个维度的范围,将qi的值映射成用户的兴趣模型的该维度的权重,然后将相同维度的权重相加得到qi’,再作归一化处理;V为由mnvi和anvj(j≠i,1≤j≤n)组成的向量;sim(V(mnvi,anvj(j≠i,1≤j≤n)),Q’)为向量V和向量Q’的cousine相似度;T为一个阀值,且0<T≤1;i,k,j,n为自然数。
16.根据权利要求14所述的方法,其特征在于:
其中,|Q|为搜索请求向量Q的模,|R|为用户的兴趣模型R的模;Q’的计算方法为:如果术语ti属于用户的兴趣模型的某个维度的范围,将qi的值映射成用户的兴趣模型的该维度的权重,然后将相同维度的权重相加得到qi’,再作归一化处理;V为由IM_gidfi*mnvi和IM_gidfj*anvj(j≠i,1≤j≤n)组成的向量;sim(V(IM_gidfi*mnvi,IM_gidfj*anvj(j≠i,1≤j≤n)),Q’)为向量V 和向量Q’的cousine相似度;T为一个阀值,且0<T≤1;i,k,j,n为自然数。
17.根据权利要求14所述的方法,其特征在于,
其中,|Q|为搜索请求向量Q的模;|R|为用户的兴趣模型R的模;Q’的计算方法为:如果术语ti属于用户的兴趣模型的某个维度的范围,将qi的值映射成用户的兴趣模型的该维度的权重,然后将相同维度的权重相加得到qi’,再作归一化处理;V为由mnvi和anvj(j≠i,1≤j≤n)组成的向量;sim(V(mnvi,anvj(j≠i,1≤j≤n)),Q’)为向量V和向量Q’的cousine相似度;T为一个阀值,且0<T≤1;i,k,j,n为自然数。
18.一种用于搜索的系统,其特征在于,该系统包括:
搜索客户端,用于向搜索服务子系统发送搜索请求;
搜索服务子系统,用于接收搜索客户端发送的搜索请求,接收各个成员引擎上报的元索引,根据所述各个成员引擎的元索引、所述搜索请求和用户的个性化数据选择成员引擎,将所述搜索请求发送给所述选择的成员引擎;
至少一个成员引擎,用于向搜索服务子系统上报该成员引擎的元索引,并在接收到所述搜索服务子系统发送的搜索请求后,完成搜索;
所述元索引包括下述信息之一或者其任意组合:
术语最大归一化权重向量mnw=(mnw1,mnw2,...,mnwi,...mnwp),其中mnwi为术语ti相对于所述成员引擎对应的数据库或者子数据库中的所有文档的最大归一化权重;
术语平均归一化权重向量anw=(anw1,anw2,...,anwi......,anwp),其中anwi为术语ti相对于所述成员引擎对应的数据库或者子数据库中的所有文档的平均归一化权重;
数据库或者子数据库中的文档的兴趣模型最大归一化权重向量mnv=(mnv1,mnv2,......,mnvi,......,mnvn),其中mnvi为所述文档的兴趣模型的第i个维度相对于所述成员引擎对应的数据库或者子数据库中的所有文档的最大归一化权重;
数据库或者子数据库中的文档的兴趣模型平均归一化权重向量anv=(anv1,anv2,......,anvi,......,anvn),其中anvi为文档的兴趣模型的第i个维度相对于所述成员引擎对应的数据库或者子数据库中的所有文档的平均归一化权重;
术语ti相对于该数据库的全局反向文档频率gidfi,其中gidfi=1/dfi,dfi为该元索引对应的数据库中包含术语ti的文档的数量;
文档的兴趣模型第i个维度对应的全局反向文档频率IM_gidfi,其中IM_gidfi=1/IM_IDFi,IM_IDFi为数据库或者子数据库中包含的属于文档的兴趣模型的第i个维度的术语的文档的个数;
术语ti相对于该数据库的全局反向文档频率gidfi=log(n/(gdfi+1)),其中gdfi为所有成员引擎对应数据库或者子数据库中包含术语ti的文档的数量的总和,n为所有成员引擎所包含的所有文档数量的总和;或者,
文档的兴趣模型第i个维度对应的全局反向文档频率IM_gidfi=log(n/(IM_gdfi+1)),IM_gdfi为所有成员引擎对应的数据库或子数据库中包含属于文档的兴趣模型的第i个维度的术语的文档个数的总和,n为所有成员引擎所包含的所有文档数量的总和。
19.根据权利要求18所述的搜索系统,其特征在于,
所述搜索服务子系统,具体用于根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型;所述根据所述各个成员引擎的元索引、所述搜索请求和所述用户的个性化数据选择成员引擎具体为:根据所述各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎。
20.根据权利要求19所述的搜索系统,其特征在于,
所述搜索子系统由搜索服务器和用户数据库组成;
所述用户数据库用于存储或者提供用户的个性化数据;
所述搜索服务器用于用于接收搜索客户端发送的搜索请求;根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型;接收各个成员引擎上报的元索引;根据所述各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎;将所述搜索请求发送给所述选择的成员引擎。
21.根据权利要求19所述的搜索系统,其特征在于,
所述搜索子系统由搜索服务器、调度服务器和用户数据库组成,其中,
所述用户数据库用于存储或者提供用户的个性化数据;
所述搜索服务器,用于接收搜索客户端发送的搜索请求,根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型,将所述用户的兴趣模型和所述搜索请求发送给所述调度服务器,接收所述调度服务器返回的其选择的成员引擎,并将所述搜索请求发送给所述选择的成员引擎;
所述调度服务器,用于接收搜索服务器发送的用户的兴趣模型和所述搜索请求,以及,接收各个成员引擎上报的元索引;根据所述各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎;将所述选择的成员引擎返回给所述搜索服务器。
22.根据权利要求19所述的搜索系统,其特征在于,
所述搜索子系统由搜索服务器、调度服务器和用户数据库组成,其中,
所述用户数据库用于存储或者提供用户的个性化数据;
所述搜索服务器,用于接收搜索客户端发送的搜索请求,将所述搜索请 求发送给所述调度服务器,接收所述调度服务器返回的其选择的成员引擎,并将所述搜索请求发送给所述选择的成员引擎;
所述调度服务器,用于接收搜索服务器发送的所述搜索请求,根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型,以及,接收各个成员引擎上报的元索引;根据所述各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎;将所述选择的成员引擎返回给所述搜索服务器。
23.根据权利要求19所述的搜索系统,其特征在于,所述搜索子系统由搜索服务器,应用服务器,用户数据库组成:
该用户数据库用于存储或者提供用户的个性化数据;
该应用服务器用于接收客户端发送的搜索请求,根据所述搜索请求从用户个性化数据中提取该用户的兴趣模型;将该搜索请求和该用户兴趣模型发送给搜索服务器;
该搜索服务器用于接收应用服务器发送的搜索请求和该用户的兴趣模型,接收各成员引擎上报的元索引,并根据所述各个成员引擎的元索引、所述搜索请求和所述用户的兴趣模型选择成员引擎;将该搜索请求发送给所述选择的成员引擎。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810190595.6A CN101685456B (zh) | 2008-09-26 | 2008-12-24 | 一种搜索的方法、系统和装置 |
EP09817228A EP2352102A4 (en) | 2008-09-26 | 2009-09-16 | SEARCH METHOD AND DEVICE AND SYSTEM THEREOF |
PCT/CN2009/073971 WO2010037314A1 (zh) | 2008-09-26 | 2009-09-16 | 一种搜索的方法、系统和装置 |
US13/070,265 US8527509B2 (en) | 2008-09-26 | 2011-03-23 | Search method, system and device |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810216521.5 | 2008-09-26 | ||
CN200810216521 | 2008-09-26 | ||
CN200810190595.6A CN101685456B (zh) | 2008-09-26 | 2008-12-24 | 一种搜索的方法、系统和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101685456A CN101685456A (zh) | 2010-03-31 |
CN101685456B true CN101685456B (zh) | 2013-08-28 |
Family
ID=42048620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810190595.6A Active CN101685456B (zh) | 2008-09-26 | 2008-12-24 | 一种搜索的方法、系统和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8527509B2 (zh) |
EP (1) | EP2352102A4 (zh) |
CN (1) | CN101685456B (zh) |
WO (1) | WO2010037314A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104298785A (zh) * | 2014-11-12 | 2015-01-21 | 中南大学 | 一种众搜资源搜索方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996211B (zh) * | 2009-08-20 | 2013-01-23 | 华为技术有限公司 | 移动搜索的搜索服务器互联的方法、搜索服务器和系统 |
US8869277B2 (en) * | 2010-09-30 | 2014-10-21 | Microsoft Corporation | Realtime multiple engine selection and combining |
CN102819529B (zh) * | 2011-06-10 | 2015-08-19 | 阿里巴巴集团控股有限公司 | 社交网站信息发布方法及系统 |
CN102819575B (zh) * | 2012-07-20 | 2015-06-17 | 南京大学 | 一种用于Web服务推荐的个性化搜索方法 |
US8983976B2 (en) * | 2013-03-14 | 2015-03-17 | Microsoft Technology Licensing, Llc | Dynamically expiring crowd-sourced content |
CN106407011B (zh) * | 2016-09-20 | 2019-05-10 | 焦点科技股份有限公司 | 一种基于路由表的搜索系统集群服务管理的方法及系统 |
CN107748792B (zh) * | 2017-11-01 | 2020-11-27 | 上海数据交易中心有限公司 | 数据检索方法及装置、终端 |
US11422881B2 (en) * | 2018-07-19 | 2022-08-23 | Oracle International Corporation | System and method for automatic root cause analysis and automatic generation of key metrics in a multidimensional database environment |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1811780A (zh) * | 2006-03-03 | 2006-08-02 | 中国移动通信集团公司 | 基于个性化信息的搜索系统及搜索方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010104872A (ko) * | 2000-05-16 | 2001-11-28 | 임갑철 | 개인별 메타 검색엔진 구축기능을 갖는 인터넷 사이트검색 서비스 시스템 |
US20030220913A1 (en) * | 2002-05-24 | 2003-11-27 | International Business Machines Corporation | Techniques for personalized and adaptive search services |
US20060288001A1 (en) * | 2005-06-20 | 2006-12-21 | Costa Rafael Rego P R | System and method for dynamically identifying the best search engines and searchable databases for a query, and model of presentation of results - the search assistant |
US8548974B2 (en) * | 2005-07-25 | 2013-10-01 | The Boeing Company | Apparatus and methods for providing geographically oriented internet search results to mobile users |
CN1983253A (zh) * | 2005-12-15 | 2007-06-20 | 北京中科信利技术有限公司 | 一种提供音乐搜索服务的方法、设备和系统 |
US7558922B2 (en) * | 2005-12-28 | 2009-07-07 | Hitachi, Ltd. | Apparatus and method for quick retrieval of search data by pre-feteching actual data corresponding to search candidate into cache memory |
US7805432B2 (en) * | 2006-06-15 | 2010-09-28 | University College Dublin National University Of Ireland, Dublin | Meta search engine |
-
2008
- 2008-12-24 CN CN200810190595.6A patent/CN101685456B/zh active Active
-
2009
- 2009-09-16 WO PCT/CN2009/073971 patent/WO2010037314A1/zh active Application Filing
- 2009-09-16 EP EP09817228A patent/EP2352102A4/en not_active Withdrawn
-
2011
- 2011-03-23 US US13/070,265 patent/US8527509B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1811780A (zh) * | 2006-03-03 | 2006-08-02 | 中国移动通信集团公司 | 基于个性化信息的搜索系统及搜索方法 |
Non-Patent Citations (1)
Title |
---|
杨献峰.搜索引擎个性化检索技术的研究.《中国石油大学硕士论文》.2007, * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104298785A (zh) * | 2014-11-12 | 2015-01-21 | 中南大学 | 一种众搜资源搜索方法 |
CN104298785B (zh) * | 2014-11-12 | 2017-05-03 | 中南大学 | 一种众搜资源搜索方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2352102A1 (en) | 2011-08-03 |
US8527509B2 (en) | 2013-09-03 |
US20110173192A1 (en) | 2011-07-14 |
WO2010037314A1 (zh) | 2010-04-08 |
CN101685456A (zh) | 2010-03-31 |
EP2352102A4 (en) | 2012-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101685456B (zh) | 一种搜索的方法、系统和装置 | |
US8983971B2 (en) | Method, apparatus, and system for mobile search | |
CN105701216B (zh) | 一种信息推送方法及装置 | |
CN101661475B (zh) | 一种搜索方法和系统 | |
US8661027B2 (en) | Vertical search-based query method, system and apparatus | |
CN102760138B (zh) | 用户网络行为的分类方法和装置及对应的搜索方法和装置 | |
US20080103892A1 (en) | System and method for generating optimized bids for advertisement keywords | |
CN102129431B (zh) | 应用于网上交易平台的检索方法和系统 | |
US20100100443A1 (en) | User classification apparatus, advertisement distribution apparatus, user classification method, advertisement distribution method, and program used thereby | |
CN101820592A (zh) | 移动搜索方法及装置 | |
CN103123653A (zh) | 基于贝叶斯分类学习的搜索引擎检索排序方法 | |
CN110532351A (zh) | 推荐词展示方法、装置、设备及计算机可读存储介质 | |
CN106777282B (zh) | 相关搜索的排序方法和装置 | |
CN113868235A (zh) | 一种基于大数据的信息检索分析系统 | |
CN108664515A (zh) | 一种搜索方法及装置,电子设备 | |
US20110314059A1 (en) | Mobile search method and apparatus | |
CN101355457A (zh) | 测试方法及测试设备 | |
CN103309869A (zh) | 数据对象的展示关键词推荐方法及系统 | |
CN108415928B (zh) | 一种基于加权混合k-最近邻算法的图书推荐方法与系统 | |
Li et al. | A hybrid model for experts finding in community question answering | |
CN109885651B (zh) | 一种问题推送方法和装置 | |
CN103744918A (zh) | 基于垂直领域的微博搜索排序方法及系统 | |
CN105677838A (zh) | 基于用户需求的用户档案创建、个性化搜索排名方法和系统 | |
CN108710620B (zh) | 一种基于用户的k-最近邻算法的图书推荐方法 | |
CN105740276B (zh) | 适用于商业化搜索的点击反馈模型的估算方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |