基于Ontology的内容分析系统的设计与模拟实现,本文主要内容关键词为:内容论文,系统论文,Ontology论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
内容分析法是一种对具有明确特性的传播内容进行客观、系统和定量描述的研究技术[1]。在社会科学研究诸多领域中具有相当的用途,但是由于该方法在实际操作中,分析的层面主要停留在语法上,缺乏对概念之间的语义关系进行内容分析的有效解决方案,其应用受到了一定的局限,尤其是难以满足在网络环境下人们更加渴望透过信息外在的表现形式看到隐含的信息内容的科学研究需求。基于解决内容分析法存在的问题和拓展应用的目的,笔者在从事相关课题研究时,在充分研究理论、流程、技术与应用的基础上,提出了基于Ontology的内容分析法新的研究思路,并设计与开发了应用系统,本文仅对系统的开发部分进行阐述。
1 系统设计的思想与可行性分析
1.1 系统设计的基本思想
Ontology的本质是定义并说明概念范畴及其互相之间的关系,由本领域对象类的层次体系、对象类的属性及属性的取值限制、语义关系体系、关于对象类及语义关系的推理规则4部分组成[2]。因此,根据课题研究的出发点,基于Ontology的内容分析系统设计的基本思想是:吸纳Ontology定义的精髓,将依据Ontology思想构建的对象类的数据集作为内容分析法研究对象的来源,在Ontology组成结构与技术的支撑下,进行特定需求的内容分析研究,以达到网络环境下面向概念语义层次上实现内容分析的目的。
1.2 系统设计的可行性分析
通过对内容分析法与Ontology进行理论与方法流程的比较,笔者认为:用于内容分析法的Ontology概念模型可以相当于人工内容分析的编码手册或者计算机辅助内容分析的词典,Ontology定义的关系与规则,可以保证在内容分析中层层推理更加简单有效地实现,并获得更有价值的信息。
在实践上,通过调查研究,笔者了解到:Ontology与内容分析法结合的研究,已经引起了国外研究者的关注。如文献[3] 提出了在Ontology的基础上对文献进行内容分析、推理、检索等;文献[4] 认为运用内容分析法得出的相关知识内容来建立Ontology的实体,然后在此基础上逐步对Ontology进行修正和扩展,是Semantic Web资源中知识表示的一种新方法;文献[5] 是对欧洲知识经济研究项目中一个子项目的介绍,该子项目的工作就是首先对知识和概念进行分类,然后再建立或匹配Ontology,在此基础上进行内容分析以获得与Ontology相关的所有内容的特征,最后形成对内容或知识的自描述。尽管这些项目尚处于探索研究阶段,但是可以显见:Ontology 能够服务于内容分析法,反过来内容分析法也能够用于更好地构建Ontology。因此,基于Ontology的内容分析系统的设计将具有可行性和实用性。
2 系统的总体设计
2.1 总体结构设计
为了达到本课题的研究目的,基于Ontology的内容分析系统的总体结构,要以Ontology 应用的层次架构与内容分析法的一般流程为依据。在实际应用时,Ontology被细分为顶层Ontology、领域Ontology、任务Ontology和应用Ontology四类。文献[6] 提出基于Ontology应用系统的一般构架由Ontology(底层)、中间件(中间层)和应用(上层)三个部分组成。在Ontology层中可以包括提取、编辑、合并、评估与解释;在中间件层中可以包括存储、转换、翻译、推理、安全、传递;应用层可以包括检索、浏览、可视化、分享等。参照上述的层次结构并结合内容分析法的操作,我们设计的总体结构包括:Ontology管理模块、内容资源管理模块、内容分析模块以及语义分析查询模块四个部分,如图1所示。
附图
图1 基于Ontology的内容分析系统的总体结构
2.2 功能结构设计
(1)在Ontology的共享的显性的概念描述框架支持下, 实现对特定内容分析对象在概念层次上的描述、处理、存储、检索、统计与分析;
(2)在Ontology的层次体系和语义关系体系的支持下, 实现对特定内容分析需求在概念间关系上的处理、检索、解析与分析;
(3)在各种推理规则支持下,实现对内容分析样本深层次的信息挖掘。
2.3 分析系统的流程设计
(1)确定内容分析法需要解决的问题和分析的目的,然后根据研究目的选择相应的内容分析样本;
(2)根据分析的问题确定其所属领域,选择已经存在的所选领域Ontology 或者在领域专家的帮助下建立该领域Ontology;
(3)根据内容分析的目的, 选择已经存在的任务 Ontology 或者建立新的任务Ontology;
(4)在任务Ontology中对所选内容样本数据进行管理与RDF解析;
(5)确定相关的检索概念及关系, 也就是根据需要分析的问题制定相关的分析策略,列出需要进行分析的概念及关系,以备进行相关的语义分析;
(6)语义查询分析,即通过Ontology 的推理机制来进行相关的语义查询与推理分析;
(7)得出与结论相关的数据或图表。
3 系统实现的关键技术和运行环境的选择
3.1 系统实现的关键技术
基于Ontology的内容分析系统实现的关键技术主要涉及到:构建Ontology的技术、内容分析样本的处理与存储、检索及推理分析。
Ontology 的构建需要在领域专家的帮助下借助描述语言与编辑器完成,目前,RDF和OWL是Ontology最为流行的描述语言,RDF是W3C在XML的基础上推荐的一种标准,用于表示任何的资源信息。OWL是W3C组织推荐的语义互联网中Ontology描述语言的标准,处于W3C提出的语言栈中的最上层。流行的Ontology编辑器主要有:Protégé、OILED等等。Protégé是斯坦福大学开发的可视化的Ontology编辑工具,它可以很方便的建立Ontology中的类、属性、属性的约束(Domain和Range),以及实例(Instance)等。用Protégé建立的Ontology以OWL形式存在,并能够被转换为RDF文件。同时在此基础上可以利用Jena对其进行相关的推理检索。
内容分析样本的数据类型主要是非结构化内容和半结构化内容,对于非结构化内容通常采用对题目、对关键词与小标题以及对内容中出现频率较高的词条进行抽取处理,对于半结构化,如XML表示的文档一般使用相关语言对其进行抽取处理。 另外,内容样本的存储目前主要采用两种方式:一种是直接在Ontology中以实例的形式存储,另一种方法则是通过相应的关系数据库(如MySQL,Oracle等)进行存储。
检索与推理分析主要依靠Jena,它是由惠普实验室开发的,能够实现对RDF以XML形式的读取和书写,也能够对RDF图进行查询,同时还能对图进行相关的并、 交、差等推理操作。具体包括用于对RDF文件和模型进行处理的RDF API,用于对RDF、RDFS、OWL文件(基于XML语法)进行解析的解析器,RDF模型的持续性存储方案,用于检索过程推理的基于规则的推理机子系统,用于对Ontology进行处理和操作的Ontology子系统,用于信息搜索的RDQL查询语言等。
3.2 运行环境的选择
本系统是利用VicSoft.RDF开发包进行语义分析的,它是一个针对.NET平台的开发包,所以,具体的开发工具选择了VS.NET 2003;由于Ontology的编辑工具Protégé已经具备了相当强大的功能,在开发时就直接选择了该工具。系统的具体运行环境如下:
(1)操作系统:Windows2000 Server
(2)开发工具:Microsoft Visual Studio.NET 2003
(3)本体编辑工具:Protégé 3.0 beta
本体推理开发包:VicSoft.RDF。
4 基于Ontology的内容分析系统的模拟实现
4.1 确定研究目的、选择内容分析样本
我们以舰船情报研究方面的相关内容为模拟研究对象,以中国知网(CNKI)期刊全文数据库(2000—2004年)作为内容分析样本的数据源,针对中图法分类中的潜水艇类别,分析我国在潜艇声音、动力系统、对抗作战能力、操纵控制、潜艇结构构造、设备装置等六个方面的文献内容研究状况。模拟系统中主要分析的指标是:
(1)与这六个类相关的文献出现的次数;
(2)与这六个类相关的作者出现的次数;
(3)与这六个类相关的关键词出现次数的排序。
4.2 Ontology的建立与内容分析样本的存储
在系统的模拟实现中,Ontology是由Protégé工具建立的,首先选择新建一个OWL File文件,然后开始相关的类、属性、实例的编辑。因为VicSoft.RDF开发包是直接对RDF进行推理的,所以,将相关的内容样本是以RDF/XML形式存储在Ontology中,文件名为OntCA.rdfxml,如图2所示。在后面的应用中,为了简化模拟系统的复杂性,在本系统设计时只进行了语义分析模块和内容分析模块的设计。
附图
图2 OntCA.rdf-xml数据存储示意图
4.3 语义分析模块的设计
在本系统中,语义分析模块主要是通过VicSoft.RDF、Jena等推理机制的帮助下对舰船六个类别文献的关键词和作者所表述的概念及术语进行相关的语义分析,然后将结果反馈给内容分析模块。所以,基本的设计思路为:首先读取存储Ontology的rdf-xml文件,然后在读取的文件中识别每篇文献的关键词与作者信息,并确定它们是属于哪个类别的,这样就完成了一次简单的语义分析。如果比较复杂的内容分析问题,采用Jena推理效果更好。
(1)读取rdf-xml的Ontology信息,VicSoft.RDF提供了Ontology的读取接口,具体如下:(“//”后面的是注释)
附图
(2)识别文献关键词与作者信息,VicSoft.RDF针对RDF的三元组而设计了专门的类(程序中的类):Subjects(主体的集合)、Subject(某个主体)和Objects(客体的集合)、Object(某个客体),利用这些类就能够实现对RDF 文件中的主体、客体信息的识别与操作。需要说明的是程序里所涉及到的“keyword”、“author”、“文献”这些词都是在本系统的Ontology文件中使用的属性和类别的名称。“keyword”和“author”是类别“文献”的属性。(见下页左一)
附图
4.4 内容分析模块的设计
在前面的系统总体构架中,我们设计了一个比较全面的内容分析模块。但在模拟系统中简化了该模块的功能,主要是任务管理和结果分析。基本的设计思路是:将在语义分析中识别出的六个不同类别下的关键词与作者进行统计,记录关键词与作者出现的次数并存入SQL Server数据库中,然后按照降序的方式将结果直观显示出来。
(1)统计不同类别关键词(或作者)出现的次数(见左二)
附图
(2)显示统计分析的结果(见左三)
附图
4.5 系统的分析结果的图形化显示
本系统实现了对研究内容的总体分析、文献分析和作者分析,如作者分析结果图形化显示示例如图3。
附图
图3 作者分析结果示例图