《基于本体的远程教学辅助系统的设计与实现-毕业论文》由会员分享,可在线阅读,更多相关《基于本体的远程教学辅助系统的设计与实现-毕业论文(51页珍藏版)》请在金锄头文库上搜索。
1、本科毕业论文本科毕业论文(科研训练、毕业设计)题题 目:基于本体的远程教学辅助系统目:基于本体的远程教学辅助系统 的设计与实现的设计与实现姓 名:学 院:软件学院系:软件工程专 业:软件工程年 级: 学 号:指导教师(校内): 职称: 指导教师(校外): 职称: 年 月厦门大学本科毕业论文- 1 -基于本体的远程教学辅助系统的设计与实现基于本体的远程教学辅助系统的设计与实现摘要摘要 近年来,随着计算机网络的普及,远程辅助教学也越来越受到人们的关注。当前已有的系统主要是提供教学大纲,在线课件等功能,缺乏与学生的互动性。本文提出了基于本体的远程教学辅助系统,是用本体对传统系统的扩展,提供了常见问题
2、的查询功能,加强了与学生的互动,并对本体进行推理,使得查询的结果更加符合人们的要求。本文以数据结构课程为例,设计了远程教学辅助系统,并对基于本体的远程教学辅助系统的各项相关技术进行深入研究。本文首先介绍了本体的基本概念、发展和应用现状,并详细介绍本体的构建方法、本体的描述语言、建立本体的工具、建立本体的原则等。然后介绍基于本体的推理工具、推理原理等。进而介绍远程教学辅助系统的详细设计与实现,并展示应用本体的结果。本系统用 OWL 语言构建本体,使用 Jena 对本体进行解析,并应用 Jena 自带的推理及进行推理,扩展查询结果。最后,对系统的不足做出总结并提出展望。关键字:关键字:本体 推理
3、信息检索厦门大学本科毕业论文- 2 -DESIGN AND IMPLEMENTATION OF REMOTE TEACHING ASSISTANT SYSTEM BASED ON ONTOLOGYAbstract In recent years, with the popularity of computer networks, remote teaching assistant system has become increasingly subject to the attention of the people. At present the Remote Teaching Assist
4、ant system is lack of interaction, which can merely provide curricula, online courseware, and other functions. This paper tries to propose a frame of remote teaching assistant system based on ontology which can use ontology for the expansion of the traditional system, providing for the common functi
5、ons, enhanced interaction with the students by allowing users to search frequently asked questions, and ontology reasoning, the results of inquiries made more in line with the peoples requirements. This paper attempts to study each kind of technology that utilized in building a Remote Teaching Assis
6、tant system based on ontology and make Data Structure course as an example.Firstly several important definitions that related to ontology is described, including the concept and development of ontology, the function to construct it the construction language, tools, principle and application. Subsequ
7、ently, the tools and principles of reasoning based on ontology are stated. Furthermore, how the new system is designed and realized is introduced in details and the result is showed. The OWL language is applied in this system to construct ontology; the Jena toolkit of open source is used to analyze
8、the ontology; the reasoner is connected by the interface provided by Jena. Finally, the shortcomings of the system and to conclude the paper.Keywords:ontology reasoning information retrieval厦门大学本科毕业论文- 3 -目录目录第一章 引言1第二章 本体介绍22.1 本体的概念22.2 本体的现状与发展22.3 构建本体的方法32.4 本体的描述语言42.4.1 RDF(S)42.4.2 OIL62.4.3
9、 DAML.62.4.4 OWL72.5 建立本体的工具.92.5.1 Protg-2000.92.5.2 Ontolingua with Chimaera102.5.3 OILEd102.5.4 OntoEdit10第三章 对本体进行推理123.1 推理机介绍.123.2 Jena 推理机制13第四章 系统详细设计与实现154.1 功能权限.164.2 模块介绍.174.2.1 课程简介174.2.2 参考文献174.2.3 课程大纲184.2.4 授课教案194.2.5 习题20厦门大学本科毕业论文- 4 -4.2.6 Qwhilewhile (iter.hasNext()String t
10、emp=iter.nextStatement().getSubject().getLocalName();ifif(temp!=“Nothing“)booleanboolean result=Ppile(temp, Pattern.CASE_INSENSITIVE).matcher(txt).find();ifif(result)h.addAll(WordReasoning(temp);这里,listStatements ()方法是本体模型的方法,它可以列出所有本体文件中的条目。这个条目包括“主语”、“谓语”和“宾语”,也就是本体类对象,关系属性和目标本体类对象。分别有不同的 get 方法来过
11、去这些条目的不同成分。WordReasoning()是推理过程函数,传入的参数就是所要推理的关键词,而这个关键字必须是已在本体文件中存在的类名。(3)建立本体模型(data)和推理机(reasoner)以及推理模型(infmodel) ,并把本体数据和推理机绑定到推理模型上。 20 必须把本体模型放入推理模型才能实现推理的过程,I厦门大学本科毕业论文38n-fModel 类就是推理模型类。仅仅只有推理模型还不够,最重要的是要在推理模型中加入所要使用的推理机,这里使用 OWLMicroReasoner 推理机(前面已经有所介绍)。最后,还要把数据和推理机绑定到一起。privateprivate
12、InfModel infmodel;Model data = FileManager.get().loadModel(“file:one.owl“);Reasoner reasoner = ReasonerRegistry.getOWLMicroReasoner();infmodel = ModelFactory.createInfModel(reasoner, data);这里,使用 jena 中的 ModelFactory 类来创建推理模型,这个要用到 createInfModel()方法,传入的参数一个是推理机,另一个是本体数据。(4)获得推理关键词(predicate) ,子类关系(c
13、hildOf)和等价类关系(equal) 。这一步是为后面的推理做准备,也就是要对关键词进行子类关系和等价类关系进行推理。类要存储在 Resource 类中,属性要存储在 Property 类中。Resource predicate = infmodel.getResource(“http:/word/#“+key);Property equal = infmodel.getProperty(“http:/www.w3.org/2002/07/owl#equivalentClass“);Property childOf = infmodel.getProperty(“http:/www.w3.
14、org/2000/01/rdf-schema#subClassOf“);这里需要说明一下,无论是获得资源还是获得属性,都需要指定所需要目标的 URI,比如,如果所需要的对象是自己在本体文件中定义的,那么必须要使用命名空间“namespace”中制定的 URI 前缀,之后加上本体类的名称。所谓 URI,就是指本体里面的每一个元素,不管是类、实例还是属性等,都要有一个标识,这个标识一定要在这个所指定的命名空间里唯一。前面介绍过一种关系,等价类关系,它指的是两个类等价或者说是相同,但是唯一的不同就是它们要有不同的 URI。由于之前定义 xmlns=http:/word/,所以本体模型的 getRes
15、ource()方法的参数一定要使用 http:/word/#作为前缀。如果所需要的对象不是自己定义的,而是 OWL 内置的一些概念,就要把它的完整 URI 给出,才能得到指定的对象。比如上段程序中,想要得到等价类关系,必须要指出 URI 为 http:/www.w3.org/2002/07/owl#equivalentClass,这个 URI 是所有等价类关系的统一标识,也就是说只要所使用的语言是 OWL来描述本体,无论是谁编写的本体文件,等价类关系的 URI 就一定是这个。(5)对关键词利用得到的关系如等价类关系进行推理,得到关键词的同义词。 21 也就是列出符合一定条件的条目,这里是要找出
16、与关键字是等价关系的类。得到了这个条目之后要厦门大学本科毕业论文39找出它的主语,接着顺势找出这个主语的名字。forfor (StmtIterator i = infmodel.listStatements(nullnull, equal, predicate); i.hasNext();) Statement stmt = i.nextStatement();String localName = stmt.getSubject().getLocalName();r.add(localName);在这一步中,使用一种游标来指向每一个本体条目,利用 for 循环找寻符合一定条件的本体。而这个条件将由本体模型的 listStatements()方法指定。之前已经使用过这个方法,如果不传入任何参数,就会列出文件内的所有本体,但是像上述代码那样,就会找出这种“主”“谓”“宾”模式的本体条目,简单一点解释,设这三个参数分别是 p1、p2 和