基于领域本体的信息抽取和知识获取系统论文Word下载.docx
《基于领域本体的信息抽取和知识获取系统论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于领域本体的信息抽取和知识获取系统论文Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
1)汉语切词和切词后次的识别与提取
信息抽取是建立在对文章进行篇章分析的基础上的,而篇章分析的基础又是句法分析,句法分析又离不开实体的识别。
因此作为实体的单元词的切分自然是十分关键的。
中文词切分的难点在于中文词缺少像英文词之间天然存在的空格一样的词间区分标志。
现代中文智能分词的两大主流技术是基于语言学规则的方法和基于语料库统计语言模型的方法,这两种方法各有利弊:
基于规则的方法,其核心就是根据语言学原理和知识制定一系列共性规则和个性规则,以处理自动分词中所遇到的各种语言现象。
规则的方法本质上是一种确定性的演绎推理方法,我们很难用一套规则去准确地预测真实文本中所出现的各种变异。
而基于语料库统计学的方法主要的特点是利用从语料库中语义知识的统计信息来进行分词,语言处理的覆盖面更广,可实现高效实时的处理,缺点是它仅仅考虑了语言的上下文关系,忽略了语言的结构化特征,它所用的概率模型总会抑制小概率事件的发生,而且这种方法还会受到标记集、长距离搭配等限制。
各种分词软件分词后都会将结果以一定形式返回出来。
所以词的提取首先要做的就是如何区分这些分词后的文件中的词。
分词结果通常都会对每个词进行标注,并在词之间作区分标志。
词的提取主要靠这些区分标志的识别来完成。
2)词和句子的匹配问题
常见的句子提取主要是通过关键字来完成。
而本文所要采用的句子提取方式是在关键词方法的基础上加入了语义分析。
即关键字按照一定的组配方式和原文中句子进行匹配,将符合这种要求的句子提取出来存入到数据库中。
至于何种组配方式才是有意的,靠程序来自动识别是有一定难度的。
本文所采用的词组配方式是“名词-动词-名词”的方式。
因为一个大多数句子都符合“主语-谓语-宾语”的结构,而充当这些实体的词通常又分别是名词、动词、名词。
当然这又面临一个问题,那就是那些“名词-动词-名词”组合才是有意义的。
这个问题的解决就需要运用到本体方面的理论了。
2信息抽取与知识获取的相关理论
2.1信息抽取的相关理论
2.1.1信息抽取的基本概念
信息抽取(InformationExtraction,IE)的目标是把文本里包含的信息进行结构化处理,变成表格一样的组织形式。
输入信息抽取系统的是原始文本,输出的是固定格式的信息点。
把信息点从各种各样的文档中被抽取出来,然后以统一的形式集成在一起,这就是信息抽取的主要任务。
信息以统一的形式集成在一起的好处是方便检查和比较,能够对数据作自动化处理,从而实现用数据挖掘方法发现和解释数据模型。
信息抽取技术并不试图全面理解整篇文档,只是对文档中包含相关信息的部分进行分析。
从大量的文档中抽取需要的特定事实是非常有用的。
互联网上就存在着这么一个文档库,同一主题的信息通常分散存放在不同网站上,表现的形式也各不相同。
若能将这些信息收集在一起,用结构化形式储存,其意义是非常重大的。
由于网上的信息载体主要是文本,所以信息抽取技术对于那些把因特网当成是知识来源的人来说是至关重要的。
信息抽取系统可以看作是把信息从不同文档中转换成数据库记录的系统,因此成功的信息抽取系统将把互联网变成巨大的数据库。
目前的信息抽取系统大多采用基于知识的方法(例如专家系统驱动技术、模板驱动技术、基于脚本等)。
该方法在特定领域内十分有效,但构造大规模知识库需投入大量的人力,因此引入并加强机器学习是研究趋势之一。
信息抽取系统是领域相关的,只能抽取系统预先设定好的有限种类的事实信息。
以往信息抽取粒度多为词语或短语,如对于军用飞机的相关信息只抽取飞机的型号、名称、用途、投入使用时间等,而对于军用飞机的发展状况、各型号飞机的使用情况等较大粒度信息很少涉及。
本文的研究目的是以军用飞机领域为实验对象,从相关文报道文本中形成该类信息的抽取模板。
以信息抽取模板为依据,将包含文章主要信息的句子抽取出来,从而将信息抽取的粒度扩展到句子。
2.1.2信息抽取的关键任务
1)命名实体
命名实体识别(NamedEntityRecognition,NE)是信息抽取中最为基本的任务,实现从众多信息中标识并分离出相关的命名实体,这是正确理解文本的基础。
命名实体识别具有非常直接的实用价值,在对文本中的名称、地点、日期等进行标注之后,即提供了对这些信息进行检索的可能。
对于许多语言处理系统,命名实体识别都是其中一个很重要的组件,是目前最有实用价值的一项技术。
2)句法分析
通过句法分析得到输入的某种结构表示,如完整的分析树或分析树片段集合,是计算机理解自然语言的基础。
在信息抽取领域一个比较明显的趋势是越来越多的系统采用部分分析技术,这主要是信息抽取任务自身的特殊性,即需要抽取的信息通常只是某一领域中数量有限的事件或关系。
这样,文本中可能只有一小部分与抽取任务有关,并且对每一个句子并不需要得到它的完整的结构表示,只要识别出部分片段间的某些特定关系就行了,得到的只是完整分析树的部分子图。
部分分析方法盛行也是因为目前尚没有其他更好的选择。
部分分析技术只能使信息抽取系统的处理能力达到目前的水平,要想使其性能有大的飞跃,必须探索更有效的分析技术。
3)篇章分析与推理
一般说来,用户关心的事件和关系往往散布于文本的不同位置,其中涉及到的实体通常可以有多种不同的表达方式,并且还有许多事实信息隐含于文本之中。
为了准确而没有遗漏地从文本中抽取相关信息,信息抽取系统必须能够识别文本中的共指现象,进行必要的推理,以合并描述同一事件或实体的信息片段。
因此,篇章分析、推理能力对信息抽取系统来说是必不可少的。
初看起来,信息抽取中的篇章分析比故事理解中的篇章分析要简单得多,因为在信息抽取中只需要记录某些类型的实体和事件。
但是,大多数信息抽取系统只识别和保存与需求相关的文本片段,从中抽取出零碎的信息。
在这个过程中很可能把用以区分不同事件、不同实体的关键信息给遗漏了。
在这种情况下要完成篇章分析是相当困难的。
除此之外,目前尚缺乏有效的篇章分析理论和方法可以借鉴。
现有篇章分析理论大多是面向人、面向口语的,需要借助大量的常识,它们设想的目标文本也比真实文本要规范,并且理论本身也没有在大规模语料上进行过测试。
信息抽取系统除了要解决文本内的共指问题外,还需要解决文本间的(跨文本的)共指问题。
在文本来源比较广泛的情况下,很可能有多篇文本描述了同一个事件、同一个实体,不同文本间还会存在语义歧义,如相同的词有不同的含义、不同的词代表同一个意思。
为了避免信息的重复、冲突,信息抽取系统需要有识别、处理这些现象的能力。
由MUC(MessageUnderstandingConference)对信息抽取系统部分篇章处理能力的评测结果看,篇章处理能力是目前信息抽取系统的弱项,是一个瓶颈,急需深入研究与改进。
2.1.3信息抽取的应用
信息抽取以结构化的方式表达原文的内容,这使得各种不同的应用都可利用或得益于信息抽取的结果。
总的来讲,这些应用可分为如下几类:
(1)摘要和总结:
将原先较长的文本,用较短的文本进行表达。
(2)可视化:
以可视的方式表达原文中的概念及其关系。
(3)搜索:
寻找某一处理层面上或语义上相似的信息。
(4)索引和分类:
根据语义表示进行分类,建立索引。
(5)翻译:
由于翻译具有语境针对性,一般要进行语义上的信息抽取。
(6)问答:
一般用于人机交互中。
(7)知识抽取:
在信息抽取的基础上进行知识的抽取。
(8)知识推理:
应用机器学习方法在信息抽取结果上进行知识推理。
(9)任务定义:
机器人等通过自然语言界面接受命令。
2.2知识提取的相关理论
2.2.1知识提取的基本概念
语言知识的自动提取是自然语言处理的核心之一,在信息检索、数据挖掘、机器翻译等许多领域都有广泛的应用。
词是构成自然语言的基本要素,词义知识一直是制约其发展的瓶颈问题,一个多义词的词义只有在上下文环境中才可以确定,而上下文环境中影响词义的因素是多种多样的,并表现出不完整性和不确定性,如何从上述这些知识中获得词义的确切知识并有效地应用,是语言信息处理研究中的难点也是重点。
理想情况下,处理上述自然语言问题,应该确立在计算机能够真正“理解语言”的基础上去实现,如果计算机可以像人类一样“不断学习和积累知识”,处理自然语言问题时,计算机的“理解能力”及“准确性判断”将会极大提高。
由于本体能够使人或机器间的交流建立在对所交流领域共识的基础上,因此比较适合构造知识表示。
2.2.2知识提取的方法
目前的知识提取方法主要是脱胎于数据挖掘技术,该方法是从海量数据集中自动识别和采集有效的知识并以某种易于理解的模式呈现并组织起来。
常用到的知识提取技术也多是从数据挖掘技术上发展来的,如人工神经网络、决策树、最近邻技术、规则归纳等。
这些技术都有一个目的,就是将数据集中的无序信息进行聚类、分类,在此基础上找出其中的关联规则、规律、模式等,从而将其中的隐含知识识别出来,然后再进行组织、保存到知识存储模块中。
人工神经网络从结构上模仿生物神经网络,是一种通过训练来学习的非线性预测模型,可以完成分类、聚类、特征提取等多项知识挖掘技术。
决策树用属性结构来表示决策集合,这些决策集合通过对数据集进行分类产生规则。
最近邻技术通过k个最与之相近的历史纪录的组合来辨别新的纪录,这种技术可以用作聚类,偏差分析等知识挖掘任务。
规则归纳通过统计方法归纳,提取有价值的“if-then”规则。
以上的知识获取技术都是基于统计的大规模语料库技术,现在在理论和实践上都相对比较成熟了。
但是要做到精确的知识挖掘、获取,就需要做到基于语义分析的自然语言理解,而这方面目前还没有实质性突破。
2.3信息抽取与知识提取的区别和联系
信息抽取与知识提取的区别在于:
信息抽取是为了从大量信息中提取出其中的关键信息片断,从而对信息进行浓缩,来减轻人们对于信息过量问题的压力;
知识提取是为了从大量信息集中发掘出其中的隐含知识,从而得出一般的规律、模式。
目前对于信息抽取和知识提取大多集中在一个领域本体内,因而两者之间必然会存在密切联系。
信息抽取可以将抽取出来的信息组合成信息集合,这些信息集合是进行知识提取的依据。
知识提取就是对这些信息集合进行聚类、分类,从中发掘出隐含知识的过程。
因而知识提取的效果和质量依赖于其进行分析的信息集合的质量和数量。
信息抽取过程中需要一定的知识模板,来对抽取目标进行匹配,抽取出其中的信息片断。
所以信息抽取的质量是基于知识模板的好坏的。
知识提取的结果存在知识库中,在知识库中对这些结果进行整理、转化,就可以得到与之相关的知识模板。
所以信息抽取和知识提取二者密不可分,相辅相成。
以下(图2.1)以一个机遇领域本体的网页信息抽取系统为例,可以简要表明二者关系:
按照模板
信息抽取
图2.1一个简要的基于领域本体的信息抽取系统图
3本体的基本概念
3.1本体定义及应用
Ontology(本体或本体论),原本是一个哲学上的概念,用于研究客观世界本质是客观存在的系统的解释和说明,是相关的领域的知识的高度浓缩和概括。
它是在搜集领域专家共同认可词汇的基础上,使用一定的本体表示语言构建的一个可扩展、可查询的知识库概念和关系集。
它是一份正式定义名词之间关系的文档或文件。
一般Web上的Ontology包括分类和一套推理规则。
分类,用于定义对象的类别及其之间的关系;
推理规则,则提供进一步的功能,完成语义Web的关键目标即“机器可理解”。
本体的最终目标是“精确地表示那些隐含(或不明确的)信息”。
当前对本体的理解仍没有形成统一的定义,如本体是共享概念模型的形式化规范说明,通过概念之间的关系来描述概念的语义;
本体是对概念化对象的明确表示和描述;
本体是关于领域的显式的、形式化的共享概念化规范等等。
但斯坦福大学的Gruber给出的定义得到了许多同行的认可,即“本体是概念化的显示规范”。
概念化(Conceptualization)被定义为:
C=<
D,W,Rc>
,其中C表示概念化对象,D表示一个域,W是该领域中相关事物状态的集合,Rc是域空间<
D,W>
上的概念关系的集合。
规范(Specification)是为了形成对领域内概念、知识及概念间关系的统一的认识与理解,以利于共享与重用。
随着研究的进展,ontology定义也在不断发展,如表1所示。
表1ontology定义的演变
范畴
提出时间/提出人
定义
哲学
客观存在的一个系统的解释和说明,客观现实的一个抽象本质
计算机
1991/Neches等
给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延的规则的定义
1993/Gruber
概念模型的明确的规范说明
1997/Borst
共享概念模型的形式化规范说明
1998/Studer
共享概念模型的明确的形式化规范说明
对本体的研究主要集中在:
建立本体的方法和过程、本体设计和评估的形式化方法和本体论的应用研究。
其中,前两个方面属于本体论的理论研究主题。
近些年来,本体论被广泛地应用到计算机科学的众多领域。
本体方面的研究取得了不少的结果,基于Web的本体构造、编辑、浏览、和使用工具已经可用,本体在知识工程中的运用也取得了优秀的结果,形式化本体在需求工程中也取得了大的进展。
另外,已经存在几种为大家所认可的本体表示方法,对于本体设计和评估的方法学也有了初步的探索,开发出来了一些用于构造和评价本体的初级工具,以及一些用于支持不同表示语言互操作的本体语义转换工具。
本体的应用主要集中在以下几个方面:
(1)组织内部和组织间的交流。
通过提供统一的框架,本体论减少了组织内部在概念上和术语上的混淆,从而使共同的理解和交流更为有效。
(2)软件系统间的互操作性。
解决不同软件系统之间数据的交换和协作问题,主要研究集中于企业建模和多主体系统上。
(3)软件工程。
辅助构建软件系统的规范,以自然语言写成的非形式化的本体可以用于对规范的手工检查,从而提高软件的重用性和可靠性。
3.2本体的构建和描述语言
创建本体的过程在目前暂时还没有一个统一的标准方法。
很多研究者都曾提出自己的方法,其中最有影响的是Gruber在1995年提出的5条规则:
明确性和客观性:
本体应该用自然语言对所定义的术语给出明确、客观的语义定义。
完全性:
所给出的定义是完整的,完全能表达所描述的术语的含义。
一致性:
由术语得出的推论与术语本身的含义是相容的,不会产生矛盾。
最大单调可扩展性:
向本体中添加通用或专用的术语时,不需要修改已有的内容。
最小承诺:
对待建模对象给出尽可能少的约束。
在实现语义相关的检索中必须有一个机器可处理的语言,用于描述网络信息的内容。
可以用自然语言来描述本体,也可以用框架、逻辑语言或语义网络等来描述本体。
若系统不需要太强的推理能力时,本体可用本体图的形式表示并存储。
此时数据可以保存在一般的关系数据库中,采用图的匹配技术来完成信息检索。
若系统要求比较强的推理能力时,本体一般要用一种描述语言(如Ontolingua,Cycl,Loom)进行表示。
此时数据保存在知识库中,采用描述语言的逻辑推理能力来完成信息检索。
第三种就是直接利用XML来表示并保存本体。
并用XML的查询语言来实现本体的检索。
研究人员们开发了一系列基于XML语法的描述语言,这些语言包括:
SHOE,OML,XOL,Riboweb,等。
其中,OIL+DAML是一种具有强表达能力的规则语言。
OIL+DAML提供了语义网上的表达本体的方法,利用这种语言,语义检索显得更加方便。
后来,W3C将OIL+DAML标准化为网络本体描述语言OWL(WebOntologyLanguage)。
OWL在DAML+OIL网络本体语言的基础上进行了改进,在设计过程中吸取了DAML+OIL的设计和应用经验。
它可以用于显式的表达在词汇表中项的含义和这些项之间的关系。
项和它们之间关系的这种表达也就是本体。
OWL适用于这样的应用,在这些应用中,不仅仅需要提供给用户可读的文档内容,而且希望处理文档内容信息。
OWL能够被用于清晰地表达词汇表中的词条(term)的含义以及这些词条之间的关系。
而这种对词条和它们之间的关系的表达就称作Ontology。
OWL相对XML、RDF和RDFSchema拥有更多的机制来表达语义,从而OWL超越了XML、RDF和RDFSchema仅仅能够表达网上机器可读的文档内容的能力。
在语义网中,OWL就是可以用来描述网络文档中的术语的明确含义和它们之间的关系。
4信息抽取系统地实现过程
4.1实验系统开发概述
本实验系统的目的是抽取出领域本体相关的文章中的关键信息提供给语义检索系统作为检索依据。
信息抽取的要求是将抽取结果按照固定的结构输入到目标集合中,因此本系统首先要设计好输出结构。
鉴于篇章分析与推理的难度过大,以基于篇章的信息来作为处理对象不大现实。
所以本系统选择以句法分析为基础,通过筛选出满足一定句法结构的句子作为信息抽取的主要元素。
句法分析的基础是建立在对句子中词的构造的分析基础上的,因而所提取出来的信息应当包含符合一定组配关系的词以及与之匹配句子。
实验系统的Java主程序使用Eclipse3.2/jdk1_5_0_8构建和编译,最后提出的信息存入Mysql数据库中,所用到的分词软件为第三代智能分词系统(3GWS)。
程序运行通过,能够按要求提取出相关信息。
由于本系统主要用于检索系统的后台处理,因而设计的模式为C/S结构。
4.2智能分词系统3GWS简介
汉语分词是中文内容处理、分析与理解的必要条件,它的任何错误都将使处理结果受到或大或小的影响,有时是严重的影响。
经过对现有的分词系统的试用、测评,本试验系统决定采用第三代智能分词系统3GWS作为。
其主要功能有汉语智能分词、命名实体与新词识别、词性标注以及支持用户自定义词典。
3GWS是飞嘉华公司智能分词系列产品的统称,其中有简体GB2312智能分词系统,繁体BIG5智能分词系统以及Unicode智能分词系统。
与同类型的实验系统和商用产品对比,3GWS具有三大特色:
(1)速度与精度综合性能最优:
分词系统能否达到实用性要求主要取决于两个因素:
分词精度与分析速度,这两者相互制约,难以平衡。
3GWS分词系统运用了PDAT大规模知识库管理技术,在高速度与高精度之间取得了重大突破,该技术可以管理超大规模的词典知识库,而查询时间与词典规模无关,其时间复杂度为O(length),length为查询词的长度。
而内存消耗不到知识库大小的1.5倍。
在PIV3.0G/256M的PC机上,可以达到每秒23.1MB/s的速度。
(2)跨平台开放性支持:
3GWS完全采用标准C/C++开发,实现了跨平台的无缝支持。
3GWS的COM组件与静态连接库支持各种编码、跨操作系统、可以在目前所有主流的开发环境下进行二次开发调用,本次论文就是利用其提供的Java接口进行二次开发的。
该系统支持环境详细列表如表2:
支持的编码
中文简体GB2312、中文繁体BIG5、Unicode
支持的操作系统
Win95/98/2000/XP;
WinNT;
Linux/Unix/FreeBSD等
支持的开发环境
C/C++/Java/Delphi/VB
表23GWS分词系统支持环境
(3)按需订制:
3GWS可以按照用户的需求进行API定制,主要的定制包括:
<
1>
模块定制:
3GWS的人名识别、词性标注等模块均可以根据需要进行定制,比如,大部分应用并不需要词性标注模块,用户可以卸载该模块,从而进一步提供分词的速度。
2>
核心词典与参数定制,用户可以根据自己领域的特点,提供相关的语料库,3GWS可以重新训练,订制一套更适合于自身领域的知识库和参数库。
3>
用户词典定制:
用户可以提供自定义的词典,3GWS可以将用户词典有机地整合到系统知识库中。
4>
词类定制:
用户可以定义自己的词类。
TGWS的配置出存在Configure.xml文件中。
该文件代码如下所示:
?
xmlversion="
1.0"
encoding="
GB2312"
>
TGWS>
DataPath>
Data<
/DataPath>
!
--Data文件夹路径-->
TagSet>
TGWS.map<
/TagSet>
--词性标注集映射文件-->
POSDelimiter>
/<
/POSDelimiter>
--DelimiterbetweenwordsandPOS;
词和词性之间的间隔符号-->
WordBoundary>
<
/WordBoundary>
--WordBoundary;
词和词之间的间隔符号-->
UserDict>
Off<
/UserDict>
--On:
用户自定义词典开启;
Off:
用户自定义词典关闭;
-->
Log>
On<
/Log>
--On,Off;
例如:
Off:
关闭日志功能;
On:
打开日志功能-->
version>
3.0<
/version>
--系统版本号