湘里妹子学术网

 找回密码
 注册
查看: 3724|回复: 0

一个超大规模分类标注语料库的建立

  [复制链接]
发表于 2009-5-3 08:55:03 | 显示全部楼层 |阅读模式

作者:刘华 来源:

摘要:针对文本分类中训练(测试)集获得较难、分类系统不合理的问题,我们构建了一个超大规模层级网页分类语料库。该语料库字段信息丰富,分类系统科学,存储格式可扩展性强、语义结构化。适合构建文本分类、话题识别和信息检索的大型训练(测试)集。

关键词:语料库

内容解析
字段信息
分类体系

Construction of a Super Classed and Denoted Corpus

LiuHua

Abstract: Aim at the problem of training and test corpus in text classing, we have built a super classed and denoted corpus, which has abundant field information, scientific class system, extensible storage format and Structured semantic denotations. It adapts to the Construction of training and test corpus for text classingtopic identify and IR.
Key Words: Corpus
Content parsing
Field information
Class system
Xml


在文本分类中,代表性高、一致性强的大规模标准、开放训练(测试)文档集获得较难,代价较高,而且已有训练语料库往往规模小,分类系统不全面或不合理。

目前很多基于目录体系的搜索引擎和门户网站为了检索方便,都对网站网页进行了人工分类,而且为了最大限度地吸引浏览者,各网站在网页分类体系上充分考虑了网民的需要,精心构建了合理科学的网页分类体系。因此,利用这些网络资源,构建一个能够全面反映网页文本分类体系的超大规模的层级分类语料库是可行的。

我们构建了一个超大规模层级网页分类语料库。下文将在如下几个方面展开讨论:网页内容解析、语料库信息字段定义、网页分类体系确立、语料归类建库。

1网页内容解析

网络上采集的语料是半结构化的,往往结构复杂,含有繁复的HTML标记,语料信息湮没在芜杂的网页标记之中,而且网页缺乏相应的语义标记,无法直接提取文本结构内容。
简单的做法是采取剩余法,即简单地去除所有HTML标记,余下所有非标记字符。而一个网页往往承载了很多内容,如导航条、广告、图片文字等等,太多的冗余文字占了很大比例;而且更重要的是这些剩下的文字不分内容类别,如标题、时间、正文等,眉毛胡子一把全堆在一起,无法进行过信息的定位抽取。这样既丢失了很多有用信息,又影响后续处理质量,如词频统计。因此探求一种既最大限度保留有用信息又有效去除冗余标记文字的网页清洗和内容解析方法显得非常重要。

另外的常见方法是基于网页结构分析的,通过分析网页的结构信息获得语料信息。HTML文档包括文本和标记。一条基本的标记语句形式为:

<标记名称 属性列表(参数列表)>
[</
标记名称>]


可以简单地把标记分为两类:包容标记空标记。包容标记由一个开始标记和一个结束标记构成,中间是数据对象。空标记只有起始标记而没有结束标记。由此可以设计一个HTML语法分析器,将任一个HTML文档进行逐字的扫描,通过判断标记的意义来解释数据,生成该文档的树型结构的内部表示,然后提取其中的有用信息,缺点是时间和空间消耗较大,提取效率低,而且容易出错。

我们根据经验采用抽取法,不是过滤,而是直接通过Html标记锚点提取有效信息。
虽然HTML有一套完整的语法命名规则,理论上应该可以根据Html标记语法来确定语料信息内容起止标志,如:
标题
<title>
……</title>

时间
<date>
……</date>

但由于网页模板各具风格,或者追求网页效果的原因,设计者并不遵循统一的标记体系命名原则,没有统一的网页标记代码,因此无法全自动确定文本提取内容锚点。幸运的是,一个网站往往具有一个统一的网页模板,不会轻易更换,因而我们还是可以根据网页标记来确定语料信息抽取的前后起止标记。
如某网站语料信息抽取起止标记如下:

正文始
<!-content->
正文终
<!-content->
标题始
<title>
标题终
</title>
栏目始
</font>首页
栏目终
正文
时间始
<!-time->
时间终
<!-time->
关键字始
"keywords=
关键字终
">
作者始
<author>
作者终
</author>

由上面的起止标记我们可以抽取得到语料库建库所需的信息:网页来源、网页发表时间、作者、栏目名称、关键字、相同主题文章链接、标题、正文。

其中网页发表时间、栏目名称、关键字、相同主题文章链接等语料信息又是我们进一步处理的非常好的信息,如我们进行的基于动态流通理论(时间和空间的)的流行语发布和汉语词语动态监测就是一个很好的例子。

这种简单的匹配方法非常有效,一个网站只需要人去确定一次起止标志就可以一劳永逸地批量处理。网页自动抽取模块非常人性化,只要你选定认为是可能的起止标记,系统会自动判别是否有效,并给出前后提示信息;系统也可以在新网页中自动检测设置的起止标记,并显示检测结果,如提示:链接始标记无效,无法唯一定位起始位置!
在此过程中的数据清洗和格式化非常重要,因此前后起止标记的确定需要谨慎,既需要保留有价值的语料信息,又需要去除大量冗余网页标记。而且抽取的信息当中往往又含有大量的网页特效标记或超链信息标记,而不仅仅是简单地抽取起止标记中间的内容;有的网页中为了网页效果将句子或段落打断分行显示,这些都需要特别处理来去除标记和空格,连接岔开了的段落,分开连接起来的段落,进行语料信息的格式化。
我们使用C#中的正则表达式:

(<[a-z]+[^>]*>)|(</[a-z\d]+>)
去除正文中可能存在的网页标记,|号前面的部分匹配HTML开始标记,后面的部分则匹配结束标记。

2语料信息字段定义

一个构造良好使用价值高的语料库需要具备一些要求,如一定量的规模、语料平衡等。而在建库之初需要重点考虑的是描述清晰的语料信息字段的确定。

系统中的信息抽取建库模块可以让用户自己确定需要的语料信息字段并命名,用户可以自由地在系统推荐的字段基础上自由地更改、删除、增加字段及名称,从而打造自己个性化的语料库。

详细的语料库信息字段应该包括两种:语料外信息字段和语料内信息字段

语料外信息指的是语料内容本身之外的一些信息,不牵涉语料本身,只是一些外部因素的描述。如描述语料载体性质(报纸、杂志、图书、电影、电视、广播)的媒体;描述语料具体来源的媒体名称(网站名、杂志名等);语料发布的时间;语料作者等。

语料内信息主要指的是语料内容本身的信息,包括描述语料语体(口语或书面语)性质的语体、描述语料文体性质的体裁、语料类别(主题类别)、标题、关键字、正文、字数等。

目前系统自定义了一些常用语料信息字段:


3网页分类体系确立

3.1分类法的类型

根据标准不同,可有不同的分类法的类型。根据适用媒体类型可分为文献分类法、图书分类法、期刊分类法、标准文献分类法、专利分类法、网络资源分类法等;按照分类法编制方式可分为等级列举式、分面组配式、列举-组配式分类法等等。常见的有等级列举式、分面组配式分类法。

3.2网页分类体系要求

网络分类体系要求能合理处理各种类型资源;应符合网络资源内容分布情况;根据用户检索的需求进行组织,更重视通用性、易用性;注意与计算机、超文本技术的结合;注意屏幕特点的利用。

具体来说,基本的大的类目设置应该考虑:

从类目体系展开的角度,应以主题为中心或主题与学科相结合来设类(主题划分)。

从大类体系整体功能的角度,应突出科技、经济、体育、教育、娱乐、生活等与日常生活密切有关的类目,弱化理论性和学术性类目的设置(生活优先)。

从文献保证的角度,应能基本反映网络资源的内容分布情况。

从类目检索入口的角度,应该能够提供多维检索入口。

3.3网页分类体系建立

Web上有许多分类目录(Directory)站点,如Yahoo!Yellow Pages。一般系统提供给用户的是一个可层层深入的树状主题结构图。根据树状主题结构图我们可以获得网页的分类体系。

有三种方法来获得一个网站的树状主题结构图。

方法一:[谢振亮,2004]通过链接分析得到网站类似于树结构的清晰的拓扑结构图,剪裁掉站外链接导航和广告作用的超链接,可以取得网站的拓扑结构图。该方法最后输出的树结构的每个节点(node)都可以当作一个类(或主题),如某网站下有体育类、经济类…,经济类下又分消费理财、金融市场、证券资讯……,证券资讯下面又可以细分B股市场、大盘分析、黄金市场、期货市场、外汇市场……。

方法二:根据前面网页内容解析得到的栏目信息,如主页/财经/证券资讯/外汇市场
,直接从网页文本本身抽取出栏目信息,进行栏目汇总,得到网站的树状主题结构图。同时将每一网页文本标注上对应类别(栏目信息)。

方法三:网页下载时,会在本地磁盘上复制网站原来的目录结构,自动将文件对应到相应的文件夹中去。对所有下载的网页文件,在内容解析时,记录下其文件名,如D:\LIUHU\news_xxx_5\finance.xxx.com\1008\1010\20040531-62288.html。除去D:\LIUHU\ news_xxx_5,该文件名包括四个部分,finance.xxx.com表示xxx网站中的财经大类,1008表示证券资讯次类,1010表示上市公司小类(20040531表示网页发布时间为04年5月31日)。由此从文件名可以中抽取出财经/证券资讯/上市公司栏目。依此法类推,就可以建立一个xxx网站的栏目代号和栏目信息对应的树状主题结构图。同时将每一网页文本标注上对应类别(栏目信息)。
人类知识分类体系是个复杂而无定论的东西,本文并不涉及该问题的具体讨论,只是根据我们网页分类的需要采用自己的分类体系,并不一定科学合理,符合专家的意见。中国图书馆图书分类法中国图书资料分类法主要面向图书文献的分类,并不适合网页文本的特点;yahooo!和sohu的分类体系主要面向网站的分类,较少具体到网页这一级别,Google到目前为止仅停留在网站的主页这一级别,虽然与我们网站内部的网页分类有很多的相似之处,但还并不完全一致,可以作为参考。

其他一些研究者设计了满足自己需要的网页分类体系,如[冯是聪等,2004]3建立的网页分类体系包含3个层次、12个大类,共739个类别,从总体上可以分为学术性和非学术性两大类,其中学术性类别按国家标准GB/13745 92《学科分类与代码》分类。
我们综合考察了国内外一些著名网站的栏目设置(国内外主要的门户网站和15种主要报纸的网站),经过同名栏目的去重、相似名栏目(如法律法制)的合并和异名同类栏目(武器纵横舰船知识)的映射,在求得各大栏目网站的共性栏目的基础上,根据3.2节提出的网页分类体系要求,重点考虑主题划分生活优先的原则,进行了一些调整,如一些大类的拆分、小类的合并,从中归纳出我们的网页分类用类目体系(小类仅举经济和时政新闻示例,详细情况另文介绍):

分类系统中层级最多为五级,如体育_足球_国际足球_五大联赛_英超,总共类目为233个,其中大类共12个,二级小类共113,三级小类共89,四级小类共28,五级小类共9个,很多小类具体到某个主题(如科技-科普生活-艾滋病)。

4语料归类建库

语料库数据管理和存储格式一般有两种:基于文件的和基于数据库的。基于数据库的格式简单、可视化强,适合用户需要直接观察操作的情况。最早用的是文件管理方式,一条记录就是一个文本文件,文件以醒目规整的格式显示语料内外信息。这种语料库格式的后处理程序依赖预定义的数据格式,语料库共享性和可扩展性较差;但程序操作起来方便快捷,特别是大量的批处理如切词标注校对等工作显然必须以文本文件方式进行,因此文件格式仍然是值得推荐的,而且在实际经验中也是如此。

我们的系统模块采用可选的方式让用户选择合适自己的语料库格式。目前有四种选择方案:

1、关系数据库加文本文件
2、Access数据库
3、XML格式
4、详细定义文件命名规则的文本文件
第三种是我们系统默认采取的格式。用于数据交换的XML由于其可扩展性、开放性、通用性和语义结构化而广受数据存储和交换界的青睐。目前系统中XML的DTD(Document Type Definition,文件格式定义)定义如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Article[
<!ELEMENT Article
(Header,Text)>
<!ATTLIST Article ID CDATE #IMPLIED>
<!ELEMENT Header
(time,column,kind,keywords,title,links,ourkeywords)>
<!ELEMENT time (#PCDATE)>
<!ELEMENT column (#PCDATE)>
<!ELEMENT kind (#PCDATE)>
<!ELEMENT keywords (#PCDATE)>
<!ELEMENT links (#PCDATE)>
<!ELEMENT ourkeywords (#PCDATE)>
<!ELEMENT Text
(sect*)>
<!ELEMENT sect (#PCDATE)>
<!ATTLIST sect id emp_id #IMPLIED>
<!ATTLIST sect subtile isp (0 | 1) #REQUIRED>
]>

注释如下:

xml声明:<?xml version="1.0" encoding="utf-8"?>
根节点:Article,具有一个属性ID,为文件名。
元素一:<Header>,文件的头文件,记载除正文外的语料信息。包括几个子元素<time>(网页时间)、<column>(网页栏目)、<kind>(分类后的类名)、<keywords>(原有关键字)、<title>(标题)、<links>(同主题文章标题)、<ourkeywords>(我们标上的关键词)。
元素二:<Text>,正文。每一段作为一个子元素(sect),每一子元素有含有两个属性,属性一id表示段落号(ID属性类型,属性值不能重复),属性二subtitle表示是否为子标题(枚举属性类型,当为子标题时为1,为一般段落时为0)。
Xml文件示例:

分类后的语料库共60万个文本文件,约5亿字,以xml格式存储。


综上所述,我们自动构建了一个超大规模层级网页分类语料库。该语料库字段信息丰富,分类系统科学,类目主题细致周详、分布合理,容量巨大,存储格式可扩展性强、语义结构化。它不仅适合构建文本分类的大型训练集和测试集,而且可以面向词典编撰和教材编写,如基于分类语料库的学科词汇聚类和例句检索等。


参考文献:

4.张普,关于大规模真实语料库的几点理论思考,语言文字应用,1999
5.黄昌宁、李涓子,《语料库语言学》,北京:商务印书馆,2002

6.谢振亮,基于WEB挖掘技术的网页自动分类和聚类的研究,天津:天津大学硕士学位论文,2004

7.冯是聪等,天网目录导航服务研究,计算机研究与发展,200441卷第4
8.朱凯等,因特网语料自动下载分析软件的设计,北京:第一届学生计算语言学研讨会论文集,2002
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|湘里妹子学术网 ( 粤ICP备2022147245号 )

GMT++8, 2024-4-26 21:16 , Processed in 0.111595 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表