文本语料库和术语数据库是当前自然语言处理(naturallanguageprocesin g,简称NLP)的重要内容,特别在语料库语言学兴起之后,这方面的研究特别活跃。在文本语 料库和术语数据库的研制和应用中,如何交流库与库之间的信息资源,是一个极为重要而迫切的问 题。为了实现文本语料库之间以及术语数据库之间的信息交换(informationexch ange)和信息的再利用(informationreuse),必须首先解决语言信息格式 的标准化问题。国际标准化组织ISO/TC37/SC3近年来一直力图把标准通用置标语言( StandardGeneralizedMarkupLanguage)应用于文本语料库和 术语数据库的研制和开发之中,在最近召开的ISO/TC37/SC3的会议上,几乎每一次会 议都要讨论SGML在自然语言处理中的应用问题。本文作者曾经作为中国代表参加过1993年 (在丹麦哥本哈根召开)、1994年(在挪威奥斯陆召开)和1995年(在美国费城召开)的 标准化会议,在会议期间积极参与了有关问题的讨论,并参加了有关国际标准的投票,对于这些标 准的情况和细节比较了解。因此,我们在本文中介绍一下SGML这种重要的标准通用置标语言以 及它在文本语料库和术语数据库中的应用,希望这些介绍有助于我国语言信息处理中标准化工作的 进一步开展。为了帮助人们理解书面信息的内容,书面信息必须显现为便于人们阅读的形式,人们 便常常在书面文本中加入一些控制标记,如文字的大小、标题的字体、插图的位置等。但是,每个 系统都有自己的控制标记,不同的系统之间没有统一的格式,标记和格式都没有通用性;有的系统 尽管也采用了所谓“过程性置标”(proceduralmarkup)的办法,说明在系统中 ,应该选用什么字体,标题应该处于版面上的什么位置等,但是,这种过程性置标无法使人们了解 文件的结构,而且缺乏灵活性。例如,过程性置标告诉人们标题应排在一行的正中,但排在一行正 中的不一定是标题,有时可能是插图或引用的某一内容;又如,当要使用另一个系统,或者使用同 一个系统而要改变格式时,过程性置标必须逐一地改变以前所置的标记,重复处理的过程,费时而 又费力。这种情况,严重地妨碍了信息的交换。因此,很有必要设计一种通用的标记,以提高信息 的利用效率。美国早在60年代就有学者开始研究这个问题。1969年,CharlesGol dfarb在领导IBM公司关于集成法律办公信息系统的研究项目时,就同他的合作者Edwa rdMosher和RaymondLorie共同设计了通用置标语言(Generalize dMarkupLanguage,简称GML语言)。1978年,美国国家标准化局(ANS I)的下属单位成立了一个工作组,由Goldfard领导,进行文本描述语言标准化的研究, 这项研究以GML语言为基础,进一步设计标准化的通用置标语言(StandardGener alizedMarkupLanguage,简称SGML语言)。这项研究得到了美国图形通 信协会(GraphicCommunicationAsociation,简称GCA)的 支持,1980年发表了SGML第一稿草案。1983年,GCA推荐SGML第六稿草案作为 工业标准,被美国税务署和国防部采纳,1985年SGML作为国际标准草案发布,1986年 ,国际标准化组织正式发布了SGML国际标准,标准号是ISO8879_1986。我国于1 995年也把SGML语言作为国家标准,标准号为GB14814。从研究通用的标记到SGM L语言成为正式的国际标准,前后经过了近20年的时间。SGML语言应满足如下约束条件:( 1)SGML语言所置标的文本必须能够被广泛使用的文本处理系统和文字处理系统所接受;(2 )SGML语言能够支持现有的大容量文本输入设备;(3)SGML语言不依赖于任何的字符集 ,可以允许在不同的设备上输入文本;(4)SGML语言独立于具体的处理程序、系统、设备; (5)SGML语言没有任何的民族语言倾向;(6)SGML语言应该适合于人们所熟悉的打印 机和文字处理程序的习惯;(7)SGML语言置标后的文本应该能够与其它数据并存;(8)S GML语言应该既可以为计算机所使用,也可以为人所使用。总而言之,SGML语言的设计目的 是要使文件信息与设备无关,与处理系统无关,甚至与所用的语种无关。SGML语言的目的,就 是要在各个孤立的系统之间架起桥梁,使各个孤立的系统彼此联系起来。SGML语言通过描述文 件逻辑结构的方法,使置标具有通用性,并通过一系列的声明(declaration),使各 个系统都能理解文件的信息与置标。任何文件都有其自身的结构。例如,书信由发信人、收信人、 信件本体等部分组成,公文由发文单位、收文单位、题目、文号、公文本体等部分组成,学术著作 由目录、序言、学术著作本体、后记等部分组成,等等。学术著作本体又可由若干章组成,每一章 又可以由若干节组成,每个节又可以由若干段组成。学术著作的结构可以用下面的树形图来表示: 书信和公文的结构也可以用类似的树形图来表示。SGML语言在逻辑上将文件表示为树形图结构 。树形图上的每一个非终极结点叫做“元素”,一个元素的子结点,叫做这个元素的“内容”。例 如,在学术著作的树形图结构中,“章”是“著作本体”的内容,“节”是“章”的内容,“段” 是“节”的内容。树形图上的每一个终极结点没有内容,这些没有内容的终极结点,叫做“数据” 。SGML语言用描述性置标来区分文件信息中的不同元素,用“文件类型定义”(Docume ntTypeDefinition,简称DTD)来描述某一类文件的结构,说明在这一类文件 中有哪些元素,这些元素之间存在什么样的关系,SGML语言还用SGML声明(SGMLde claration)来说明所用的字符集、置标用字符、语法规则等。总起来说,SGML的文 件应该包括三个部分:SGML声明、文件类型定义、文件实例。下面我们分别对这三个部分加以 说明。1SGML声明(SGMLdeclaration)SGML声明用来定义字符信息、 具体语法规则、容量要求以及选用SGML的哪些特性。(1)字符信息:说明置标用的字符。例 如,重新定义用以区分文件内容与置标的定界符,定义功能字符,更改保留名,关键字等。SGM L允许指定正文所用的字符集,包括字符表及其对应的编码。SGML还允许使用多八位编码字符 集,这就可以在不同语种上使用SGML语言并交换文件。(2)具体语法规则:允许用户按照自 己的习惯定义具体语法规则,确定命名的规则,说明哪些字符可用于元素或其他成分的名字及名字 开始字等等,改变SGML语言中推荐的语法规则。(3)容量要求:说明各种名字的长度、标记 的长度等。如果与SGML语言中推荐的容量不一致,用户可自行定义。(4)可选特性:SGM L语言中有许多可选特性,例如,省略标记特性、链接类型特性等等,这些可选特性增强了SGM L语言的适应性和灵活性。SGML声明中,应该说明是否选用这些可选特性,并说明具体选用哪 种类型的可选特性。SGML语言的核心是抽象语法。抽象语法定义了通用标识符、属性、实体引 用等指标的使用方法。对于定界符字符、字符集、关键字、保留名、容量值等的规定,是SGML 语言中作为向用户推荐的“基准具体语法”(referenceconcretesyntax )决定的。用户可以根据自己系统的环境、自己的民族语言、自己的键盘特点,使用SGML声明 的内容来定义自己的具体语法。在使用不同的具体语法的系统之间交换信息时,SGML声明是必 不可少的,它必须出现在SGML文件的最前面。2文件类型定义(DTD)DTD定义文件的 结构和在文件信息中的置标规则。在DTD中,要遵照SGML声明中规定的字符信息和具体语法 规则,对一类文件的结构用一组置标声明(markupdeclaration)作严格的定义 。在DTD中所用的置标声明主要有如下几种:(1)元素声明(elementdeclara tion)由于SGML语言在逻辑上把文件组织为由元素组成的树形图结构,元素是文件信息中 的主要成分。元素声明用于说明每种元素的结构,其内容包括元素类型名及其内容结构,一般格式 为:〈!ELEMENT元素类型名(内容模型)〉ELEMENT是元素声明的关键字,内容模 型中说明该元素内容中允许出现的子元素,并说明这些子元素以哪种关系和方式出现,例如,说明 这些子元素是不是顺序的,是不是可选的,是不是重复的,等等。元素声明中,还可说明在文件中 置标时,是否可以省略文件的开始标记和结束标记。(2)属性定义表声明(atributed efinitionlistdeclaration)元素具有属性。例如,“插图”这个元素 一般具有“尺寸”和“位置”两个属性。由于元素可能具有一个以上的属性,所以,SGML语言 中采用属性定义表来定义元素的各种属性。属性定义表由各属性定义组成。属性定义包括元素类型 名、属性名、属性可取的值、缺省值等。例如,“插图”这个元素的属性定义表包括:元素类型名 “插图”,属性名“尺寸、位置”,“尺寸”这个属性名可取的值NUMBERS,以及缺省值等 。其一般格式为:〈!ATTLIST元素类型名属性名属性值缺省值〉ATTLIST是属性定 义表声明中的关键字。(3)实体声明(entitydeclaration)SGML语言除 了在逻辑上把文件组织为元素结构之外,它还在物理上把文件组织为实体结构,并采用实体声明把实体内容与实体名对应起来。实体声明可以在声明中直接写出实体的内容,其格式为:〈!ENTITY实体名实体正文〉实体声明也可以不直接定出实体内容,而用实体标识符表示,其格式为:〈!ENTITY实体名SYSTEM实体标识符〉ENTITY是实体声明中的关键字,另一个
More summaries about the 标准通用置标语言SGML及其在自然语言处理中的应用