1、本科毕业论文(科研训练、毕业设计)题目:基于分词和 Lucene 检索的标签推荐技术及其实现姓 名:学 院:软件学院系:软件工程专 业:软件工程年 级: 学 号:指导教师(校内): 职称: 指导教师(校外): 职称: 年 月I基于分词和 Lucene 检索的标签推荐技术及其实现【摘要】 随着互联网技术的发展,可用资源越来越丰富。由于资源的分类技术不合理,难于扩展维护,使得资源的使用者难以有效地筛选出优质资源来加以整和,造成了资源的浪费,这就是信息迷失 1。传统类的搜索引擎无法实现个性化定制,在多媒体检索方面还处在研究阶段,因此无法真正有效解决信息迷失。而在效率方面,传统的数据库检索已经无法满足
2、用户的检索需求。因此能否有效地帮助用户获得其所需要的资源,并且在效率上能够超越传统数据库检索是每一个资源管理系统亟待解决的关键问题,也是目前资源管理系统提高服务质量的瓶颈技术。论文分析了目前资源管理系统使用上存在的信息迷失,以及目前国内外资源管理系统发展现状,结合 Web2.0 技术在解决网络资源弊端上的成功例子。在以用户为中心场景设计方法的指导下,提出了基于形象化标签推荐技术的解决方案:通过 Lucene 全文检索来提高个性化服务的效率,利用分词技术方便用户制作标签,最后结合 Ajax 技术和 JSON 数据传输实现标签推荐。接下来阐述了基于分词和 Lucene 检索的标签推荐技术在聋儿康复
3、资源管理系统的实现。详细阐述了系统的需求,基于 J2EE 的 Spring Struts Hibernate MVC 架构和主要功能模块,并且介绍了该技术的可用性评估。最后总结了论文所作的所有工作,指明了下一步的改进计划。【关键词】 形象化标签 推荐技术 Lucene 检索 中文分词 AjaxIITag Recommendation; Lucene searching; Chinese character segmentation; AjaxIII目 录第一章 绪论 11.1 引言 .11.2 论文的组织结构 .2第二章 国内外相关研究现状 42.1 国内外特殊群体资源管理系统 .42.2 国
4、内外网站的标签和推荐技术 .52.2.1 Web2.0 及其优势 52.2.2 网站的推荐技术 62.2.3 网站的标签技术和标签云 82.3 Lucene 检索和分词技术 92.3.1 传统搜索技术及其弊端 92.3.2 Lucene 检索和传统数据库检索 .102.3.3 分词技术 .112.4 本章小结 12第三章 标签推荐技术 .143.1 形象化标签推荐技术 143.1.1 推荐技术 .143.1.2 标签技术 .143.1.3 普通标签和形象化推荐标签 .163.2 基于 Lucene 的搜索技术 .173.2.1 Lucene 和标签生成 .173.2.2 Lucene 的类结构
5、 .183.2.3 Lucene 检索流程 .203.2.4 Lucene 全文索引和数据库索引的比较 .213.2.5 Lucene 的扩展Highlight 223.3 基于分词技术的标签制作 223.3.1 分词算法 .223.3.2 中文分词开源组件 ICTCLAS233.3.3 停用词处理 .253.4 标签的实现 AJAX技术和 JSON 数据传递 .263.4.1 Ajax 技术 .263.4.2 JQuery 和 Prototype 对 Ajax 的封装 273.4.3 数据传输方式:JSON 和 XML .283.5 本章小结 29第四章 标签推荐技术在聋儿康复资源管理系统的
6、实现 .304.1 背景与目标 304.2 康复资源管理系统架构 314.2.1 基于 MVC 模式的分层框架 .314.2.2 Spring 框架 .324.2.3 Struts 框架 .33IV4.2.4 Hibernate 框架 354.3 聋儿康复资源管理系统功能模块 364.3.1 功能层次图 .364.3.2 角色分布图 .374.4 标签推荐技术在聋儿康复资源管理系统中的实现 394.4.1 基于 Lucene 的搜索技术 394.4.2 基于分词技术和 Ajax 的标签制作 404.4.3 在改善用户体验方面所做的工作 .414.5 本章小结 44第五章 标签推荐技术可用性评估
7、 .455.1 可用性评估 455.2 测试数据 455.2.1 完成任务的时间分析 .455.2.2 完整度分析 .465.2.3 出现的错误分析 .465.2.4 问卷统计 .475.3 本章小结 48第六章 总结和展望 .496.1 论文工作总结 496.2 进一步工作展望 49致谢 51参考文献 52VContentsChapter 1 Preface .11.1 Introduciton .11.2 The structure of this paper 2Chapter 2 Related research situation Domestic and Foreign 42.1 T
8、he situation of special edutiation .42.2 Web2.0 and tag recommendation.52.2.1 Web2.0 and its superior52.2.2 Recommendation in website.62.2.3 Tag in website and Tag cloud.82.3 Lucene Full-text searching and Character segmentation92.3.1 Traditional search engine and its shortcoming .92.3.2 Lucene Full
9、-text searching102.3.3 Chinese Character segmentation .112.4 Summary .12Chapter 3 Visual tag and recommendation technology143.1 Web 2.0 visual tag and recommendation technology143.1.1 Recommendation technology .143.1.2 Tag technology .143.1.3 Difference between commom tag and visual tag163.2 Design
10、the tagFull-text searching.173.2.1 Lucene and the design of tag173.2.2 The class structure of Lucene.183.2.3 The searching-flow of Lucene Full-text searching 203.2.4 Lucene Full-text searching and commom database searhing 213.2.5 The extends of LuceneHighlight 223.3 Customize tagChinese Character se
11、gmentation223.3.1 The algorithm of segmentation .223.3.2 ICTCLAS.233.3.3 Stop words253.4 The implementation of tagAjax and JSON data Transmission.263.4.1 Ajax.263.4.2 JQuery and Prototype.273.4.2 Data Transmission :JSON and XML.283.5 Summary .29Chapter 4 Implementation of the visual tag recommendati
12、on technology .304.1 The main goals of resource system of rehabilitation for deaf children.304.2 System Architecture.314.2.1 MVC Architecture314.2.2 Spring324.2.3 Struts.334.2.4 Hibernate 354.3 Functional modules364.3.1 Functional modules.364.3.2 Role modules374.4 Implementation in resource system o
13、f rehabilitation for deaf children 394.4.1 Search based on Lucene39VI4.4.2 The design of tag based on character segment and Ajax&JSON.404.4.3 Improve the system-experience414.5 Summary .44Chapter 4 Usibity evaluation .455.1 Usibity evaluation.455.2 Test data455.2.1 The time of finishing tasks 455.2.
14、2 Integrity .465.2.3 The errors .465.2.4 The results of questionnaire475.3 Summary .48Chapter6 Summary and future works.496.1 Summary of this paper.496.2 Improvements and future works 49Acknowledgements 51References 52基于分词和 Lucene 检索的标签推荐技术及其实现1第一章 绪论1.1 引言随着互联网技术的飞速发展以及网络共享技术的日渐成熟,网络用户之间可以方便地实现共享使用
15、资源,这也是互联网诞生的初衷。但是随着用户可利用的资源越来越丰富,网络资源在管理维护方面的弊端逐渐显现出来。由于资源的分类技术不合理,难于扩展维护,使得资源的使用者面对众多资源时,难以有效地筛选出优质的资源来加以整和,也因此造成了资源的浪费。各种推荐系统、搜索引擎纷纷涌现。就推荐和导航而言,网站提供的推荐和导航信息更多的是从网站的利益出发,因而用户依旧难以从中找到自己感兴趣的资源。网络资源的不断丰富和网络信息量的膨胀,用户要从信息的海洋中发现自己真正感兴趣的内容无异于大海捞针,这就是信息迷失 1。对教学资源而言,同样存在着信息的迷失:可用资源丰富,资源系统对资源分类的不统一以及多媒体资源本身内
16、容不可见等特点,用户不能方便地查找到需要资源。此外,使用一些综合类搜索引擎来查找资源的用户会发现,由于网络上巨大的信息量,必须一遍一遍尝试不同的关键字才能得到想要的结果。而即使找到了结果,用户必须从大量的结果中筛选出自己想要的资源,但大多数结果是用户不需要的。从检索内容来讲,目前教学资源中占大比重的是多媒体资源。而在多媒体检索方面,尽管传统的搜索引擎投入了大量技术支持,但效果不大明显。可以说,基于内容描述的多媒体搜索技术,目前尚处于理论研究阶段。因此,能否有效方便地帮助用户获得其所需要的资源是每一个资源管理系统亟待解决的关键问题,也是目前资源管理系统提高服务质量的瓶颈技术。随着Web2.0技术
17、的飞速发展,许多提供个性化服务的网站在解决目前网络资源弊端上的成功是非常值得借鉴的。Web2.0的核心思想,是让用户参与到平台的建设当中来,系统根据用户的使用习惯提供个性化服务。Web2.0的三个核心技术分类信息、资讯、社区,尽管还不是很成熟,但是它们所提出的个性化服务方案是非常值得借鉴的 2。比如亚马逊的推荐技术、del.icio.us的标签技术等等。这些网站在互联网上使用Web挖掘等技术,为用户提供智能化、个性化的服务,能够向用户推荐产品或提供信息,来引导用户有针对性地对网上资源或其他信息进行关注,使互联网从过去的“人找信息”发展到“信息找人”的智能阶段。另外它还可以根据访问者本人的喜好、
18、历史访问留下的信息或是根据其他相似用户的相关信基于分词和 Lucene 检索的标签推荐技术及其实现2息,模拟网站管理人员或者销售人员帮助用户完成网上浏览、购买等过程,为用户提供个性化服务。服务质量的另一方面是服务的效率。随着资源数量的急剧增加,传统数据库的检索效率已经无法满足用户的检索需求。在关系数据库基础上发展出来的Lucene全文检索,能够大大地提高检索速率。同时Lucene良好的架构,能够方便地融合中文,实现中文分词技术,进而实现中文检索的个性化定制和生成,方便地帮助用户生成准确的标签。因此,基于Lucene检索和分词技术的标签推荐技术能有效地解决资源管理系统上的问题。因此,论文在分析国
19、内外聋儿资源管理系统和Web2.0发展现状之后,在以用户为中心场景设计方法的指导下,分析和借鉴Web2.0的标签推荐技术,提出基于Lucene全文检索和分词技术的个性化信息服务思想,实现个性化推荐服务。并且介绍了该方案结合Ajax和JSON数据传递在聋儿康复资源管理系统上实现。1.2 论文的组织结构本论文主要分为六章,首先分析了目前资源系统使用上普遍存在的信息迷失和国内外康复教育的现状,引出论文所作的主要工作内容。然后结合标签和推荐这两种网络个性化服务方案,在以用户为中心设计方法的指导下,提出了基于 Lucene 检索和分词技术的个性化标签推荐技术。在标签的实现上,使用了 Lucene 全文检
20、索避免传统数据库检索在效率上的不足,使用中文分词实现标签的生成,细化和个性化定制。在系统实现上,论文介绍了聋儿康复资源管理系统所采用的技术要点:基于 J2EE 的 Spring,Struts,Hibernate 的 MVC 架构(Model-View-Controller,模型-视图-控制器) ;而在改善用户体验方面,采用目前比较流行的 Ajax 技术,JQuery 框架 和 Prototype 框架。论文具体安排如下:第一章 简要介绍目前资源系统存在的信息迷失,基于 Lucene 全文检索和分词技术,结合 Web2.0 标签推荐技术,在以用户为中心的场景设计思想指导下,提出本系统的设计目标。
21、第二章 结合 Web2.0 技术在改善目前网络资源弊端上的成功例子,分析资源管理系统的发展现状和聋儿教育的特殊性,并且分析了个性化服务的优势以及可以借鉴的地方。阐述了Lucene 全文检索技术和分词技术目前发展和应用。最后介绍了 Web2.0 常见的一种标签展示技术标签云。第三章 阐述标签推荐的技术要点。首先介绍 Web2.0 标签推荐技术,比较形象化标签推基于分词和 Lucene 检索的标签推荐技术及其实现3荐和一般标签推荐技术的优缺点。然后通过比较 Lucene 全文检索和数据库检索的效率区别,介绍引入 Lucene 搜索技术的原因。最后详细分析了标签推荐的技术要点:通过 Lucene 全
22、文检索和中文分词实现标签的制作和细化,结合 Ajax 技术和 JSON 数据传输实现标签推荐。第四章 介绍了标签推荐技术在聋儿康复资源管理系统的实现。详细阐述了系统的背景和总体目标,基于 J2EE 的 Spring Struts Hibernate 的 MVC 架构和功能模块,以及基于Lucene 全文检索和分词技术的标签推荐技术在本系统中的实现。第五章 阐述基于 Lucene 检索和分词的标签推荐技术在聋儿康复系统的可用性评估。第六章 最后总结了论文所做的所有工作,并且指明了下一步的改进工作。主要是在算法的改进,以及系统的改善用户体验方面。基于分词和 Lucene 检索的标签推荐技术及其实现
23、4第二章 国内外相关研究现状2.1 国内外特殊群体资源管理系统基于分词的标签推荐技术基于聋儿康复资源管理系统,该项目是中国科学院的知识创新工程项目“聋儿康复多媒体课件编辑平台研发”中的一部分。因此本章首先分析了国内外在聋儿康复教育及其资源管理系统的发展现状。针对特殊群体的教育,采用多媒体教学可以收到良好的效果。这一点已经被大量的事实证明。多媒体教学优势有:直观展示,具有多重感知;可以吸引学生兴趣烘托课堂气氛,调动学生积极性;可以控制教学节奏;教学媒体可以收集管理各类教学信息。因此多媒体教学已经成为包括特殊教育在内国内外教育教学的主要教学方式 3。把网络技术结合到特殊群体教育中,可以充分挖掘利用
24、现有网络资源,方便地实现共享使用资源,提高特殊教育教学的质量。在针对特殊群体的网络多媒体教学中,国外提供了很多这方面的服务。K12 网站提供了一些相应的信息查询服务;do2Learn 网站主要面向孤僻症儿童提供了许多相应的康复学习资源 4;有些网站则提供了各种特殊教育软件的下载或者相关教育网站的链接;有的网站则提供了一些小学的主题教学资源。它们有的给老师和家长提供了教育的正确引导,有的提供了一个网络教育平台给康复人群,有的提供了一些现有的教学资源或者课件资源,但是很少有网站是面向特殊教育工作者交流和共享教学素材,不能充分利用网络资源为教育教学服务5。而在国内,提供针对特殊教育网站有 3000
25、多个,比如中国特殊教育网、中国聋人百科网等。国内已经建成了全国特殊教育资源库,并已经投入使用。资源库分为听障、智障和视障三个不同的资源库 6。资源根据特殊教育的需要,分为了课件资源和各种素材资源(图片、视频、音频、Flash 等) 。资源库把老师常用的资源进行了合理的分类。老师可以方便地使用和交流各种康复资源,自己搜索下载各种资源整合成为适合的课件。但由于其提供的搜索功能还不够完善,用户难以方便地找到自己需要的资源。所以说,针对目前特殊教育而言,尽管网上提供了丰富的教育教学资源,用户还是无法方便地找到其需要的资源。信息迷失在特殊教育的资源系统上依旧存在。能否有效方便地帮助用户获得其所需要的资源
26、是每一个资源管理系统亟待解决的关键问题,也是目前资源管理系统提高服务质量的瓶颈技术。因此,必须充分利用现有技术帮助用户获得其所需要的资源,基于分词和 Lucene 检索的标签推荐技术及其实现5提高服务质量,这也是本系统的设计目标。2.2 国内外网站的标签和推荐技术2.2.1 Web2.0 及其优势Web2.0 即第二代互联网,是相对于第一代互联网(Web1.0)而言的新一类互联网应用的统称。中国互联网协会在给 Web2.0 定义中提到:“互联网 2.0(Web2.0)是互联网的一次理念和思想体系的升级换代,由原来的自上而下的由少数资源控制者集中控制主导的互联网体系转变为自下而上的由广大用户集体
27、智慧和力量主导的互联网体系。 ”7因此,Web2.0 的核心理念是让用户更多地参与网站资源建设,让网站系统更好地为用户提供服务,从而实现双赢。Web2.0 技术主要包括: 博客(BLOG)、RSS、百科全书(WIKI)、网摘、社会网络(SNS)、P2P、 即时信息(IM)等。国内典型的 Web2.0 网站主要包括一些以博客和社会网络应用为主的网站,尤其以博客网站发展最为迅速,影响力也更大,例如博客网()、新浪博客()等。这些个性化服务能够满足用户的个体信息需求,给用户带来了许多个性化的、贴切新颖的服务享受体验。而 Web2.0 的蓬勃发展的确让所有的网络用户真正成为网络的主体,它运用各种新颖的
28、方式,让越来越多的用户充分参与到这个巨大的网络平台中体验、共享信息资源。许多网站已经在这方面取得了巨大的成功,其形式主要包括评论和留言、收藏和推荐、Tag 标签、站内搜索、RSS 订阅等等。典型代表如表 2.1 所示。表 2.1 网站的个性化服务 8对比Web2.0和Web1.0,可以看出Web2.0的个性化服务方案很好地实践了以用户为中心的设计思想,针对目前网络资源使用上的信息迷失能够提出很好的解决方案,从而对我们目前系统的设计和改进提出一些借鉴。Web2.0在资源管理方面的优势如下:1. 针对传统目录分类的固定性,不易扩展性,目录分类单一,与用户关联程度不高等缺主要形式 典型代表 服务形式
29、电子商务 推荐、推荐标签类网站 del.icio.us 标签、收藏IT 新闻网站 slashdot.org 标签Digg 类网站 投票、RSS、标签个人内容服务 评论、推荐、群组在线图片服务 标签、群组基于分词和 Lucene 检索的标签推荐技术及其实现6点,Web2.0技术提出了个性化标签推荐技术,而在标签生成方面可以让用户更多的参与进来。相对于传统目录形式,标签具有易扩展,与用户关联度高等优势,可以大量收集用户信息 9。2. 在向用户返回信息方面,由于用户使用资源是比较集中的,而且不同用户之间使用资源具有一定的相似度。所以Web2.0 不再单纯地提供给用户大量信息让其进行选择,而是
30、提出了针对用户的个性化标签推荐技术。例如众多电子商务平台,系统会向用户提供类似:您最近使用的资源,您可能关心的资源,使用该资源的用户还可能关注的资源等这方面的相关信息。这样不仅能使用户方便地找到所需要的资源,同时提高用户参与到系统中的兴趣,提高使用度。在Web2.0的众多设计理念中,标签技术和推荐技术在电子商务平台上的成功值得借鉴,论文提出了在资源管理系统中,使用标签推荐技术,从而有效地为用户提供资源,提高服务质量。2.2.2 网站的推荐技术面对海量的信息,传统的搜索引擎是从网络中获取信息的关键途径。但是面对大量的搜索结果,用户还是无法把资源进行优质地重组。Web2.0 的网络个性化服务强调个
31、性化、互动性、平等化和细分化,以人为中心和以自组织为中心。即将 Web 作为平台,个人成为信息的主体,可以控制和组织自己的信息或数据,并在平等的基础上参与信息的交互、共享和提供服务。个性化推荐系统,是一种网络个性化服务,就是在互联网上使用数据挖掘等技术,为用户提供智能化、个性化的服务,它能够向用户推荐产品或提供信息,来引导用户有针对性地对网上商品或其他信息进行关注,使互联网从过去的“人找信息”发展到“信息找人”的智能阶段。推荐技术可以根据访问者访问用户的喜好、历史访问留下的信息或是根据其他相似用户的相关信息,模拟网站管理人员或者销售人员帮助用户完成网上浏览、购买等过程,为用户提供个性化服务。很
32、多成功网站都使用了标签和推荐技术,如当当的购物推荐(图 2.1) ,豆瓣的读书推荐(图 2.2) 。基于分词和 Lucene 检索的标签推荐技术及其实现7图 2.1 当当网的购物推荐图 2.2 豆瓣的图书推荐这两个网站的推荐技术模拟销售人员协助用户完成购买过程,如向他们提供商品信息和基于分词和 Lucene 检索的标签推荐技术及其实现8建议,帮助他们决定应该购买什么产品等。由于用户使用信息的集中性,不同用户使用信息的关联度,所以向用户提供类似:您最近使用的资源,您可能关心的资源,使用该资源的用户还可能关注的资源等相关信息,这种推荐对用户使用信息的方便性具有很大的好处。2.2.3 网站的标签技术
33、和标签云在网络出现的初期,信息组织的方式基本都是以目录层次或者链接方式来实现的,随着网络信息的大量涌现,传统的层次型目录结构固定单一,面对海量的信息数据和巨大的用户群体,已经不能在这两者之间搭建一座统一的、沟通良好的桥梁。后来在 Web2.0 网站中,标签首次出现在网上购物类电子商务网站中。当用户发布信息时,自己为资源“加上标签” 。这种方式不但减轻了系统的维护负担,而且便于用户自己组织信息的管理,也是一种非常个性化的服务方案。标签(Tag)本质上是一种信息分类技术,在博客等 Web2.0 网站被广泛应用。Tag 功能让原本属于网站维护人员为网站内容进行分类的工作交给了用户,当用户发布信息时,
34、自己为内容“加上标签” 。众多用户所创建的标签,就形成了一个区别于传统分类目录的个性化的分类目录,用户可以根据这些分类目录查找喜欢的内容。使用 Tag 功能不仅增加了用户参与内容制作的趣味性,也为网站增加了有价值的内容。CSDN 网站在处理众多信息时也使用标签技术,为一些相关的资源贴上标签,方便信息的管理,同时也方便用户寻找需要的信息。CSDN 的标签技术如图 2.3:图 2.3 CSDN 下载频道的标签技术基于分词和 Lucene 检索的标签推荐技术及其实现9随着标签数量的增加,众多标签不方便浏览和选择,同时不同标签也有重要热度之分。使用标签云技术可以把不同重要性的标签区分开,把最重要的标签
35、放在最显眼的地方。标签云的使用,使得文章间的关联更加紧密,把用户最关心的标签推荐给用户。传统的标签展示(图 2.4)和标签云(图 2.5)展示效果区分如下:图 2.4 传统标签 图 2.5 标签云利用标签云技术,这些关键字按字母顺序排序,并且由于使用热度不同而显现不同的大小。一个设计良好的标签云可以帮助浏览者更好地定位内容,提高标签推荐的质量。聋儿康复资源管理系统借鉴了大名鼎鼎的 ndesign studio 的作品,该标签云展现技术可以将标签按关联度区分开来。由于标签是用户是自己根据上传内容选定标签,往往用户无法正确地根据内容选定标签,或者无法找到合适的关键词作为标签。通过系统反馈提示给用户
36、是目前大多数系统使用的方式,形式类似于 Google 的自动提示补全功能。但是通过这种方式反馈给用户的标签数量很多,效率局限于传统的数据库检索。论文在借鉴了 Google 自动提示功能,提出了通过Lucene 检索来提高数据库检索的效率,通过分词技术来得到跟用户关联度比较高的标签,方便准确地帮助用户制作正确的标签,减轻用户的操作负担。2.3 Lucene 检索和分词技术随着电子文档等网络资源数目的剧增,全文索引/检索已经是一项很重要的技术。传统的搜索引擎可能是搜索资源的第一选择,但是传统搜索引擎大众化,难于根据用户习惯定制等特点使得系统开发者在考虑如何向用户提供信息方面难以下手,而且效率局限于
37、传统数据库的模糊检索,在数据库比较庞大时效率低下,反馈时间难以被用户接受。基于分词和 Lucene 检索的标签推荐技术及其实现102.3.1 传统搜索技术及其弊端针对目前网络资源普遍存在的信息迷失,各种导航系统、搜索引擎纷纷涌现。就导航而言,网站提供的导航信息更多的是从网站的利益出发,因而用户依旧难以从中找到自己感兴趣的资源。使用一些综合类搜索引擎来查找资源,由于网络上巨大的信息量,用户必须一遍一遍尝试不同的关键字才能得到想要的结果。而即使找到了结果,用户必须从大量的结果中筛选出自己想要的资源,但大多数信息结果是用户不需要的。从另一方面来讲,目前教学资源中占大比重的是多媒体资源。而在多媒体检索
38、方面,尽管传统的搜索引擎投入了大量技术支持,但效果不大明显。可以说,基于内容描述的多媒体搜索技术,目前尚处于理论研究阶段。搜索引擎是用于帮助互联网用户查询信息的搜索工具。它以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的目的。搜索引擎的原理起源于传统的信息全文检索理论,即通过从互联网上各个网站提取信息(以网页标题、文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果反馈给用户 10。排列顺序的确定是以检索词在每一篇文章中出现的频率和每一个检索词在一篇文章的出现概率作为标准的。无论是传统的信息全文
39、检索还是现阶段采用各种优化技术的搜索引擎大都采用单一关键词匹配的方法,获得查询结果。然而单一的关键词往往无法准确表达用户真实的查询目的,因此进行匹配运算后得出的结果,大多数只是仅仅有该关键词出现,而并不是用户真正需要的信息。搜索引擎中的“6W”模式是在搜索引擎设计中引进的一种以自然语言的六要素为基础配合中文语法结构分析,以此使得搜索引擎智能化具有人性化的设计理念 11。论文将充分借鉴现在搜索引擎中的“6W”模式,采用 ICTCLAS 中文分词技术的词性分析,结合 Lucene 检索更好地为用户提供需要的检索结果。2.3.2 Lucene 检索和传统数据库检索Lucene 是一个开源的全文索引工
40、具包,使用 Lucene 可以方便地将全文索引/检索加入到自己的系统中。用来实现针对应用的全文检索/索引功能。Lucene 的作者 Doug Cutting是一位资深全文索引/检索专家。现在 Lucene 是 APACHE 基金会 jakarta 的一个子项目 12。Lucene 良好的系统架构,对中文的支持只需对其语言词法分析接口进行扩展就能实现对中文检索的支持。另外 Lucene 针对目前关系数据库查询检索存在的弊端,提出了一个效基于分词和 Lucene 检索的标签推荐技术及其实现11率更高的检索方式,可以大大提高数据库检索的效率。目前已经有很多 Java 项目都使用了Lucene 作为其
41、后台的全文索引引擎,比较著名的有:表 2.2 使用 Lucene 定制全文检索的 Java 项目项目名称 Lucene 核心作用Jive WEB 论坛系统Eyebrows 邮件列表 HTML 归档/浏览/查询系统Cocoon 基于 XML 的 Web 发布框架Eclipse 帮助部分的全文索引在检索效率方面,Lucene 大大优于传统关系数据库。一般意义上的数据库检索可以分为精确检索和模糊检索 12,不同的数据库采用不同的检索策略,所以速度也大不一样。一般情况下数据库在查询的时候会通过索引表(类似于关键词索引表如北京第 12 页,上海第 15 页) 。通过关键字索引可以提高查询的速度。而论文中
42、所提到的全文检索,在关系数据库中使用的 SQL 语句是类似于 like“%keyword%“,是一种模糊查询。目前这种模糊查询索引表是不起作用的,需要遍历整张表。所以 like 语句等模糊查询对于数据库的检索效率影响很大。可想而知,对两个字段三个字段进行关键字模糊查询的效率问题。而且如果数据库比较庞大,扫描一遍数据库所需要的时间用户无法接受。Lucene 通过在索引过程中建立反向索引机制,将数据源进行排序,同时维持一个排好序的关键词列表,然后定期地把这些新的小索引文件合并到原先的大索引中(针对不同的更新策略,批次的大小可以调整) ,相对于大部分的搜索引擎都是用 B 树结构来维护索引,索引的更新
43、会导致大量的 IO 操作,这样就可以大大提高检索的效率 13。聋儿康复系统是属于资源管理类的系统,随着用户群的壮大,系统资源很多,数据库存储的数据也很多,使用 Lucene 检索可以解决效率上的问题。这也是聋儿康复系统引进Lucene 的原因。2.3.3 分词技术在分词技术方面,算法分析已经比较成熟。众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,词组中所有的字连起来才能描述一个意思。例如,英文句子 I am a student,用中文则为:“我是一个学生” 。计算机可以很简单通过空格知道 student 是一个单词,但是不能很容易明白“学” 、 “生”两个字合起来才
44、表示一个词。把中文的汉字序列切分成有意义的词,就是中文分词。我是一个学生,分词的结果是:“我,基于分词和 Lucene 检索的标签推荐技术及其实现12是,一个,学生” 。中文分词的准确与否,常常直接影响到对搜索结果的相关度排序。对于搜索引擎来说,最重要的并不是找到所有结果,因为在上百亿的网页中找到所有结果没有太多的意义,没有人能看得完,最重要的是把最相关的结果排在最前面,这也称为相关度排序。中文分词的准确与否,常常直接影响到对搜索结果的相关度排序。例如在搜索引擎中查询“日本和服”的相关资料,在搜索引擎上输入“和服” ,得到的结果就发现了很多问题。Google 在第一页就出现了“网络和服务”等类
45、似的错误信息,因此分词效果直接关系到搜索的结果 14。目前国内在中文分词方面研究比较成熟的有中科院计算所开发的汉语词法分析系统ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System)。ICTCLAS 具有如下优势 15:1. 可以辨别出词性,更加适合中文用户习惯2. 支持英文、数字、中文(简体)混合分词3. 常用的数量和人名的匹配4. 超过 22 万词的词库整理5. 实现正向最大匹配算法6. 支持分词粒度控制另外还有一个扩展 Lucene 的 Java 开源库 JE-Analysis 也能方便地使用,
46、但效果不如ICTCLAS。ICTCLAS 有 Java 和 C 版本,在 C 语言方面有 CLucene 开源组件。聋儿康复资源管理系统基于 J2EE 架构,同时项目中为了有效地提供给用户需要的资源,需要引入分词的词性判断,所以项目中采用 ICTCLAS 进行中文分词,实现标签细化。2.4 本章小结本章首先介绍了国内外资源管理系统的现状,强调网络的多媒体教育对于特殊教育具有很重要的意义,国内外各种机构也都纷纷发展针对于特殊教育的资源管理系统。而和一般管理系统一样,这些系统普遍存在着这样的问题:资源太多,用户往往无法方便地从系统中获取自己需要的资源,这就是信息迷失。通过分析国内外已有的各种资源管
47、理系统,结合分析传统搜索引擎的弊端,充分借鉴Web2.0 和标签推荐技术的优势:个性化信息服务已经被公认为是解决 Intenret“信息过载”的方法。目前的推荐系统可以分为两类:基于内容的系统和协同系统。前者依据顾客对产品的兴趣和产品相似性来形成推荐,后者依据顾客之间的相似性来形成推荐。基于分词和 Lucene 检索的标签推荐技术及其实现13这两种解决方案都是为了解决如何向用户推荐标签,但是 Web2.0 的标签推荐方案是以用户为中心的,标签的生成是用户自己设定的,往往用户无法找出一个合适的关键词来为内容贴上标签。而且单纯通过形象化标签技术返回给用户的标签数量很多。为解决如何生成用户需要的标签
48、,论文提出了采用基于 ICTCLAS 分词组件自动生成标签。在提高标签推荐效率方面,引进了 Lucene 全文检索技术代替传统数据库检索。标签的展示采用目前比较先进的标签云技术,帮助浏览者更好地定位内容,提高标签推荐的质量。将基于 Lucene 全文检索和中文分词技术的个性化信息服务思想具体应用到标签推荐个性化服务体系中,实现信息的个性化推荐服务。这就是本系统的设计目标。本系统为解决如何生成用户需要的标签以及如何有效地向用户提供推荐,提出如下解决方案:1. 通过 Lucene 自动检索数据库中经常使用的标签以及与用户使用关联度比较高的标签,通过像 Google 自动完成的方式提示用户。使用 L
49、ucene 可以大大提高检索速度。2. 判断如果用户上传文件为文本类型,通过 ICTCLAS 分词,统计文章中出现次数最多的 5 个关键词(剔除中文常见的助词等等) ,通过 Ajax 推荐到前台供用户选择。3. 文件名包含重要的信息。抽取文件名,进行分词,提取关键字作为标签。4. 资源的标题和作者也可以作为标签。5. 返回给用户的标签很多,所以应该进行有效的分类,如根据标签排行榜,标签使用的关联度,用户经常使用的标签等等。这种改变的好处如下:1. 改善了系统内信息的组织结构,由树状分类的层次结构转向基于社会性标签关联的网状结构信息。网状结构一般都具有丰富的语义,更适合表述信息之间的关系。2. 提供了隐性挖掘用户兴趣模型的方法,从用户不自觉的标签累积行为中得出用户的兴趣偏好,而不是预先一次性地对用户的兴趣做调查和限制,优化了信息导航和分类的设计。基于分词和 Lucene 检索的标签推荐技术及其实现14第三章 标签推荐技术3.1 形象化标签推荐技术3.1.1 推荐