一种文档检索匹配方法
【技术领域】
[0001] 本发明所属技术领域为自然语言处理、信息检索,尤其涉及一种文档检索匹配方 法。
【背景技术】
[0002] 信息检索中计算文档相关性的算法有很多,基于TF-IDF框架的算法是其中重要的 一类,而Okapi BM25又是该类算法中的一个经典实现。本文的文档检索匹配方法主要是基 于该经典算法的优化实现,方法和相关技术也可以推广到其它算法。算法中的符号及含义 如表格1所示。
[0003] 表格1基于TF-IDF框架的算法中使用的符号及含义
[0004]
[0005] Okani BM25筧法的具体计筧公式如下(公式十一):
[0006]
[0007] 其中,t表示词,Q表示查询文档,D表示待匹配文档。ki-般取值1.0~2.0,b-般取 值0.75,k 3-般取值取值0~1000,均为常数。
【发明内容】
[0008] 本发明所要解决的技术问题是提供一种文档检索匹配方法,提高算法实现程序的 执行效率,减少全文检索过程所需要的时间。
[0009] 为解决上述技术问题,本发明提供一种文档检索匹配方法,包括计算查询文档与 待匹配文档相关度的步骤,其特征是:所述计算查询文档与待匹配文档相关度的步骤根据 公式一计算得出,所述公式一为:
[0010]
[0011] 其中,Q表示查询文档,D表示待匹配文档,t表示索引词,tf为索引词在待匹配文档 中出现的次数,dl为待匹配文档的文档长度;
[0012] 所述公式一的计算因子tf,dl办口拉113冰3¥(11由数据预处理的步骤得出;
[0013]所述数据预处理的步骤是:
[0014] (a)记录文档库中的总文档数N,总文档长度adl,根据公式
十算得出平 均文档长度avdl;
[0015] 将b取值0.75,根据公式四计算得出pbavdl,所述公式四为
[0016] 记录待匹配文档的长度dl,记录索引词在待匹配文档中出现的次数tf;
[0017] (b)获取索引词的查询词频qtf,记录索引词出现的文档数量dfMki取值1.0~ 2.0,k3取值0~1000,根据公式二计算得出ipp,所述公式二为:
[0018]
[0019] (c)根据公式三计算得出pkib,所述公式三为:pkib = ki (1 -b);
[0020] 所述数据预处理的步骤在计算查询文档与待匹配文档相关度的步骤之前。
[0021 ]优选地,所述公式一由公式^ 转换而来,所述公式i 为:
[0022]
[0023] 所述由公式^ 向公式一转换的步骤为:
[0027] (4)令idf · pki · pqtf=ipp;[0028] (5)4ki(l_b)=pkib;
[0024] (1)令
[0025] (2)令
[0026] (3)令
[0029] -- pbavdL aval ·
[0030] 优选地,所述公式二由公式十一向公式一转换的步骤(1),(2),(3),(4)组合转换 而来。
[0031] 优选地,所述idf为索引词的逆文档频率,所述索引词的逆文档频率根据总文档数 N和索引词出现的文档数量df得出。
[0032] 优选地,所述总文档数N和总文档长度adl记录在文档库中。
[0033]优选地,所述文档库包括倒排索引表和文档信息表,所述文档信息表记录文档、文 档的唯一编号ID和文档长度dl,所述倒排索引表记录了索引词和索引词的列表信息。
[0034] 优选地,所述索引词的列表信息包括:索引词出现的文档数量df,索引词在对应文 档中出现的次数tf。
[0035] 优选地,所述公式一中的索引词为同时从查询文档和待匹配文档中获取的索引 1·^] 〇
[0036]优选地,所述公式一的计算因子tf,dl,ipp由数据预处理的步骤(a)得出;
[0037]所述公式一的计算因子phb,由数据预处理的步骤(b)得出;
[0038] 所述公式一的计算因子pbavdl,由数据预处理的步骤(c)得出。
[0039]本发明的有益效果是:能提高算法对应软件程序的执行效率,减少全文检索过程 所需要的时间。
【附图说明】
[0040]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,在附图中: [0041]图1为本发明的不意图。
【具体实施方式】
[0042] 下面结合附图和【具体实施方式】对本发明的技术方案作进一步具体说明。
[0043] 为解决上述技术问题,本发明提供一种文档检索匹配方法,将经典算法进行了优 化,优化技术主要通过数据预处理和改变计算公式中计算项的先后顺序实现,包括三个步 骤:
[0044] 如图1所示,第一步:数据预处理,通过数据预处理计算出ipp,pkib,和pbavdl这三 个计算项,
[0045]所述数据预处理的步骤是:
[0046] (a)记录文档库中的总文档数N,总文档长度adl,根据公式
卜算得出平 均文档长度avdl;
[0047] 将b取值0.75,根据公式四计算得出pbavdl,所述公式四为:
[0048] 记录待匹配文档的长度dl,记录索引词在待匹配文档中出现的次数tf;
[0049] (b)获取索引词的查询词频qtf,记录索引词出现的文档数量(^,将1^取值1.0~ 2.0,k 3取值0~1000,根据公式二计算得出ipp,所述公式二为:
[0050]
[00511 (c)将b取值0.75,将1^取值1.0~2.0,根据公式三计算得出pkib,所述公式三为: pkib = ki(l-b);
[0052] 所述总文档数N和总文档长度adl记录在文档库中,所述文档库包括倒排索引表和 文档信息表,所述文档信息表记录文档、文档的唯一编号ID和文档长度dl,所述倒排索引表 记录了索引词和索引词的列表信息;所述索引词的列表信息包括:索引词出现的文档数量 df,索引词在对应文档中出现的次数tf。
[0053] -般的倒排索引表中:记录了所有的索引词以及这些索引词在每篇文档中出现的 频率;倒排索引表一般形式如表格2所示。
[0054]修改后的倒排索引表如
[0055] 表格3所示。在表格2中,索引词对应的是该词在文档中的信息列表,每项为文档编 号及索引词在该文档中出现的次数tf。在
[0056] 表格3中,索引词对应的信息增加了该词在多少篇文档中出现过即索引词出现的 文档数量df,也就是文档频率。
[0057]表格2倒排索引表一般形式
[0058]
[0059]
[0060]
[0061]
[0062] 根据
[0063] 表格3中的文档频率和总文档数,即可计算得到公式中第一个计算项的 值。
[0064]在数据预处理阶段完成计算项的准备。
[0065]第二步:计算公式转换,将公式十一转换成公式一:
[0066]【背景技术】中提到