具体实施方式
本发明的实施例一中,一种网络搜索的方法如图1所示,包括以下步骤:
步骤s101、用户终端更新个人搜索档案;
个人搜索档案包括个人同义词库和个人属性词库。用户首先注册帐号,登陆其个人帐号后,便可以添加需要的关键词在个人的同义词库中,并输入该关键词的同义词,得到该用户的个人同义词库;另外,在用户添加同义词时,系统会将系统共享同义词库内其他用户使用的同义词向该用户推荐,发送更新通知,用户可以选择添加或者拒绝添加;最后,系统也可将词典中的同义词向用户推荐,由用户选择添加或者拒绝添加。通过以上几种方法,用户可以在第一次使用时建立其个人同义词库,并在将来对该词库不断扩充。
用户的个人属性词库包括目录和该目录的属性词,在第一次使用时为空。系统在用户的搜索过程中可以不断的对用户的个人属性词库进行扩充,用户也可以对其进行编辑。
属性词库目录结构的建立包括以下四种方式:(1)根据搜索返回结果的标题和网址和结果文档内容来建立目录结构;(2)参考已有Yahoo、Sohu等分类比较成熟的网站的目录结构;(3)用户建立目录结构;(4)根据搜索返回结果的标题和网址来建立目录,可以根据需要对该目录进行添加分支目录和/或合并目录分支和/或删除分支目录。
步骤s102、网络侧根据个人搜索档案更新共享搜索档案;
共享搜索档案包括共享同义词库和共享属性词库。
网络侧将所有用户的个人同义词库进行整理和合并,得到一个总的同义词库,即为共享同义词库。另外,网络侧也可将词典中查询到的同义词添加到共享同义词库中来。根据此共享同义词库,网络侧可以向个人用户推荐同义词,来更新用户的个人同义词库。
共享属性词库包括目录和该目录的属性词,在第一次使用时为空。系统在用户的搜索过程中可以不断的对用户的个人属性词库进行扩充,目录结构的建立方式与个人属性词库的建立方式相同,在此不做重复描述。
步骤s103、用户终端输入搜索语句;
步骤s104、网络侧根据个人搜索档案和共享搜索档案,对搜索语句进行处理,得到处理后的关键词;
步骤s105、网络侧搜索处理后的关键词;
步骤s106、网络侧将搜索结果排序并显示;
步骤s107、网络侧更新个人搜索档案;
步骤s108、网络侧更新共享搜索档案。
其中,步骤s104中,网络侧对搜索语句进行处理的步骤如图2所示,具体包括:
步骤s201、对搜索语句进行切词,得到该搜索语句的关键词;
步骤s202、对关键词进行同义扩展;
同义扩展是指把关键词的同义词以逻辑或(or)的形式进行处理,例如关键词为X,X的同义词有X1、X2、...、Xn,则扩展原关键词为(X1orX2or...orXn)。每个同义词有一个相对应的权值,来显示该同义词被选择的频率。
步骤s203、对关键词进行属性限定;
属性限定是指把关键词的属性词以逻辑与(and)的形式限制原关键词,如X1的属性词为C11、C12、...、C1k,X2的属性词为C21、C22、...、C2k,...,Xn的属性词为Cn1、Cn2、...、Cnk,则限制原关键词为((X1andC11andC12and...andC1k)or(X2andC21andC22and...andC2k)or...or(XnandCn1andCn2and...andCnk));
步骤s204、整理对该关键词进行同义扩展和属性限定后的结果,并以逻辑或的形式表示;
步骤s205、每一逻辑或中为or关系的语句为一个目录;
步骤s206、根据每一目录的内容,计算每一目录的权值。
网络侧在步骤s205中得到对搜索语句的关键词进行处理所得到的多个目录后,对每个目录内容依次进行搜索并将搜索结果排序后显示的步骤如图3所示,包括:
步骤s301、网络侧获取目录内容;
步骤s302、网络侧判断用户个人搜索档案中是否存在该目录内容,不存在则进行步骤s303,否则进行步骤s308;
步骤s303、网络侧判断共享搜索档案中是否存在该目录内容,若不存在则进行步骤s304,否则进行步骤s306;
步骤s304、根据该目录内容在共享搜索档案中建立新的目录;
步骤s305、按照目录内容返回搜索结果,按照目录结构排序显示并结束;
步骤s306、显示包含该目录内容的目录,用户终端选择目录;
步骤s307、根据用户终端选择的目录,和该目录对应的属性词返回搜索结果,按照所选择的目录结构排序显示并结束;
步骤s308、用户终端判断是否需要选择或者编辑该目录,若不对目录进行选择或编辑则进行步骤s309,否则进行步骤s310;
步骤s309、根据用户终端个人搜索档案的目录结构返回搜索结果,按照目录结构排序显示并结束;
步骤s310、用户终端选择或者编辑目录;
步骤s311、根据用户终端选择的目录和目录对应的属性词返回搜索结果,按照选择的目录结构排序显示并结束。
该步骤中如果用户终端用原有的个人搜索档案对处理后的目录信息进行搜索,则根据该同义词、关键词和它的属性词,以及网页或业务与这些关键词的匹配程度排列搜索结果。如果没有该目录内容,就到共享搜索档案中查找,如果在共享搜索档案的关键词中,至少有一个与该目录内容相关的关键词曾被搜索过,则把该关键词相关的目录推荐给用户终端,用户终端可以选择包括该关键词的目录结构,根据用户终端的选择,将搜索结果进行排序显示。如果没有,则在共享搜索档案中根据该目录内容建立目录,并根据搜索返回的结果;根据前N个(如N=200)标题和内容,进行关键词的目录分类。用户终端也可以通过搜索共享搜索档案中的目录,从中选择部分目录添加到该用户终端的个人搜索档案中,修改原有的目录结构。
结合步骤s104和步骤s105,网络侧对搜索语句的关键词进行处理并返回搜索结果的实施例如下:
以用户终端搜索辣餐馆为例,如果找不到完全匹配的网页,则将搜索语句分为辣和餐馆。而辣是餐馆、饭店、辣椒等一级目录的属性词,餐馆、饭店、辣椒作为目录名称本身也是属性词,餐馆则与饭店是同义词:
如图4A所示,先通过辣和餐馆的同义词进行同义扩展为辣and(餐馆or饭店),然后把辣、餐馆和饭店的一级目录进行属性限定,不同的一级目录间以or的方式扩充,把搜索语句辣餐馆整合成:
((辣and餐馆)or(辣and饭店)or(辣and辣椒))and(餐馆or饭店)进行搜索。这里有6个目录,如果把该语句转换成or的形式A1orA2or...orAn,为:
(辣and餐馆)or(辣and餐馆and饭店)or(辣and餐馆)or(辣and饭店)or(辣and辣椒and餐馆)or(辣and辣椒and饭店);
删去重复部分,上述形式被精简为:
(辣and餐馆)or(辣and餐馆and饭店)or(辣and饭店)or(辣and辣椒and餐馆)or(辣and辣椒and饭店);
根据目录下的属性词找到相关目录(○表示目录节点):
餐馆→川菜,饭店→川菜,饭店→湘菜(共3个相关目录)
根据这3个目录分别的属性词(餐馆,川菜,辣)、(饭店,川菜,辣)、(饭店,湘菜,辣)以及各自的权值和内容的匹配程度,来调整搜索结果的排列顺序,并且以3个目录显示。
图4B所示为本发明中同义词库与属性词库的一种存储构造方式。以属性词库中的餐馆为例,在存储时的标识为Can+a,其中a为餐馆的权值;餐馆作为一级目录的目录词,同时也是属性词。同样,以川菜为例,存储时的标识为Chuan+c,c为川菜的权值,川菜所位于的一级目录是餐馆(Can+a)和饭店(Fan+d)。同时,属性词库中的餐馆(Can+a)和饭店(Fan+d)作为同义词存储在同义词库中。由此,本发明中同义词库与属性词库可以按照图4A与图4B所示的方式层层扩展。
步骤s107中,网络侧根据用户终端对搜索结果的浏览记录,对用户终端个人搜索档案进行更新,该更新包括对个人同义词库的更新和对个人属性词库的更新。
其中,对用户个人同义词库的更新包括:
1、同义词的删除:如果某个同义词的出现频率很低或者没有,则网络侧提醒用户删除该同义词。判断标准为:为出现频率设置一个阈值,如某同义词的出现频率低于该值,就做出提醒。阈值的设置有多种方法,例如令td=fck/n,其中n是一个正数,fck是同义词集合中第k个同义词ck在所有拥有该关键词的同义词的用户搜索后浏览的文档中、在所有同义词中出现的频率,即该同义词出现的次数与所有关键词出现的比值:
该式中,ui指第i个用户,Ωui(f)j是指用户ui所浏览的文档集合的第j个文档,如果同义词ck出现在文档中,则δck为1,否则为0。
这种方法需要记录每次搜索时,用户浏览点击的文档中所有同义词出现的次数。也可以采用其他方法,例如根据用户反馈的结果,如当用户删除某个同义词的出现频率或者权值;也可由系统限定一个阈值。
2、同义词的添加:采用与以上也阈值设置相类似的方法,也可以为出现频率高的同义词设置一阈值,如果某同义词的搜索语句或返回结果出现频率高于该阈值,则说明该关键词对用户有用的概率很大,系统就会把该关键词加入用户的个人同义词库。用户也可以增加关键词到同义词库,或者搜索共享同义词库来选择增加同义词。
对用户个人属性词库的更新通过聚类完成,通过如基于DHT(DistributedHashing Table,分布式哈希表)、Bayesian Network(贝叶斯网络)或DecisionTree(决策树)等的聚类方法,可以为文档建立目录,并根据目录下的文档建立属性词。该更新的具体步骤如下:
1、根据用户对搜索结果内容的操作记录,提取用户感兴趣的内容,该操作纪录包括点击、和/或浏览、和/或保存、和/或复制等;
2、根据当前搜索目录,把每个内容文件映射到用户的目录下;
3、网络侧系统从内容中提取关键词到词库,作为该搜索目录的属性词。
对个人属性词库的更新的实施例如图5所示,包括:
步骤s501、记录用户最新浏览的内容;
步骤s502、将该内容与以前目录下的内容一起进行自动多层聚类;
步骤s503、为每一分支节点提取相应的一个属性词,作为目录名称,以最少改变为原则,尽量使用原有的目录名称;
步骤s504、用户从自动分类的某目录属性词中选择某一属性词作为该目录名称;
步骤s505、用户是否接受该目录的组织方式,如果接受,则进行步骤s506,否则进行步骤s507;
步骤s506、将所有的属性词映射到目录分支底层,作为该目录底层分支的属性词并结束,其中属性词之间的类别参数则根据其分类算法得到;
步骤s507、选取原来的目录结构,或用户进行目录修改;
步骤s508、将最新浏览的内容映射到底层目录;
步骤s509、根据目录下的内容用分类等方法提取属性词,属性词之间的类别参数则根据其分类算法得到。
步骤s108中,网络侧根据用户终端对搜索结果的浏览记录,对共享搜索档案进行更新,该更新包括对共享同义词库的更新和对共享属性词库的更新。
其中,对共享同义词库的更新为,网络侧将所有用户终端的个人同义词库进行合并,得到网络侧总的共享同义词库;或者将不同的用户终端根据搜速兴趣的不同分为不同的用户终端群,分别为不同的群更新其群的共享同义词库。
对共享属性词库的更新的步骤与对个人属性词库更新的步骤相似,该步骤的实施例如图6所示,包括:
步骤s601、记录用户最新浏览的内容;
步骤s602、把该内容映射到共享词库中属性词库的目录下;
步骤s603、与该目录下的所有内容一起自动进行多层聚类;
步骤s604、在每个目录分支从对应的属性词集合中选择目录属性词名称;
步骤s605、将属性词映射到底。其中每一个目录底层分支的属性词为这一目录分支的所有属性词。
例如用户想了解最近宝马和奥迪的信息,同时又想知道关于大众车(特定型号,特定城市...)修车,保养,保险等方面的信息。所以有不同的关键词:宝马、奥迪、大众,前两者的属性词主要是新出的车型新闻,而后者的属性词则是关于车的保修维护方面的信息。
该例中属性词库中目录的组织方式如图7A所示,一级目录可以为汽车,下面是大众、宝马、奥迪,大众下面又分为修车、保险,奥迪下面是资讯,宝马下面是资讯;或者经过用户编辑后,如图7B所示,汽车下面是大众和资讯,资讯下面是宝马和奥迪。目录结构不会给搜索结果带来很大的影响,因为聚类模型由目录下面的属性词、目录词和参数决定的(影响可能是非线性的)。图7B右边最底层目录宝马下面的属性词可能有资讯、最新、流行、新款、汽车等属性词。
属性词库中创建目录时,目录的名称可以从用户搜索得到的返回结果的标题中提取。通过标题可以把关键词进行排序,根据用户设定或网络侧系统设定的最大目录层次限定或词频限制,限制属性词的数目,如通过设定阈值,自动抛弃所有出现频率或权值低于该阈值的属性词。
例如用户输入搜索关键词宝马,返回结果的标题中关键词如下:汽车8次,BMW4次,报价4次,其他如指南资讯1次,博客一次,车主会一次,因为宝马、汽车在所有的内容中都出现,可以作为一级目录,如果选择宝马,则宝马作为一级目录。而BMW如存在于同义词库中则认为是同义词;如果不存在同义词库中,则通常将它也作为一级目录的关键词。而其余的词如报价、指南资讯、博客、车主会则为二级目录,所有关键词形成属性词模型。这里对于目录则可以设定最大目录层次。
对于用户的个人属性词库,则是通过记录用户对搜索结果的浏览和点击,获取用户感兴趣的网页、文档以及其它信息,进而产生用户个人目录和对应的属性词。本例中第一层目录可以是宝马,下面是资讯。
如果用户对目录不满意,则进行编辑:可能还有BMW为其中的一个目录,而用户会把该词放入同义词库。
如果用户搜索共享词库,得到共享词库中的目录,用户选择了部分目录结构:宝马下面为资讯,而把BMW作为宝马的同义词。则在一定时间后(共享词库的同义词库更新时间)BMW就会被送到共享词库的同义词库。BMW作为宝马的同义词,就把一些相关文档映射到BMW和宝马下面,建立BMW和宝马的相关目录和属性词。
根据用户浏览搜索结果的反馈,经过自动更新,最初的目录就是宝马,下面是资讯。如果用户又搜索了奥迪,根据用户浏览的情况,自动进行聚类时,汽车(最多的共用关键词,资讯也较多,但只选一个,所有关键词就作为属性词)下面是宝马和奥迪,通常还有很多属性词。
如果用户又搜索了大众,并主要关注大众的维修和保险。如图8A所示,整个目录进行重新的调整,主要是汽车下面多出大众的分支,大众下面是维修和保险。
而BMW作为同义词,如图8B所示,会和宝马在同一分支上,聚类时虽然作为同义词,但对下层对应的文档将分开,形成更下层的聚类目录,拥有自己的专门文档和属性词,以及相对应的权值。
该目录的另一组织方式如图9A与图9B所示。
本发明的实施例二提供了一种网络搜索设备,如图10所示,网络搜索设备100包括网络数据交互单元101、存储单元102和处理单元103。
其中网络数据交互单元101用于网络搜索设备100与各个用户终端之间的信息交互。
存储单元102,用于存储各用户终端个人搜索档案、网络侧共享搜索档案以及网络侧资源;该存储单元102进一步包括网络资源子单元1021、共享档案子单元1022和个人档案子单元1023;
网络资源子单元1021,用于存储网络侧所有的网页资源;
共享档案子单元1022,用于存储网络侧向用户终端共享的词库,包括共享同义词库和共享属性词库;该共享档案子单元对不同的用户终端使用相同的共享内容,或者对不同的用户终端使用不同的用户终端群共享内容。
个人档案子单元1023,用于存储各用户终端的注册信息以及用户终端的词库,该词库包括个人同义词库和个人属性词库。
处理单元103,用于处理从用户终端接收到的搜索命令,并发送搜索结果,该处理单元103进一步包括搜索子单元1031、档案更新子单元1032和搜索语句处理子单元1033;
搜索语句处理子单元1033,用于对从用户终端接收到的搜索语句进行处理,具体实例如下:
(1)接收到用户终端登录的信息(UserID,Password)时,对用户终端进行身份认证,并且返回正确或错误的信息,可以用Boolean表示;
(2)收到用户终端的搜索语句(UserID,搜索语句)时,根据共享档案子单元1022和个人档案子单元1023中存储的内容,将该搜索语句进行完善和丰富,处理包括切词、同义扩展和属性限定;
(3)接收到用户查询搜索档案的功能(UserID,关键词,PersonalProfile)或(UserID,关键词,SharedProfile)时,根据用户请求返回相关目录(UserID,目录结构),并根据用户对目录的选择和编辑,以及相关的属性词模型(UserID,Revised目录结构和属性词模型),对搜索语句进行属性词的扩充;
档案更新子单元1032,用于根据用户终端对搜索结果的点击浏览,更新共享档案子单元1022和个人档案子单元1023;该更新包括同义词库中同义词的添加、修改、合并和删除,以及属性词库中目录和属性词的添加、修改合并和删除。
搜索子单元1031,用于根据所述处理后的搜索命令进行搜索,并将搜索结果排序后发送给用户终端。
本发明的实施例二还提供了一种网络搜索的用户终端,如图10所示,该用户终端200包括终端数据交互单元201、输入单元202、终端数据存储单元203、数据查询单元204、数据管理单元205和群信息单元206。
其中,终端数据交互单元201用于用户终端与网络侧的信息交互;
输入单元202用于用户终端的操作,用户终端通过该单元登录、发送搜索语句、浏览搜索结果;
终端数据存储单元203,用于存储用户终端对于搜索结果的操作以及用户终端浏览过的网页、文档、音频和/或视频等网址;
数据查询单元204,用于查询网络侧存储的共享搜索档案和个人搜索档案;
数据管理单元205,用于对网络侧存储的个人搜索档案内容和目录进行修改;
群信息单元206,用于管理用户终端所在的用户终端群的信息。该用户终端群的加入或退出由用户终端进行控制,并选择共享的目录和文档;或由网络侧根据该用户的搜索记录和浏览记录通过自动聚类进行控制。
本发明的实施例三提供了另一种网络搜索设备,如图11所示,网络搜索设备300包括网络数据交互单元301、存储单元302和处理单元303。
其中网络数据交互单元301用于网络搜索设备300与各个用户终端之间的信息交互。
存储单元302,用于存储网络侧共享搜索档案以及网络侧资源;该存储单元302进一步包括网络资源子单元3021和共享档案子单元3022;
网络资源子单元3021,用于存储网络侧所有的网页资源;
共享档案子单元3022,用于存储网络侧向用户终端共享的词库,包括共享同义词库和共享属性词库;该共享档案子单元对不同的用户终端使用相同的共享内容,或者对不同的用户终端使用不同的用户终端群共享内容。
处理单元303,用于处理从用户终端接收到的搜索命令,并发送搜索结果,该处理单元303进一步包括搜索子单元3031、档案更新子单元3032和搜索语句处理子单元3033;
搜索语句处理子单元3033,用于根据共享档案子单元3022和从用户终端侧获取的用户终端个人档案中存储的内容,对从用户终端接收到的搜索语句进行处理,具体处理操作与实施例二所述相同,在此不做重复描述;
档案更新子单元3032,用于根据用户终端对搜索结果的点击浏览,更新共享档案子单元3022,该更新包括同义词库中同义词的添加、修改、合并和删除,以及属性词库中目录和属性词的添加、修改合并和删除;
搜索子单元3031,用于根据所述处理后的搜索命令进行搜索,并将搜索结果排序后发送给用户终端。
本发明的实施例三还提供了另一种网络搜索的用户终端,如图11所示,该用户终端400包括终端数据交互单元401、输入单元402、终端数据存储单元403、数据查询单元404、数据管理单元405、群信息单元406、和个人档案子单元407。
其中,终端数据交互单元401用于用户终端与网络侧的信息交互;
输入单元402用于用户终端的操作,用户终端通过该单元登录、发送搜索语句、浏览搜索结果;
终端数据存储单元403,用于存储用户终端对于搜索结果的操作以及用户终端浏览过的网页、文档、音频和/或视频等网址;
数据查询单元404,用于查询网络侧存储的共享搜索档案;
数据管理单元405,用于对本地存储的个人搜索档案内容和目录进行管理,包括同义词库中同义词的添加、修改、合并和删除,以及属性词库中目录和属性词的添加、修改合并和删除;
群信息单元406,用于管理用户终端所在的用户终端群的信息。该用户终端群的加入或退出由用户终端进行控制,并选择共享的目录和文档;或由网络侧根据该用户的搜索记录和浏览记录通过自动聚类进行控制;
个人档案子单元407,用于存储各用户终端的注册信息以及用户终端个人搜索档案的词库,该词库包括个人同义词库和个人属性词库。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。