APP下载

基于本体的Web信息抽取系统

2012-07-25王志华李占波

计算机工程与设计 2012年7期
关键词:词表分词本体

王志华,魏 斌,李占波,赵 伟

(郑州大学 软件技术学院,河南 郑州450002)

0 引 言

信息抽取是指将无结构或半结构化的文本转化为结构化的信息,并以一定的形式进行存储,供用户查询以及进一步分析利用的过程[1]。Web信息抽取则是从 Web页面中抽取用户感兴趣的信息并过滤掉不相关的信息,将分散在半结构化Web页面中的信息提取出来,并以结构化、语义更为清晰的模式表示[2]。它为用户在Web中查询数据、应用程序直接利用Web数据提供了便利,是实现信息检索、机器翻译、自动问答、自动推荐的关键,是国内外的研究热点。

已有的Web信息抽取系统有的基于Web页面的特殊结构进行信息抽取,比如抽取表格中的数据[3-6],还有的利用包装器归纳方式进行信息抽取[7-10]。以上方法针对特定结构,不具有重用性,抽取规则的建立是手工的,不同的结构需要设置不同的抽取规则;而且只能抽取数据信息,但Web中还含有丰富的语义信息,比如关系、断言等。本体[11]具有良好的概念层次结构和对逻辑推理的支持,通过本体构建规则,使得基于本体的信息抽取不仅能找到特定类型的待抽取实体,还能通过在本体中的概念把它链接到其语义描述上来识别它。

本文针对特定主题,提出了一种基于本体的Web信息抽取框架,对本体在信息抽取系统中的作用作了详细介绍并实现所提出的相关算法。实验证明,该抽取系统能够得到性能较高的抽取结果。

1 基于本体的Web信息抽取

1.1 领域本体

本体是一种知识表示方式,能在语义和知识层次上对描述信息系统的概念模型进行建模,能够用于知识表达、知识共享及知识重用。领域本体是用于描述特定领域知识的一种专门本体,给出了领域实体概念、领域属性概念、领域属性值及相互关系、断言,以及该领域所具有的特性和规律的一种形式化描述。

1.2 基于本体的Web信息抽取框架

基于本体的Web信息抽取就是以所构建的本体为核心,利用本体中已定义的概念、分类层次、关系、函数、公理和实例及一些必需的外部资料对Web页面进行信息提取,得到结构化的知识并保存的过程。图1给出了基于本体的Web信息抽取框架。

图1 基于本体的Web信息抽取框架

1.2.1 系统构成

整个系统包括文件采集及预处理、文本转换、知识抽取3个部分。

在信息抽取过程中需要一些外部资料,包括:①领域本体;②网站地图文件;③单词、短语、特殊字符词典和通用词典;④停用词、虚词、高频词词表;⑤分句规则;⑥词性集合及词性标注规则;⑦实体识别及标注规则;⑧知识抽取规则。

信息抽取用到的算法包括:①爬网算法;②文件预处理算法;③文件存储算法;④分词和词表查询算法;⑤停用词、虚词、高频词去除算法;⑥分句算法;⑦词性标注算法;⑧命名实体识别及标注算法;⑨知识抽取算法。

1.2.2 本体在Web信息抽取中的作用

(1)本体构建:领域本体的合理构建是获得较高性能信息抽取结果的关键。首先领域专家构建领域本体库,主要包括类、对象属性、数据属性和断言;然后根据领域内的概念和术语添加实例。本文对于本体中的实例,领域专家给出一部分,从相关网页中通过统计获取一部分,还根据通用词典 (英文用 WordNet,中文用 HowNet)使用相似性比较的方法得到一部分。本文采用文献 [12]中的方法构建 《数据结构》课程知识点的领域本体。本体内各类之间的关系用Protégé描述如图2所示。

(2)本体解析:在信息抽取的过程中,为了利用本体中的知识,需要对领域本体进行解析,得到概念、实例、关系、关系的定义域和值域等,使之为语义标注及知识抽取过程服务。本文进行领域本体解析,得到如下结果:

1)概念、关系、实例词典;

2)概念、关系模式库;

图2 《数据结构》课程知识点本体

3)概念、关系规则表示,包括命名实体识别规则和知识抽取规则。

(3)本体使用:本体解析后的结果在信息抽取过程中主要用在了分词及词表查询、命名实体识别及标注和知识抽取算法中。

(4)知识存储:根据抽取后信息存储方式的要求,信息抽取的结果主要有以下两种结果表示:带有语义的XML文件和带有语义的三元组或二元组表示。

2 Web信息抽取关键技术及实现

2.1 文件采集及预处理

文件采集用于发现文档,并且使这些文档能够被搜索到。预处理对采集到的文档进行处理,得到格式化文档。

2.1.1 源文档及信息采集

源文档可能来自于本地、局域网、特定主题或互联网,其类 型 可 以 是 HTML、XML、EMAIL、PDF、RDF、WORD、TXT、RSS等多种。本文对Web页面进行信息抽取,并将页面分为目录型页面、内容型页面和结构型页面,采集的源文档是针对某一领域主题的文档。

信息采集用于发现文档,可使用爬虫来发现和抓取文档。本文使用主题爬虫爬取网页。主题采集常使用工具进行分类,需要用到分类器进行选定特定页面、特定结构的采集,一种结构使用一种规则进行采集。本文使用爬网算法对 《数据结构》课程相关主题知识点进行信息采集。

2.1.2 文档预处理

信息采集后得到的原始文档格式不统一,编码方式也不统一,需要对文档进行预处理,将各种文档转变为格式化文档,主要是XHTML或XML等。文件预处理后的文档包括文件的格式化内容、超链接、数据格式、元数据等信息:

(1)格式化内容:主要是Web的文本内容,它是实现内容型页面信息抽取的关键;

(2)超链接:Web中的超链接信息,它是实现目录型页面信息抽取的关键;

(3)数据格式信息:Web中的图片、图表、代码、表格等,这部分信息对于基于HTML结构的信息抽取至关重要;

(4)元数据信息:格式化信息之外的文档信息,用于解析文档的结构,可以将网页表示成文档对象模型 (document object modal,DOM),包括文档属性,比如日期、作者等,还有其它标签,这些可用于识别文档组成部分。

本文使用文件预处理算法将各种格式的文档转换为XML文档,包括了文档的内容和格式信息;将各种编码转换为Unicode。

2.1.3 文档存储及文档数据库

文档存储实现格式化文档的存储。文档一般不存储在关系数据库中,而存储在特定数据库中。本文为了信息抽取的方便,使用文件存储算法把格式化文档信息存储在XML文件中,而原文档保存为原文件格式并保存其路径信息。

2.2 文本转换

文本转换是对格式化文档进行词和句子或结构的处理,为知识抽取做准备。本文的文本转换算法首先根据网页的结构信息判断Web页面的类型,即目录型、结构型或内容型,然后再根据不同的类型采用不同的信息抽取方法:

(1)目录型页面通过文件预处理后超链接信息及查询要求的文本内容和url地址找到需要重新定位的查询地址,对新地址的内容进行信息抽取;

(2)结构性页面根据预处理后的数据格式信息和元数据信息得到原Web页面中的结构标记,根据结构进行信息抽取;

(3)内容型页面主要根据本文预处理后的格式化内容,构建网页的内容正文,然后进行信息抽取。

本文主要研究内容型页面的信息抽取。

2.2.1 分词及词表查询

中文分词可使用工具,如中科院计算所汉语词法分析系统ICTCLAS、斯坦福大学的汉语分词系统stanford-parser等。但是,这些分词方法没有考虑特定主题及特定领域的概念,分词会出现一定的误差,本文提出一种基于本体解析信息进行分词及查询的算法,更能体现主题及领域特征。

中文分词及词表查询重要的是使用词典,为了以后处理统一,文档分词词典和查询分词词典应该统一。分词结果用空格分割开来。另外,在分词过程中还要考虑如何解决同义词的问题,本文提出两种解决方案:

(1)设置同义词表;

(2)利用通用词典,通过相似性计算得到最相近的词。

依据本体解析信息进行中文分词及查询算法如下所示:

算法1:中文分词及词表查询

输入:格式化文档,本体解析后的概念、关系、实例词典,同义词、近义词的通用词典,单词、短语、特殊字符词典

输出:与本体概念、关系、实例对应的词和短语,依据词典分词得到的词、短语、特殊字符,原文档中未去除的结构信息

步骤:

(1)for(格式化文档中每个标签)

使用标记语言解析器对文档结构信息进行解析构建DOM;

(2)去除文档无用标签,如<br>、<p>、<h1>和<div>等,构建网页的文本内容;

(3)根据本体解析后的概念、关系、实例词典进行词表查询并利用最大匹配算法进行分词,然后对分词后的结果进行标记,得到基于本体的词的信息;

(4)根据同义词、近义词的通用词典对剩余内容进行分词,然后进行标记;

(5)根据单词、短语、特殊字符词典对剩余内容进行分词,然后进行标记。

算法中先使用概念、关系、实例词典来分,使得分词结果更加倾向于领域。另外,根据实际应用,可对文档中的特殊结构部分添加特殊切分规则进行切分,得到如图片、图表、代码、表格等信息。对于短语也可使用相关的ngram算法进行切分。

如对图3所示的信息分词后如图4所示。使用基于本体解析信息进行分词的方法可以分词出 “数据结构”、“非线性结构”、“前驱结点”等领域概念。

2.2.2 去除虚词

对分词后的结果去除停用词、虚词和无用的高频词时,需要手动设置和手动维护词表。本文为了避免影响检索效果,只对文档中的特定部分设定词表,并且采用很小的词表。

2.2.3 分句

信息抽取的粒度包括词、句子、段落、章节和篇。为了保证信息抽取的粒度,还需要对文档结构进行句子和结构的划分。句子的划分可以在检索时返回句子信息;结构的划分对结构性页面的信息抽取及检索结果的返回至关重要。本文设置分句规则,对以上处理后的信息进行分句,并进行标记。另外,还对分句后的文档去除不含有任何本体词汇 (概念、关系、属性)的句子 (或结构),确保信息抽取的粒度是句子。

2.2.4 词性标注

词性标注是对分词后的结果标注词性信息,是命名实体识别的关键。词性标注时,对每个单词和短语根据词性标注集使用词性标注算法进行词性标注,词性标注器根据上下文信息对文本中的每个词赋予一个词性标记。本文进行词性标注后,内容文档中的每个词带有词性信息。

2.2.5 命名实体识别

命名实体识别是对词性标注后的单词识别实体,并对每一个实体信息进行标记,经常使用的方法包括:基于统计的方法、基于规则的方法、基于自然语言处理的方法。传统的命名实体识别模块仅提供人名、地名、机构名、时间、日期等信息的识别,得不到基于领域的实体信息,知识抽取效率比较低。本文提出一种基于本体解析信息进行命名实体识别算法,除了常规信息之外,还可以识别相关领域的信息。

命名实体识别的关键是设计识别规则,本文对于 《数据结构》逻辑结构的识别规则用GATE[13]中的Jape规则表示如下语句所示。

Phase:logicalStructure

Input:Token Lookup

Options:control=appelt

Rule:structure

({Lookup.minorType=="线性结构"}| {Lookup.minorType = ="非 线 性 结 构"} |{Lookup.minorType = = " 线 性 表"} | {Lookup.minorType=="链表"}| {Lookup.minorType=="栈"} | {Lookup.minorType= =" 队 列"} | {Lookup.minorType= ="串"}| {Lookup.minorType= ="广义表"}| {Lookup.minorType=="数组"}| {Lookup.minorType=="矩阵"}| {Lookup.minorType=="二叉树"}| {Lookup.minorType=="树"}| {Lookup.minorType= ="图"}| {Lookup.minorType= ="逻辑结构"}):data-->:data.structure= {kind="逻辑结构",rule="logicalStructure"}

依据本体解析信息进行命名实体识别及标注算法如下所示:

算法2:命名实体识别及标注

输入:词表查询及词性标注后的单词,概念、关系规则,一般实体识别规则

输出:本体中的实体识别及标注结果,一般信息及特殊字符的识别及标注结果

步骤:

(1)对本体中的信息进行识别,并标注类型;

(2)应用规则,对句子中的一般信息进行识别,得到数字、金钱、日期等实体,并标注类型;

(3)根据规则,可利用N元组技术,对本体标注类型和一般标注类型进行相似匹配,并重新进行类型标注;

(4)根据 (3),调整分词结果和通用标注类型实体的表示形式规范化。

以下标注为图3部分信息命名实体识别及标注后的结果。

<数据元素id="1"type="datastructure Token Lookup"kind="数据结构"majorType="本体实例"minorType="线性表"begin="1"end="4"sentenceid="1"/>

<相互之间id="2"type="Token"kind=""majorType=""minorType=""begin="5"end="8"sentenceid="1"/>

<关系id="3"type="Token"kind=""major Type=""minor Type=""begin="10"end="11"sen tenceid="1"/>

<称为id="4"type="Token"kind=""major Type=""minorType=""begin="12"end="13"sen tenceid="1"/>

<数据结构id="5"type="datastructure Token Lookup"kind="数据结构"majorType="本体类"minorType="数据结构"begin="14"end="15"sentenceid="1"/>

每个实体由标记包含,表示为一个元素。标注类型包括本体标注类型和通用标注类型,本体标注类型需要说明词是类、实例或属性。词表查询可找到本体标注类型,使用词汇列表标注具体本体标注类型,使用规则标注通用类型。另外,还标注词所在的句子信息。算法执行结果识别出了与领域相关的 “数据元素”、 “数据结构”等领域信息。

2.3 知识抽取

知识抽取就是对语义标注后的文档进行分析,进行实体及关系的抽取得到知识。针对语义标注后的信息,本文在命名实体识别及标注后,利用领域词汇表进行严格匹配,找到类、属性和实例,并对实例进行转换成类。对找到的类和实例,利用本体中定义的属性的定义域和值域,找到类之间的关系。然后根据实例和属性构建三元组。

3 实验结果与分析

本文利用Jena插件[14]及基于领域设计的Jape规则,使用MyEclipse 9.0在GATE6.0平台上进行二次开发实现了基于本体的Web信息抽取系统,并实现了语义网检索,如图5所示。

图5 基于Web信息抽取的语义网检索

使用主题网络爬虫爬取 《数据结构》主题多篇网页作为测试数据,使用信息抽取系统主要的评测指标准确率P、召回率R和F测度值进行评测,其定义如下

此处取β=1,称为F1值。

表1为信息抽取的评测结果,F1指数都在70%~80%之间,与ACE[15]的评测结果相比,本文提出的基于本体的Web信息抽取方法有较高性能。另外,可以通过增加本体实例、识别更多的同义词、设计更多的Jape规则及设计更加高效的知识抽取方法得到性能更高的信息抽取结果。

表1 信息抽取的评测结果

4 结束语

针对已有Web信息抽取系统中抽取结果缺乏语义信息及抽取方法不可重用的问题,本文提出了一种面向主题的基于本体的Web信息抽取模型。该模型通过本体解析结果在分词及词表查询、命名实体识别和知识抽取中的应用,使得分词和命名实体识别结果更加倾向于领域,抽取方法对于各种领域也可以重用并可以得到语义信息。通过实验验证,该系统能得到满意的信息抽取结果。后续工作中,将进一步完善系统,重点是分词、命名实体识别和知识抽取算法。

[1]LIU Qian,JIAO Hui,JIA Huibo.Research on approaches of information extraction system [J].Application Research ofComputers,2007,24 (7):6-9 (in Chinese). [刘迁,焦慧,贾惠波.信息抽取技术的发展现状及构建方法的研究 [J].计算机应用研究,2007,24 (7):6-9.]

[2]Kwan Hee Han,Jun Woo Park.Process-centered knowledge model and enterprise ontology for the development of knowledge management system [J].Expert Systems with Applications,2009,36 (4):7441-7447.

[3]LIAO Tao,LIU Zongtian,SUN Rong.Research and implementation of web table positioning technology [J].Computer Science,2009,36 (9):227-230 (in Chinese). [廖涛,刘宗田,孙荣.Web表格定位技术的研究与实现 [J].计算机科学,2009,36 (9):227-230.]

[4]BI Lei,SHEN Jie,XU Fayan,et al.Extracting web business information using domain-specific ontology [J].Computer Engi-neering and Design,2008,29 (24):6393-6396 (in Chinese).[毕蕾,沈洁,徐法艳,等.领域本体指导的Web商品信息 抽 取 [J]. 计 算 机 工 程 与 设 计,2008,29 (24):6393-6396.]

[5]LIU Jiagang,CHEN Shan,HUANG Ying.Improved ontologybased web information extraction [J].Computer Engineering,2010,36 (4):39-41 (in Chinese). [柳佳刚,陈山,黄樱.一种改进的基于本体的 Web信息抽取 [J].计算机工程,2010,36 (4):39-41.]

[6]CHEN Li’na,ZHANG Hong,MA Li,et al.Ontology-based tourism information extraction [J].Computer Applications and Software,2010,27 (4):146-148 (in Chinese). [陈立娜,张红,马莉,等.基于本体的旅游信息抽取 [J].计算机应用与软件,2010,27 (4):146-148.]

[7]HUANG Ji,JIANG Liqun,YIN Zhaolin.A new technology on information retrieval based on samples [J].Microcomputer Information,2009,25 (1):238-239 (in Chinese). [黄骥,姜利群,殷兆麟.一种新型的基于样本的Web信息检索技术[J].微计算机信息,2009,25 (1):238-239.]

[8]LIU Pengbo,CHE Haiyan,CHEN Wei.Survey of knowledge extraction technologies [J].Application Research of Computers,2010,27 (9):3222-3226.

[9]Kosala R,Blockeel H,Bruynooghe M,et al.Information extraction from structured documents using k-testable tree automaton inference [J].Data& Knowledge Engineering,2006,58 (2):129-158.

[10]Tenier S,Toussaint Y,Napoli A,et al.Instantiation of relations for semantic annotation [C].Proc of IEEE/WIC/ACM International Conference on Web Intelligence.Washington,DC:IEEE Computer Society,2006:463-472.

[11]DU Xiaoyong,LI Man,WANG Shan.A survey on ontology learning research [J].Journal of Software,2006,17 (9):1837-1847(in Chinese).[杜小勇,李曼,王珊.本体学习研究综述 [J].软件学报,2006,17 (9):1837-1847.]

[12]WANG Zhihua,ZHAO Wei.Research on semantic web retrieval model based on ontology and key technologies [J].Computer Engineering and Design,2011,32 (1):145-148(in Chinese).[王志华,赵伟.基于本体的语义网检索模型及关键技术研究 [J].计算机工程与设计,2011,32 (1):145-148.]

[13]The university of sheffield.GATE,A general architecture for text engineering [EB/OL].[2011-08-05].http://gate.ac.uk/.

[14]HP Labs.Jena [EB/OL] .[2011-08-05].http://www.hpl.hp.com/semweb/.

[15]Automatic Content Extraction(ACE)Evaluation [EB/OL].[2011-08-05].http://www.itl.nist.gov/iad/mig//tests/ace/.

猜你喜欢

词表分词本体
基于VOLT的藏汉双向机器翻译
分词在英语教学中的妙用
眼睛是“本体”
A Chinese-English List of the Sports Programmes in Winter Olympics 冬奥会项目名称汉英对照词表
结巴分词在词云中的应用
结巴分词在词云中的应用
近十年国内外专业学术词表建立文献综述*
基于本体的机械产品工艺知识表示
专题
Care about the virtue moral education