基于分词和Lucene检索的标签推荐技术及其实现-毕业论文_第1页
基于分词和Lucene检索的标签推荐技术及其实现-毕业论文_第2页
基于分词和Lucene检索的标签推荐技术及其实现-毕业论文_第3页
基于分词和Lucene检索的标签推荐技术及其实现-毕业论文_第4页
基于分词和Lucene检索的标签推荐技术及其实现-毕业论文_第5页
免费预览已结束,剩余67页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文本科毕业论文 (科研训练、毕业设计) 题目:基于分词和题目:基于分词和 LuceneLucene 检索的检索的 标签推荐技术及其实现标签推荐技术及其实现 姓 名: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 年 月 I 基于分词和 Lucene 检索的标签推荐技术及其实现 【摘要】 随着互联网技术的发展,可用资源越来越丰富。由于资源的分类技术不合理, 难于扩展维护,使得资源的使用者难以有效地筛选出优质资源来加以整和,造成了资源 的浪费,这就是信息迷失1。传统类的搜索引擎无法实现个性化定制,在多媒体检索方 面还处在研究阶段,因此无法真正有效解决信息迷失。而在效率方面,传统的数据库检 索已经无法满足用户的检索需求。因此能否有效地帮助用户获得其所需要的资源,并且 在效率上能够超越传统数据库检索是每一个资源管理系统亟待解决的关键问题,也是目 前资源管理系统提高服务质量的瓶颈技术。 论文分析了目前资源管理系统使用上存在的信息迷失,以及目前国内外资源管理系 统发展现状,结合 Web2.0 技术在解决网络资源弊端上的成功例子。在以用户为中心场 景设计方法的指导下,提出了基于形象化标签推荐技术的解决方案:通过 Lucene 全文 检索来提高个性化服务的效率,利用分词技术方便用户制作标签,最后结合 Ajax 技术 和 JSON 数据传输实现标签推荐。 接下来阐述了基于分词和 Lucene 检索的标签推荐技术在聋儿康复资源管理系统的 实现。详细阐述了系统的需求,基于 J2EE 的 Spring Struts Hibernate MVC 架构和主 要功能模块,并且介绍了该技术的可用性评估。 最后总结了论文所作的所有工作,指明了下一步的改进计划。 【关键词】 形象化标签 推荐技术 Lucene 检索 中文分词 Ajax II Tag Recommendation; Lucene searching; Chinese character segmentation; Ajax III 目目 录录 第一章第一章 绪论绪论1 1 1.1 引言 .1 1.2 论文的组织结构 .2 第二章第二章 国内外相关研究现状国内外相关研究现状4 4 2.1 国内外特殊群体资源管理系统 .4 2.2 国内外网站的标签和推荐技术 .5 2.2.1 Web2.0 及其优势5 2.2.2 网站的推荐技术 6 2.2.3 网站的标签技术和标签云 8 2.3 Lucene 检索和分词技术9 2.3.1 传统搜索技术及其弊端 9 2.3.2 Lucene 检索和传统数据库检索.10 2.3.3 分词技术 .11 2.4 本章小结 12 第三章第三章 标签推荐技术标签推荐技术1414 3.1 形象化标签推荐技术 14 3.1.1 推荐技术 .14 3.1.2 标签技术 .14 3.1.3 普通标签和形象化推荐标签 .16 3.2 基于 Lucene 的搜索技术 .17 3.2.1 Lucene 和标签生成.17 3.2.2 Lucene 的类结构.18 3.2.3 Lucene 检索流程.20 3.2.4 Lucene 全文索引和数据库索引的比较.21 3.2.5 Lucene 的扩展Highlight22 3.3 基于分词技术的标签制作 22 3.3.1 分词算法 .22 3.3.2 中文分词开源组件 ICTCLAS23 3.3.3 停用词处理 .25 3.4 标签的实现AJAX技术和 JSON 数据传递 .26 3.4.1 Ajax 技术.26 3.4.2 JQuery 和 Prototype 对 Ajax 的封装27 3.4.3 数据传输方式:JSON 和 XML .28 3.5 本章小结 29 第四章第四章 标签推荐技术在聋儿康复资源管理系统的实现标签推荐技术在聋儿康复资源管理系统的实现3030 4.1 背景与目标 30 4.2 康复资源管理系统架构 31 4.2.1 基于 MVC 模式的分层框架 .31 4.2.2 Spring 框架.32 4.2.3 Struts 框架.33 IV 4.2.4 Hibernate 框架35 4.3 聋儿康复资源管理系统功能模块 36 4.3.1 功能层次图 .36 4.3.2 角色分布图 .37 4.4 标签推荐技术在聋儿康复资源管理系统中的实现 39 4.4.1 基于 Lucene 的搜索技术 39 4.4.2 基于分词技术和 Ajax 的标签制作 40 4.4.3 在改善用户体验方面所做的工作 .41 4.5 本章小结 44 第五章第五章 标签推荐技术可用性评估标签推荐技术可用性评估4545 5.1 可用性评估 45 5.2 测试数据 45 5.2.1 完成任务的时间分析 .45 5.2.2 完整度分析 .46 5.2.3 出现的错误分析 .46 5.2.4 问卷统计 .47 5.3 本章小结 48 第六章第六章 总结和展望总结和展望4949 6.1 论文工作总结 49 6.2 进一步工作展望 49 致谢致谢5151 参考文献参考文献5252 V Contents Chapter 1 Preface .1 1.1 Introduciton .1 1.2 The structure of this paper2 Chapter 2 Related research situation Domestic and Foreign 4 2.1 The situation of special edutiation .4 2.2 Web2.0 and tag recommendation.5 2.2.1 Web2.0 and its superior5 2.2.2 Recommendation in website.6 2.2.3 Tag in website and Tag cloud.8 2.3 Lucene Full-text searching and Character segmentation9 2.3.1 Traditional search engine and its shortcoming .9 2.3.2 Lucene Full-text searching10 2.3.3 Chinese Character segmentation .11 2.4 Summary .12 Chapter 3 Visual tag and recommendation technology14 3.1 Web 2.0 visual tag and recommendation technology14 3.1.1 Recommendation technology .14 3.1.2 Tag technology .14 3.1.3 Difference between commom tag and visual tag16 3.2 Design the tagFull-text searching.17 3.2.1 Lucene and the design of tag17 3.2.2 The class structure of Lucene.18 3.2.3 The searching-flow of Lucene Full-text searching 20 3.2.4 Lucene Full-text searching and commom database searhing 21 3.2.5 The extends of LuceneHighlight22 3.3 Customize tagChinese Character segmentation22 3.3.1 The algorithm of segmentation .22 3.3.2 ICTCLAS.23 3.3.3 Stop words25 3.4 The implementation of tagAjax and JSON data Transmission.26 3.4.1 Ajax.26 3.4.2 JQuery and Prototype.27 3.4.2 Data Transmission :JSON and XML.28 3.5 Summary .29 Chapter 4 Implementation of the visual tag recommendation technology.30 4.1 The main goals of resource system of rehabilitation for deaf children.30 4.2 System Architecture.31 4.2.1 MVC Architecture31 4.2.2 Spring32 4.2.3 Struts.33 4.2.4 Hibernate 35 4.3 Functional modules36 4.3.1 Functional modules.36 4.3.2 Role modules37 4.4 Implementation in resource system of rehabilitation for deaf children39 4.4.1 Search based on Lucene39 VI 4.4.2 The design of tag based on character segment and Ajax而 另一部分数据主要来自浏览者对网页的请求和浏览过程中的点击流(Click-stream),这部分 数据主要来自于系统日志文件。 2.Web 数据挖掘阶段 此部分是标签推荐的关键步骤。聋儿康复资源管理系统主要采用 Lucene 全文检索和中 文分词实现标签的生成和细化。 3.系统推荐 生成的标签如何有效地被用户所接受也是标签推荐的一个重要因素。本系统采用 Ajax 结合 JSON 数据传输为用户提供标签推荐。为了改善用户体验,采用了 JQuery 框架下的拖拽 功能,实现形象化标签技术。 基于分词和 Lucene 检索的标签推荐技术及其实现 31 第四章第四章 标签推荐技术在聋儿康复资源管理系统的实现标签推荐技术在聋儿康复资源管理系统的实现 4.14.1 背景与目标背景与目标 聋儿康复资源管理系统是中国科学院的知识创新工程项目“聋儿康复多媒体课件编辑平 台研发”中的一部分。该项目主要为聋儿康复教育提供课件制作、播放环境,同时提供教学 资源集成和共享的环境。其中聋儿康复资源管理系统是提供给与聋儿康复相关的老师/家长/ 研究人员进行课件/素材/文献资源共享和交流的平台。该系统是在以用户为中心的设计方法 的指导原则下,为与聋儿康复教育相关的用户提供资源共享的、个性化贴切服务的平台。它 主要提供如下服务: 1.建立一个全方面聋儿康复资源共享的平台,存放与康复教育相关的课程资源以及课外 资源。包括文本、图像、音频、视频、动画等等素材。 2.实现对这些资源的动态组织管理和共享,便于资源系统分类的扩展与更新,以及与聋 儿康复教学平台的无缝连接。 3.资源系统为从事聋儿康复教育的教师提供资源信息的检索、传输共享、推荐功能,并 具备使教师用户进行单个以及多个资源的批量上传以及下载功能。 4.提供一个不同用户之间相互交流的平台,如 BBS,即时聊天等等,方便用户之间交流。 系统资源管理模块架构如图 4.1 所示: 基于分词和 Lucene 检索的标签推荐技术及其实现 32 图图 4.14.1 系统资源管理模块架构系统资源管理模块架构 4.24.2 聋儿康复资源管理系统架构聋儿康复资源管理系统架构 要快速开发一套好的系统离不开一个良好的构架设计和一套合理的支撑框架体系,这是 因为从面向对象方式迈上了面向框架式的开发模式可以极大地提高软件系统整体解决方案的 灵活性和可扩展性25。因此本小节将扼要介绍基于 J2EE 平台的应用系统的开发过程,以及 本系统的 MVC 架构,并介绍采用以 MVC 模式为基础的分层结构是如何便于系统的扩展、维护 以及如何提高开发效率的。 4.2.1 基于 MVC 模式的分层框架 MVC 模式把一个应用的输入、处理、输出流程按照 Model、View、Controller 的方式进 行分离,这样一个应用被分成三个层模型层、视图层、控制层。模型、视图与控制器的 分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的 数据,所有其它依赖于这些数据的视图都应反映到这些变化。 MVC 模式分离了数据表示和业务处理,使得应用可以采用更加灵活多样的数据表示方 式而不用更改业务处理部分。在这里,模式的准确含义是软件系统的一种架构模式,它“描 述软件系统里的基本的结构组织或纲要” 。MVC 模式不仅实现了功能模块和显示模块的分离, 并且提高了应用系统的可扩展性、可维护性、以及组件的可复用性。 图图 4.24.2 MVCMVC 结构图结构图 基于分词和 Lucene 检索的标签推荐技术及其实现 33 图图 4.34.3 康复系统的康复系统的 MVCMVC 架构架构 视图(View)代表用户交互界面。一个应用可能有很多不同的视图,MVC 设计模式对于 视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流 程的处理。业务流程的处理交予模型(Model)处理。 模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对 其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设 计可以说是 MVC 最主要的核心。在 J2EE 中通常为后台 Bean,或 EJB。 控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户 的请求。控制层并不做任何的数据处理。因此,一个模型可能对应多个视图,一个视图可能 对应多个模型。 4.2.2 Spring 框架 Spring 是一个开源框架,它由 Rod Johnson 创建。它是为了解决企业应用开发的复杂性 而创建的。Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情26。Spring 是 一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。使用 Spring 可以方便地进行代码 的维护和扩展。 Spring 框架是一个分层架构。Spring 模块构建在核心容器之上,核心容器定义了创建、 配置和管理 bean 的方式。本系统的 Spring 架构如下: 基于分词和 Lucene 检索的标签推荐技术及其实现 34 图图 4.44.4 康复系统康复系统 SpringSpring 模块模块 组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块 联合实现。在本系统中主要使用下面两个模块: 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用 IoC 模式将应用程序的配置和依赖性 规范与实际的应用程序代码分开,便于维护代码27。 Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用 依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。 使用 Spring 技术可以减小模块之间的耦合度,方便地进行类的维护。同时提高系统的 可扩展性和开发效率。 4.2.3 Struts 框架 Struts 框架来源于一个名为 The Jakarta Struts 的项目,它是由 Apache 发起的开源项目, 是基于 MVC 分离思想的杰出产品。Struts 框架具有组件的模块化,灵活性和重用性的优点, 同时简化了基于 MVC 的 Web 应用程序的开发。MVC 框架主要分为视图、模型、控制器三 部分。Struts 的基本结构和本系统的 Struts 架构如下: 基于分词和 Lucene 检索的标签推荐技术及其实现 35 客户 (浏览器) 请求 控制器 (ActionServlet) 视图 (JSP) 业务逻辑 (Action) 模型 (ActionForm) struts-config.xml 分配 读取 转发 图图 4.54.5 StrutsStruts 的基本结构的基本结构 图图 4.64.6 康复项目中的康复项目中的 StrutsStruts 模块模块 Struts 是 MVC 框架。在 Struts 框架中,模型由实现业务逻辑的 JavaBean 或 EJB 组件构 成,控制器由 ActionServlet 和 Action 来实现,视图由一组 JSP 文件构成。 1. 视图 包括 JSP 文件,在 JSP 文件中不包含业务逻辑和模型信息,只有标签信息,可以是 JSP 标签或者是 Struts 标签库中的标签(用户化标签技术) 。ActionForm Bean 是 JavaBean,相比 普通的 JavaBean,包含表单验证和重设功能,主要起到在视图和控制器之间传递数据的作用。 2. 模型 模型表示应用程序的状态和业务逻辑。业务逻辑通常由 JavaBean 或 EJB 组件实现。 基于分词和 Lucene 检索的标签推荐技术及其实现 36 3. 控制器 控制器部分是通过 ActionServlet 对象(由 Actionservlet 和 Action 类)来实现。 Actionservlet 起着中央控制器的作用,负责接收 HTIP 请求,转发请求至相应 Action 类对象。 Action 根据请求调用相关业务组件,ActionServlet 类作为控制器在接收了从视图 JSP 页面传 来的 HTTP 请求信息,并根据配置文件 struts-config.xml 的配置信息,把请求发给 Action 类; 在采用 Adapter 设计模式的 Action 类中,开发人员只需要通过创建其子类覆盖其 execute()方 法,来实现对控制应用程序的流程实现的,这个控制器获得 View(JSP)的请求后根据 ActionMapping 对象调度相应的 Model(Action 对象)处理业务逻辑,并根据获得的处理结果 (ActionForward 对象)装配 View(JSP)来响应。 4.2.4 Hibernate 框架 在如今的企业级应用开发环境中,面向对象的开发方法已成为主流,但对象只能存在于 内存中,而内存不能永久保存数据。如果要永久保存对象的状态,需要进行对象的持久化, 即把对象存储到专门的数据库中。为了解决这个问题,一种已经被广泛采用的 O/R Mapping(Object/Relational Mapping 对象/关系映射)技术,包装关系数据库数据为对象,使之 提供面向对象的接口。Hibernate 就是这样一个框架。 图图 4.7 康复项目的康复项目的 Hibernate 模块模块 在 Java 传统的领域中,企业应用可以直接通过 JDBC 编程来访问关系数据库,通过 JDBC 来实现对象关系的映射。这种方式虽然运行效率高,但因为要在代码中嵌入大量 基于分词和 Lucene 检索的标签推荐技术及其实现 37 的 SQL 语句,使得项目难以维护。 Hibernate 框架是当前实现 Java 对象持久层框架技术之一,它为 Java 应用提供了一个高 效的 O/R Mapping 框架28。Hibernate 的这些持久对象(Persistent Object)是基于 JavaBean 和 Java Collection 的,而且它提供的查询语言(HQL)也是一种 OO 语言,语法类似 SQL,只是 把 SQL 里的 Table 和 Column 用对象和对象属性代替。 4.34.3 聋儿康复资源管理系统功能模块聋儿康复资源管理系统功能模块 聋儿康复资源管理系统的主要功能是实现对资源信息的浏览、查询、管理以及上传下载, 为用户提供方便实用的资源信息共享服务。同时提供一个不同用户之间相互交流的平台,如 BBS,即时聊天等等,方便用户之间交流。用户主要分为普通用户、一般管理员和超级管理 员。 4.3.1 功能层次图 根据项目调研的需求,并在结合“聋儿课件编辑平台”的基础上,将聋儿康复资源管理 系统分成了五个主要的功能模块:浏览、传输、管理、推荐、交流。这些模块之间的主要层 次关系如图 4.8 所示。 图图 4.84.8 系统总体功能图系统总体功能图 以上功能模块简介如下: 1.资源信息浏览和查询:实现对资源信息的详情进行浏览的功能,包括对资源的名称、 基于分词和 Lucene 检索的标签推荐技术及其实现 38 类型、上传者、下载次数、分值、适用对象等等信息的浏览。用户(所有用户,包括 访客)可以对系统中的资源进行查询,查询的条件有资源的任意属性以及这些属性的 组合; 2.资源信息传输:登录的普通用户在浏览资源列表后,对其关注的资源下载;还可以同 时上传共享多个资源到系统中,以供其他用户的下载; 3.管理模块:只要管理员才能对资源进行管理,主要包括对普通用户上传资源的审核以 及重新分类。其中审核资源主要是对资源的详情进行编辑、修改,并可以剔除不合格 的资源;对资源的重新分类包括对审核后的资源进行分类,以及对已分类的资源进行 管理和分类资源目录的增删和名称修改,资源的增删和目录转移等等; 4.推荐模块:根据登录用户对其关注资源信息的历史记录,来为该用户提供个性化的推 荐服务; 5.交流模块:提供一个不同用户之间相互交流的平台,如 BBS,即时聊天等等,方便用 户之间交流。 4.3.2 角色分布图 根据前面的分析与设计,系统将登陆用户分成了三类(普通用户、一般管理员、超级管 理员) ,由于用户的角色不是单一的,需要管理员对上传的资源进行审核后,资源才能在浏 览模块展示。因此有必要在整个系统的运作流程中协调好这些用户角色之间的关系,具体的 系统角色功能图如图 4.9 所示,系统用例图如图 4.10。 基于分词和 Lucene 检索的标签推荐技术及其实现 39 图图 4.94.9 系统角色图系统角色图 图图 4.104.10 系统角色功能图系统角色功能图 基于分词和 Lucene 检索的标签推荐技术及其实现 40 普通用户和管理员登陆成功后的不同界面如图 4.11,图 4.12 所示: 图图 4.114.11 普通用户界面图普通用户界面图 图图 4.124.12 管理员界面图管理员界面图 4.4.4 4 标签推荐技术在聋儿康复资源管理系统中的实现标签推荐技术在聋儿康复资源管理系统中的实现 本系统作为一个资源管理系统,为了解决资源管理系统常见的信息迷失,采用了基于分 词技术的形象化标签推荐技术。在提高效率方面采用了基于 Lucene 的搜索技术,通过 Ajax 和 JSON 数据传递实现。同时使用了目前比较流行的 JQuery 框架来改善用户体验。 基于分词和 Lucene 检索的标签推荐技术及其实现 41 4.4.1 基于 Lucene 的搜索技术 聋儿康复系统是属于资源管理类的系统,随着用户群的壮大,系统资源很多,数据库存 储的数据也很多,必须提供给用户一个方便快捷的检索资源途径。所以本系统在首页提供了 内容检索的入口。如图 4.13 所示: 图图 4.134.13 基于基于 LuceneLucene 的搜索的搜索 该搜索过程区别于其他搜索的地方,在于采用了 Lucene 检索来大大提高检索的速率, 通过分词来改进搜索的质量。 4.4.2 基于分词技术和 Ajax 的标签制作 由于是用户自己根据上传内容选定标签,往往用户无法正确地根据内容选定标签,或者 无法找到合适的关键词作为标签。通过系统反馈提示给用户是目前大多数系统使用的方式, 形式类似于 Google 的自动提示补全功能。但是通过这种方式反馈给用户的标签数量很多, 效率局限于传统的数据库检索。论文在借鉴了 Google 自动提示功能,提出了通过 Lucene 检 索来提高数据库检索的效率,通过分词技术来得到跟用户关联度比较高的标签,方便准确地 帮助用户制作正确的标签。上传界面为了方便用户制作标签主要采用以下几个途径为用户提 供指导和帮助: 1.通过 Lucene 自动检索数据库中经常使用的标签以及与用户使用关联度比较高的标签, 通过像 Google 自动完成的方式提示用户。使用 Lucene 可以大大提高检索速度。 2.判断如果用户上传文件为文本类型,通过 ICTCLAS 分词,统计文章中出现次数最多的 5 个关键词(剔除中文常见的助词等等),通过 Ajax 推荐到前台供用户选择。 3.文件名包含重要的信息。抽取文件名,进行分词,提取关键字作为标签。 4.文章的标题和作者也可以作为文章的标签。 基于分词和 Lucene 检索的标签推荐技术及其实现 42 5.返回给用户的标签很多,所以应该进行有效的分类,如根据标签排行榜,标签使用的 关联度,用户经常使用的标签等等。 图图 4.144.14 类似类似 GoogleGoogle 自动完成功能自动完成功能 图图 4.154.15 分词,系统热门,个人热门,相关性推荐分词,系统热门,个人热门,相关性推荐 4.4.3 在改善用户体验方面所做的工作 1.Ajax1.Ajax 在聋儿康复系统中的使用在聋儿康复系统中的使用 Ajax 在本系统中广泛被使用来改善用户的使用体验,本小节仅以注册模块为例介绍。 基于分词和 Lucene 检索的标签推荐技术及其实现 43 在以用户为中心场景设计指导下,注册模块如下:当用户在各个输入框填写时,用户界 面会根据输入的信息进行相应的验证,并返回信息告诉用户是否存在问题,如表 4.1: 表表 4.14.1 注册模块的场景描述注册模块的场景描述 场景描述操作 编号用户操作系统响应 操作 1用户输入注册 ID(ID 的要求 是长度为 6 个字符以上的中 英文或者普通字母、数字字 符) 1)如果用户填写的 ID 的名称格式 与要求不符,比如长度小于 6,那 么系统的用户界面就会提示注册 ID 长度不符合要求,并且自动定位到 表单位置; 2)如果用户注册 ID 无格式问题, 则系统还会先将该 ID 与数据库中 已有的 ID 进行匹配,如果重复, 同样也会报错 操作 2用户输入注册密码如果不符合密码格式则提示错误 操作 3用户再次输入注册密码系统判断第二次的密码是否和第一 次一致,如果不一致提示错误 操作 4用户输入其它相关信息,如 邮箱 系统也根据相关信息的格式进行验 证,如果不正确,则也提示错误; 并且注册信息的邮箱只能用一次 操作 5用户点击“注册”按钮如果前面所有的信息没有出现红色 的输入错误提示,则用户可以登录 到系统 注册成功会跳到欢迎界面,同时给用户的注册邮箱发送一条欢迎信息,该邮箱也作为以 后用户返回密码使用。 基于分词和 Lucene 检索的标签推荐技术及其实现 44 图图 4.164.16 注册模块注册模块 AjaxAjax 实现实现 Ajax 在本系统中广泛被使用来改善用户的使用体验,使用 Ajax 的好处可以使得操作 Web 页面不用打断交互流程进行重新加裁,就可以动态地更新。使用 Ajax,可以创建接近本 地桌面应用的、直接的、更丰富的、更动态的 Web 用户接口界面。 2.2.标签云技术标签云技术 不同标签也有重要热度之分。使用标签云技术可以把不同重要性的标签区分开,把最重 要的标签放在最显眼的地方。标签云的使用,使得文章间的关联更加紧密,把用户最关心的 标签推荐给用户。 基于分词和 Lucene 检索的标签推荐技术及其实现 45 图图 4.174.17 标签云标签云 3.3.登录的蒙版登录的蒙版 ThickBox 是一个基于 JQuery 类库的扩展包,能让程序员方便地实现 Lightbox 特效, 使用户集中精力进行前台页面的操作。实现效果如下: 图图 4.184.18 登录蒙版效果登录蒙版效果 4.4. 首页的首页的 DockDock 菜单菜单 使用 JQuery Dock 来实现苹果 Mac OS X 操作系统上的 Dock 菜单效果。 基于分词和 Lucene 检索的标签推荐技术及其实现 46 图图 4.194.19 DockDock 菜单菜单 4.54.5 本章小结本章小结 本章详细介绍了标签推荐技术在聋儿康复资源管理系统的实现。详细阐述了系统的需求, 基于 J2EE 的 Struts Hibernate Spring 的 MVC 架构和功能模块,以及基于 Lucene 全文检 索和中文分词的标签推荐技术,结合 Ajax 和 JSON 数据传递在本系统中的实现。同时介绍了 系统的主要功能模块和相关流程图。最后介绍了 Ajax 在本系统的运用和改善用户体验所采 用的 JQuery 框架。 基于分词和 Lucene 检索的标签推荐技术及其实现 47 第五章第五章 标签推荐技术可用性评估标签推荐技术可用性评估 5.15.1 可用性评估可用性评估 在软件系统的开发过程中,软件的可用性评估是必不可少的一环。理想情况下,可用性 评估应该出现在整个设计开发的生命周期中。可用性是从人的角度来看软件系统是否易用、 高效、使人感到满意。易用是指对用户来说软件系统应该容易学习、容易记忆、能够包容错 误,即使用户犯了错误,系统也能从错误中恢复。高效是指用户使用软件时可以高效率地完 成任务。另外,软件系统也应该让用户在使用时主观上感到满意,并且乐意使用它。 可用性评估贯穿系统设计开发的整个阶段,本章将阐述基于 Lucene 检索和分词的标签 推荐技术在聋儿康复资源管理系统的可用性评估,从而说明标签推荐技术在解决目前资源管 理系统信息迷失上的优势。 5.25.2 测试数据测试数据 由于我们的系统最终的用户对象包括两个部分:康复教育的教师和接受康复教育的孩子 及其家长。因此我们在进行评估测试时,找了 6 个教师被试和 6 个康复教育的孩子(含 2 个 家长)被试。鉴于两组被试有着年龄、认知能力、思维方式的不同。我们把被试的数据分成 两个部分来分别统计。 5.2.1 完成任务的时间分析 表 5.1 是参加测试的评估者完成各个任务的时间情况。进行统计分析,得到了各自完成 任务的平均时间和标准差。 表表 5.1 用户完成任务的时间用户完成任务的时间 组别任务平均时间(单位:秒)时间标准差(单位:秒) 搜索需要的资源5.37.7 康复教育的教师 制作标签8.228.2 搜索需要的资源9.514.8康复教育的孩子 (含家长)制作标签1515.9 从上面的数据可以看出,康复教育的孩子和康复教育的教师完成任务所花的平均时间都 很短,相应的时间标准差都较小,两组被测都可以在很短的时间内完成搜索需要的资源和制 作标签的任务。儿童相对成人,制作标签用的时间稍多些,但是两者相差不大,仅为 6.8 秒。 这一定程度上反映了标签推荐技术的自然性和界面交互性做得比较好,以至于对于儿童和成 基于分词和 Lucene 检索的标签推荐技术及其实现 48 人的认知复杂度要求差距不大,因为他们可以在基本一致的时间内完成任务。 此外,分析测试前培训时候的差别和访谈结果的差别,产生这个结果的原因,可能还因 为:鉴于儿童和成人的认知复杂性肯定是不同的,因此我们给康复教育的孩子多了 10 分钟 的练习时间;成年人对于标签分类认识得比较清楚,可以比较方便地利用系统推荐的标签。 5.2.2 完整度分析 表 5.2 是参加测试的评估者完成各个任务的完整度情况。进行统计分析,得到了各个任 务的平均完整度及其标准差。 表表 5.2 用户完成任务的完整度用户完成任务的完整度 任务组别平均完整度完整度标准差 康复教育的教师10 搜索需要的资源 康复教育的孩子10 康复教育的教师0.970.04 制作标签 康复教育的孩子0.950.04 最终完整度的数据非常好。无论是儿童还是成人搜索需要的资源的完整度都是 1,即完 成率都达到了 100%。儿童和成人制作标签的完整度也都达到了 95%及以上。所以对于儿童 和成人来说,都没有过大的认知负担,都可以在短时间内很好地完成所有的任务。而且未完 成的动作是因为所选资源过于复杂,实在难以提取“关键字”作为标签。 数据表明,评估者在完成任务时,并没有觉得难以理解或者难以实现,任务和操作完全 在他们的认知负荷和操作能力范围之内。所以标签推荐技术可以减轻用户的认知负担,提高 使用的易用性。 5.2.3 出现的错误分析 评估中的错误统计结果是:在任务的完成过程中,康复教育的教师组 6 个人总共出现操 作错误 0 次;康复教育的孩子组 6 个人总共出现操作错误 2 次。表 5.3 为错误数量统计: 表表 5.3 错误数量统计错误数量统计 错误统计康复教育的教师康复教育的孩子 错误数02 无论是成人组还是儿童组,出现错误的频数都很低。在 12 个人每人两个任务的测试中, 一共发生了 2 次操作错误。这从某个角度反映出,评估者对于标签推荐技术在资源管理系统 中的使用非常流畅,该技术具有很好的可靠性和自然性。同时,既然有错误出现,说明还是 基于分词和 Lucene 检索的标签推荐技术及其实现 49 有需要改进的地方,集中观察用户的这几个错误,发现了系统有待提高完善之处。 5.2.4 问卷统计 对于客观数据的分析结束后,下面就看看用户的主观评估数据问卷。 问卷一共有 18 题,采用 5 度量的计分,是对于整个资源管理系统的总体可用性评价。 分别用来测试用户对于软件易学性、易用性、可靠性、自然性、交互性和满意度的评价。 表表 5.4 关于标签推荐技术问卷调查统计关于标签推荐技术问卷调查统计 康复教育的教师康复教育的孩子 问卷结果 平均值标准差平均值标准差 易用性4.440.494.830.48 易学性4.670.494.720.48 可靠性4.220.624.720.34 自然性4.560.624.890.31 效率4.780.434.890.31 满意度4.780.464.890.31 综合成绩4.570.524.820.37 t th he e A Av ve er ra ag ge e s sc co or re e o of f D Di im me en ns si io on ns s 0 1 2 3 4 5 Easy- learning Easy useReliabilitynaturalEfficiencySatisfactionOverall Score Adults Children 图图 5.1 标签推荐技术可用性评估各个指标标签推荐技术可用性评估各个指标 儿童组评估维度的平均得分大于成人组,而且结果的一致性也优于成人组。不过鉴于这 是主观数据,只是基本反映了儿童和成人对于标签推荐技术的满意程度。可以从结果看出无 论是成人还是儿童对于系统的满意度都是非常肯定的态度。 基于分词和 Lucene 检索的标签推荐技术及其实现 50 分析两组测试人员的数据,发现两组人员对于可靠性的评价都较低。这主要是由于各种 不同操作结果不同。相应的操作如果给出一些适当反馈,并且更加适应用户的使用习惯,相 信会对系统可靠性有很大的提高。 5.35.3 本章小结本章小结 通过针对基于 Lucene 和分词的标签推荐技术在聋儿康复资源系统的可用性评估,我们 可以看出标签推荐技术可以方便用户制作标签,基于 Lucene 和分词的检索技术可以帮助用 户更加方便地找到需要的资源,有效地解决信息迷失。 同时在可用性评估过程中,也可以发现标签推荐技术的一些不足和需要改进的地方。例 如出现错误等等,这都是下一步工作的重点。 基于分词和 Lucene 检索的标签推荐技术及其实现 51 第六章第六章 总结和展望总结和展望 6.16.1 论文工作总结论文工作总结 论文分析了目前资源系统使用上存在的信息迷失,同时阐述了资源管理系统的现状和聋 儿教育的特殊性。结合 Web2.0 技术在改善目前网络资源弊端上的成功例子,提出了个性化 服务的优势以及在聋儿康复资源管理系统中可以借鉴的地方。基于分词和 Lucene 检索的形 象化标签推荐技术是聋儿康复资源管理系统解决信息迷失提出的解决方案。 文章还介绍了标签推荐技术在聋儿康复资源管理系统的实现。详细阐述了系统的需求, 基于 J2EE 的 Struts Hibernate Spring 的 MVC 架构和功能模块。同时介绍了系统的主要功能 模块和相关流程图。最后介绍了 Ajax 在本系统的运用和改善用户体验所采用的 JQuery 框架。 论文的主要内容如下: 1.简要介绍了目前资源管理系统存在的问题,结合 Web2.0 技术在改善目前网络资源 弊端上的成功例子,分析了个性化服务的优势以及可以借鉴的地方。 2.在以用户为中心的场景设计原则的指导下,介绍了 Web2.0 标签推荐技术,比较了 形象化标签推荐和一般标签推荐技术的优缺点。阐述了基于日志数据库的 Web 挖掘, 和中文分词的个性化定制,引出论文的技术要点介绍:通过分词和 Lucene 检索实 现标签的制作和细化,最后结合 Ajax 技术和 JSON 数据传输实现标签推荐。 3.介绍了标签推荐技术在聋儿康复资源管理系统的实现。详细阐述了系统的需求,基 于 J2EE 的 Struts Hibernate Spring 的 MVC 架构和功能模块。 4.最后针对系统可用性评估过程中存在的问题,提出下一步改进的设计目标。 6.26.2 进一步工作展望进一步工作展望 聋儿康复系统采用迭代开发的软件工程思想,论文在此针对系统可用性评估过程中存在 的问题提出下一步工作展望。 1. 由于标签本身的任意性,某些用户还是可以自由地为资源“贴”上与资源无关的或 者无意义的词汇。虽然有推荐算法能为用户剔除若干不合适的标签,但还是不能很 好地保证标签的质量。所以针对康复系统的标签算法还需要改进才能有效保证标签 的质量。 2. 在本系统的开发测试中发现采用 Ajax、JQuery 等技术能给网络系统的用户界面带 基于分词和 Lucene 检索的标签推荐技术及其实现 52 来非常不错的用户体验。因此在新一轮的迭代开发测试中,对原有的界面设计进行 进一步的改进。 3. 系统的扩展性需要改进。虽然采用了 MVC 架构可以方便地扩展,但由于系统数据库 针对 Oracle 开发,开发过程中有些数据库查询为了节省资源采用了 SQL 查询,扩 展性不高。通过 Hibernate 实现数据持久化可以避免这个问题。 4. 系统的维护工作,以及文档的完善。 5. 代码的优化。 致谢 53 致谢 在厦门大学学习的大学四年里,我得到了许多老师、同学、朋友和家人的帮助。在此论 文即将完成之际,我衷心地感谢所有曾经帮助过我的人们。 首先要感谢我的校内指导教师老师,他高超的学术水平、不懈的治学追求和严谨的学术 态度让我受益良多。他对我的严格要求和细心指点使我在学术之路上能迈过坎坷,继续前行。 我在中科院软件所做毕设期间,老师经常关心我的毕设进度,进行认真地指导和帮助。 我的毕业设计和论文是在中科院软件研究所做的,指导老师是我以后的研究生导师副研 究员。本篇论文的工作基于中科院创新基金科技助残项目下的聋儿康复资源管理系统的设计 和开发。非常感谢老师给予我的帮助:在项目的开发过程中,鼓励督促我安排好各项开发进 度,并在工作和生活中都给予我很大的鼓励和支持;在论文撰写之际,王老师多次给予耐心 指导和热心辅导,给我不少启发,帮助我顺利的完成了课题研究和论文写作。 衷心感谢我现在所在课题小组的洪佳、李洁、吴广煜、彭芳、李霞、尹婷婷、汪萌萌、 张婕、崔德华等同学以及周翔翼、冷冰、苏菲等同事;衷心感谢一起过来做毕设的王子璐, 杜一,董如振,陈心光,他们在我校外毕设期间给了我很大帮助。 衷心感谢我所有的好朋友和同学们,感谢你们在学习和生活上给与我关心和帮助。 最后,仅以此文作为微薄的礼物奉献给我的父母,以感谢他们的养育之恩。 参考文献 54 参考文献参考文献 1 郭运宏. Web 挖掘与 Web 日志挖掘之研究J. 郑州铁路职业技术学院学报, 2006, 18(2): 4043. 2 Weijun Wang, Jing Sun. Web2.0 Architecture Evolves Innovation of Enterprise Information Resource ManagementJ. Wuhan International Conference on E-Business, 2007, 5: 2627. 3 莫苛. 浅论多媒体教学优势J. 洛阳师范学院学报, 2004, 23:129131. 4 K12academics. K12 教育. /. 5 S.Dupont, J.Luettin. Audio-Visual Speech Model for Continuous Speech RecognitionJ. IEEE Transactions On Multimedia, 2000, 9(2):141151. 6 郑俭, 许家成, 冯素梅, 叶帮利. 对因特网特殊教育资源的整合与多方式传播J. 中国特殊教育, 2006, 8(2): 4648. 7 何璇. WEB2.0 时代. 计算机学报J, 2007, 4: 6162. 8 Toshiki Sakamoto, Yasuhiko Kitamura, Shoji Tatsumi. Information Recommendation System and Its Rational Recommendation MethodJ. Systems and Computers in Japan, 2007, 38: 7484. 9 Karen A. Coombs. Building a Library Web Site on the Pillars of Web2.0J. Computers in Libraries, 2007, 7: 1619. 10李国锋,李春伟. 网络搜索引擎技术探析J. 廊坊师范学院学报 ,2005, 11: 8284. 11Takeo Igarashi, Satoshi Matsuoka, Hidehiko Tanaka. Teddy: A Sketching Interface for 3D Freefrom DesignJ, ACM SIGGRAPH, 1999, 9(99): 10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论