校园智能化信息检索系统的设计与实现
2016-12-12郑昕欣刘明铭
郑昕欣+刘明铭
摘 要: 本文通过对不同用户的需求、信息获取途径的深入了解以及对智能化信息检索进行了可行性分析后,对其作了需求分析、功能模块划分、数据库的设计、算法设计以及界面设计,选定在校大学生作为适用群体,完成了校园信息智能化检索系统的开发。它可以应用于校园、企业、网站等诸多实体,因此具有一定的使用价值。
关键词:智能化 信息检索 校园 检索系统
中图分类号:TP3 文献标识码:A 文章编号:1003-9082(2016)10-0016-01
一、引言
本文以在校大学生为服务对象,针对上述信息服务系统的不足,设计研发了针对大学生的智能化信息检索系统,实现了根据对用户自身特性、用户需求和汉语言自身特点等多方面的综合考量进行有针对性地信息推送这一功能。通过使用本系统,可以提高在校大学生获取信息的便利度和快捷度,同时也方便了大学生之间的交流和沟通。
二、系统分析
1.系统总体目标
在用户方面,本系统致力于带来便捷的用户体验、简洁大方的用户接口;在管理员方面,本系统致力于实现简便的后期维护,如要对功能模块方面作修改,则无需进行整个系统的重新架构。
2.技术可行性分析
本系统是一个典型的数据库应用程序。现有的数据库应用程序开发技术已非常成熟,利用现有技术完全可以实现预定的功能。Java语言简单、功能强大并容易掌握。而MySQL是一个非常优秀的中型数据库管理软件,使用方便,性能稳定。故采用Java+MySQL技术完全能够实现本系统的开发。
三、系统设计
1.功能模块描述
1.1登录模块
将用户输入的用户名和密码带入数据库,在数据库中进行匹配,验证账号和密码,
1.2主页面模块
在此模块中列举本系统所包含的所有子功能模块以及一些推荐信息。
1.3近期活动模块
发布内容来自学校社团等活动主办方,并根据实时情况更改发布内容。
1.4生活服务模块
学生成功登录后,可以自行发布信息,该信息经过排版发布于子功能模块中,并可被其他登陆用户看到。
1.5自助查询模块
用户成功登录后,可以根据需要发起搜索,后台服务器根据搜索记录进行智能匹配,并在子功能模块中反馈给用户。
四、信息检索关键技术及系统实现
1.基于网络爬虫的网页信息提取
本系统采用Java和MySQL数据库联动的方式,在每一次抽取新的URL时,通过Jsoup类库解析出document实例对象,在此实例对象中抽取需要的元素(如文章内容等),同时将URL和该网页的标题加入数据库,形成标题与URL一一对应的表结构。
由于互联网上的信息总是实时更新的,存储在数据库中作为信息储备的所有信息也必须配合互联网得到时效性,实现实时更新。本系统通过调用Mycrawler类中的refresh方法来实现定时更新,利用多线程来监督更新并计时。
2.提取信息的分词实现
在分词部分,核心要点是 1.词典树的构建 2.中文词汇的匹配,即对一句话中词语切割的位置。为此,本系统采用了IKAnalyzer分词技术。IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。
在词语的匹配过程当中,IK中默认用到三个子分词器,分别是LetterSegmenter(字母分词器),CN_QuantifierSegment(量词分词器),CJKSegmenter(中日韩分词器)。分词会先后经过这三个分词器,首先要对输入的字符串进行处理,将字符串转换为char型进行匹配输入字符串以char的形式进行匹配,一个char如果能取到hitList,那么会锁定hitList,循环到第二个char,如果能在hitList里与上一个char匹配成词,则保存当前的newLexeme,并加入到输出结果集。isEnd()判断是否结束,如果是,则context.currCursor偏移1位,继续取词。以此类推,直到整个字符串遍历完毕。
3.智能化方法及实现
随着计算机技术的不断发展,智能化以其良好的用户体验一跃成为今后软件设计的一个必然趋势。本系统的智能化主要体现在:根据同义词、近义词词库,实现同义词匹配搜索。即,根据用户输入的关键字,通过同义词匹配,将与用户搜索内容词义相近的搜索结果按照其不同的匹配度降序排列,同样也反馈给用户。
在获取了用户的搜索指令之后,本系统对关键词进行同义词查询,使用户搜索内容得到一定扩充。同义词部分在Lucene4.6中通过SynonymFilterFactory实现查询。
Lucene是Apache软件基金会Jakarta项目组的一个子项目,是一个开放源代码的全文搜索引擎工具包,但它不是一个完整的全文搜索引擎,而是一个全文搜索引擎架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。
本系统首先通过新建Hashmap储存相关版本信息和同义词词典信息,并载入相关内容。而后将已提取到的多个关键词进行stream化以供索引。最后借助SynonymFilterFactory类,根据同义词词库,以自然语言中的意群作为标准,实现同义词查询。
五、总结与展望
本系统从用户的角度出发,发现了现代信息社会特定群体获取信息时存在的一些弊端,并根据这些弊端提出了一种更优的实现方法,该方法不同于当今较通用的智能匹配,同时兼顾了用户群体和自然语言特征两个方面,将用户需求进一步细分,仿真方法证明了该方法在数据量很大的情况下依然有效。
参考文献
[1](美)西尔伯沙茨(Silberschatz.A.)等著.数据库系统概念:Database System Concepts[M].杨冬青,李红燕,唐世渭等译.原书第六版.北京:机械工业出版社,2012年:41-42.
[2]李刚.疯狂Java讲义(精粹)[M].第二版.北京:电子工业出版社,2014,236-242.