信息检索与搜索引擎课程报告

上传人:小** 文档编号:70153183 上传时间:2019-01-16 格式:DOCX 页数:20 大小:700.92KB
返回 下载 相关 举报
信息检索与搜索引擎课程报告_第1页
第1页 / 共20页
信息检索与搜索引擎课程报告_第2页
第2页 / 共20页
信息检索与搜索引擎课程报告_第3页
第3页 / 共20页
信息检索与搜索引擎课程报告_第4页
第4页 / 共20页
信息检索与搜索引擎课程报告_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《信息检索与搜索引擎课程报告》由会员分享,可在线阅读,更多相关《信息检索与搜索引擎课程报告(20页珍藏版)》请在金锄头文库上搜索。

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五、 心得体会此次报告要求实现第一个信息检索系统,涉及到多线程编程、排序、网络爬虫等多项技术。多线程是提高效率的一个非常重要的途径,比如计算机并行计算等,本次实验完成了多线程的任务,对网络间通信以及搜索引擎如何实现向海量用户在很短时间内提供服务有了更深刻的认识。通过实验我也认识到了多线程编程的边缘。在下一步的研究学习之中有很大助力。在此基础之上建立检索,通过对于索引的检索,一方面可以加深对于索引的深层认识,另一方面又可以是我们运用知识与学习知识相结合,可以使我们学的更好,运用的有理可循。搜索引擎的处理对象是互联网网页,日前网页数量不计其数。所以搜索引擎首先面临的问题就是:如何能够设计出高效的查询以及下载系统。网络爬虫是搜索引擎中很关键也很基础的构建,通过网络爬虫的设计,加深了我对实验原理的理解,同时也加强了自身的实践能力。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号