- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
改进的BM25F评分算法在文献检索系统中的应用
目录
1 系统总体架构及数据准备 1
1.1 系统总体架构 1
1.2 数据准备 2
2 搜索引擎的搭建过程 4
2.1 索引的建立 4
2.2 中文分词器的比较与选取 5
2.3 评分算法的设计与实现 6
2.3.1 BM25算法 6
2.3.2 BM25F算法 6
2.3.3 算法的编码实现 8
3 项目特色 12
3.1 考虑查询关键词之间的距离 12
3.2 数据库表设计的优化 13
3.3 定时增量索引 14
4 系统实现 16
4.1 开发环境 16
4.2 搜索结果展开及分析 16
5 总结 20
摘 要
本文主要就改进的BM25F评分算法在论文检索中的实现与应用过程进行了介绍。
首先是数据集的建立过程,为了配合BM25F评分算法在结构化文档中的优势,检索对象设定为学术论文,基于万方数据库提供的文献资源通过爬虫建立了检索数据集;然后是搜索引擎搭建过程,索引使用的是倒排索引,在实现了BM25F算法之后,结合实际检索效果,从以下三个方面对系统进行了优化。
(1)对BM25F进行改进,将文档中查询关键字的紧邻距离作为影响评分的一个因素加入至BM25F评分算法中。
(2)优化了数据库设计,分别添加了各个域的长度字段,为各个区域长度的计算提供了便利,一定程度上提高了检索效率。
(3)实现了定时增量索引,在很大程度上节省了索引创建时的开销,同时保证了数据查询的实时性,以及系统数据的可扩展性。
关键词: 爬虫;BM25;BM25F;紧邻距离;增量索引;
系统总体架构及数据准备
我们改进了BM25F算法,把它用在了论文检索中,BM25F算法比较适用划分了区域的文档,如论文中的区域有标题,摘要,作者等区域,用这个算法来进行论文的检索就相当的合适。
系统总体架构
图1-1 系统架构图
以上是我们这个系统的总体架构图,大致分成两块,第一块就是数据准备,即从网上把我们需要的数据用爬虫爬下来,从爬下来的html源代码解析提取出我们想要的字段,然后存储在数据库中。第二块就是当我们有了这些原始数据后,可用它来建立索引、字典等操作,然后再在这个基础上构建我们的搜索引擎,用我们改进的BM25F算法来对检索出来的论文进行排序,再把最终的结果返回给用户。
我们在数据库的设计上做一些小优化,以更好地适应我们的算法,它可以在很大程序上减少计算的开销。除此之外,我们在原始的BM25F算法上也做了一些优化,详见后面的章节。
数据准备
我们项目中的论文数据爬取自万方,下面是一篇论文示例:
图1-2 论文实例
在这个页面中,划分了很多字段(或者说区域),有标题、摘要、作者、关键字等。我们主要爬取了标题、摘要、关键字、作者、作者单位这几个字段。下面是一个爬取过程的示意图:
图1-3 爬虫过程示意图
最后存储在数据库中的结果如下图所示:
图1-4 数据库表设计示意图
从上图中可以看到,我们不仅保存了爬取到的这些字段的完整信息,还保存了去除停用词后的分词结果,以及一些比较重要的字段的长度,这极大的减小了后续进行BM25F分值计算时的计算开销。
搜索引擎的搭建过程
索引的建立
我们检索系统中所用到的是倒排索引,下面给出倒排索引的相关概念,倒排索引(Inverted Index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。倒排索引主要由两个部分组成:“单词词典”和“倒排文件”倒排索引有两种不同的反向索引形式:一条记录的水平反向索引(或者反向档案索引)包含每个引用单词的文档的列表。一个单词的水平反向索引(或者完全反向索引)又包含每个单词在一个文档中的位置。后者的形式提供了更多的兼容性(比如短语搜索),但是需要更多的时间和空间来创建。
现代搜索引擎的索引都是基于倒排索引。相比“签名文件”、“后缀树”等索引结构,“倒排索引”是实现单词到文档映射关系的最佳实现方式和最有效的索引结构。
存储在MySQL数据库中的每一条记录都被表示成一个文档,我们为每一个文档建立索引。倒排索引的具体建立步骤分为两步,首先使用中文分词器对需要建立索引的文档进行分词,然后构建倒排索引表,我们还做了一个小小的处理,使得一些原来会被分词器当成两个词而分开的词,现在当成一个整体而不会被分开,例如机器学习,如果不做处理,会被分为机器、学习,这样就不符合我们期望的结果。
下图是一个倒排索引表的示意图:
表2-1 索引文件示意表
Key Words Document ID[Frequency] Positions Fields 机器学习 1[2],2[1] 2,5,2 Abstr
您可能关注的文档
- 孵化器入孵企业管理办法.doc
- 扶贫资金审计中存在的主要问题及审计方法.doc
- 二级直齿轮减速箱设计.doc
- 服务机构市场调查问卷.doc
- 二轮集体备课经济生活第二单元(孔祥霞).doc
- 服务员手册.doc
- 二模20150503.doc
- 服装厂说明.doc
- shz第十一章果蔬采后的商品化处理和运输.ppt
- 2016年1月期末考试成绩邴魏玲.ppt
- 2024年河南省漯河市源汇区阴阳赵乡招聘社区工作者真题及参考答案详解1套.docx
- 2024年河南省濮阳市濮阳县清河头乡招聘社区工作者真题附答案详解.docx
- 人教版一年级数学上册数学游戏第3课时 在教室里认一认.pptx
- 人教版数学一年级下册四 100以内的口算加、减法第1课时 口算减法(1).pptx
- 人教版一年级数学上册 第4单元 11~20的认识第2课时 11~20的认识(1).pptx
- 人教版数学一年级下册三 100以内数的认识第5课时 数的顺序.pptx
- 2025 入党积极分子预备党员考试题库(附答案).docx
- 关于入党积极分子预备党员应知应会题库(附答案).pdf
- 关于入党积极分子预备党员应知应会题库(附答案).docx
- 2025 入党积极分子预备党员考试题库(附答案).pdf
文档评论(0)