【发明内容】
基于此,有必要提供一种根据用户的搜索主题进行搜索的搜索方法。
一种网络搜索方法,包括以下步骤:设置网页或网站的主题分值;接收限制主题的搜索请求;根据搜索请求搜索满足主题分值的网页或在满足主题分值的网站内搜索;返回搜索结果。所述设置网页或网站的主题分值的步骤包括如下步骤:获取种子页面的主题分值;获取父页面的主题分值,最初的父页面为所述种子页面;计算子页面与主题及父页面的关联度,所述子页面与父页面的 关联度根据父页面的链接文字和子页面的标题的相关程度进行计算获得、或根据子页面与父页面的内容的相关程度进行计算获得,所述子页面与主题的关联度根据所述链接文字和子页面的标题、内容命中该主题下的核心词的词表中的词的数量计算获得;根据父页面的主题分值和所述关联度计算子页面的主题分值。
优选地,所述设置网页或网站的主题分值的步骤还包括如下步骤:计算网站的主题分值;将所述网页的主题分值及网站的主题分值作为搜索索引的一部分。
优选地,所述计算子页面的主题分值还包括判断迭代次数是否超过预定值的步骤,如果未超过所述预定值,则重复执行所述获取父页面的主题分值;计算子页面与主题及父页面的关联度;根据父页面的主题分值和关联度计算子页面的主题分值的步骤。
优选地,所述计算网站的主题分值包括如下步骤:统计网站各网页的主题分值;将主题分值之和或者网站各网页的平均主题分值作为所述网站的主题分值。
此外,还有必要提供一种根据用户的搜索主题进行搜索的搜索系统。
一种网络搜索系统,包括:输入模块,用于接收限制主题的搜索请求;主题分值模块,用于设置网页或网站的主题分值;索引模块,与所述主题分值模块相连,用于存储所述主题分值的信息;搜索模块,与所述输入模块及索引模块相连,根据所述搜索请求搜索满足主题分值的网页或在满足主题分值的网站内搜索;输出模块,用于输出搜索结果。所述主题分值模块包括:种子页面设定单元,用于选定种子页面及设定种子页面的主题分值;页面关系追踪单元,与所述种子页面设定单元相连,追踪与所述种子页面链接的网页;关联度计算单元,与所述页面关系追踪单元相连,根据所述页面关系追踪单元获得的网页计算子页面与主题及父页面的关联度,所述子页面与父页面的关联度根据父页面的链接文字和子页面的标题的相关程度进行计算获得、或根据子页面与父页面的内容的相关程度进行计算获得,所述子页面与主题的关联度根据所述链接 文字和子页面的标题、内容命中该主题下的核心词的词表中的词的数量计算获得;主题分值计算单元,与所述关联度计算单元相连,根据父页面的主题分值和所述关联度计算子页面的主题分值。
优选地,所述主题分值计算单元还用于统计网站各网页的主题分值;将主题分值之和或者网站各网页的平均主题分值作为所述网站的主题分值。
上述搜索方法通过设置网页或网站的主题分值,在接收到用户限制主题的搜索请求时,根据搜索请求搜索满足主题分值的网页或在满足主题分值的网站内搜索并返回搜索结果,使得获得的搜索结果与用户所需的主题密切相关,使用户快速、方便地获得所需的搜索结果。
【具体实施方式】
在以下实施方式中,对网页或网站的主题分值进行计算,在用户输入搜索请求时,根据用户的搜索主题在满足主题分值的网页或网站内搜索,便于用户获得所需的信息。
如图1所示,其为搜索方法的流程图。首先,步骤S110,设置网页或网站的主题分值。网页的主题分值可以由网页的提供商设置,也可以由搜索引擎设定。主题分值的多少可以人为主观设定;也可以由计算机依据某一主题所涉及的关键词的数量、与某一主题网页的关联度等计算获得,并且依据网页之间的链接来传递各网页的主题分值。在优选的实施方式中,选用计算机计算主题分值,便于客观地获得主题分值。网站的主题分值可以依据网站所包含的网页的 主题分值来确定。本实施方式中,利用搜索引擎搜集信息的过程来获得网页或网站的主题分值。搜索引擎的信息搜集基本都是自动的。搜索引擎利用称为网络蜘蛛(spider)的自动搜索机器人程序来连上每一个网页上的超连结。机器人程序根据网页链到其他中的超链接,就像日常生活中所说的“一传十,十传百......”一样,从少数几个网页开始,连到数据库上所有到其他网页的链接。理论上,若网页上有适当的超链接,机器人便可以遍历绝大部分网页。利用这种链接关系,如果设置起始网页的主题分值,再比较起始网页和链接网页,根据起始网页的主题分值和链接网页的关联度设置链接网页的主题分值,即可获得绝大部分网页的主题分值。
步骤S120,接收限制主题的搜索请求。用户通过搜索引擎的用户界面输入搜索的关键词,选择或者输入主题之后即可产生限制主题的搜索请求,该搜索请求被搜索引擎接收以便进行搜索。
步骤S130,根据搜索请求搜索满足主题分值的网页或在满足主题分值的网站内搜索。搜索引擎在搜集信息的过程获得的主题分值可以作为其建立索引的一部分。搜索引擎整理信息的过程称为“建立索引”。搜索引擎不仅要保存搜集起来的信息,还要将它们按照一定的规则进行编排。这样,搜索引擎就不用重新翻查它所有保存的信息而迅速找到所要的资料。信息按规则存放在搜索引擎的数据库中,可以极大地提高搜索的效率。用户向搜索引擎发出限制主题的搜索请求后,按照用户的要求检查自己的索引,查找符合要求的网页。搜索范围可以限于主题分值大于某一预定值的网页或网站内,同时搜索的结果可以按主题分值进行排序。
步骤S140,返回搜索结果。将搜索出的结果返回给用户所在的客户端。目前,搜索引擎返回主要是以网页链接的形式提供的,通过这些链接,用户便能到达含有自己所需资料的网页。通常搜索引擎会在这些链接下提供一小段来自这些网页的摘要信息以帮助用户判断此网页是否含有自己需要的内容。
上述搜索方法通过设置网页或网站的主题分值,在接收到用户限制主题的搜索请求时,根据搜索请求搜索满足主题分值的网页或在满足主题分值的网站内搜索并返回搜索结果,使得获得的搜索结果与用户所需的主题密切相关,使用户快速、方便地获得所需的搜索结果。
更具体地,步骤S110的详细流程如图2所示。
步骤S210,获取种子页面的主题分值。种子页面是指计算网页主题分值的起始网页。通常可以将某一主题最典型的网页作为该主题的种子页面。种子页面的主题分值可以根据需要设定,例如设定为1。例如图6中的网页A可以作为种子页面。
步骤S220,计算网页的主题分值。根据种子页面及与该种子页面链接的网页(包括直接和间接与种子页面链接的网页)之间的关联度计算各网页的主题分值,关联度越高,则计算获得主题分值越大。关联度包括网页内容的相关性及链接数量的多寡。内容越相关、连接数量越多,则主题分值就越大。
步骤S230,计算网站的主题分值。当拥有了一定数量的同主题页面后,即可以根据这些页面来判断某个网站的主题情况。当某个网站下面的页面大都是同一主题的时候,即可以认为这个网站也是该主题下的网站,网站的主题分值可以依据网站下面的网页的主题分值之和或者平均数来衡量。对于大型的综合性门户网站可以是根据某个子频道、子域下的网页情况来衡量其主题分值,此时,子频道或子域可以认为是本步骤中的网站。
步骤S240,将网页的主题分值及网站的主题分值作为搜索索引的一部分。将主题分值作为搜索索引的一部分,便于在搜索过程中迅速找到与主题相关的网页或在与主题相关的网站中查找网页。
更具体地,步骤S220的详细流程如图3所示。
步骤S310,获取父页面的主题分值。父页面是指提供链接的网页。最初的父页面即为种子页面。
步骤S320,计算子页面与主题及父页面的关联度。子页面是指通过父页面提供的链接获得的网页。
于页面与父页面的关联度主要依据父页面的链接文字和于页面的标题(title)等特征信息进行;也可以依据子页面与父页面的内容相关程度进行判断。
子页面与主题的关联度,可以在初始阶段准备一个该主题下的核心词的词表。当链接文字和子页面的特征信息命中该主题的词表的时候,即可以认为该子页面与主题相关。当然为了更精确的表示相关程度,可以根据这些链接文字和子页面的标题、内容等特征信息中命中在词表中的词的数量,决定相关程度的大小,从而确定关联度的值。例如当链接文字和子页面的标题中有10个词,且这10个词都在该主题的词表中,则关联度将会是一个比较大的值;而如果这10个词只有2,3个在该主题的词表中,则关联度就会比较小。当完全没有命中的时候,则可以认为子页面与主题无关。
由于子页面的特征信息是固定的,所以子页面的特征信息与主题的相关程度也是确定的。但是同一个子页面的不同父页面给与这个子页面的链接文字是不同的,不同的父页面的内容也是不同的,所以子页面与父页面的关联度也是不同的。
步骤S330,根据父页面的主题分值和关联度计算子页面的主题分值。初始情况下,只有种子页面是父页面,与种子页面直接链接的网页是子页面,子页面的主题分值可以用父页面的主题分值乘以关联度获得。经过第一轮计算后,与种子页面直接链接的网页成为父页面,主题分值继续向下一子页面通过关联度传递。
步骤S340,判断迭代次数是否超过预定值的步骤,如果未超过所述预定值,则返回步骤S310。迭代次数是指主题分值向子页面传递的次数,如果超过预定次数,则网页的主题分值计算步骤结束。
上述步骤的举例说明如下,请同时参阅图6。A为B的父页面,B为A的子页面;B和C互为父页面,也互为子页面;A为D的父页面;D为B的父页面;D为E的子页面;E为A、C的父页面。下表所示为父页面到子页面的链接关系。NULL表示不存在链接。
|
A |
B |
C |
D |
E |
A |
NULL |
AB |
NULL |
AD |
NULL |
B |
NULL |
NULL |
BC |
NULL |
NULL |
C |
NULL |
CB |
NULL |
NULL |
NULL |
D |
NULL |
DB |
NULL |
NULL |
NULL |
E |
EA |
NULL |
EC |
ED |
NULL |
假设网页A为种子页面,并将其主题分值设为INIT。从种子页面A开始通过链接关系向外扩展,在这里的扩展指的是主题分值的转移。扩展的时候根据子页面与主题及父页面的相关程度决定主题分值的转移比例。假设如果子页面与主题及父页面无关,则关联度低;如果子页面与主题及父页面相关,则关联度高,关联度的具体数值可以因与主题及父页面的相关程度不同而不同。为描述简便,将子页面与主题的关联度及子页面与父页面的关联度之和分为高低两种,关联度低的值设为d0,关联度高的值设为d1。并且假设A、B、D之间的关联度高,C、E与A、B、D的关联度不高,并且C和E的关联度也不高。则主题分值的计算表为:
|
A |
B |
C |
D |
E |
A |
0 |
A*d1 |
0 |
A*d1 |
0 |
B |
0 |
0 |
B*d0 |
0 |
0 |
C |
0 |
C*d0 |
0 |
0 |
0 |
D |
0 |
D*d1 |
0 |
0 |
0 |
E |
E*d0 |
0 |
E*d0 |
E*d0 |
0 |
Total |
E*d0+INIT |
A*d1+C*d0+D*d1 |
B*d0+E*d0 |
A*d1+E*d0 |
0 |
上表中的各单项,表示在主题分值转移的时候,父页面向子页面转移的比例;Total表示每个子页面获得的主题分值的总和。图中A的Total项中包含INIT,是因为A是初始种子页面,所以在每轮迭代的时候都自动获得一个初始值。在这里INIT=1。B~E的初始主题分值均为0,并且假设d0=0.1,d1=0.9(在真实的场景中,由于链接文字、网页内容与主题的相关程度不同,d1、d0也有可能不同);则扩展获得的主题分值如下表所示:
如上表所示,在第一轮迭代,即在第一次主题分值传递时:
A只从E处得到了E*d0的值=0*0.1=0;同时,如主题分值的计算表所示,A在每轮计算中,主题分值为E*d0+INIT,所以A在第一轮的主题分值为1。
B的主题分值为A*d1+C*d0+D*d1,所以A*d1=1*0.9=0.9(这里使用的A、C、D的主题分值是上一轮的,即初始主题分值,A是1,C、D都是0)。所以B在第一轮的主题分值为0.9。
C的主题分值为B*d0+E*d0,B*d0=0*0.1=0;E*d0=0*0.1=0。所以C在第一轮的主题分值为0。
D的主题分值为A*d1+E*d0,A*d1=1*0.9=0.9;E*d0=0*0.1=0。所以D在第一轮的主题分值为0.9。
E没有父页面,所以E在第一轮的主题分值依旧为初始主题分值0。
将新扩展得到的网页和种子页面一起,再次向外扩展。每次扩展称为一次迭代过程。可以依据主题分值的计算表进行预定次数的迭代,每次迭代计算需要使用的某一网页的主题分值为上一轮计算获得的该网页的主题分值。比如,在第二轮计算中,B的主题分值为A*d1+C*d0+D*d1,所以A*d1=1*0.9=0.9,C*d0=0*0.1=0,D*d1=0.9*0.9=0.81。所以B在第二轮的主题分值为0.9+0.81=1.71。如上所述的方法,进行预定次数迭代之后,即可获得每个网页的主题分值。
通过几次扩展之后,得到一个关于该主题的网页集合。根据网页集合中每个页面的主题分值情况,确认一个可信的范围(例如主题分值>m的页面认为是和这个主题相关的页面)。将该范围内的页面认为是与该主题相关的页面。根据网页集合,计算这些网页所在的站点,计算得到这个站点的主题分值。
利用链接来扩展计算主题分值的方法,可以迅速获得相关网页的主题分值,因为同一主题之间的链接通常较为紧密,而不同主题之间的链接通常较少。利用链接可以避免出现为某一主题而计算互联网中所有网页的主题分值的情况,事实上,这种计算方法的计算量相当庞大。而利用链接来扩展页面及传递主题分值,并设定迭代的次数,可以有效控制这种计算量,同时获得该主题一定数量的网页。
如图4所示,还提供了一种搜索系统,包括输入模块、主题分值模块、索 引模块、搜索模块及输出模块。
输入模块用于接收限制主题的搜索请求。输入模块通过网络接口接收用户从客户端输入的限制主题的搜索请求。
主题分值模块通常通过网络接口与连接在网络上的各网站相连,用于设置网页或网站的主题分值。网页的主题分值可以由网页的提供商设置,也可以由搜索引擎设定。主题分值的多少可以人为主观设定;也可以由计算机依据关键词的数量、关联度计算获得,并且依据网页之间的链接来传递各网页的主题分值。在优选的实施方式中,选用计算机计算主题分值,便于客观地获得主题分值。
索引模块用于建立各网页的索引信息。索引模块与主题分值模块相连,将主题分值模块获得的主题分值的信息作为索引的一部分存储起来。搜索引擎整理信息的过程称为“建立索引”。搜索引擎不仅要保存搜集起来的信息,还要将它们按照一定的规则进行编排。这样,搜索引擎就不用重新翻查它所有保存的信息而迅速找到所要的资料。信息按规则存放在搜索引擎的数据库中,可以极大地提高搜索的效率。用户向搜索引擎发出限制主题的搜索请求后,按照用户的要求检查自己的索引,查找符合要求的网页。
搜索模块与输入模块及索引模块相连,根据搜索请求搜索满足主题分值的网页或在满足主题分值的网站内搜索。搜索范围可以限于主题分值大于某一预定值的网页或网站内,同时搜索的结果可以按主题分值进行排序。
输出模块与搜索模块相连,将搜索结果输出。客户端通过网络可以获得该搜索结果。
如图5所示,主题分值模块包括种子页面设定单元、页面关系追踪单元、关联度计算单元及主题分值计算单元。
种子页面设定单元用于选定种子页面及设定种子页面的主题分值。可以通过种子页面设定单元针对各主题设定一个明确具有该主题的网页,例如可以是该主题下比较有影响力的网页。当然,种子页面的数量也可以是两个、三个以上,当然种子页面的数量越多,计算也会相应变得复杂。
页面关系追踪单元与种子页面设定单元相连,追踪与种子页面链接的网页。 种子页面内通常设有多个链接,通过这些链接可以扩展到多个网页(子页面),这些网页作为父页面又可以链接到其他的子网页,如此扩展下去,可以追踪到大量的网页。
关联度计算单元与页面关系追踪单元相连,根据所述页面关系追踪单元获得的网页计算子页面与主题及父页面的关联度。所述子页面与父页面的关联度根据父页面的链接文字和子页面的标题或根据子页面与父页面的内容的相关程度进行计算获得,所述子页面与主题的关联度根据所述链接文字和子页面的标题、内容命中该主题下的核心词的词表中的词的数量计算获得。
主题分值计算单元与所述关联度计算单元相连,根据父页面的主题分值和所述关联度计算子页面的主题分值。所述主题分值计算单元还用于统计网站各网页的主题分值;将主题分值之和或者网站各网页的平均主题分值作为所述网站的主题分值。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。