一种基于Boosting分类算法的信息检索方法转让专利

申请号 : CN201110370854.5

文献号 : CN102508920B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 石忠民徐亚波

申请人 : 广州索答信息科技有限公司

摘要 :

本发明公开了一种基于Boosting分类算法的信息检索方法,包括:接收初始搜索关键字;进行规范化处理;进行同义词扩展;产生初始文档列表,并赋予每个文档一个初始相关值R1;利用boosting分类算法对每个文档的每个句子进行分类,为每个句子分派一个句子分类值;计算每个文档所有句子的句子分类值的平均值,并将平均值作为该文档的文档分类值R2;按R=R1+i*R2计算文档的最终相关值R,i为权重;根据最终相关值对初始文档列表进行重排序,生成发送给用户的最终文档列表。本方法通过Boosting分类算法对排序后的文档进行了关联性分类,结合机器学习和自然语言处理技术对文档进行了重排序,提高了信息检索的性能。

权利要求 :

1.一种基于Boosting分类算法的信息检索方法,其特征在于,包括:步骤a.接收用户提交的初始搜索关键字;

步骤b.对初始搜索关键字进行规范化处理,生成规范搜索关键字;

步骤c.在参考数据库中对规范搜索关键字进行同义词扩展,生成扩展搜索关键字;

步骤d. 在索引中对扩展搜索关键字进行检索,产生按相关性排序的初始文档列表,并赋予每个文档一个与其相关性相匹配的初始相关值,相关性越大,初始相关值就越大;

步骤e.利用boosting分类算法对每个文档的每个句子根据其与术语的关联性进行分类,并为每个句子分派一个句子分类值,句子与术语的关联性越大,句子分类值就越大;

步骤f.计算每个文档所有句子的句子分类值的平均值,并将该平均值作为该文档的文档分类值;

步骤g.计算每个文档的最终相关值,计算公式为:R=R1+i*R2,其中R为最终相关值,R1为初始相关值,R2为文档分类值,i为文档分类值的权重;

步骤h. 根据最终相关值对初始文档列表进行重排序,生成按最终相关值排序的最终文档列表,并将最终文档列表发送给用户。

2.根据权利要求1所述的一种基于Boosting分类算法的信息检索方法,其特征在于,所述步骤b中的规范化处理包括分词处理、去除重复内容、去除无关内容。

3.根据权利要求1所述的一种基于Boosting分类算法的信息检索方法,其特征在于,进一步包括与步骤e同时进行的步骤e’.根据关联性反馈从所有文档中挑选出与扩展搜索关键字不同的补充搜索关键字,并将补充搜索关键字合并到扩展搜索关键字中。

4.根据权利要求3所述的一种基于Boosting分类算法的信息检索方法,其特征在于,当再次接收到用户提交的相同初始搜索关键字时,所述步骤c中的扩展搜索关键字为合并了补充搜索关键字的扩展搜索关键字。

说明书 :

一种基于Boosting分类算法的信息检索方法

技术领域

[0001] 本发明涉及计算机信息处理领域技术,尤其涉及一种基于Boosting分类算法的信息检索方法。

背景技术

[0002] 随着信息技术的不断发展与互联网的普及,人们使用信息检索的频率越来越高,信息检索已经成为互联网应用的最常见、最基本的组成部分。目前,业内为提升信息检索性能而采用的方法是扩展查询,即通过构建越来越庞大的参考数据库,为用户返回规模越来越大的搜索主题集,换言之,现有的信息检索方法是在“全”上面下功夫,用户提交搜索请求后给用户返回越来越全面的搜索主题集,由用户在搜索主题集中寻找自己所需要的信息。然而,信息检索的性能还取决于“准”,即要求返回给用户的搜索主题集能按照相关度排序,相关度越大,就越有可能是用户需要的信息,但是,现有的信息检索方法对相关度的考量都只是停留在对文字内容的匹配上,并没有建立在对文字内容的理解上,造成的结果是将字面相似、意义相差甚远的主题作为相关度高的信息排在搜索主题集的前列,给用户带来困扰。因此,到目前为止,信息检索已经出现了性能屏障,如何突破屏障提高性能已经成为信息检索领域的重要研究课题。

发明内容

[0003] 针对现有技术的不足,本发明的目的旨在于提供一种提高信息检索性能的基于Boosting分类算法的信息检索方法。
[0004] 为实现上述目的本发明采用如下技术方案:
[0005] 一种基于Boosting分类算法的信息检索方法,包括:
[0006] 步骤a.接收用户提交的初始搜索关键字;
[0007] 步骤b.对初始搜索关键字进行规范化处理,生成规范搜索关键字;
[0008] 步骤c.在参考数据库中对规范搜索关键字进行同义词扩展,生成扩展搜索关键字;
[0009] 步骤d.在索引中对扩展搜索关键字进行检索,产生按相关性排序的初始文档列表,并赋予每个文档一个与其相关性相匹配的初始相关值,相关性越大,初始相关值就越大;
[0010] 步骤e.利用boosting分类算法对每个文档的每个句子根据其与术语的关联性进行分类,并为每个句子分派一个句子分类值,句子与术语的关联性越大,句子分类值就越大;
[0011] 步骤f.计算每个文档所有句子的句子分类值的平均值,并将该平均值作为该文档的文档分类值;
[0012] 步骤g.计算每个文档的最终相关值,计算公式为:R=R1+i*R2,其中R为最终相关值,R1为初始相关值,R2为文档分类值,i为文档分类值的权重;
[0013] 步骤h.根据最终相关值对初始文档列表进行重排序,生成按最终相关值排序的最终文档列表,并将最终文档列表发送给用户。
[0014] 其中,所述步骤b中的规范化处理包括分词处理、去除重复内容、去除无关内容。
[0015] 其中,该方法进一步包括与步骤e同时进行的步骤e’.根据关联性反馈从所有文档中挑选出与扩展搜索关键字不同的补充搜索关键字,并将补充搜索关键字合并到扩展搜索关键字中。
[0016] 其中,当再次接收到用户提交的相同初始搜索关键字时,所述步骤c中的扩展搜索关键字为合并了补充搜索关键字的扩展搜索关键字。
[0017] 本发明所阐述的一种基于Boosting分类算法的信息检索方法,其有益效果在于:本方法通过Boosting分类算法对排序后的文档进行了关联性分类,结合机器学习和自然语言处理技术对文档进行了重排序,大大提高了信息检索的性能。

附图说明

[0018] 图1是本发明一种基于Boosting分类算法的信息检索方法的流程图。

具体实施方式

[0019] 下面结合附图与具体实施例来对本发明作进一步描述。
[0020] 请参照图1所示,其显示出了本发明一种基于Boosting分类算法的信息检索方法的工作流程,在步骤a中,接收用户提交的初始搜索关键字。
[0021] 进行到步骤b,对初始搜索关键字进行规范化处理,生成规范搜索关键字。在本步骤中,规范化处理包括分词处理、去除重复内容、去除无关内容。
[0022] 进行到步骤c,在参考数据库中对规范搜索关键字进行同义词扩展,生成扩展搜索关键字。
[0023] 进行到步骤d,在索引中对扩展搜索关键字进行检索,产生按相关性排序的初始文档列表,并赋予每个文档一个与其相关性相匹配的初始相关值,相关性越大,初始相关值就越大。具体而言,本实施例利用Lemur语言建模工具包中的解析查询模块、建立索引模块、结构化查询检索模块来实现本步骤,其中,解析查询模块包含了两种处理不同类型查询的工具:ParseQuery和PareInQueryOp,ParseQuery用于处理用NIST’s Web或TREC格式编写的查询,而ParseInQueryOp用于解析用结构化查询语言编写的结构化查询,这两种查询均会转换为一种Lemur中使用的文档格式:BasicDocStream格式。在多次测试后发现结构化查询的效果较好,因此本实施例使用结构化查询。以下代码描述了一个结构化查询样本:
[0024]
[0025] Lemur的建立索引模块提供了四种索引的构建,分别为InvIndex、InvFPIndex、KeyfileIncIndex以及IndriIndex,本实施例使用的是KeyfileIncIndex,它包含了术语的定位信息,并且比InvIndex和InvFPIndex速度快,比IndriIndex占用更少的磁盘空间;在结构化查询检索模块中,结构化查询被转到StructQueryEval模块中。
[0026] 以上步骤与目前一般的信息检索方法的工作流程相同,对于一般的信息检索方法而言,在初始文档列表产生后就进行结果输出,即将初始文档列表作为结果发送给用户,而本方法还将对初始文档列表进行如下处理:
[0027] 进行到步骤e,利用boosting分类算法对每个文档的每个句子根据其与术语的关联性进行分类,并为每个句子分派一个句子分类值,句子与术语的关联性越大,句子分类值就越大。具体而言,在本步骤中,Boosting算法会捕获嵌入在文档中的子结构,即句子,将每个句子当作一个标号有序树,并将所有的子树集当作特征集,Boosting算法反复调用弱学习者产生弱假设,而强假设最终由弱假设线性组合而成。
[0028] 进行到步骤f,计算每个文档所有句子的句子分类值的平均值,并将该平均值作为该文档的文档分类值;
[0029] 进行到步骤g,计算每个文档的最终相关值,计算公式为:R=R1+i*R2,其中R为最终相关值,R1为初始相关值,R2为文档分类值,i为文档分类值的权重;
[0030] 进行到步骤h,根据最终相关值对初始文档列表进行重排序,生成按最终相关值排序的最终文档列表,并将最终文档列表发送给用户。
[0031] 这样,利用Boosting算法对初始文档列表进行了再处理,有效避免了在返回给用户的检索结果中,出现将仅为字面相似的主题作为相关度高的信息排在搜索主题集前列的现象,从而大大提高了信息检索的性能。
[0032] 为了进一步提高检索性能,本方法还包括与步骤e同时进行的步骤e’.根据关联性反馈从所有文档中挑选出与扩展搜索关键字不同的补充搜索关键字,并将补充搜索关键字合并到扩展搜索关键字中。这样,当有用户再次输入相同的初始搜索关键字进行检索时,通过步骤c得到的扩展搜索关键字将包含了前一次用同一初始搜索关键字检索时所挑选出来的补充搜索关键字,从而提高了检索结果的全面性。
[0033] 下面对本方法的性能进行实验评估:
[0034] 从2005个随机检索任务的评估结果中用Lemur提取检索文件的评估结果,每个搜索主题集的前两个主题的检索文件作为测试数据,剩余主题的检索文件作为训练数据,评估函数为i′=argmaxiE(R1+i*R2),下表为任取的一个搜索主题集的评估结果:
[0035]
[0036] 上表列出了该搜索主题集的#110和#111两个主题在重排前(i=0)和重排后的MAP、P10、P100的性能,从上表可看出,i′在i等于15时收敛,信息检索的性能得到显著提高:MAP在#110主题中从0.0012增加到0.0024,在#111主题中从0.0492增加到0.1602;P10和P100也有同样的情形。
[0037] 出于篇幅考虑,在此不再罗列此次实验其它搜索主题集的评估结果,但综合所有的评估结果发现,采用boosting算法进行重排序对信息检索的性能有着显著地提高,特别是在重检索文件比例(bpref)小时效果最明显,比如上表中的0.25和0.4356。
[0038] 以上所述,仅是本发明较佳实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。