著录项信息
专利名称 | 一种相关搜索系统、方法及装置 |
申请号 | CN201210018974.3 | 申请日期 | 2012-01-20 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-07-24 | 公开/公告号 | CN103218373A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 腾讯科技(深圳)有限公司 | 申请人地址 |
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 深圳市世纪光速信息技术有限公司 | 当前权利人 | 深圳市世纪光速信息技术有限公司 |
发明人 | 高小平;宋国龙 |
代理机构 | 北京润泽恒知识产权代理有限公司 | 代理人 | 苏培华 |
摘要
本发明公开了一种相关搜索系统、方法及装置,本发明在互联网网络侧提供候选数据库外,还提供语义相关性数据库,该数据库中存储与关键词匹配的语义索引。当搜索引擎接收客户端发送的搜索请求后,解析得到关键词,不仅在候选数据库中查找匹配的字面索引并根据字面相似度计算得到字面搜索结果,而且在语义相关性数据库查找匹配的语义索引得到语义搜索结果,将字面搜索结果和语义搜索结果进行加权计算,得到最终搜索结果。这样,本发明提供的方法及系统不仅可以搜索到与关键词相匹配的字面结果,而且可以搜索到与关键词相匹配的语义结果,提高搜索准确度,提高用户的体验度。
一种相关搜索系统、方法及装置\n技术领域\n[0001] 本发明涉及搜索引擎技术,特别涉及一种相关搜索系统、方法及装置。\n背景技术\n[0002] 随着互联网的发展,通过互联网网络侧可以为客户端提供各种服务。其中一种就是搜索服务,也就是在网络侧设置搜索引擎,当网络侧的搜索引擎接收客户端发送的搜索请求后,检索互联网网络侧候选数据库中所存储的匹配该搜索请求携带的关键词的所有字面索引,提供给客户端。为了提高使用客户端的用户搜索体验度,提出了相关搜索技术,也就是网络侧的搜索引擎在接收搜索请求后,不仅仅检索互联网网络侧候选数据库中匹配该搜索请求携带的关键词的所有字面索引,还检索互联网网络侧候选数据库所存储的匹配该搜索请求携带的关键词的相关或相近字面索引,提供给客户端,用于用户的进一步搜索。\n[0003] 图1为现有技术互联网网络侧提供的搜索服务示意图,包括客户端、网络侧提供的搜索引擎及网络侧提供的候选数据库,其中,\n[0004] 客户端,用于向搜索引擎发送搜索请求,该搜索请求携带关键词,接收搜索引擎返回的搜索结果;\n[0005] 搜索引擎,用于接收搜索请求,到候选数据库中查找匹配该请求所携带关键词的相关或相同字面索引,得到搜索结果,返回给客户端;\n[0006] 候选数据库,用于对应关键词存储相同或相关字面索引。\n[0007] 具体地,图2为现有技术搜索引擎的结构示意图,包括:查询解析模块、检索模块及字面相关度计算模块,其中,\n[0008] 查询解析模块,用于从所接收到的搜索请求中,进行查询解析,得到所携带的关键词;\n[0009] 查询模块,用于到候选数据库中查找匹配该请求所携带关键词的所有相关或相同字面索引;\n[0010] 字面相关度计算模块,用于分别计算所查找到的所有相关或相同字面索引与关键词的字面相似度,将所设定数量的字面相似度最高的相关或相同字面索引反馈给客户端。\n[0011] 从上述方案可以看出,目前只是采用单一的候选数据库进行搜索请求携带的关键词的相关或相同字面索引匹配,且采用字面相关度计算得到字面相似度最高的设定数量的相关或相同字面结果反馈给客户端。这样,只能得到搜索请求所携带的与关键词匹配的相关或相同字面结果,而无法得到相关或相同语义结果,这会降低用户的体验度。\n发明内容\n[0012] 有鉴于此,本发明提供一种相关搜索方法,能够提高搜索的准确度。\n[0013] 本发明还提供一种相关搜索装置,能够提高搜索的准确度。\n[0014] 本发明还提供一种相关搜索系统,能够提高搜索的准确度。\n[0015] 为达到上述目的,本发明的技术方案是这样实现的:\n[0016] 一种相关搜索方法,该方法包括:\n[0017] 接收携带关键词的搜索请求,解析搜索请求得到关键词;\n[0018] 在候选数据库中查找与关键词匹配的字面索引并根据字面相似度从匹配的字面索引中计算得到字面搜索结果,在语义相关性数据库查找与关键词匹配的语义索引得到语义搜索结果;\n[0019] 将字面搜索结果和语义搜索结果进行加权计算,得到最终匹配关键词的搜索结果。\n[0020] 该方法还包括:\n[0021] 在设置的快速更新数据库查找与关键词匹配的更新字面索引,根据字面相似度从匹配的更新字面索引中计算得到更新字面搜索结果,在进行加权计算时,根据字面搜索结果、语义搜索结果和更新字面搜索结果,得到最终匹配关键词的搜索结果。\n[0022] 所述解析搜索请求得到关键词具体为:\n[0023] 采用反文档频率idf方式从搜索请求解析得到关键词。\n[0024] 所述根据字面相似度从匹配的字面索引中计算得到字面搜索结果具体为:\n[0025] 采用关键词权重加权方式对匹配的字面索引进行计算,得到字面搜索结果。\n[0026] 一种相关搜索装置,包括:收发模块、解析模块、检索模块、字面相似度计算模块、语义相似度计算模块及融合模块,其中,\n[0027] 收发模块,用于接收携带关键词的搜索请求,发送从融合模块得到的最终匹配关键词的搜索结果;\n[0028] 解析模块,用于从搜索请求中解析关键词;\n[0029] 检索模块,用于在候选数据库中查找与关键词匹配的字面索引,在语义相关性数据库查找与关键词匹配的语义索引;\n[0030] 字面相似度计算模块,用于根据字面相似度从匹配的字面索引中计算得到字面搜索结果;\n[0031] 融合模块,用于将字面搜索结果和语义搜索结果进行加权计算,得到最终匹配关键词的搜索结果。\n[0032] 检索模块,还用于在快速更新数据库查找与关键词匹配的更新字面索引;\n[0033] 字面相似度计算模块,还用于根据字面相似度从匹配的更新字面索引中计算得到更新字面搜索结果;\n[0034] 融合模块,还用于在进行加权计算时,根据字面搜索结果、语义搜索结果和更新字面搜索结果,得到最终匹配关键词的搜索结果。\n[0035] 所述解析模块,具体用于:\n[0036] 采用反文档频率idf方式从搜索请求解析得到关键词。\n[0037] 所述字面相似度计算模块具体用于:\n[0038] 采用关键词权重加权方式对匹配的字面索引进行计算,得到字面搜索结果。\n[0039] 一种相关搜索系统,包括:客户端、搜索引擎、候选数据库及语义相关性数据库,其中,\n[0040] 客户端,用于向搜索引擎发送搜索请求,该搜索请求携带关键词,接收搜索引擎返回的搜索结果;\n[0041] 搜索引擎,用于接收搜索请求,解析搜索请求得到关键词,在候选数据库中查找与关键词匹配的字面索引并根据字面相似度从匹配的字面索引中计算得到字面搜索结果,在语义相关性数据库查找与关键词匹配的语义索引得到语义搜索结果,将字面搜索结果和语义搜索结果进行加权计算,得到最终匹配关键词的搜索结果,返回给客户端;\n[0042] 候选数据库,用于对应关键词存储字面索引;\n[0043] 语义相关性数据库,用于对应关键词存储语义索引。\n[0044] 所述系统还包括快速更新数据库,用于对应关键词存储更新字面索引;\n[0045] 所述搜索引擎,还用于在快速更新数据库查找与关键词匹配的更新字面索引,根据字面相似度计算从匹配的更新字面索引中得到更新字面搜索结果,在进行加权计算时,根据字面搜索结果、语义搜索结果和更新字面搜索结果,得到最终匹配关键词的搜索结果。\n[0046] 由上述的技术方案可见,本发明在互联网网络侧提供候选数据库外,还提供语义相关性数据库,该数据库中存储与与关键词匹配的语义索引。当搜索引擎接收客户端发送的搜索请求后,从搜索请求解析得到关键词,不仅在候选数据库中查找与关键词匹配的字面索引并根据字面相似度计算得到字面搜索结果,而且在语义相关性数据库查找与关键词匹配的语义索引计算得到语义搜索结果,将字面搜索结果和语义搜索结果进行加权计算,得到最终搜索结果。这样,本发明提供的方法及系统不仅可以搜索到与关键词相匹配的字面索引,而且可以搜索到与关键词相匹配的语义索引,提高搜索的准确度,提高用户的体验度。\n附图说明\n[0047] 图1为现有技术互联网网络侧提供的搜索服务示意图;\n[0048] 图2为现有技术搜索引擎的结构示意图;\n[0049] 图3为本发明实施例提供的相关搜索系统结构示意图;\n[0050] 图4为本发明实施例提供的相关搜索方法流程图;\n[0051] 图5为本发明实施例提供的相关搜索装置结构示意图;\n[0052] 图6为本发明实施例采用加权计算得到最终匹配关键词的搜索结果的示意图;\n[0053] 图7所示的本发明实施例提供的更新方法流程图。\n具体实施方式\n[0054] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。\n[0055] 为了不仅可以搜索到与关键词相匹配的字面索引,而且可以搜索到与关键词相匹配的语义索引,提高搜索的准确度,提高用户体验度,本发明在互联网网络侧提供候选数据库外,还提供语义相关性数据库,该数据库中存储与与关键词匹配的语义索引。当搜索引擎接收客户端发送的搜索请求后,从搜索请求解析得到关键词,不仅在候选数据库中查找与关键词匹配的字面索引并根据字面相似度计算得到字面搜索结果,而且在语义相关性数据库查找与关键词匹配的语义索引计算得到语义搜索结果,将字面搜索结果和语义搜索结果进行加权计算,得到最终搜索结果。\n[0056] 在本发明提供的实施例中,由于候选数据库中存储了匹配关键词的所有字面索引,在更新时间代价较高,一些非常新的字面索引不能快速进入到该候选数据库中,导致最终得到的搜索结果时新性不高。因此,为了克服这个问题,本发明还在互联网网络侧设置快速更新数据库,存储匹配关键词的更新字面索引,在进行字面索引搜索时,也在该快速更新数据库中搜索,以获取匹配关键词的更新字面索引并根据字面相似度计算得到更新字面搜索结果,在得到最终搜索结果时,也依据了这些更新字面搜索结果。\n[0057] 图3为本发明实施例提供的相关搜索系统结构示意图,包括:客户端、搜索引擎、候选数据库及语义相关性数据库,其中,\n[0058] 客户端,用于向搜索引擎发送搜索请求,该搜索请求携带关键词,接收搜索引擎返回的搜索结果;\n[0059] 搜索引擎,用于接收搜索请求,从搜索请求解析关键词,在候选数据库中查找匹配的字面索引并根据字面相似度从匹配的字面索引中计算得到字面搜索结果,在语义相关性数据库查找匹配的语义索引计算得到语义搜索结果,将字面搜索结果和语义搜索结果进行加权计算,得到最终匹配关键词的搜索结果,返回给客户端;\n[0060] 候选数据库,用于对应关键词存储字面索引;\n[0061] 语义相关性数据库,用于对应关键词存储语义索引。\n[0062] 在该系统中,还包括快速更新数据库,用于对应关键词存储更新字面索引;\n[0063] 所述搜索引擎,还用于在快速更新数据库查找匹配的更新字面索引,根据字面相似度从匹配的更新字面索引中计算得到更新字面搜索结果,在进行加权计算时,根据字面搜索结果、语义搜索结果和更新字面搜索结果,得到最终匹配关键词的搜索结果。\n[0064] 在该系统中,搜索引擎,还用于采用反文档频率(idf,inverse document frequency)方式从搜索请求解析得到关键词。\n[0065] 在该系统中,搜索引擎,具体用于采用关键词权重加权方式进行字面相似度计算,从匹配的字面索引中计算得到字面搜索结果。\n[0066] 在该系统中,加权方式为线性加权方式。\n[0067] 图4为本发明实施例提供的相关搜索方法流程图,其具体步骤为:\n[0068] 步骤401、互联网网络侧的搜索引擎接收到客户端发送的携带关键词的搜索请求;\n[0069] 步骤402、搜索引擎解析出搜索请求中的关键词;\n[0070] 在本步骤中,从搜索请求中解析出关键词;\n[0071] 在本步骤中,根据idf计算,采用idf较高的词作为关键词;\n[0072] 步骤403、搜索引擎在候选数据库中查找与关键词匹配的字面索引并根据字面相似度从匹配的字面索引中计算得到字面搜索结果;\n[0073] 在本步骤中,进行字面相似度计算时,采用关键词权重加权方式对匹配的字面索引进行计算,得到字面搜索结果;\n[0074] 步骤404、搜索引擎在语义相关性数据库查找与关键词匹配的语义索引,得到语义搜索结果;\n[0075] 在本步骤中,采用查询数据库的方式获取对应的语义相关性高的语义索引;\n[0076] 步骤405、搜索引擎将字面搜索结果和语义搜索结果进行加权计算,得到最终匹配关键词的搜索结果;\n[0077] 在本步骤中,加权计算为线性加权方式。\n[0078] 步骤406、搜索引擎将得到的最终匹配关键词的搜索结果发送给客户端。\n[0079] 在该方法中,步骤403和步骤404的顺序可以倒换或同时进行,这里不限制。\n[0080] 在该方法中,搜索引擎,还到快速更新数据库查找匹配的更新字面索引,根据字面相似度从匹配的更新字面索引中计算得到更新字面搜索结果,在进行加权计算时,根据字面搜索结果、语义搜索结果和更新字面搜索结果,得到最终匹配关键词的搜索结果。\n[0081] 图5为本发明实施例提供的相关搜索装置结构示意图,包括:收发模块、解析模块、检索模块、字面相似度计算模块、语义相似度计算模块及融合模块,其中,\n[0082] 收发模块,用于接收客户端发送的携带关键词的搜索请求,发送给解析模块,接收融合模块发送的最终匹配关键词的搜索结果,发送给客户端;\n[0083] 解析模块,用于从搜索请求中解析关键词,发送给检索模块;\n[0084] 检索模块,用于在候选数据库中查找匹配的字面索引,发送给字面相似度计算模块,在语义相关性数据库查找匹配的语义索引,发送给融合模块;\n[0085] 字面相似度计算模块,用于根据字面相似度从匹配的字面索引中计算得到字面搜索结果,发送给融合模块;\n[0086] 融合模块,用于将从字面相似度计算模块接收的字面搜索结果和从检索模块接收的语义搜索结果进行加权计算,得到最终匹配关键词的搜索结果,发送给收发模块。\n[0087] 在该装置中,检索模块,还用于在快速更新数据库查找匹配的更新字面索引,发送给语义相似度计算模块;\n[0088] 字面相似度计算模块,还用于根据字面相似度从匹配的更新字面索引中计算得到更新字面搜索结果,发送给融合模块;\n[0089] 融合模块,还用于在进行加权计算时,根据字面搜索结果、语义搜索结果和更新字面搜索结果,得到最终匹配关键词的搜索结果。\n[0090] 在该实施例中,所述解析模块,用于从搜索请求中解析关键词具体为:\n[0091] 采用反文档频率idf方式从搜索请求解析得到关键词。\n[0092] 在该实施例中,所述字面相似度计算模块,用于从匹配的字面索引中计算得到字面搜索结果具体为:\n[0093] 采用关键词权重加权方式对匹配的字面索引进行计算,得到字面搜索结果。\n[0094] 在本发明实施例中,搜索引擎是根据idf提取出关键词,然后在候选数据库中查找匹配的字面索引并根据字面相似度计算得到字面搜索结果,以下详细说明这一过程。\n[0095] 在搜索请求中携带有文件,搜索引擎采用切分查询方式,比如采用常用的正向最大匹配或逆向最大匹配算法等,获取文件中的各个切分词;\n[0096] 然后获取各个切分词的权重,采用idf表示各个词的词权重,idf是一个词普遍重要性的度量,某一词的idf,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到,如公式(1):\n[0097] 公式(1)\n[0098] 其中,|D|为总文件数目,|{j:ti∈dj}包含词ti的文件数目,如果该词不在文件中,就会导致被除数为0,因此一般情况下可以使用|{j:ti∈dj}|+1表示。\n[0099] 最后,选取idf最高的词作为关键词,在候选数据库中查找与关键词匹配的字面索引。\n[0100] 在候选数据库中查找匹配关键词的字面索引时,采用反向字面索引方式,举一个具体例子说明。\n[0101] 假设字面索引为:\n[0102]\n T0 “it is what it is”\n T1 “what is it”\n T2 “it is a banana”\n[0103] 得到的反向字面索引为:\n[0104]\n “a” {2}\n “banana” {2}\n “is” {0,1,2}\n “it” {0,1,2}\n “what” {0,1}\n[0105] 如果关键词为“what”,“is”和“it”,则对应的集合为:\n[0106] {0,1}∩{0,1,2}∩{0,1,2}={0,1}。\n[0107] 对关键词,得到反向字面索引,包括关键词对应的字面索引标识及在字面索引中的位置,比如关键词“banana”的字面索引为{(2,3)},就是说字面索引“banana”在第三个字面索引中(T2),且在第三个字面索引中的位置是第四个单词,地址为3。\n[0108]\n “a” {(2,2)}\n “banana” {(2,3)}\n “is” {(0,1),(0,4),(1,1),(2,1)}\n “it” {(0,0),(0,3),(1,2),(2,0)}\n “what” {(0,2),(1,0)}\n[0109] 如果关键词为“what is it”,则与该与关键词匹配的字面索引为字面索引0和字面索引1。\n[0110] 根据字面相似度计算得到字面搜索结果\n[0111] 关键词的字面相似度,是根据关键词的权重与文件中所有词的权重之和的比例计算,其中权重可以采用IDF表示,字面相似度fh采用公式(2)表示:\n[0112]\n[0113] 其中Q为关键词,H为得到的字面索引,idfw表示关键词的权重。该公式利用关键词中与字面索引的公共部分的权重占得到的字面索引中所有词权重的比例描述字面搜索结果,无论从原始搜索的角度来看得到的字面搜索结果,还是从得到的字面搜索结果的角度来看原始搜索,该权重是一致的。例如:当关键词为“封神榜全集”,得到的匹配字面索引为“封神榜下载”的字面相似度就是“封神榜”的权重与“封神榜”、“全集”、“下载”这3个词的权重的比例。\n[0114] 字面相似度fh还可以采用公式(3)表示:\n[0115]\n[0116] 公式(3)利用关键词中与字面索引的公共部分的权重占关键词中所有词权重的比例描述字面搜索结果。例如,当关键词为“封神榜”,得到的匹配字面索引为“封神榜下载”的字面相似度就是“封神榜”的权重与关键词“封神榜”自身的权重的比例,就是fh为1。\n[0117] 在本发明实施例中,搜索引擎到语义相关性数据库查找匹配的语义索引过程与字面索引不同,语义相似度计算得到语义搜索结果,是在语义相关性数据库查找匹配的语义索引得到的。\n[0118] 例如:关键词“孙悟空的演员”在语义检索过程中可以检索出“三国演义的演员”和“六小龄童”。\n[0119] 在本发明实施例中,搜索引擎根据字面搜索结果和语义搜索结果采用加权计算,得到最终匹配关键词的搜索结果的具体过程如下所述。\n[0120] 如图6所示,图6为本发明实施例采用加权计算得到最终匹配关键词的搜索结果的示意图,如图所示:\n[0121] 对于关键词“Q”,搜索引擎在候选数据中匹配字面索引,并计算得到字面搜索结果,在语义相关性数据库1和语义相关性数据库2匹配语义索引,并计算得到语义搜索结果,搜索引擎还可以在快速更新数据中匹配更新字面索引,并计算得到更新字面搜索结果。其中,对于关键词“Q”,得到的字面搜索结果A、B和C为:{(A,0.5),(B,0.3),(C,0.2)};得到的更新字面搜索结果B和C为:{(B,0.1),(C,0.2)};得到的语义搜索结果B和D为:{(B,0.2)(D,\n0.2)}。\n[0122] 采用加权计算上述得到的结果,可以采用线性加权方式计算对于关键词“Q”的搜索结果H,公式(4):\n[0123]\n[0124] 其中的i表示索引,αi表示第i个索引的加权系数,wi(H)表示关键词在第i个索引的得分,当所有αi为1时,上例最终得到的搜索结果H为{(B,0.6),(A,0.5),(C,0.4),(D,\n0.2)}。\n[0125] 在本发明实施例中,由于候选数据库中存储的匹配关键词的字面索引数量庞大,更新代价比较高,所以增加了快速更新数据库存储匹配关键词的更新索引,进行随时更新。\n对于候选数据库,可以设置比较长的更新周期,比如设置每天一次,对于快速更新数据库,可以设置比较短的更新周期,比如设置每半小时一次。无论是候选数据库,还是快速更新数据库,都是采用如图7所示的本发明实施例提供的更新方法流程图进行更新,其具体步骤为:\n[0126] 步骤701、判定是否满足设定条件,如果是,执行步骤702;否则,结束;\n[0127] 步骤702、为候选数据库或快速更新数据库中重新建立字面索引匹配关键词;\n[0128] 步骤703、将重新建立的字面索引匹配关键词加载到候选数据库或快速更新数据库中;\n[0129] 步骤704、将候选数据库或快速更新数据库中的匹配关键词的字面索引进行替换后,结束。\n[0130] 语义相关性数据库也可以更新,更新方式和图7的过程相似,只不过采用更新的是匹配关键词的语义索引。\n[0131] 可以看出,本发明实施例不仅搜索到了与关键词相匹配的字面索引,而且搜索到了与关键词相匹配的语义索引,提升了相关搜索结果的准确度;本发明实施例引入了快速更新数据库,避免单一的候选数据库更新字面索引缓慢问题,让快速更新数据库快速更新索引,有效提升相关搜索结果的时新性。\n[0132] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
法律信息
- 2018-02-06
- 2014-12-17
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201210018974.3
申请日: 2012.01.20
- 2013-11-20
专利申请权的转移
登记生效日: 2013.10.30
申请人由腾讯科技(深圳)有限公司变更为深圳市世纪光速信息技术有限公司
地址由518044 广东省深圳市福田区振兴路赛格科技园2栋东403室变更为518057 广东省深圳市南山区高新科技园科技中一路腾讯大厦16层
- 2013-07-24
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-04-20
|
2010-12-08
| | |
2
| |
2008-09-24
|
2008-03-20
| | |
3
| |
2009-09-23
|
2008-03-19
| | |
4
| |
2009-11-11
|
2009-06-11
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |