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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

《信息检索搜索引擎技术》期末考试报告

学期: 2016-2017学年第一学期

任课教师:毛存礼

专业年级:计科133

学号: 201310405339、 201310405326、

201310405330、 201310405325 学生姓名:李然、毛子铭、张倩、黄枫

目录

一、系统概述

随着互联网的迅猛发展、WEB信息的增加,用户要在信息海洋里查找自己所需的信息,就像大海捞针一样,搜索引擎技术恰好解决了这一

难题。搜索引擎是指互联网上专门提供检索服务的一类网站,这些站点

的服务器通过网络搜索软件或网络登录等方式,将Intenet上大量网站

的页面信息收集到本地,经过加工处理建立信息数据库和索引数据库,

从而对用户提出的各种检索做出响应,提供用户所需的信息或相关指针。

用户的检索途径主要包括自由词全文检索、关键词检索、分类检索及其他特殊信息的检索。本系统基于HTMLUNIT框架,构建爬虫,基于

LUCENE框架,构建索引,利用向量空间模型向量化表示文档间的相关性,利用LUCENE给相关文档打分。

二、系统需求分析

2.1功能需求分析

该系统分为四个功能模块:

(1)爬虫模块

(2)索引模块

(3)向量化表示模块

(4)打分模块

具体实现分工如下:

①爬虫模块:该模块采用Htmlunit框架,主要负责爬取网页内容,

在本地建立文档库,以便于索引功能模块,将文档库里的文档内容建立

成索引。(毛子铭所做)

②索引模块:该模块采用Lucene框架,功能分为两块:一是建立索

引,将爬取的内容建立成索引。二是检索索引,即提供给用户检索索引。

(张倩所做)

③向量化表示模块:该模块采用向量空间模型,其功能是将查询文

本和文档向量化表示,以一种直观的表示方法,展示出文档间的相似度。

(李然、黄枫合做)

④打分模块:该模块采用Lucene打分系统,计算查询文本和文档的

相似度,并对其文档打分。(李然、黄枫合做)

三、程序实现

3.1 爬虫的实现

3.1.1 对网页进行分析

(1)我们首先,对网页进行分析,昆工新闻上每一则新闻,都有相应的链接,通过点击链接查看相应的新闻。

<1> 昆工新闻网页截图

<2> 新闻内容截图

(2)在浏览器中,查看新闻网的代码,确定我们所需要的内容并用XPATH表达式定位其内容。

<3> 新闻代码截图

3.1.2编写爬虫

(1)在这里,我们使用了HtmlUnit作为我们爬虫的框架,并指定内容,对昆工新闻网进行爬取。

<4> 部分代码展示

(2)编写XPATH表达式,定位所抓取的内容,在爬取过程中,首先要找到新闻的标题,然后,再模拟点击标题的动作,进入新闻页面。

(3)爬取内容,并将其写入文本文档中。

<5> 写入文档

<6>爬取内容

3.2索引的实现

3.2.1分词的实现

(1)在建立索引之前,分词是必不可少的步骤,我们所采用的是基于Lucene 框架的IK分词技术分词。

<7> 部分代码展示

(2)对爬取的内容,进行分词测试。

<9>测试

3.2.2索引的建立

(1)索引的建立,我们也是基于Lucene框架建立的倒排索引,分词技术的不同索引的差别也是很大,因此,分词技术的选取一定要合理。

<10> 部分代码展示

3.2.3检索索引

(1)在这里,我们对爬取好的内容,已经建立好了索引,我们分别测试了“宇宙”、“人民”这两关键词进行检索。可以看见,符合“人民”这个关键词的文档有2个,符合“宇宙”这个关键词的文档不存在。

<12> 索引

<13> 索引结果3.3向量空间模型的实现

3.3.1向量空间模型概述

向量空间模型将文档映射为一个特征向量V(d)=(t

1,ω

1

(d);…;t

n

, ω

n

(d)),

其中t

i (i=1,2, …,n)为一列互不雷同的词条项,ω

i

(d)为t

i

在d中的权值, 一

般被定义为t

i 在d中出现频率tf

i

(d)的函数,即。

在信息检索中常用的词条权值计算方法为 TF-IDF 函数,其中N为所有文档的数目,ni为含有词条ti的文档数目。TF-IDF公式有很多变种,下面是一个常用的TF-IDF公式:

根据TF-IDF公式,文档集中包含某一词条的文档越多,说明它区分文档类别属性的能力越低,其权值越小;另一方面,某一文档中某一词条出现的频率

越高,说明它区分文档内容属性的能力越强,其权值越大。两文档之间的相似度可以用其对应的向量之间的夹角余弦来表示,即文档di,dj的相似度可以表示为:

进行查询的过程中,先将查询条件Q进行向量化,主要依据布尔模型:当ti 在查询条件Q中时,将对应的第i坐标置为1,否则置为0,即:

从而文档d与查询Q的相似度为:

根据文档之间的相似度,结合机器学习的一些算法如神经网络算法,K-近邻算法和贝叶斯分类算法等,可以将文档集分类划分为一些小的文档子集。

在查询过程中,可以计算出每个文档与查询的相似度,进而可以根据相似度的大小,将查询的结果进行排序。

向量空间模型可以实现文档的自动分类和对查询结果的相似度排序,能够有效提高检索效率;它的缺点是相似度的计算量大,当有新文档加入时,则必须重新计算词的权值。

3.3.2建立向量空间模型

(1)将文档的前十五个关键字作为key并将文件的内容作为value存Treemap 中

相关文档
最新文档