基于ictclas50智能答疑系统设计与实现毕业论文.docx
- 文档编号:25439050
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:55
- 大小:1.26MB
基于ictclas50智能答疑系统设计与实现毕业论文.docx
《基于ictclas50智能答疑系统设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于ictclas50智能答疑系统设计与实现毕业论文.docx(55页珍藏版)》请在冰豆网上搜索。
基于ictclas50智能答疑系统设计与实现毕业论文
本科毕业论文(设计)
基于ICTCLAS50智能答疑系统设计与实现
李旭俊
201030740318
指导教师
祝胜林副教授
学院名称
信息学院
专业名称
计算机科学与技术
论文提交日期
2014年4月28日
论文答辩日期
2014年5月10日
摘要
随着网络的发展,社会信息量的加大,人们在面对着一个问题上往往希望自己的问题能快速找到正确权威的答复和答案,而不用再面对搜索的大量信息再进行挑拣和提炼,但是这样有一个很大的障碍,就是对语言和语义的判断,特别是在中文词汇的划分速率与正确,另一个是在知识的重用和共享上的充足程度,知识的搜索速率上的大小。
本论文以荔枝知识为例子,将荔枝作为具体的本体,建立荔枝知识的语义网络,以SSH为系统架构,采用中科院ICTCLAS分词工具、知识推理的相关技术,构建荔枝知识智能答疑系统。
论文的结构和内容有:
(1)对比本体的构建原则和方法,使用合适荔枝本体库构建的方法,参照相关的荔枝领域知识,用本体开发工具protege构建OWl荔枝的知识本体库。
(2)介绍和使用ICTCLAS50分词工具,介绍系统分词模块的建立方法。
对用户的提问进行解析分词。
(3)介绍本体推理机,使用jena进行荔枝本体的存储和知识的推理。
(4)简单介绍当前主流三大框架SSH的,使用SSH作为系统的架构。
设计基于ICTCLAS50的荔枝本体的智能答疑系统,实现用户的自然语言的提问的分析处理。
关键字:
jena本体ICTCLAS50SSH智能答疑
ResearchOnIntelligentQuestionAnsweringSystemBasedOnICTCLAS50
LiXujun
(CollegeofInformatics,SouthChinaAgriculturalUniversity,Guangzhou510642,China)
Abstract:
Withthedevelopmentofthenetwork,increasingtheamountofinformationsociety,whenpeoplearefacedwithaproblemontheirowntheyoftenwanttoquicklyfindthecorrectandauthoritativeanswers,butdonotwanttofacealotofinformationsearchandthenpickrefiningbutthereissuchabigobstacleisthelanguageandsemanticsofjudgment,especiallyintheChinesedivisionratewiththerightwords,andtheotherisontheadequacyofthereuseandsharingofknowledge,thesizeofthesearchontherateofknowledge.Inthisthesis,usinglycheeknowledgeasanexample,defininglitchiasaspecificontology,buildasemanticknowledgenetwork.ItuseSSHasthesystemarchitecture,theuseofChineseAcademyofSciencesICTCLASsegmentationtools,knowledgeinferencetechnologies,tobuildknowledgelycheeintelligentquestionansweringsystem.Structureandcontentofthepaperare:
(1)Comparingtheprinciplesandmethodsofconstructintontology,usingtheappropriatemethodofconstructingontologyoflychee.Referencingtotherelevantdomainknowledge,ontologydevelopmenttoolsprotegeusedtobuildOWllycheeontologylibrary.
(2)IntroduceanduseofestablishedmethodsICTCLAS50tool,describesthesystemsegmentationmodule.Askedtoparsetheuser'sword.
(3)Describesontologyinferenceengine,usingjenareasonerandknowledgestoredlycheeontology.
(4)BrieflyintroducethecurrentmainstreamofthethreeframeworkSSHusingitasthearchitectureofthesystem.DesignofintelligentansweringsystembasedonontologyICTCLAS50lychee,implementationanalysisofnaturallanguageprocessinguserquestions.
Keywords:
jenaontologyICTCLAS50SSHIntelligentQuestionAnswering
1.前言
荔枝起源于我国南部,具有悠久的历史,荔枝与香蕉、菠萝、龙眼一同号称“南国四大果品”。
是亚热带果树,常绿乔木。
同时也是我国南方重要的经济作物之一。
荔枝的培育在我国也有两千多年的历史,荔枝的品种很多,各个品种的特征也不尽相同,其中像“妃子笑”,“糯米滋”更是获得古代文人的赞赏和美誉。
荔枝发展到现在2000多年,相关的种植技术以及病虫害防治也在不断地发展,及时帮助农户了解各种病虫害和对应的防治技术非常有必要,这将帮助农户减少损失,提高荔枝的产量和质量。
荔枝作为一种平评价很高的水果,它本身具有很高的营养价值,富含多种微量元素,荔枝可以和某些其他食品搭配,达到口感营养等价值的提升,也会有其他的相关的禁忌,搭配错误可能会引起不良的后果。
本研究通过建立智能答疑系统,用户通过输入自己的问题,系统后台在相关的知识库中获取答案,并显示给用户。
知识库是通过本体建立语义网为基础构建起来的,为用户搭建起一个便捷、高效的知识和信息的共享平台。
1.1什么是本体
在维基百科上的定义:
是在计算机科学与信息科学领域,理论上,本体是指一种“形式化的,对于共享概念体系的明确而又详细的说明”。
本体提供的是一种共享词表,也就是特定领域之中那些存在着的对象类型或概念及其属性和相互关系;或者说,本体就是一种特殊类型的术语集,具有结构化的特点,且更加适合于在计算机系统之中使用;或者说,本体实际上就是对特定领域之中某套概念及其相互之间关系的形式化表达(formalrepresentation)。
本体是人们以自己兴趣领域的知识为素材,运用信息科学的本体论原理而编写出来的作品(artifacts)。
本体一般可以用来针对该领域的属性进行推理,亦可用于定义该领域(也就是对该领域进行建模)。
此外,有时人们也会将“本体”称为“本体论”。
1.1.1概述
英文术语“ontology”一词源于哲学领域,且一直以来存在着许多不同的用法。
在计算机科学领域,其核心意思是指一种模型,用于描述由一套对象类型(概念或者说类)、属性以及关系类型所构成的世界。
尽管不同的本体对于这些构成成分的确切称谓有所不同,但它们却都是一部本体不可或缺的基本要素。
一般来说,人们所普遍期望的一点就是,本体之中模型的那些特征应当非常类似于相应的现实世界。
就计算机科学与哲学来说,二者所说的本体之间的共同之处就在于,它们都是依据某种类别体系,来表达实体、概念、事件及其属性和相互关系。
在这两个领域当中,存在针对本体相对性(ontologicalrelativity)的种种问题(比如,哲学领域的奎因和克里普克,计算机科学领域的索瓦和高利诺),人们已经和正在开展相当大量的工作;而且,人们也在讨论关于规范化本体是否具有生命活力(比如,哲学领域之中针对基础主义(foundationalism)的讨论,人工智能领域之中针对Cyc项目的讨论)。
二者之间的那些差别在很大程度上只是侧重点的问题。
与计算机科学领域的研究人员相比,哲学家们则较少关心建立固定不变的受控词表。
然而,计算机科学家们则较少参与有关首要原则的讨论(比如,关于是否存在诸如不变本质(fixedessences)之类事物的讨论,或者关于实体在本体论上必定比过程更为基本的讨论)。
1.1.2本体构成要素
常见的本体构成要素包括如下表1所示:
表1本体过程属性
属性
属性说明
个体(实例)
基础的或者说“底层的”对象
类
集合(sets)、概念、对象类型或者说事物的种类
属性
对象(和类)所可能具有的属性、特征、特性、特点和参数
关系
类与个体之间的彼此关联所可能具有的方式
函式术语
在声明语句当中,可用来代替具体术语的特定关系所构成的复杂结构
约束(限制)
采取形式化方式所声明的,关于接受某项断言作为输入而必须成立的情况的描述
规则
用于描述可以依据特定形式的某项断言所能够得出的逻辑推论的,if-then(前因-后果)式语句形式的声明。
公理
采取特定逻辑形式的断言(包括规则在内)所共同构成的就是其本体在相应应用领域当中所描述的整个理论。
这种定义有别于产生式语法和形式逻辑当中所说的“公理”。
在这些学科当中,公理之中仅仅包括那些被断言为先验知识的声明。
就这里的用法而言,“公理”之中还包括依据公理型声明所推导得出的理论
事件 (哲学)
属性或关系的变化
1.1.3本体语言
本体一般都是采用本体语言来编制的。
本体语言,又称为“本体论语言”,是一种用于编制本体的形式化语言。
目前,存在着许许多多此类的本体语言,既包括专有的,也包括基于标准的:
普通逻辑(Commonlogic)就是ISO标准24707;这是关于一种本体语言家族的技术规范,其中的本体语言彼此之间可以准确地相互转换。
Cyc项目有其自己的,基于一阶谓词演算,且具有某些高阶扩展的本体语言(即CycL)。
Gellish语言之中包括了关于自身扩展的规则,因而集成了一部本体和一种本体语言。
IDEF5是一种用于编制和维护准确的,具有可复用性的领域本体的软件工程方法。
知识交换格式(KnowledgeInterchangeFormat,KIF)是基于S-表达式的一种一阶逻辑语法。
规则交换格式(RuleInterchangeFormat,RIF)与F-逻辑(F-Logic)可将各种本体和规则结合起来。
OWL(WebOntologyLanguage)是一种用于编写本体声明(ontologicalstatements)的语言。
OWL的发展继承了RDF和RDFS以及一些早期的本体语言项目,包括本体推理层(OntologyInferenceLayer,OIL)、DARPA智能体标记语言(DARPAAgentMarkupLanguage,DAML)以及DAMLplusOIL。
OWL旨在应用于万维网之上;而且,其构成要素(类、属性和个体)均被定义为RDF资源,并采用URI加以标识。
图1本体语言栈
1.2XML
xml即可扩展标记语言。
作为标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的标记语言。
它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
1.2.1可扩展标记语言
1)可扩展标记语言是一种很像超文本标记语言的标记语言。
2)它的设计宗旨是传输数据,而不是显示数据。
3)它的标签没有被预定义。
您需要自行定义标签。
4)它被设计为具有自我描述性。
5)它是W3C的推荐标准。
1.2.2可扩展标记语言和超文本标记语言之间的差异
1它不是超文本标记语言的替代。
2它是对超文本标记语言的补充。
3它和超文本标记语言为不同的目的而设计:
4它被设计用来传输和存储数据,其焦点是数据的内容。
5超文本标记语言被设计用来显示数据,其焦点是数据的外观。
6超文本标记语言旨在显示信息,而它旨在传输信息。
7对它最好的描述是:
它是独立于软件和硬件的信息传输工具。
1.3本章小结
本章主要说明本体的基本概念和相关的本体语言,因为owl和RDF是都是xml格式的,所以在本章第二节介绍什么是xml和它的特点。
2.构建本体的方法
2.1领域本体构建遵循的原则
目前己有的本体很多,出于对各自问题域和具体工程的考虑,构造本体的过程也是各不相同的。
由于没有一个标准的本体构造方法,不少研究人员出于指导人们构造本体的目的,从实践出发,提出了不少有益于构造本体的标准。
通过分析总结,本体的设计原则可以概括如下:
① 明确性和客观性:
即本体应该用自然语言对所定义术语给出明确的、客观的语义定义。
② 完全性:
即所给出的定义是完整的,完全能表达所描述术语的含义。
③ 一致性:
即由术语得出的推论与术语本身含义是相容的,不会产生矛盾。
④ 最大单调可扩展性:
即向本体中添加通用或专用的术语时,不需要修改其己有的内容。
⑤ 最小承诺:
即对待建模对象给出尽可能少的约束。
⑥ 最小编码偏差:
本体的建立应尽可能独立于具体的编码语言。
⑦ 兄弟概念间的语义差别应尽可能小。
⑧ 使用多样的概念层次结构实现多继承机制。
⑨ 尽可能使用标准化的术语名称。
2.2本体的构建工程思想
当前,建立本体大部分还是采用手工编辑方式,还远远没有成为一种工程性的活动,每个本体开发组都有自己的原则、设计标准和定义方法。
为了减少本体构建过程中的人为参与,现在出现很多基于人工智能的半自动化及自动化本体构建方法。
较纯手工的本体构建方法相比,这些方法虽然节省了效率,但遗憾的是也没有达到本体方法学的标准(刘仁宁等,2008)。
比较有名的本体构建工程思想有:
(1)IDEF-5(KojiY,2003)方法:
IDEF的概念是在70年代提出的,是在结构化分析方法的基础上发展起来的。
IDEF5是KBSI(KnowledgeBasedSystemsInc.)开发的一套用于描述和获取企业本体的方法。
IDEF5通过使用图表语言和细化说明语言,获取关于客观存在的概念、属性和关系,并将它们形式化成本体。
IDEF5创建本体的5个主要步骤是:
① 定义课题、组织队伍;② 收集数据;③ 分析数据;④ 本体初步开发;⑤本体优化与验证。
(2)SkeletalMethodolody骨架法(UscholdM,1996):
这个方法是从英国Edinburgh大学AI应用研究所的Enterprise项目组开发企业建模过程的EnterpriseOntology本体的经验中得出的,该方法主要面向企业活动领域的本体构建,包含了同企业活动相关的一组术语和定义,以企业为对象领域构建本体。
图2 骨架法流程图(刘仁宁等,2008)
(3)TOVE企业建模法(GruningerM,1995):
又称Gruninger&Fox“评价法”是加拿大Toronto大学企业集成实验室基于在商业过程和活动建模领域内开发TOVE项目本体的经验,通过本体建立指定知识的逻辑模型。
用一阶逻辑构造了形式化的集成模型,包含企业设计本体、项目本体、调度本体或服务本体。
图3TOVE流程图(刘仁宁等,2008)
(4)Methontology方法:
MarianoFernandez&GOMEZ-PEREZ等的Methontology方法是由西班牙Madrid理工大学AI实验室提出的。
该方法是在结合了骨架法和GOMEZ-PEREZ方法后,提出的一种更为通用的本体建设方法。
这个本体开发方法更接近软件工程开发方法。
它将本体开发进程和本体生命周期两个方面区别开来,并使用不同的技术予以支持。
Methontology法,专用于创建化学本体(有关化学元素周期表的本体),该方法已被马德里大学理工分校人工智能图书馆采用。
它的流程包括:
a.管理阶段:
这一阶段的系统规划包括任务的进展情况、需要的资源、如何保证质量等问题。
b.开发阶段:
分为规范说明、概念化、形式化、执行以及维护五个步骤。
c.维护阶段:
包括知识获取、系统集成、评价、文档说明、配置管理五个步骤。
(5)循环获取法:
AlexanderMaedche等的CyclicAcquisitionProcess,是一种环状的结构。
基本流程如下:
a.资源选取:
这是环形的起点,是一个通用的核心本体的选择。
任何大型的通用本体(像Cyc、Dahlgren的本体)、词汇-语义网(像WordNet,GermaNet)、或者领域相关的本体(像TOVE)都可以作为这个过程的开始。
选定基础本体后,用户必须确定用于抽取领域相关实体的文本。
b.概念学习:
从选择的文本中获取领域相关的概念,并建立概念之间的分类关系。
c.领域集中:
除去领域无关的概念,只留下和领域相关的。
这时,建立起了目标本体的概念结构。
d.关系学习:
除了从基础本体中继承的一些关系,其它的关系需要通过学习的方法从文本中抽取。
e.评价:
对得到的领域相关的本体进行评价,接着还可以进一步地重复上述过程。
图4 循环获取法(张囡囡,2008)
(6)七步法:
斯坦福大学医学院开发的七步法,主要用于领域本体的构建。
七个步骤分别是:
① 确定本体的专业领域和范畴;② 考查复用现有本体的可能性;③ 列出本体中的重要术语;④ 定义类和类的等级体系(完善等级体系可行的方法有:
自顶向下法、自低向上法和综合法[7]);⑤ 定义类的属性;⑥ 定义属性的分面;⑦ 创建实例(刘仁宁等,2008)。
2.3建领域本体的步骤
本体的开发和完善是一个反反复复不断补充的迭代过程。
领域本体中的概念应该贴近于要研究的专业领域中的客观实体和关系法则。
综合上节几种本体构建的工程思想,归纳并总结出构建领域本体的几个步骤:
2.3.1确定领域本体的专业领域和范畴
领域知识往往十分庞大的,本体不可能包括所有的概念,因此,在建立本体前必须先确定本体将覆盖的专业领域、范围和应用目标,本体应该在哪些方面发挥作用以及它的系统维护者与应用对象。
不同的应用领域,领域概念肯定是不同的,即使是同一个领域,由于应用的不同,本体表示的概念的侧重点肯定也会有所不同。
因此,建立本体之前一定要明确本体建立的领域和应用目标。
本体是一个复杂的知识体系,确定每个阶段的范围和目标有助于对本体模型的范围作一个限定,有利于复杂系统的实现。
2.3.2考虑复用现有的本体
本体的主要作用就是解决知识的共享和重用问题。
所以在设计和建立自己的领域本体之前,应该考虑重用已经存在的本体。
如果系统需要和其它的应用平台进行互操作,而这个应用平台又与特定的领域本体或相关概念联系在一起,那么复用现有的本体是行之有效的方法。
例如Ontolingua的本体文库可以导入到本体开发系统中,并且本体的格式转换也并不困难。
2.3.3列出本体涉及领域中的重要术语
领域本体是描述概念以及概念与概念之间的关系,首先要列举出该领域中的所有概念以及对该概念的详细解释。
在特定领域,这些概念就是与领域相关的专业术语。
把领域中一些重要术语列举出来,有利于知识工程师更好地理解本体建立的目标,明确方向。
除此之外,针对每个概念,要列出它所有可能的属性,每个属性都有对应的属性值。
2.3.4定义分类概念和概念分类层次
概念分类层次将领域概念进行分类组织,用于描述领域概念间的类属关系,并将本体中的概念模块化。
建立一个分类概念的层次结构有3种可行的方法:
自顶向下法、自底向上法和综合法。
一般领域概念分类层次对应着一棵树,树中的节点体现了领域概念间的层次结构关系。
树有四类元素组成:
根节点,枝节点,树枝,叶节点。
建立领域概念的分类关系后,将分类概念的属性值添加到分类概念中,这样就把领域概念通过树形结构形象地描述出来,并且通过树结构清晰地体现了领域概念间的类属关系。
每一个子树都对应着领域中独立的、模块化的知识模型。
领域分类概念应该包括:
概念名称,语义描述,该概念可能的同义词、缩略语。
定义分类概念,就是对这些信息进行描述。
同时,要对所建立的概念分类层次进行检验,保证没有重复的概念,防止冗余定义。
2.3.5定义概念之间的关系
概念的分类层次结构体现了分类概念之间的一种继承关系(kind-of),但是在领域本体中,概念和概念之间通过关系来交互,除了继承关系,在我们构建的领域本体中还可以根据需要,定义其他的关系。
2.4protege工具建立本体
Protégé软件是斯坦福大学医学院生物信息研究中心基于Java语言开发的本体编辑和知识获取软件,或者说是本体开发工具,也是基于知识的编辑器,属于开放源代码软件。
这个软件主要用于语义网中本体的构建,是语义网中本体构建的核心开发工具,现在的最新版本为4.3版本。
Protégé提供了本体概念类,关系,属性和实例的构建,并且屏蔽了具体的本体描述语言,用户只需在概念层次上进行领域本体模型的构建。
Protégé使用JAVA和OpenSource作为操作平台,可用于编制本体和知识库(KnowledgeBase),protégé可以根据使用者的需要进行定制,通过定制用户的界面以更好地适应新语言的使用;有可自行设置的数据输入模式,可以将protégé的内部表示转制成多种形式的文本表示格式,如:
XML、RDF(S)、OIL、DAML、DAML+OIL、OWL等系统语言。
Protégé工具本身没有嵌入推理工具,不能实现推理,但它具有很强的可扩展性,可以插入插件来扩展一些特殊的功能如推理、提问、XML转换等。
Protégé提供可扩展的独立平台环境,用于构建和编辑本体以及知识库。
Protégé开放源码,运行多重继承,提供本体建设的基本功能,而且它采用图形化界面,界面风格与OilEd一样,都与WINDOWS操作系统的风格一致,模块划分清晰。
另外,protégé本体结构和OntoEdit一样,也是以树形的等级体系结构来显示,用户可以通过点击相应的项目来增加或编辑类、子类、实例等,所以用户使用protégé不需要掌握具体的本体表示语言,是用户比较容易学习、使用的本体开发工具。
由于其优秀的设计和众多的插件,其已经成为目前最广泛的本体论编辑器之一,它已成为国内外众多本体研究机构的首选工具。
2.4.1Protégé的特点
Protégé是一组自由开源的工具软件,用于构建域模型与基于知识的本体化应用程序。
Protégé提供了大量的知识模型架构与动作,用于创建、可视化
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ictclas50 智能 答疑 系统 设计 实现 毕业论文
![提示](https://static.bdocx.com/images/bang_tan.gif)