版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息检索搜索引擎技术期末考试报告学 期: 2016-2017学年第一学期 任课教师: 毛存礼 专业年级: 计科133 学 号: 201310405339、 201310405326、 201310405330、 201310405325 学生姓名: 李然、毛子铭、张倩、黄枫 目录一、 系统概述2二、 系统需求分析32.1功能需求分析3三、 程序实现33.1 爬虫的实现33.1.1 对网页进行分析33.1.2编写爬虫53.2索引的实现63.2.1分词的实现63.2.2索引的建立83.2.3检索索引83.3向量空间模型的实现93.3.1向量空间模型概述93.3.2建立向量空间模型103.4利用Lu
2、cene打分机制对文档打分13四、 测试13五、 心得体会16一、 系统概述随着互联网的迅猛发展、WEB信息的增加,用户要在信息海洋里查找自己所需的信息,就像大海捞针一样,搜索引擎技术恰好解决了这一难题。搜索引擎是指互联网上专门提供检索服务的一类网站,这些站点的服务器通过网络搜索软件或网络登录等方式,将Intenet上大量网站的页面信息收集到本地,经过加工处理建立信息数据库和索引数据库,从而对用户提出的各种检索做出响应,提供用户所需的信息或相关指针。用户的检索途径主要包括自由词全文检索、关键词检索、分类检索及其他特殊信息的检索。本系统基于HTMLUNIT框架,构建爬虫,基于LUCENE框架,构
3、建索引,利用向量空间模型向量化表示文档间的相关性,利用LUCENE给相关文档打分。二、 系统需求分析2.1功能需求分析该系统分为四个功能模块:(1) 爬虫模块(2) 索引模块(3) 向量化表示模块(4) 打分模块具体实现分工如下:爬虫模块:该模块采用Htmlunit框架,主要负责爬取网页内容,在本地建立文档库,以便于索引功能模块,将文档库里的文档内容建立成索引。(毛子铭所做)索引模块:该模块采用Lucene框架,功能分为两块:一是建立索引,将爬取的内容建立成索引。二是检索索引,即提供给用户检索索引。(张倩所做)向量化表示模块:该模块采用向量空间模型,其功能是将查询文本和文档向量化表示,以一种直
4、观的表示方法,展示出文档间的相似度。(李然、黄枫合做)打分模块:该模块采用Lucene打分系统,计算查询文本和文档的相似度,并对其文档打分。(李然、黄枫合做)三、 程序实现3.1 爬虫的实现3.1.1 对网页进行分析(1)我们首先,对网页进行分析,昆工新闻上每一则新闻,都有相应的链接,通过点击链接查看相应的新闻。 昆工新闻网页截图 新闻内容截图(2)在浏览器中,查看新闻网的代码,确定我们所需要的内容并用XPATH表达式定位其内容。 新闻代码截图3.1.2编写爬虫(1)在这里,我们使用了HtmlUnit作为我们爬虫的框架,并指定内容,对昆工新闻网进行爬取。 部分代码展示(2)编写XPATH表达式
5、,定位所抓取的内容,在爬取过程中,首先要找到新闻的标题,然后,再模拟点击标题的动作,进入新闻页面。(3)爬取内容,并将其写入文本文档中。 写入文档爬取内容3.2索引的实现3.2.1分词的实现(1)在建立索引之前,分词是必不可少的步骤,我们所采用的是基于Lucene框架的IK分词技术分词。 部分代码展示(2)对爬取的内容,进行分词测试。测试3.2.2索引的建立(1)索引的建立,我们也是基于Lucene框架建立的倒排索引,分词技术的不同索引的差别也是很大,因此,分词技术的选取一定要合理。 部分代码展示3.2.3检索索引(1)在这里,我们对爬取好的内容,已经建立好了索引,我们分别测试了“宇宙”、“人
6、民”这两关键词进行检索。可以看见,符合“人民”这个关键词的文档有2个,符合“宇宙”这个关键词的文档不存在。 索引 索引结果3.3向量空间模型的实现3.3.1向量空间模型概述向量空间模型将文档映射为一个特征向量V(d)=(t1,1(d);tn, n(d),其中ti(i=1,2, ,n)为一列互不雷同的词条项,i(d)为ti在d中的权值, 一般被定义为ti在d中出现频率tfi(d)的函数,即。在信息检索中常用的词条权值计算方法为 TF-IDF 函数 ,其中N为所有文档的数目,ni为含有词条ti的文档数目。TF-IDF公式有很多变种,下面是一个常用的TF-IDF公式:根据TF-IDF公式,文档集中包
7、含某一词条的文档越多,说明它区分文档类别属性的能力越低,其权值越小;另一方面,某一文档中某一词条出现的频率越高,说明它区分文档内容属性的能力越强,其权值越大。两文档之间的相似度可以用其对应的向量之间的夹角余弦来表示,即文档di,dj的相似度可以表示为:进行查询的过程中,先将查询条件Q进行向量化,主要依据布尔模型:当ti在查询条件Q中时,将对应的第i坐标置为1,否则置为0,即:从而文档d与查询Q的相似度为:根据文档之间的相似度,结合机器学习的一些算法如神经网络算法,K-近邻算法和贝叶斯分类算法等,可以将文档集分类划分为一些小的文档子集。在查询过程中,可以计算出每个文档与查询的相似度,进而可以根据
8、相似度的大小,将查询的结果进行排序。向量空间模型可以实现文档的自动分类和对查询结果的相似度排序,能够有效提高检索效率;它的缺点是相似度的计算量大,当有新文档加入时,则必须重新计算词的权值。3.3.2建立向量空间模型(1)将文档的前十五个关键字作为key并将文件的内容作为value存Treemap中 部分代码展示(2)求两个词项的并集 部分代码展示(3)求两个词项的交集 部分代码展示(4)计算文章相似度 部分代码展示(5)计算公式:3.4利用Lucene打分机制对文档打分(1)在这里,我们是基于Lucene框架,利用其自带打分系统,对查询文本和文档计算它们的相似度,再进行打分。Lucene打分公
9、式如下:(2)计算查询文本(TermQuery)与文档的相似度进行打分。(3)在查找“人民”这两个关键词后出现两个相关文档,它们分别的得分为0.47782254和0.3901917,这说明第一个文档更符合查询 打分四、 测试 测试截图1 测试截图2 测试截图3 测试截图4 测试截图5 测试截图6 测试截图7 测试截图8 测试截图9五、 心得体会此次报告要求实现第一个信息检索系统,涉及到多线程编程、排序、网络爬虫等多项技术。多线程是提高效率的一个非常重要的途径,比如计算机并行计算等,本次实验完成了多线程的任务,对网络间通信以及搜索引擎如何实现向海量用户在很短时间内提供服务有了更深刻的认识。通过实验我也认识到了多线程编程的边缘。在下一步的研究学习之中有很大助力。在此基础之上建立检索,通过对于索引的检索,一方面可以加深对于索引的深层认识,另一方面又可以是我们运用知识与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026山东青岛海检冠图检测技术有限公司招聘1人备考题库附完整答案详解(名师系列)
- 2026江西赣州市就业创业服务中心招募青年见习1人备考题库及完整答案详解【全优】
- 2026云南昆明聂耳交响乐团编外人员招聘2人备考题库附参考答案详解(完整版)
- 2026北京大学艺术学院招聘劳动合同制人员1人备考题库及完整答案详解
- 2026广东省广晟控股集团有限公司总部管理人员岗位选聘4人备考题库(达标题)附答案详解
- 2026广东惠州博罗县园洲镇九潭卫生院招聘编外工作人员1人备考题库附答案详解【达标题】
- 2026清明上河园招聘备考题库(能力提升)附答案详解
- 2026河南洛阳商业职业学院招聘7人备考题库含完整答案详解【有一套】
- 2026上海医药工培生计划春季招聘备考题库及1套参考答案详解
- 2026江苏苏州工业园区公共文化中心辅助人员招聘4人备考题库及一套答案详解
- 休克诊疗规范课件
- 2025年新生儿窒息复苏试题及答案
- 2026年陕西航空职业技术学院单招职业倾向性考试题库及一套答案详解
- 20万吨-年采矿废石综合回收利用项目环境影响报告书
- (一诊)2026年兰州市高三模拟考试历史试卷(含答案)
- 2025-2026学年教科版(新教材)初中信息科技八年级第二学期教学计划及进度表
- 2026贵州安顺关岭恒升村镇银行春季招聘4人考试参考题库及答案解析
- 企业内部福利待遇制度
- 钢丝pe施工方案(3篇)
- 2026年医疗AI辅助手术报告
- 2026年六安职业技术学院单招职业适应性考试题库含答案详解(考试直接用)
评论
0/150
提交评论