针对BBS短文本的提取标注.docx
《针对BBS短文本的提取标注.docx》由会员分享,可在线阅读,更多相关《针对BBS短文本的提取标注.docx(14页珍藏版)》请在冰豆网上搜索。
针对BBS短文本的提取标注
针对BBS短文本的提取标注
信息科学技术学院计算机系00级赵婧
摘要/Abstract
摘要:
Web的海量数据激发了人们对计算机理解语义的要求。
语义网的出现为计算机真正“智能化”地处理数据描绘了美好前景。
其中一个重要的应用就是Web信息提取。
信息提取有许多实现技术。
包括基于统计和基于规则的。
我们构造的信息提取系统是一种针对本体知识的提取技术。
可以说本体是一个独立的概念,反映的是计算机对客观世界的认识,可以说是独立于应用的。
只是我们把本体应用到信息提取中,并结合统计和规则进行提取。
本文前半段将会介绍有关本体的相关概念,后一部分将介绍本体在我们系统中的应用。
为了配合信息提取,需要一些先验性的知识和统计信息。
所以,我们构造了自己的针对BBS短文本的提取标注工具。
为此构建了本体知识并以直观方式展现出来。
结合本体推理机,我们的标注工具在标注的同时具备推理能力使得标注智能化,并能通过引用一个包装好的提取算法进行提取预览。
1引言
随着Internet信息的飞速膨胀,人们手工在之上获得所需的有用信息将变得负担沉重。
信息提取技术的产生从一定程度上为人们获取web信息提供了便利的手段。
基于关键字的提取是比较传统的信息提取技术,其主要思想是对关键字进行统计,在信息提取过程中进行匹配。
这种提取算法简单,实现相对容易,在特定范围或领域中(例如针对某一个网站)可以取得比较好的提取效果。
缺点在于关键字的提取是不基于语义的,它仅仅从统计词频等角度来考虑提取。
2001年,万维网创始人T.Berners-Lee在《ScientificAmerican》上提出的语义网[Berners-Lee,T.,Hendler,J.&Lassaila,O.,2001]的概念是:
设想构造一个所有数据都可被计算机理解的新的网络环境,使得计算机能够真正智能的为人类提供服务。
其核心在于使计算机在操控数据本身的同时,能够“理解”数据的语义。
从语义网的目标来看,基于关键字的提取虽然有其可取的优点,但作为一种提取技术已经不能很好的满足通用的需求了。
从WWW上无语义的数据到携带语义的数据转换是一项极有挑战性的工作。
目前研究较多的一种提取方法是用一定的有语义的结构来构建特定领域的本体知识(ontology)。
这些知识描述了机器对该领域的全部认识,也成为信息提取的基础。
本体描述的是某个领域所有事物以及事物之间关系,但仅仅有了这些认识是否就足以把我们的目标-Web信息提取做好呢?
答案是否定的。
正如,即使我们已经了解客观世界中某事物具备一些属性并与其他事物有一些联系(例如,狗有四条腿,是哺乳动物的一种),在提取文本中我们依然无法得知哪一段文字描述的是ontology中的事物(狗),以及哪些文字或段落描述的是事物(狗)的一些属性,更无法由此推理得到这篇文章描述了一种哺乳动物。
所以在提取之前,除了构建ontology,文本标注工作成为必不可少的一步。
标注文本的意义在于:
首先对待提取的文本进行标注并把文本作为训练集,对文本进行提取,并将标注结果和机器提取结果进行比较进而评测。
其次在标注过程中可以不断完善文本提取的模板(表现为本体知识)。
目前的标注工具有许多。
例如斯坦福大学的文本标注工具OntoMat[ONTOMAT]。
它采用DAML+OIL[DAML+OIL]的ontology描述方式,通过浏览网页并对照ontology进行标注的方式,把每个网页中某个段落文字和ontology中某个概念或关系对应,其过程相当于对一个文本进行了一次标注。
我们搭建的基于ontology的文本标注工具在提供OntoMat所有功能的基础上又有新的改进。
即在表现领域ontology的同时,将文本ontology也表现出来;在文本中的某个段落与文本ontology中的某个概念发生联系时,建立文本ontology中某个概念的实例与某个领域ontology的概念或实例发生联系。
因为本工具的主要目的是辅助信息提取,所以还要考虑增加工具对提取结果可以预览的能力,也就是在标注一个文本时或标注这个文本前,对这个文本进行提取查看提取效果。
同时,用户也可以根据提取效果调整自己的标注行为。
目前的标注工具已经具备了一定的推理能力,使得标注更加智能化。
例如,概念B有一个父概念A,当给概念B标注了某段文本时,在概念A的节点上也可以看到,从而为用户提供了一个友好智能的文本标注工具环境。
本文的目的就是介绍整个文本标注工具产生的大环境和它的需求。
以及这个标注工具具备的功能和实现技术。
第2节介绍了这个工具出现的背景,解释了我们构造这个工具的必要性。
第3节介绍了整个工作依赖的基础-本体。
从本体的逻辑结构(3.1),本体的表示(3.2),本体的推理(3.3)以及针对我们的应用-提取标注工具构造的本体知识(3.4)。
第4节介绍了标注工具的实现细节。
2工作的起点和目标
我们的整个工作都是基于本体知识的,这也是系统的立足点。
在实现时需要考虑两种本体知识:
文本结构的本体知识和相关领域的本体知识。
目前主要考虑的是交易领域的本体知识。
有了标注和提取的基础-ontology,下一步考虑文本的标注工具需要完成的功能。
文本标注工具应具备以下两个目标:
Ø把文本不同部分对应到文本结构的某个部分上。
例如某一段文字对应到文本结构中的作者。
Ø把已经标注了的文本结构中的一个对象(例如作者等)关联到领域ontology,成为领域ontology中某个概念的一个实例。
作为一个基于本体的文本标注工具,同时还应具备一定的推理能力。
这种能力来自于本体的性质,即可以通过使用本体推理机来实现标注过程和提取预览过程中的推理能力。
3提取工作的基础—特定领域ontology构建
3.1本体的逻辑结构
一个ontology的逻辑结构可以看成是一个五元组,O={C,R,H,rel,A}[ONTOLOGYLEARNING]。
其结构如下:
Ø两个交集为空的集合C和R。
C集合的元素被成为概念,R集合的元素被成为关系。
Ø概念层次H:
H是C×C的一个子集。
H(C1,C2)表示C1是C2的子概念。
Ø函数rel:
rel函数的定义域是R,值域是C×C的一个子集。
即:
rel(R)=(C1,C2)。
Ø公理集A:
包含了ontology所需的公理。
使用适当的逻辑语言,例如一阶逻辑。
作为ontology的核心结构,这个结构被普遍接受并且易于用现有的ontology语言来进行描述。
在我们的构建的工具系统中,对应上述五元组的组织如下:
C是ontology中的概念。
在我们搭建的领域ontology中表现为领域中的事物。
例如交易的物品,交易人的联系方式等。
在文本ontology中表现为文本的标题,段落等。
R是ontology中的关系。
领域ontology中例如Document概念与Section概念之间的包含关系。
商品与价钱之间的关系等。
Rel是定义在关系集R上的映射。
对任何一个关系r,都可以找到这个关系的定义域和值域。
这在解析ontology时十分有用。
为了以图的形式把ontology的结构展现给用户,需要使用包装在这之上的本体推理机得到一个关系的定义域和值域。
当得到所有的关系的定义域和值域时,ontology的图结构就展现出来了。
3.2本体的表示
描述本体的语言可以是多样的。
采用较多的是DAML+OIL或是OWL[OWL,2003]。
OWL是W3C提出的一种本体描述语言,它是源于DAML+OIL的,并保持了DAML+OIL的框架和大多数语法、语义特征。
根据表达能力和可计算性能力,OWL可以分为三种子语言:
OWLFull,OWLDL和OWLLite。
这三种子语言表达能力依次下降,但可计算性依次增强。
我们的本体描述是基于OWLDL的。
OWL是基于RDF规范的一种语言,而RDF又是基于目前使用普遍的XML标记的语言。
RDF的格式定义如下:
[1]RDF:
:
=['RDF>']description*['
RDF>']
[2]description:
:
='Description'idAboutAttr?
'>'propertyElt*'
Description>'
[3]idAboutAttr:
:
=idAttr|aboutAttr
[4]aboutAttr:
:
='about="'URI-reference'"'
[5]idAttr:
:
='ID="'IDsymbol'"'
[6]propertyElt:
:
='<'propName'>'value''propName'>'|'<'propNameresourceAttr'/>'
[7]propName:
:
=Qname
[8]value:
:
=description|string
[9]resourceAttr:
:
='resource="'URI-reference'"'
[10]Qname:
:
=[NSprefix':
']name
[11]URI-reference:
:
=string,interpretedper[URI]
[12]IDsymbol:
:
=(anylegalXMLnamesymbol)
[13]name:
:
=(anylegalXMLnamesymbol)
[14]NSprefix:
:
=(anylegalXMLnamespaceprefix)
[15]string:
:
=(anyXMLtext,with"<",">",and"&"escaped)
在我们的应用中,class和property是已经固定的。
正如前面所说,标注过程是生成一些概念的实例(instance或individual)。
3.3本体推理
使用本体的目的之一,就是想通过对本体的形式化描述,使得计算机能够理解本体所描述的知识,从而“智能的”完成任务。
本体推理是计算机对本体知识理解的一种重要表现。
在我们的系统中,选用了OWLDL作为本体描述语言。
因为OWLDL的语义基于描述逻辑(DescriptionLogics),而描述逻辑可以较好的实施推理。
OWLDL的大多数LanguageConstructor都可以被映射到一个DL逻辑原语。
不同的DL语言的推理能力和推理算法互有差别,OWLDL所对应的SHIQ逻辑也决定了对OWLDL进行推理的能力和算法。
由于OWLDL能够映射到描述逻辑SHIQ,所以我们采用了SHIQ的推理机RACER[RACER],从而使得将推理的任务变为把OWLDL描述的本体映射到SHIQ逻辑的表示形式。
事实上,OWLDL基本上等价于SHIQ逻辑。
RACER推理机接受的是两种知识表示格式:
DIG(DLImplementationGroup)协议定义的知识描述格式(基于XML)和RACER自己定义的知识描述格式(基于广义表)。
我们需要做的工作具体就是:
把OWLDL转换到DIG格式或者RACER首选的支持格式RACER。
3.4面向应用的本体构建
我们系统需要两个ontology。
●文本ontology
椭圆表示concept,单向箭头表示关系,箭头上是关系的名称,矩形表示concept的属性。
下面按照关系来说明这个ontology(事实上,这也是我们从ontology中解析出ontology图结构的方法):
⏹author:
author关系的定义域有一个元素是概念Article,值域有一个元素是概念Human;关系的定义域和值域是可以通过推理机直接得到的。
前面介绍的ontology五元组的逻辑结构中的ref就是把一个关系的定义域和值域找到。
⏹fileName:
定义域是概念Article,值域是一个string。
表示一个文章与一个字符串是fileName这个关系。
⏹hasDocument:
定义域是概念Article,值域是概念Document。
表示一个Article与Document有一个关系hasDocument。
⏹hasSection:
定义域是概念Document,值域是概念Section。
表示概念Document和Section有关系hasSection。
这里,一个Document的实例可以和多个Section的实例对应。
⏹in:
定义域是概念Section,值域也是概念Section。
这表示一个Section实例可以和另外一个Section实例有in关系。
⏹imply:
定义域是概念Section,值域是外部ontology的一个概念Thing(图中用蓝色椭圆表示)。
这个关系使得对文本段落的标注(产生的文本ontology中的一个实例)与外部领域ontology关联起来。
⏹s:
s表示的是subClassOf关系。
这里Document概念与Concept概念以及Title概念都是subClassOf关系。
在ontology中,为了更好的描述事物,这种父子继承关系是很常见的。
⏹sectionStart:
定义域是概念Section,值域是概念Position。
它表示一个Section实例与一个Position实例有sectionStart关系。
⏹sectionEnd:
定义域是概念Section,值域是概念Position。
它表示一个Section实例与一个Position实例有sectionEnd关系。
图表1文本ontology
●交易原型的ontology
根据每个关系说明整个ontology。
⏹contractVia:
定义域是概念human,值域是概念contractInfo。
⏹proposalatleastone:
定义域是概念Dealer,值域是概念Trade-Proposal。
⏹pay:
定义域是概念Trade-Proposal,值域是概念Commodity。
⏹get:
定义域是概念Trade-Proposal,值域是概念Commodity。
⏹in:
定义域是概念Region,值域也是概念Region。
表示Region的一个实例与另外一个Region实例有in的关系。
⏹placeAt:
定义域是概念Trade-Proposal,值域是概念Commodity。
⏹AvailableTime:
定义域是概念contractInfo,值域是概念TimePeriod。
⏹TimeRequirement:
定义域是概念Trade-Proposal,值域是概念TimePeriod。
⏹startTime:
定义域是概念TimePeriod,值域是概念Time。
⏹endTime:
定义域是概念TimePeriod,值域是概念Time。
⏹object:
定义域是概念Trade-Proposal,值域是概念human。
图表2领域ontology
4针对BBS信息提取的标注工具
我们实现的标注工具的结构图如下:
图表3系统结构图
4.1文本ontology的展现
文本ontology的结构在3.4中已经介绍。
在标注工具中,需要根据用OWL描述方式描述的ontology转化成用户可以直观观察到的图形化结构,并能在这些图形化ontology上进行标注工作。
这个工作的实现依赖于之前3.3所介绍的本体推理。
首先我们可以得到一个ontology所有的关系,然后得到所有关系的定义域和值域,接着在定义域和值域之间建立一个名称为关系名的有向箭头。
在遍历所有关系后,ontology的图结构就完成了。
这里,我们的文本ontology结构特殊,通过推理机解析后形成的是一个树形结构。
这并不意味着所有ontology解析出来都会成为一棵树(事实上应该是一个图),只是因为文本ontology的内容造就了树形结构。
文本标注部分包括文本ontology的图形化表示和待提取文本的表示,以及两者之间的关系。
在待提取文本中标注相应的段落对应到文本ontology展现的树形结构中。
图表4系统运行情况
4.2提取预览功能
我们的标注工具具有一个很有特点的功能是提取预览。
因为这个标注工具的很重要的目标是辅助信息提取工作,所以预览对于标注工作是很有借鉴意义的,它可以有效地帮助用户在标注过程中看到自己标注的效果,从而进一步指导标注行为,如做出修正、增删等。
我们实现提取预览是通过在OWL推理机的基础上包装进行的。
当用户选择文本ontology图形表示的某个节点时,相应在待提取(标注)文本中的文字段落会通过提取算法被显示出来。
下面是系统预览截取的演示图,红色是对应Block0(可以认为是一个section实例,我们命名为Block0)提取预览的效果。
图表5提取预览情况
4.3领域ontology的展现
除了将文本ontology与标注文本联系起来之外,文本ontology与领域ontology之间还有非常密切的联系。
这一点在文本ontology的构建中可以反映出来。
文本ontology中的概念Section通过一个imply关系与一个概念thing发生联系。
这个thing可以认为是领域ontology中某个概念在文本ontology中的反映。
所以,领域ontology的展现是系统必不可少的一大模块。
同文本ontology一样,借助OWL推理机我们可以得到领域ontology的结构。
下面用伪代码描述领域ontology的解析过程:
foreachPropertypinontology
{
Domaindomain=p.GetDomain();
Rangerange=p.GetRange();
domain.Add(range);//给这个定义域节点增加一个子节点值域。
在图中,
表示为定义域有一条有向边指向值域。
}
由此得到了领域ontology结的图结构,最后可以将把整个结构用图形化的方式展示给用户。
4.4文本ontology与领域ontology的关联
至此,文本ontology和领域ontology的搭建和展现都已经完成。
文本ontology与待标注文本之间的关联(即在文本中标注一段文字并进一步生成文本ontology中某一概念的一个实例)也都已经完成。
最后的工作是把文本ontology中已经生成的实例(instance或individual)与领域ontology关联起来。
也就是实现文本ontology中的imply关系。
对“imply”动作的实现我们采取的方法是:
根据已经产生的文本ontology中section实例再产生一个领域ontology中的实例。
例如,通过标注,已经产生了一个文本ontology中section的实例。
经过观察,用户发现这个section描述的是一个商品,用户可以把这个section实例imply到一个领域ontology的commodity实例,也就是imply实例的定义域是一个section实例,值域是一个commodity实例。
5总结和进一步工作
目前,文本标注工具已经能够方便地被用于文本标注并已经被使用。
对本体知识的展现功能基本完善。
文本与文本ontology的联系,文本ontology与领域ontology的联系都能够以较友好的方式实现,并实现了文本提取预览的功能。
进一步的工作是:
目前标注工具的推理功能只在提取效果的预览时体现出来。
接下来将改进这个工具使得它的推理功能能够在标注过程中就体现出来。
另外,现在的领域ontology基本上是展现出来供标注过程使用的,而无法自动接收标注完的反馈信息。
在进一步工作中将增加机器自动学习和统计的功能,让机器自动对标注的文本进行统计分析并作用于领域ontology,用以进一步完善ontology。
致谢
这篇论文是在指导老师张宁和全实验室同学的悉心指导下完成的。
从研究项目开始,张老师在学术研究,学习方法等各个方面给予我很多的指导,逐步引导我进行课题的研究工作。
同时,实验室的同学在工作上积极热情。
在与他们的共同学习中,我获益匪浅。
特别感谢杨洁,王雷,李刚,隋鑫同学。
他们给我非常大的帮助,无论是从方法上,还是从研究的思路上。
这是一段非常愉快的经历,再次感谢你们对我的关怀和帮助。
参考文献
[Berners-Lee,T.,Hendler,J.&Lassaila,O.,2001]TheSemanticWeb.ScientificAmerican,May2001
[DAML+OIL]http:
//www.daml.org/2001/03/daml+oil-index.html
[OWL,2003]http:
//www.w3.org/2001/sw/WebOnt
[RACER]http:
//www.cs.concordia.ca/~faculty/haarslev/racer/
[ONTOMAT]http:
//annotation.semanticweb.org/tools/ontomat
[AlexanderMaedche],ONTOLOGYLEARNING,UniversityofKarlsruhe,Germany,2002byKluserAcademicPublishers
作者简介:
赵婧,女,1982年12月17日出生于江西省南昌市。
2000年从江西师大附中考入北京大学计算机系。
在校期间,积极参与学校各项活动,并热爱研究工作。
于2002年底进入计算机系电子商务实验室实习,参与实验室研究工作。
感悟与寄语:
进入实验室已经1年半了。
在这段不长也不短的时间内能够接触到这么多好老师和同学并从他们那里汲取到这么多宝贵的知识对我来说是一种幸运。
在这段时间的相处中,我学到的不仅仅是科研上的知识,还有做学问乃至做人的态度。
在这种严谨的治学氛围中,我了解到做研究的艰辛,也看到了做研究的快乐和成就感。
我想,这也许是对我最大的启发和帮助吧。
指导老师简介:
张宁,男,北京大学信息科学技术学院副教授。
1982年毕业于北京科技大学数学力学系理论数学专业,获理学学士学位,1982至今,北京大学信息科学技术学院网络研究所任教。
1993年在北京大学计算机系获硕士学位。
作为访问学者,1996年10月至1997月4月年在德国洪堡大学计算机系工作,1997年5月至1998年8月在美国林肯大学计算机系工作,主要从事计算机体系结构的研究。
主要研究方向:
人工智能、知识工程、语义网、电子商务基础理论和应用。
·
一堆信息提取的资料文档
·
全套垂直搜索引擎技术
·
基于视觉的正文抽取和网页块分析
·
自然语言的结构化信息抽取[科研阶段]
·
WEB网页结构化信息抽取技术介绍(网页库级)
·
什么是垂直搜索?