发明名称 一种基于改进TF-IDF的多索引合并排序算法
摘要 本发明涉及一种基于改进TF-IDF的多索引合并排序算法。它利用特征词的TF-IDF权重及夹角余弦值计算文档向量和查询向量的相似度,以此来确定返回给用户的排序结果。用户往往只关心Top-n的查询结果,采用合理的排序算法对查询结果进行优化排序,能够有效地改善系统的查询效果与用户体验。针对单索引情况,综合考虑了多个检索词之间的词序、词距、扩展词权重等因素,对TF-IDF算法进行了改进,进一步对基于TF-IDF的多索引合并排序算法进行了研究。实验证明,采用该算法后,系统的查全率有大幅提升,整体性能也有所提升。
申请公布号 CN104778276A 申请公布日期 2015.07.15
申请号 CN201510212072.7 申请日期 2015.04.29
申请人 北京航空航天大学 发明人 彭升辉;张辉
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 杨学明;贾玉忠
主权项 一种基于改进TF‑IDF的多索引合并排序算法,运用于文本检索,其特征在于包括如下步骤:步骤1.针对经典TF‑IDF算法和Lucene中TF‑IDF打分公式算法的不足,对TF‑IDF算法进行了改进,改进方面包括考虑词序、词距因素,以及引入查询词扩展,用公式表示为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>score</mi><mo>=</mo><munder><mi>&Sigma;</mi><mi>terms</mi></munder><mi>TF</mi><mo>-</mo><mi>IDF</mi><mo>*</mo><mi>dis</mi><mi>tan</mi><mi>ce</mi><mrow><mo>(</mo><mi>terms</mi><mo>)</mo></mrow><mo>*</mo><mi>boost</mi><mrow><mo>(</mo><mi>term</mi><mo>)</mo></mrow><mo>*</mo><mi>decrease</mi></mrow>]]></math><img file="FDA0000708445760000011.GIF" wi="1278" he="126" /></maths>其中score是指针对查询词terms,文档的最终得分;TF‑IDF是指利用Lucene中的TF‑IDF打分公式得出的文档得分;dis tan ce(terms)是所有terms之间的词序和词距因子,它由两部分构成,分别是词序因子和词距因子,其计算公式如下:dis tan ce(terms)=t.seq*t.dis,其中,t.seq是词序因子,t.dis是词距因子;boost(term)是特征词权重因子,能够根据检索词的重要程度进行修改,如引入同义词扩展时,可适当减小该值的权重;decrease是指衰减因子,目的是削减查询扩展词对原始查询词的影响;步骤2.按照科技资源领域不同将科技资源进行分类,构建多个索引;由于用户输入的检索词具有领域偏向性,为了保证在多索引情况下合并查询结果后返回给用户的结果也具有领域偏向性,先计算出用户输入的查询词和领域特征词的相似度,将此相似度引入到最终结果计算中;所述词语相似度算法采用的是基于知网的词语相似度计算,即根据词语在义元层次树中的层次关系,其计算公式如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>sim</mi><mrow><mo>(</mo><msub><mi>O</mi><mi>i</mi></msub><mo>,</mo><msub><mi>O</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mn>2</mn><mrow><mo>(</mo><mi>H</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mi>dis</mi><mrow><mo>(</mo><msub><mi>O</mi><mi>i</mi></msub><mo>,</mo><msub><mi>O</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow><mrow><mn>2</mn><mrow><mo>(</mo><mi>H</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000708445760000012.GIF" wi="613" he="128" /></maths>其中H是指义元层次树的高度,dis(O<sub>i</sub>,O<sub>j</sub>)是义元O<sub>i</sub>和O<sub>j</sub>在同一棵义元层次树中的路径长度;步骤3.基于改进的TF‑IDF算法以及词语相似度计算方法,提出了多索引情况下的索引合并排序算法,用公式表示为:weight=indexDecrease*indexBoost*score其中weight表示文档的最终得分;indexDecrease是索引权重衰减因子,用于调节最终结果;indexBoost是索引权重因子,是用户输入关键词与该类资源的所有特征词的相似度的算术平均值,其计算公式如下:<img file="FDA0000708445760000021.GIF" wi="875" he="147" />其中Qterm是用户输入的检索词,Dterm是该类资源的特征词,n是用户输入的检索词的个数,N是该类资源的特征词的个数;score是根据步骤1中公式计算出的权重值。
地址 100191 北京市海淀区学院路37号