一种深层网移动搜索方法、服务器及系统转让专利

申请号 : CN200910004311.4

文献号 : CN101788981A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王玮董晓艺顾翀胡汉强张飞孟卫一

申请人 : 华为技术有限公司

摘要 :

本发明实施例提供了一种深层网移动搜索方法、服务器及系统,所述的方法包括以下步骤:获取深层网Deep Web成员搜索引擎的成员搜索引擎代表值;接收客户端发送的搜索请求,并从所述的搜索请求中获取搜索请求信息;根据所述搜索请求信息与成员搜索引擎代表值计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索;将搜索到的内容数据发送给所述的客户端。用以集成Deep Web成员搜索引擎,实现对Deep web成员搜索引擎的代表,并通过DeepWeb成员搜索引擎的代表值来自动选择成员搜索引擎进行搜索。

权利要求 :

1.一种移动搜索方法,其特征是,所述的方法包括以下步骤:

获取深层网Deep Web成员搜索引擎的成员搜索引擎代表值;

接收客户端发送的搜索请求,并从所述的搜索请求中获取搜索请求信息;

根据所述搜索请求信息与成员搜索引擎代表值计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索;

将搜索到的内容数据发送给所述的客户端。

2.根据权利要求1所述的方法,其特征是,所述的成员搜索引擎还包括:表面网Surface Web成员搜索引擎。

3.根据权利要求1所述的方法,其特征是,所述的搜索请求信息包括:搜索请求信息的类别、搜索请求信息的属性和搜索请求中包含的地址信息中的至少一个。

4.根据权利要求3所述的方法,其特征是,所述的成员搜索引擎代表值包括:成员搜索引擎类别、成员搜索引擎内容属性和成员搜索引擎所服务的地址中的至少一个。

5.根据权利要求4所述的方法,其特征是,所述的根据搜索请求信息与成员搜索引擎代表值计算所述搜索请求与成员搜索引擎的匹配度包括:将所述搜索请求信息的类别和成员搜索引擎类别分别与一组类别信息建立映射关系,根据所述的映射关系计算所述搜索请求与成员搜索引擎的匹配度。

6.根据权利要求5所述的方法,其特征是,所述的根据所述的映射关系计算所述搜索请求与成员搜索引擎的匹配度包括:根据所述的搜索请求信息的类别与成员搜索引擎类别计算所述成员搜索引擎包含的内容在所述搜索请求对应类别上的记录数与所述成员搜索引擎的总记录数的比率;并将所述的比率作为搜索请求与成员搜索引擎的匹配度。

7.根据权利要求1所述的方法,其特征是,所述的将搜索到的内容数据发送给所述的客户端包括:对所述的内容数据进行加工处理,并根据所述客户端的类型对加工处理后的内容数据进行适配处理。

8.一种深层网移动搜索服务器,其特征是,所述的服务器包括:

代表值获取单元,用于获取深层网Deep Web成员搜索引擎的成员搜索引擎代表值;

搜索请求接收单元,用于接收客户端发送的搜索请求,并从所述的搜索请求中获取搜索请求信息;

成员引擎选择单元,用于根据所述搜索请求信息与成员搜索引擎代表值计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索;

搜索结果输出单元,用于将搜索到的内容数据发送给所述的客户端。结果适配。

9.根据权利要求8所述的服务器,其特征是,所述的成员搜索引擎还包括:表面网Surface Web成员搜索引擎。

10.根据权利要求8所述的服务器,其特征是,所述的搜索请求信息包括:搜索请求信息的类别、搜索请求信息的属性和搜索请求中包含的地址信息中的至少一个。

11.根据权利要求10所述的服务器,其特征是,所述的成员搜索引擎代表值包括:成员搜索引擎类别、成员搜索引擎内容属性和成员搜索引擎所服务的地址中的至少一个。

12.根据权利要求11所述的服务器,其特征是,所述的成员引擎选择单元包括:类别映射模块,用于将所述搜索请求信息的类别和成员搜索引擎类别分别与一组类别信息建立映射关系,根据所述的映射关系计算所述搜索请求与成员搜索引擎的匹配度。

13.根据权利要求12所述的服务器,其特征是,所述的成员引擎选择单元包括:类别匹配模块,用于根据所述的映射关系计算所述成员搜索引擎包含的内容在所述搜索请求对应类别上的记录数与所述成员搜索引擎的总记录数的比率,并将所述的比率作为搜索请求与成员搜索引擎的匹配度。

14.根据权利要求11所述的服务器,其特征是,所述的成员引擎选择单元包括:属性匹配模块,用于根据所述的搜索请求信息的属性与成员搜索引擎内容属性计算所述搜索请求与成员搜索引擎的匹配度。

15.根据权利要求14所述的服务器,其特征是,所述的成员搜索引擎内容属性是指:文本属性或数值型属性或枚举型属性中的一种。

16.根据权利要求11所述的服务器,其特征是,所述的成员引擎选择单元包括:地址匹配模块,用于根据所述的搜索请求中包含的地址信息与成员搜索引擎所服务的地址计算所述搜索请求与成员搜索引擎的匹配度。

17.根据权利要求16所述的服务器,其特征是,所述的成员引擎选择单元包括:地址映射模块,用于将所述搜索请求中包含的地址信息和成员搜索引擎所服务的地址分别与一组地址信息建立映射关系;

所述的地址匹配模块根据所述的映射关系计算所述搜索请求与成员搜索引擎的匹配度。

18.根据权利要求8所述的服务器,其特征是,所述的搜索结果输出单元包括:结果适配模块,用于对所述的内容数据进行加工处理,并根据所述客户端的类型对加工处理后的内容数据进行适配处理。

19.一种深层网移动搜索系统,其特征是,所述的系统包括:Deep Web成员搜索引擎和搜索服务器;

所述的搜索服务器,用于获取所述Deep Web成员搜索引擎的成员搜索引擎代表值和接收客户端发送的搜索请求,并从所述的搜索请求中获取搜索请求信息;根据所述搜索请求信息与成员搜索引擎代表值计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索;将搜索到的内容数据发送给所述的客户端。

20.根据权利要求19所述的系统,其特征是,所述的成员搜索引擎还包括:Surface Web成员搜索引擎。

21.根据权利要求19所述的系统,其特征是,所述的搜索服务器还用于对所述的内容数据进行加工处理,并根据所述客户端的类型对加工处理后的内容数据进行适配处理,将适配处理后的内容数据发送给所述的客户端。

22.一种深层网移动搜索方法,其特征是,所述的方法包括以下步骤:获取Deep Web成员搜索引擎的成员搜索引擎代表值,所述的成员搜索引擎代表值为成员搜索引擎内容属性数据;

接收客户端发送的搜索请求,并从所述的搜索请求中获取搜索请求信息;

根据所述搜索请求信息与成员搜索引擎内容属性数据计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索;

将搜索到的内容数据发送给所述的客户端。

23.根据权利要求22所述的方法,其特征是,所述的成员搜索引擎内容属性数据是指:数值型属性数据;

所述的根据所述搜索请求信息与成员搜索引擎内容属性数据计算所述搜索请求与成员搜索引擎的匹配度包括:(1)获取所述搜索请求信息中的数值型数据取值区间;

(2)根据所述的取值区间与成员搜索引擎的数值型属性数据计算所述搜索请求与成员搜索引擎的匹配度。

24.根据权利要求22所述的方法,其特征是,所述的成员搜索引擎内容属性数据是指:枚举型属性数据;

所述的根据所述搜索请求信息与成员搜索引擎内容属性数据计算所述搜索请求与成员搜索引擎的匹配度包括:(1)获取所述搜索请求信息中的枚举型数据值;

(2)根据所述的枚举型数据值与成员搜索引擎的枚举型属性数据计算所述搜索请求与成员搜索引擎的匹配度。

25.根据权利要求22所述的方法,其特征是,所述的将搜索到的内容数据发送给所述的客户端包括:对所述的内容数据进行加工处理,并根据所述客户端的类型对加工处理后的内容数据进行适配处理。

26.一种深层网移动搜索方法,其特征是,所述的方法包括以下步骤:获取Deep Web成员搜索引擎的成员搜索引擎代表值,所述的成员搜索引擎代表值为成员搜索引擎所服务的地址;

接收客户端发送的搜索请求,并从所述的搜索请求中获取地址信息;

根据所述搜索请求的地址信息与成员搜索引擎所服务的地址计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索;

将搜索到的内容数据发送给所述的客户端。

27.根据权利要求26所述的方法,其特征是,所述的根据所述搜索请求的地址信息与成员搜索引擎所服务的地址计算所述搜索请求与成员搜索引擎的匹配度包括:(1)获取所述搜索请求信息中的地址信息;

(2)根据所述的地址信息与所述成员搜索引擎所服务的地址的地区面积数据计算所述搜索请求与成员搜索引擎的匹配度。

28.根据权利要求26所述的方法,其特征是,所述的根据所述搜索请求的地址信息与成员搜索引擎所服务的地址计算所述搜索请求与成员搜索引擎的匹配度包括:(1)获取所述搜索请求信息中的地址信息;

(2)根据所述的地址信息与所述成员搜索引擎所服务的地址的人口数据计算所述搜索请求与成员搜索引擎的匹配度。

29.根据权利要求26所述的方法,其特征是,所述的根据所述搜索请求的地址信息与成员搜索引擎所服务的地址计算所述搜索请求与成员搜索引擎的匹配度包括:(1)获取所述搜索请求信息中的地址信息;

(2)根据所述的地址信息与所述成员搜索引擎所服务的地址的实体数据计算所述搜索请求与成员搜索引擎的匹配度。

30.根据权利要求26所述的方法,其特征是,所述的将搜索到的内容数据发送给所述的客户端包括:对所述的内容数据进行加工处理,并根据所述客户端的类型对加工处理后的内容数据进行适配处理。

说明书 :

技术领域

本发明关于移动搜索技术,特别是关于深层网(Deep Web)移动搜索技术,具体的讲是一种深层网移动搜索方法、服务器及系统。

背景技术

目前,Deep Web得到了越来越多的研究和关注,Deep Web(深层网,又称hidden web,暗网;invisible web,不可见网)指的是网络上隐藏在HTML表单之后的内容。与Deep Web相对应的是表面网(Surface Web),Surface Web通常指网页上的静态内容。现有搜索引擎的普通网页爬虫只能爬取静态的Surface Web内容,对Deep Web的内容需要用专用的爬虫或者进行专门的处理。
在实现本发明的过程中发明人发现,Deep Web中大约包含9000亿个网页,而目前最大的搜索引擎能够爬取的包括Deep Web和Surface Web在内的所有内容大约为200亿个页面,可见大量的高质量的Deep Web内容得不到有效的搜索和访问。
Deep Web访问方式包括:爬取内容的访问方式,该访问方式通过专用的Deep Web爬取工具爬取Deep Web的内容,将获得的内容存储到搜索服务器,并对内容数据进行分析和建立索引等处理。这种访问方式的缺陷是:1)由于Deep Web内容数据不是通过实时访问表单得到的,而是定期从表单中抓取内容数据,再将抓取的内容数据存储到搜索服务器中,所以内容数据的时新性(freshness)不高;2)由于需要大规模的存储空间来存储爬取过来的内容数据,并需要庞大的索引库来存储和维护这些内容数据的索引,所以需要大规模的存储空间。
Deep Web访问方式还包括:整合搜索访问方式,该访问方式通过整合几个专业领域数据库进行搜索,提供统一的搜索门户给用户。这种访问方式的缺陷是:在检索时需要指定搜索的目标数据库,仅能集成少量的指定数据库。

发明内容

本发明实施例提供了一种深层网移动搜索方法、服务器及系统,用以集成Deep Web成员搜索引擎,实现对Deep web成员搜索引擎的代表,Deep Web搜索服务器基于Deep Web成员搜索引擎提供的代表值(representative,可以为对Deep Web成员搜索引擎的内容或地址的统计数据),选择合适的Deep Web成员引擎进行Deep Web搜索。
根据本发明的一方面,提供一种深层网移动搜索方法,所述的方法包括以下步骤:获取深层网Deep Web成员搜索引擎的成员搜索引擎代表值;接收客户端发送的搜索请求,并从所述的搜索请求中获取搜索请求信息;根据所述搜索请求信息与成员搜索引擎代表值计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索;将搜索到的内容数据发送给所述的客户端。
根据本发明的另一方面,提供一种深层网移动搜索服务器,所述的服务器包括:代表值获取单元,用于获取Deep Web成员搜索引擎的成员搜索引擎代表值;搜索请求接收单元,用于接收客户端发送的搜索请求,并从所述的搜索请求中获取搜索请求信息;成员引擎选择单元,用于根据所述搜索请求信息与成员搜索引擎代表值计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索;搜索结果输出单元,用于将搜索到的内容数据发送给所述的客户端。
根据本发明的另一方面,提供一种深层网移动搜索系统,所述的系统包括:成员搜索引擎和所述的搜索服务器;所述的搜索服务器,用于获取所述Deep Web成员搜索引擎的成员搜索引擎代表值和接收客户端发送的搜索请求,并从所述的搜索请求中获取搜索请求信息;根据所述搜索请求信息与成员搜索引擎代表值计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索;将搜索到的内容数据发送给所述的客户端。
根据本发明的另一方面,提供一种深层网移动搜索方法,所述的方法包括以下步骤:获取Deep Web成员搜索引擎的成员搜索引擎代表值,所述的成员搜索引擎代表值为成员搜索引擎内容属性数据;接收客户端发送的搜索请求,并从所述的搜索请求中获取搜索请求信息;根据所述搜索请求信息与成员搜索引擎内容属性数据计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索;将搜索到的内容数据发送给所述的客户端。
根据本发明的另一方面,提供一种深层网移动搜索方法,所述的方法包括以下步骤:获取Deep Web成员搜索引擎的成员搜索引擎代表值,所述的成员搜索引擎代表值为成员搜索引擎所服务的地址;接收客户端发送的搜索请求,并从所述的搜索请求中获取地址信息;根据所述搜索请求的地址信息与成员搜索引擎所服务的地址计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索;将搜索到的内容数据发送给所述的客户端。
本发明实施例实现了Deep Web成员搜索引擎的自动选择搜索,避免了搜索时指定成员搜索引擎。并通过抽取成员搜索引擎的代表值的方式集成了大规模的Deep Web成员搜索引擎的数量,使庞大的Deep Web资源能够得到访问。在不需要大规模的存储空间和索引数据库来存储爬取的Deep Web成员搜索引擎数据的情况下,实现Deep Web成员搜索引擎的实时搜索。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例深层网移动搜索方法流程图;
图2A为本发明实施例成员搜索引擎类别与类别信息的映射关系图;
图2B为本发明实施例搜索请求类别与类别信息的映射关系图;
图3为本发明实施例类别搜索目录树示意图;
图4为本发明实施例深层网移动搜索服务器结构框图;
图5为本发明实施例搜索服务器的成员搜索引擎选择单元结构框图;
图6为本发明实施例深层网移动搜索系统结构框图;
图7为本发明实施例搜索系统中搜索服务器的结构框图;
图8A为本发明实施例成员搜索引擎与类别和地址信息的映射关系图;
图8B为本发明实施例搜索请求与类别和地址信息的映射关系图;
图9为本发明实施例类别及地址信息搜索目录树示意图;
图10为本发明实施例基于属性的深层网移动搜索方法流程图;
图11为本发明实施例基于地址信息的深层网移动搜索方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图1所示,本发明实施例的深层网移动搜索方法,所述的方法包括以下步骤:获取Deep Web成员搜索引擎的成员搜索引擎代表值(步骤S101);接收客户端发送的搜索请求,并从所述的搜索请求中获取搜索请求信息(步骤S102);根据所述搜索请求信息与成员搜索引擎代表值计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索(步骤S103);将搜索到的内容数据发送给所述的客户端(步骤S104)。其中,步骤S101和步骤S102可以调换。
下面结合图2A、图2B和图3对本实施例进行详细说明。
由搜索服务器获取成员搜索引擎的成员搜索引擎代表值,成员搜索引擎代表值包括成员搜索引擎类别、成员搜索引擎内容属性和成员搜索引擎所服务的地址;搜索服务器接收客户端发送的搜索请求,搜索请求信息包括:搜索请求信息的类别、搜索请求信息的属性和搜索请求中包含的地址信息,从搜索请求中获取搜索请求信息;并将搜索请求信息与所述的成员搜索引擎代表值进行匹配。
如图2A所示,将搜索请求信息与成员搜索引擎代表值进行匹配时,可根据类别信息搜索目录树进行匹配,将成员搜索引擎S1、S2、S3和S4映射到一组类别信息,该组类别信息包括:类别100、类别200、类别301和类别302。如图2B所示,搜索请求Q1中的类别信息为类别100。
如图3所示,建立类别信息搜索目录树(该搜索目录树可根据中图分类法等分类方法构建)。将成员搜索引擎S1、S2、S3和S4映射到类别信息搜索目录树中对应的类别信息节点,将Q1也映射到类别信息搜索目录树中对应的类别信息节点。计算Q1的类别是否与S1、S2、S3或S4的类别是否重合,如果重合则匹配度为1,否则匹配度为0。从成员搜索引擎集合S1、S2、S3和S4中选择匹配度为1的S1进行内容数据搜索。
根据图3所示的类别信息搜索目录树,可以进行如下推广:根据Deep Web成员搜索引擎包含的内容的类别,将成员搜索引擎SE映射到类别信息搜索目录树的一个或多个节点,将根节点到叶节点的路径记为dir(s),s表示成员搜索引擎映射到类别信息搜索目录树的节点。则成员搜索引擎的类别可表示为一个路径的集合:SE={dir(s)}。
可以从用户搜索时输入的关键字中获取搜索请求的类别信息,或者将用户在高级搜索中选择的搜索类别作为搜索请求的类别信息,将搜索请求Q的类别信息映射到类别信息搜索目录树的节点,将根节点到该节点的路径记为dir(q),q表示搜索请求映射到类别搜索目录树的节点。则搜索请求的类别可表示为一个路径:Q=dir(q)。
根据SE={dir(s)}和Q=dir(q)计算搜索请求与成员搜索引擎的匹配度,其中包括:
(1)如果成员搜索引擎类别和搜索请求类别没有重合的内容,即dir(s)和dir(q)有公共的子串,但dir(q)不是dir(s)的子串,dir(s)也不是dir(q)的子串,也即搜索请求和成员搜索引擎是不同的类别,则匹配度sim(Q,SE)为0。不选择该成员搜索引擎。
(2)如果dir(q)是dir(s)的子串,即成员搜索引擎的类别是搜索请求类别下的类别,则sim(Q,SE)为1。选择该成员搜索引擎进行内容数据搜索。
(3)如果dir(s)=dir(q),即成员搜索引擎的类别和搜索请求类别是相同的类别,则sim(Q,SE)为1。选择该成员搜索引擎进行内容数据搜索。
(4)如果dir(s)是dir(q)的子串,即成员搜索引擎的类别不仅包含搜索请求的类别还包含其它类别,则计算匹配度sim(Q,SE)的方法包括:
A1、计算成员搜索引擎的类别在搜索请求映射到的类别节点的记录数占成员搜索引擎映射到的类别节点总记录数的比率作为相似度sim(Q,SE)。
A2、如果搜索请求映射到类别信息搜索目录树上的节点在n层,成员搜索引擎映射到类别信息搜索目录上的节点在m层,|n-m|=k,k为未匹配到的目录层数,则计算匹配度的公式为:
sim(Q,SE)=αk  (0<α<1)。
根据搜索请求与成员搜索引擎的匹配度sim(Q,SE),从Surface Web成员搜索引擎和Deep Web成员搜索引擎的集合中选择出匹配度较高的成员搜索引擎进行内容数据搜索(如:sim(Q,SE)=1)。
本发明实施例通过抽取Deep Web成员搜索引擎的类别,实现Deep Web成员搜索引擎的自动选择搜索,避免了搜索时指定成员搜索引擎。并通过抽取成员搜索引擎的类别的方式集成了大规模的Deep Web成员搜索引擎的数量,使庞大的Deep Web资源能够得到访问。在不需要大规模的存储空间和索引数据库来存储爬取的Deep Web成员搜索引擎数据的情况下,实现Deep Web成员搜索引擎的实时搜索。
实施例二
如图4所示,本发明实施例的深层网移动搜索服务器包括:代表值获取单元101用于获取Deep Web成员搜索引擎的成员搜索引擎代表值;搜索请求接收单元102用于接收客户端发送的搜索请求,并从所述的搜索请求中获取搜索请求信息;成员引擎选择单元103用于根据所述搜索请求信息与成员搜索引擎代表值计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索;搜索结果输出单元104用于将搜索到的内容数据发送给所述的客户端。
如图5所示,成员搜索引擎选择单元103包括:类别匹配模块1031用于将成员搜索引擎类别与搜索请求类别进行匹配。类别映射模块1034用于将所述搜索请求类别和成员搜索引擎类别分别与一组类别信息建立映射关系;类别匹配模块1031根据所述的映射关系对所述的成员搜索引擎类别与所述的搜索请求类别进行匹配。将成员搜索引擎类别与搜索请求类别进行匹配包括:根据成员搜索引擎的类别SE={dir(s)}将用户搜索请求的类别dir(q)与其进行匹配,进行成员搜索引擎的选择。
如图5所示,成员引擎选择单元103包括:属性匹配模块1032用于根据所述的搜索请求信息的属性与成员搜索引擎内容属性计算所述搜索请求与成员搜索引擎的匹配度。成员搜索引擎内容属性是指:文本属性或数值型属性或枚举型属性中的一种。
下面以文本属性为例,对属性匹配模块1032将成员搜索引擎文本属性与搜索请求文本属性进行匹配进行说明:
属性匹配模块1032根据成员搜索引擎的文本属性代表值进行匹配:
A1、统计词典中的每个词T在成员搜索引擎的所有文档中的最大归一化权重mnw(t,SE)=TF*IDF(TF为文档中包含词T的数量,IDF为T在该成员搜索引擎中的文档频率的倒数),统计T在所有成员搜索引擎文档中的频率之和的倒数gidfw(t)。
A2、根据成员搜索引擎的文本属性代表值计算搜索请求对成员搜索引擎的匹配度如下:
对搜索请求中的词t,计算t在搜索请求中的归一化权重qw(t);
查找t在成员搜索引擎中所有文档中的最大归一化权重mnw(t,SE)=TF*IDF(TF为文档中包含词T的数量,IDF为T在该成员搜索引擎中的文档频率的倒数);
查找t在所有成员搜索引擎中的文档频率之和的倒数gidfw(t);
计算搜索请求与成员搜索引擎的相似度:
sim(Q,SE)=max{qw(t)*mnw(t,SE)*gidfw(t)|tin Q};
选择sim(Q,SE)值较大的成员搜索引擎进行内容数据搜索。
本发明实施例通过抽取Deep Web成员搜索引擎的文本属性,实现DeepWeb成员搜索引擎的自动选择搜索,避免了搜索时指定成员搜索引擎。并通过抽取成员搜索引擎的类别的方式集成了大规模的Deep Web成员搜索引擎的数量,使庞大的Deep Web资源能够得到访问。在不需要大规模的存储空间和索引数据库来存储爬取的Deep Web成员搜索引擎数据的情况下,实现DeepWeb成员搜索引擎的实时搜索。
实施例三
元搜索引擎(Metasearch Engine),是一种调用其它独立搜索引擎的引擎,元搜索引擎就是对多个独立搜索引擎的整合、调用、控制和优化利用。相对元搜索引擎,可被利用的独立搜索引擎称为成员搜索引擎(Member Engine)。
如图6所示,本发明实施例的深层网移动搜索系统包括:Surface Web成员搜索引擎401和Deep web成员搜索引擎402、搜索服务器500和客户端600,搜索服务器500分别与Surface web成员搜索引擎401和Deep web成员搜索引擎402及客户端600相连接。
本发明实施例是在元搜索架构下,根据Deep Web成员搜索引擎的代表值和客户搜索请求信息的匹配度,实现自动选择成员搜索引擎进行搜索的方法。成员搜索引擎包括Surface web成员搜索和Deep web成员搜索引擎。
搜索服务器500内部通过成员搜索引擎代表值的方式对成员搜索引擎进行自动调度和选择。客户端600可以是台式机电脑、便携式电脑等固定网络终端也可以是手机、PDA等移动网络终端。
如图7所示,为本发明实施例的深层网移动搜索系统的构成,其中:搜索服务器500包括代表值获取单元101用于获取Deep Web成员搜索引擎的成员搜索引擎代表值;搜索请求接收单元102用于接收客户端发送的搜索请求,并从所述的搜索请求中获取搜索请求信息;成员引擎选择单元103根据所述搜索请求信息与成员搜索引擎代表值计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索;搜索结果输出单元104用于将搜索到的内容数据发送给所述的客户端。
搜索请求接收单元102接收客户端发送的搜索请求,对搜索请求进行分析,解析出搜索请求的类别、搜索关键字及属性取值、搜索中包含的地址信息等。成员搜索引擎选择单元103根据搜索请求的内容,用成员搜索引擎代表值进行引擎选择,选择出与该搜索请求匹配度最高的成员搜索引擎。
搜索服务器500还包括成员搜索引擎管理模块501,成员搜索引擎管理模块501与代表值获取单元101相连接负责管理成员搜索引擎,进行成员搜索引擎的注册、更新、删除等操作,并负责统计和维护成员搜索引擎的代表值。
搜索结果输出单元104包括成员搜索引擎接口适配模块502和结果适配模块503。成员搜索引擎接口适配模块502负责搜索服务器和成员搜索引擎之间的接口适配及请求发送和结果返回。该模块将搜索请求发送到成员搜索引擎选择模块选出来的成员搜索引擎并获得成员搜索引擎返回的搜索结果传送给结果适配模块503。结果适配模块503将搜索结果进行加工整理排序之后根据客户端600的类型进行适配,将结果输出给客户端600。
下面结合图8A、图8B和图9对本实施例进行详细说明。
(1)根据成员搜索引擎类别进行成员搜索引擎选择
移动搜索平台集成搜索引擎S1、S2、S3、S4、S5,其成员搜索引擎与搜索的内容类别和服务地区的映射关系如图8A所示;客户端搜索请求Q1、Q2、Q3、Q4、Q5与类别和地址信息的映射关系如图8B所示:
客户端发送搜索请求Q1的关键的内容为:“今日新闻”,则搜索服务器根据搜索请求Q1进行查询分类,确定搜索请求Q1的类别为“新闻”类别,映射到新闻节点。根据各个搜索引擎映射到的节点的dir(如图9所示),进行成员搜索引擎选择:
sim(Q1,S1)=0;
sim(Q1,S2)=1;
sim(Q1,S3)=1;
sim(Q1,S4)=0;
sim(Q1,S5)=0;
搜索服务器计算各个成员搜索引擎与查询请求的匹配程度得出成员搜索引擎选择的结果,选中S2和S3。
(2)根据成员搜索引擎所服务的地址范围进行成员搜索引擎选择
如图9所示,移动搜索平台首先建立一棵地理位置目录树,将各个成员搜索引擎映射到该树的节点上。
假设用户搜索请求内容为“深圳餐馆”。服务器根据成员搜索引擎服务的范围进行引擎选择时,将搜索请求也映射到地理位置目录树上的“深圳”节点上,选中S4和S5都符合搜索请求的要求。
(3)根据成员搜索引擎属性进行成员搜索引擎选择的方法
假设用户搜索请求Q内容为“深圳三明治价格:15元”。
搜索服务器根据数值型的属性价格15元,通过数值型代表值进行成员搜索引擎选择。
统计每个成员搜索引擎的数值型属性在各个取值区间[ai,bi]上的取值数量ci,表示为[ai,bi,ci]。其中ai,bi为数值型属性的一个取值区间。ci为成员搜索引擎在区间[ai,bi]上取值的数量;计算成员搜索引擎在区间[ai,bi]上的所有可能取值的数量ni,ni的值由ai的值、bi的值、以及ai和bi的精度及单位计算获得。
根据数值型属性代表值计算搜索请求对成员搜索引擎的匹配程度的步骤如下:
假如在S4的代表值中,三明治取值区间为[10,20]的内容有2000个,此时ai=10,bi=20,ci=2000。在本实施例中搜索服务器计算ni的算法为ni=bi-ai,即:ni=20-10=10。则搜索请求与成员搜索引擎的匹配度sim(Q,S4)=ci/ni=200。
而在S5代表值中,三明治取值区间为[10,20]的内容有200个,此时ci=200。搜索请求与成员搜索引擎的匹配度sim(Q,S5)=ci/ni=20。
因此,搜索服务选择匹配度取值较大的成员搜索引擎S4认为是较好的搜索引擎,将搜索请求向其发送。
搜索服务器使用成员搜索引擎选择方法的策略可以自己制定,在本实施例中,服务器采用的策略为首先用成员搜索引擎的类别进行成员搜索引擎筛选,再用成员搜索引擎所服务的地址范围进行成员搜索引擎筛选,最后通过成员搜索引擎的内容代表值计算查询请求与引擎的匹配度,选出最好的引擎向其发送搜索请求。
本发明实施例通过抽取Deep Web成员搜索引擎的类别、属性或地址信息代表,利用代表计算查询请求与成员搜索引擎代表值的相似度,作为查询请求与成员搜索引擎匹配度,进行成员搜索引擎自动选择的方式实现Deep Web成员搜索引擎的自动选择搜索,避免了搜索时指定成员搜索引擎。并通过抽取成员搜索引擎的类别的方式集成了大规模的Deep Web成员搜索引擎的数量,使庞大的Deep Web资源能够得到访问。在不需要大规模的存储空间和索引数据库来存储爬取的Deep Web成员搜索引擎数据的情况下,实现Deep Web成员搜索引擎的实时搜索。
实施例四
如图10所示,本发明实施例的深层网移动搜索方法包括以下步骤:获取Deep Web成员搜索引擎的成员搜索引擎代表值,所述的成员搜索引擎代表值为成员搜索引擎内容属性数据(步骤S201);接收客户端发送的搜索请求,并从所述的搜索请求中获取搜索请求信息(步骤S202);根据所述搜索请求信息与成员搜索引擎内容属性数据计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索(步骤S203);将搜索到的内容数据发送给所述的客户端(步骤S204)。
如图5所示,成员引擎选择单元103包括:属性匹配模块1032用于根据所述的搜索请求信息的属性与成员搜索引擎内容属性计算所述搜索请求与成员搜索引擎的匹配度。成员搜索引擎内容属性是指:文本属性或数值型属性或枚举型属性中的一种。
下面以数值型属性为例,对属性匹配模块1032将成员搜索引擎数值型属性与搜索请求数值型属性进行匹配进行说明:
属性匹配模块1032根据成员搜索引擎的数值型属性代表值进行匹配:
Deep Web成员搜索引擎会含有数值型的属性域。例如在购物网站上的价格字段,用户可以在搜索请求中提交价格数值进行搜索。属性匹配模块1032根据成员搜索引擎的数值型属性代表值选择成员搜索引擎的步骤如下:
A1、统计每个成员搜索引擎的数值型属性在各个取值区间[ai,bi]上的取值数量ci,表示为[ai,bi,ci]。其中ai,bi为数值型属性的一个取值区间。ci为成员搜索引擎在区间[ai,bi]上取值的数量;计算成员搜索引擎在区间[ai,bi]上的所有可能取值的数量ni,ni的值由ai的值、bi的值、以及ai和bi的精度及单位计算获得。成员搜索引擎的数值型属性代表值表示为:[ai,bi,ci,ni]。
A2、根据数值型属性代表值计算搜索请求对成员搜索引擎的匹配程度的步骤如下:
获取搜索请求的数值型取值v;
计算区间[ai,bi]是否包含v,如果成员搜索引擎SE的数值型属性的代表值中没有区间[ai,bi]包含v,则不选择该成员搜索引擎。如果区间[ai,bi]包含v,则计算相似度sim(Q,SE)=ci/ni(ci/ni为v对应区间上的代表值)。
选择sim(Q,SE)值较大的成员搜索引擎进行内容数据搜索。
下面以枚举型属性为例,对属性匹配模块1032将成员搜索引擎枚举型属性与搜索请求枚举型属性进行匹配进行说明:
属性匹配模块1032根据成员搜索引擎的枚举型属性代表值进行匹配:
Deep Web成员搜索引擎会含有枚举型的属性域。例如在求职网站上的工资要求区间字段,用户可以在搜索请求中提交枚举型的取值进行搜索。属性匹配模块1032根据成员搜索引擎的枚举型属性代表值进行匹配,以选择成员搜索引擎。根据成员搜索引擎的枚举型属性代表值选择成员搜索引擎的步骤如下:
A1、统计每个成员搜索引擎SE对每个全局枚举属性取值gv的文档频率即成员搜索引擎所有记录中枚举型属性取值为gv的记录的数量:df(gv,SE);
A2、根据数值型属性代表值计算搜索请求对成员搜索引擎的匹配度包括:
方法一:
计算搜索请求与成员搜索引擎的相似度sim(Q,SE)=df(gv,SE)/max{df(gv,S)},其中max{df(gv,S)}为不同成员搜索引擎的df(gv,SE)中的最大值。
方法二:
1)计算:matching-degree(SE)=df(gv,SE)/max{df(gv,S)},其中max{df(gv,S)}为不同成员搜索引擎的df(gv,SE)中的最大值。
2)统计成员搜索引擎与该全局gv对应的本地取值v1、v2....vk的文档频率,即成员搜索引擎所有记录中枚举型属性取值为本地取值的记录的数量,记为df(v1,SE)、df(v2,SE)...df(vk,SE)。
3)计算r(gv,SE)=df(gv,SE)/(df(v1,SE)+…+df(vk,SE))。
4)搜索请求与成员搜索引擎相似度为:
sim(Q,SE)=matching-degree(SE)*r(gv,SE)/kmax{matching-degree(S)*r(gv,S)/k}
其中,max{matching-degree(S)*r(gv,S)/k}为对所有成员搜索引擎计算matching-degree(SE)*r(gv,SE)/k得到的值中的最大值。
选择sim(Q,SE)值较大的成员搜索引擎进行内容数据搜索。
本发明实施例通过抽取Deep Web成员搜索引擎的数值型属性或枚举型属性的代表值,实现Deep Web成员搜索引擎的自动选择搜索,避免了搜索时指定成员搜索引擎。并通过利用代表值计算查询请求与成员搜索引擎代表值的相似度,作为查询请求与成员搜索引擎匹配度,进行成员搜索引擎自动选择的方式集成了大规模的Deep Web成员搜索引擎的数量,使庞大的Deep Web资源能够得到访问。在不需要大规模的存储空间和索引数据库来存储爬取的Deep Web成员搜索引擎数据的情况下,实现Deep Web成员搜索引擎的实时搜索。
实施例五
如图11所示,本发明实施例的深层网移动搜索方法包括以下步骤:获取Deep Web成员搜索引擎的成员搜索引擎代表值,所述的成员搜索引擎代表值为成员搜索引擎所服务的地址(步骤S301);接收客户端发送的搜索请求,并从所述的搜索请求中获取地址信息(步骤S302);根据所述搜索请求的地址信息与成员搜索引擎所服务的地址计算所述搜索请求与成员搜索引擎的匹配度,根据所述匹配度从所述成员搜索引擎的集合中选择成员搜索引擎进行内容数据搜索(步骤S303);将搜索到的内容数据发送给所述的客户端(步骤S304)。
下面结合图5对本发明实施例进行详细说明:
如图5所示,成员搜索引擎选择单元103包括:地址匹配模块1033用于根据所述的搜索请求中包含的地址信息与成员搜索引擎所服务的地址计算所述搜索请求与成员搜索引擎的匹配度。成员搜索引擎选择单元103包括:地址映射模块1035用于将所述搜索请求中包含的地址信息和成员搜索引擎所服务的地址分别与一组地址信息建立映射关系;地址匹配模块1033根据所述的映射关系计算所述搜索请求与成员搜索引擎的匹配度。
建立一棵位置(location)搜索目录树,例如可以根据地区的行政区划形成地理位置目录树。分析用户搜索请求中的地址信息后,将搜索请求映射到地理位置目录树上的一个地址节点,从根节点到叶节点的路径记为:loc(q),q表示搜索请求映射到位置搜索目录树的节点。根据成员搜索引擎所服务的地址范围,将成员搜索引擎SE映射到该地理位置目录树上的一个或多个节点,将这些节点从根节点到叶节点的路径记为loc(s)。s表示成员搜索引擎映射到位置搜索目录树的节点。则成员搜索引擎就可表示为一个路径的集合:SE={loc(s)}。
根据成员搜索引擎所服务的地址范围SE={loc(s)}将用户搜索请求的地址loc(s)与其进行匹配,进行成员搜索引擎的选择如下:
(1)如果所服务的地址范围和用户搜索请求的地址没有重合的内容,有公共的子字符串,但loc(s)不是loc(q)的子串,loc(q)也不是loc(s)的子串,也即搜索请求的地址和成员搜索引擎所服务的地址范围是不同的,则不选择该成员搜索引擎。匹配度sim(Q,SE)为0。
(2)如果loc(q)=loc(s),即搜索请求的地址和成员搜索引擎所服务的地址范围是相同的,则应该选择该成员搜索引擎,查询请求对该成员搜索引擎的匹配度sim(Q,SE)为1。
(3)如果loc(q)是loc(s)的子串,即成员搜索引擎所覆盖的范围是搜索请求的地址下子区域,则应该选择该成员搜索引擎,查询请求对该成员搜索引擎的匹配度sim(Q,SE)为1。
(4)如果loc(s)是loc(q)的子串即搜索引擎所服务的地址范围不仅包含查询请求的地址还包含其它区域,则计算搜索请求对该成员搜索引擎的匹配度sim(Q,SE)的方法有:
方法一:根据搜索请求中的地址信息,将搜索请求映射到的地理位置目录树上的节点。把地区面积比率做相似度:sim(Q,SE)=area(q)/area(s)。area(q)为搜索请求所映射到的地理位置目录树上的节点的地理面积,area(s)为成员搜索引擎所映射到的地理位置目录树上的节点的地理面积。
例如:搜索请求所映射到的地理位置目录树上的节点的地理面积area(q)与成员搜索引擎所映射到的地理位置目录树上的节点的地理面积area(s)相同,则应该选择该成员搜索引擎,查询请求对该成员搜索引擎的匹配度sim(Q,SE)=area(q)/area(s)=1。
方法二:根据搜索请求中的地址信息,将搜索请求映射到的地理位置目录树上的节点。把人口数量比率做相似度:sim(Q,SE)=population(q)/populaion(s)。population(q)为搜索请求所映射到的地理位置目录树上的节点的人口数量,population(s)为成员搜索引擎所映射到的地理位置目录树上的节点的人口数量。
例如:搜索请求所映射到的地理位置目录树上的节点的人口数量population(q)与成员搜索引擎所映射到的地理位置目录树上的节点的人口数量population(s)相同,则应该选择该成员搜索引擎,查询请求对该成员搜索引擎的匹配度sim(Q,SE)=population(q)/population(s)=1。
方法三:根据搜索请求中的地址信息,将搜索请求映射到的地理位置目录树上的节点。把主题相关实体的数量比率做相似度(如餐馆数量):sim(Q,SE)=subject(q)/subject(s)。subject(q)为搜索请求所映射到的地理位置目录树上的节点的实体数量,subject(s)为成员搜索引擎所映射到的地理位置目录树上的节点的实体数量。
例如:搜索请求所映射到的地理位置目录树上的节点的实体数量subject(q)与成员搜索引擎所映射到的地理位置目录树上的节点的实体数量subject(s)相同,则应该选择该成员搜索引擎,查询请求对该成员搜索引擎的匹配度sim(Q,SE)=subject(q)/subject(s)=1。
方法四:根据搜索请求中的地址信息,将搜索请求映射到的地理位置目录树上的节点。根据地址节点中间的层数(k)计算,即如果搜索请求所映射到的地理位置目录树上的节点的在n层,成员搜索引擎所映射到的地理位置目录树上的节点在m层,|n-m|=k,则计算搜索请求对该成员搜索引擎的匹配度:sim(Q,SE)=αk(0<α<1)。
方法五:根据搜索请求中的地址信息,将搜索请求映射到的地理位置目录树上的节点。根据叶节点的数量计算相似度,即根据成员搜索引擎服务范围地址节点在搜索请求的地址节点对应该层的子节点数量d计算搜索请求与成员搜索引擎的相似度sim(Q,SE)=1/d,作为成员搜索引擎选择的条件。
本发明实施例通过抽取Deep Web成员搜索引擎的地址信息代表,实现Deep Web成员搜索引擎的自动选择搜索,避免了搜索时指定成员搜索引擎。并通过利用代表计算查询请求与成员搜索引擎代表值的相似度,作为查询请求与成员搜索引擎匹配度,进行成员搜索引擎自动选择的方式集成了大规模的Deep Web成员搜索引擎的数量,使庞大的Deep Web资源能够得到访问。在不需要大规模的存储空间和索引数据库来存储爬取的Deep Web成员搜索引擎数据的情况下,实现Deep Web成员搜索引擎的实时搜索。