专利名称:一种搜索方法及装置的制作方法
技术领域:
本发明涉及计算机网络搜索技术领域,尤其涉及一种搜索方法及装置。
背景技术:
目前,传统的搜索方案主要为:根据用户输入待搜索信息在网络中查找所有的关联文档,依据一定的算法规则计算每个关联文档与待搜索信息的关联程度,基于关联程度的高低对所有关联文档进行排序处理,将排序结果作为搜索结果返回给用户。上述可知,关联程度的高低直接影响关联文档的排序结果,直接影响用户的搜索结果,而关联程度的高低一般采用相关度评分直观反映。传统的搜索方案中,通常采用词匹配算法进行相关度计算,例如采用BM25(BestMatch,最佳匹配)算法、proximity (Term proximity scoring,词近邻得分)算法等等进行相关度评分,相关度评分越高,表明关联程度越强。以基于BM25算法的搜索方案进行说明,如下:假设用户输入的待搜索信息为“中国的首都”,根据BM25算法的相关度评分原则,关联文档中必须出现“中国”、“首都”,才能够获得相应的相关度评分,否则该关联文档的相关度评分则为O ;例如:其中一个关联文档为:“北京,它是一座有着3000多年的建城史,850多年的建者史的历史文化名城;是全国政治、文化中心,也是全国最大的陆空产通枢纽”,根据上述传统的搜索方案,该关联文档的相关度评分为0,表明与待搜索信息不相关,然而,从语义关系来看,该关联文档与待搜索信息的相关性实际上是十分好的。经过排序处理后,该关联文档可能排列于较后的搜索结果页面中,不利于用户的查看。上述例子可知,传统的搜索方案仅仅基于词进行相关度的匹配,并未考虑词与词之间的语义关系,可能造成相关度计算结果的不准确,影响搜索结果的排列顺序,降低用户对搜索结果的满意度,降低用户的搜索体验
发明内容
本发明实施例所要解决的技术问题在于,提供一种搜索方法及装置,能够获得更准确的搜索结果。一方面,本发明实施例提供了一种搜索方法,包括:获取待搜索信息的关联文档;基于词匹配算法及语义匹配算法,计算获取到的每一个关联文档与所述待搜索信息的相关度;根据计算得到的相关度对获取到的关联文档进行排序,并显示排序结果。另一方面,本发明实施例还提供了一种搜索装置,包括:搜索模块,用于获取待搜索信息的关联文档;计算模块,用于基于词匹配算法及语义匹配算法,计算所述搜索模块获得的每一个关联文档与所述待搜索信息的相关度;排序模块,用于根据所述计算模块计算得到的相关度对所述搜索模块获得的所有关联文档进行排序处理;
显示模块,用于显示所述排序模块获得的排序结果。
实施本发明实施例,具有如下有益效果:
本发明实施例结合词匹配算法及语义匹配算法,综合考虑词与词的匹配,以及词与词之间的语义关系的匹配,获得每一个关联文档与待搜索信息之间较为准确的相关度,基于该相关度进行排序并显示排序结果,可以为用户提供理想的搜索结果,使得用户可以从显示的搜索结果中快速获得相关度较高的关联文档,满足自己实际的搜索需求,提高了搜索效率,从而提高了用户的满意度。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的搜索方法的一个实施例的流程图2为图1所示步骤S102的具体流程图3为本发明提供的IDF表的示意图4为本发明提供的MI表的示意图5为图1所示步骤S103的具体流程图6为本发明提供的搜索装置的一个实施例的结构示意图7为图6所示的计算模块的实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的·实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的方案中,搜索装置可以基于词匹配以及词与词之间的语义匹配算法,计算待搜索信息的所有关联文档的相关度,并根据该相关度进行排序和显示,使得用户可以从显示的搜索结果中快速获得相关度较高的关联文档,满足自己的搜索需求,提高搜索效率。
其中,所述待搜索信息可以为用户输入的搜索关键词句,其可以用query (查询)表示。所述关联文档可以为:基于用户输入的搜索关键词句,利用现有的网络搜索技术获得的搜索结果中包含的文档,其可以用document (文档)表示。
所述词匹配算法是指搜索过程基于词进行匹配,其可以为:BM25算法、proximity等算法,除特别说明外,本发明实施例以BM25算法为例进行说明。所述语义匹配算法是指搜索过程基于词与词之间的语义关系进行匹配,也即,搜索过程基于词与词之间的互信息进行匹配。所谓MI (Mutual Information,互信息),是对两个随机变量的关联程度的描述,在文本处理中,MI用来衡量两个词的相关度,两个词的MI越大,表示该两个词的关联程度越强。
下面将结合附图1-附图5,对本发明实施例提供的搜索方法进行详细介绍。
请参见图1,为本发明提供的搜索方法的一个实施例的流程图;该方法包括:
S101,获取待搜索信息的关联文档。本步骤可以参照现有技术,在此不赘述。
S102,基于词匹配算法及语义匹配算法,计算获取到的每一个关联文档与所述待搜索信息的相关度。
本步骤中,每一个关联文档与待搜索信息的相关度的评分可以由两部分组成,一部分是基于词匹配算法获得的关联评分,另一部分是基于语义匹配算法获得的关联评分。实际应用中,可以根据具体情况,预先设置两部分关联评分的权重,使得加权后的两部分关联评分所组成的相关度评分更能准确体现关联文档与待搜索信息的关联程度。
S103,根据计算得到的相关度对获取到的关联文档进行排序处理,并显示排序结果O
本步骤中,可以按照每个关联文档与待搜索信息的相关度评分由高至低的顺序,对搜索得到的所有关联文档进行排序和显示,使得显示在前的始终为与待搜索信息较相关的关联文档,从而使得用户可以从显示的搜索结果中快速获得相关度较高的关联文档,满足自己的搜索需求,提高搜索效率。可以理解的是,本步骤也可以采用其他顺序进行排序处理,例如按照相关度评分由低至高的顺序,或者设置一部分按照相关度评分由低至高的顺序,一部分按照相关度评分由高至低的顺序,等等。
请参见图2,为图1所示步骤S102的具体流程图;该步骤S102包括:
S211,对所述待搜索信息进行向量化处理,获得m个向量tp
本步骤中,对待搜索信息进行向量化处理,即是利用分词技术,对待搜索信息进行分词处理,将待搜索信息分割成m个词组成,可以表示为h至tm,其中,m和i均为正整数,且 I < i < m。
S212,对获取到的每一个关联文档进行向量化处理,获得每一个关联文档所对应的η个向量dj。
本步骤中,对获取到的所有关联文档中的每一个文档进行向量化处理,即是利用分词技术,对每一个关联文档进行分词处理,将该关联文档分割成η个词组成,可以表示为Cl1至七,其中,η和j均为正整数,且I彡j彡η。
需要说明的是,步骤S211与步骤S212在时序上不分先后,例如也可以先执行步骤S212,再执行步骤S211。步骤S211-``步骤S212中的向量化处理过程可以参照现有技术,在此不赘述。
S213,基于词匹配算法,计算得到每一个关联文档与所述待搜索信息的关联评分S10
本步骤中,词匹配算法的公式可以为:
权利要求
1.一种搜索方法,其特征在于,包括: 获取待搜索信息的关联文档; 基于词匹配算法及语义匹配算法,计算获取到的每一个关联文档与所述待搜索信息的相关度; 根据计算得到的相关度对获取到的关联文档进行排序,并显示排序结果。
2.如权利要求1所述的方法,其特征在于,所述基于词匹配算法及语义匹配算法,计算获取到的每一个关联文档与所述待搜索信息的相关度,包括: 对所述待搜索信息进行向量化处理,获得m个向量ti;其中,m和i均为正整数,且1 ≤i ≤m ; 对获取到的每一个关联文档进行向量化处理,获得每一个关联文档所对应的η个向量屯其中,η和j均为正整数,且I SjSn; 基于词匹配算法,计算得到每一个关联文档与所述待搜索信息的关联评分S1,基于语义匹配算法,计算得到每一个关联文档与所述待搜索信息的关联评分S2 ; 根据公式S= a XS1+(1-Ci)XS2,计算得到每一个关联文档与所述待搜索信息的相关度S,其中,α为预设的权重,且O < α < I。
3.如权利要求2所述的方法,其特征在于:所述词匹配算法的公式为:
4.如权利要求3所述的方法,其特征在于,向量\的权重的计算公式如下:
5.如权利要求2所述的方法,其特征在于:所述语义匹配算法的公式为:
6.如权利要求5所述的方法,其特征在于,向量\与向量Clj的互信息的计算公式如下:
7.如权利要求1-6任一项所述的方法,其特征在于,所述根据计算得到的相关度对获取到的关联文档进行排序,并显示排序结果,包括: 根据每一个关联文档与所述待搜索信息的相关度,按照相关度从高至低的顺序对所有关联文档进行排序; 显不排序后的所有关联文档。
8.一种搜索装置,其特征在于,包括: 搜索模块,用于获取待搜索信息的关联文档; 计算模块,用于基于词匹配算法及语义匹配算法,计算所述搜索模块获得的每一个关联文档与所述待搜索信息的相关度; 排序模块,用于根据所述计算模块计算得到的相关度对所述搜索模块获得的关联文档进行排序; 显示模块,用于显示所述排序模块获得的排序结果。
9.如权利要求8所述的装置,其特征在于,所述计算模块包括: 第一向量化处理单元,用于对所述待搜索信息进行向量化处理,获得m个向量\,其中,m和i均为正整数,且1≤i≤m ; 第二向量化处理单元,用于对所述搜索模块获得的每一个关联文档进行向量化处理,获得每一个关联文档所对应的η个向量Clj,其中,η和j均为正整数,且I SjSn; 词匹配计算单元,用于基于词匹配算法,计算得到所述第二向量化处理单元处理后的关联文档与 所述待搜索信息的关联评分S1 ; 语义匹配计算单元,用于基于语义匹配算法,计算得到所述第二向量化处理单元处理后的关联文档与所述待搜索信息的关联评分S2 ; 相关度计算单元,用于根据公式S= a XS1 (1-Ci)XS2,计算得到所述关联文档与所述待搜索信息的相关度S,其中,α为预设的权重,且O < α < I。
10.如权利要求9所述的装置,其特征在于,所述词匹配算法的公式为:
11.如权利要求8-10任一项所述的装置,其特征在于, 所述排序模块根据每个关联文档与所述待搜索信息的相关度,按照相关度从高至低的顺序对所述搜索模块获得的所有关联文档进行排序; 所述显示模块显示所述排序模`块排序后的所有关联文档。
全文摘要
本发明实施例公开了一种搜索方法,包括获取待搜索信息的所有关联文档;基于词匹配算法及语义匹配算法,计算每一个关联文档与所述待搜索信息的相关度;根据计算得到的相关度对所有关联文档进行排序处理,并显示排序结果。本发明实施例还公开了一种搜索装置。本发明综合考虑词与词的匹配,以及词与词之间的语义关系的匹配,获得准确的相关度计算结果,为用户提供理想的搜索结果,提高用户的满意度。
文档编号G06F17/30GK103246681SQ20121003152
公开日2013年8月14日 申请日期2012年2月13日 优先权日2012年2月13日
发明者路彦雄, 杨月奎, 王亮, 焦峰 申请人:腾讯科技(深圳)有限公司