Linguistic Modeling of Information and Markup Languages
Text, Speech and Language Technology VOLUME 40
Series Editors Nancy Ide, Vassar College, New York Jean V´eronis, Universit´e de Provence and CNRS, France Editorial Board Harald Baayen, Max Planck Institute for Psycholinguistics, The Netherlands Kenneth W. Church, Microsoft Research Labs, Redmond WA, USA Judith Klavans, Columbia University, New York, USA David T. Barnard, University of Regina, Canada Dan Tufis, Romanian Academy of Sciences, Romania Joaquim Llisterri, Universitat Autonoma de Barcelona, Spain Stig Johansson, University of Oslo, Norway Joseph Mariani, LIMSI-CNRS, France
For further volumes: http://www.springer.com/series/6636
Linguistic Modeling of Information and Markup Languages Contributions to Language Technology Edited by
Andreas Witt Institut f¨ur Deutsche Sprache, Mannheim, Germany
Dieter Metzing Universit¨at Bielefeld, Germany
13
Editors Dr. Andreas Witt Institut f¨ur Deutsche Sprache (IDS) 68161 Mannheim R5, 6-13 Germany
[email protected] Prof. Dr. Dieter Metzing Universit¨at Bielefeld Fak. Linguistik und Literaturwissenschaft Universit¨atsstraße 33615 Bielefeld Germany
[email protected] ISBN 978-90-481-3330-7 e-ISBN 978-90-481-3331-4 DOI 10.1007/978-90-481-3331-4 Springer Dordrecht Heidelberg London New York Library of Congress Control Number: 2009939532 c Springer Science+Business Media B.V. 2010 No part of this work may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, microfilming, recording or otherwise, without written permission from the Publisher, with the exception of any material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Printed on acid-free paper Springer is part of Springer Science+Business Media (www.springer.com)
Preface
The general markup language XML has played an outstanding role in the multiple ways of processing electronic documents, XML being used either in the design of interface structures or as a formal framework for the representation of structure or content-related properties of documents. This book in its 13 chapters discusses aspects of XML-based linguistic information modeling combining: methodological issues, especially with respect to text-related information modeling, applicationoriented research and issues of formal foundations. The contributions in this book are based on current research in Text Technology, Computational Linguistics and in the international domain of evolving standards for language resources. Recurrent themes in this book are markup languages, explored from different points of view, and topics of text-related information modeling. These topics have been core areas of the research Unit “Text-technological Information Modeling” (www.texttechnology.de) funded from 2002 to 2009 by the German Research Foundation (DFG). Positions developed in this book could also benefit from the presentations and discussion at the conference “Modelling Linguistic Information Resources” at the Center for Interdisciplinary Research (Zentrum f¨ur interdisziplin¨are Forschung, ZiF) at Bielefeld, a center for advanced studies known for its international and interdisciplinary meetings and research. The editors would like to thank the DFG and ZiF for their financial support, the publisher, the series editors, the reviewers and those people that helped to prepare the manuscript, especially Carolin Kram, Nils Diewald, Jens Stegmann and Peter M. Fischer and last but not least, all of the authors. Bielefeld, Germany Mannheim, Germany June 2009
Dieter Metzing Andreas Witt
v
Contents
1 Different Views on Markup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Daniela Goecke, Harald L¨ungen, Dieter Metzing, Maik St¨uhrenberg, and Andreas Witt
1
2 Another Extension of the Stylesheet Metaphor . . . . . . . . . . . . . . . . . . . . 23 Thomas Schmidt 3 An OWL-DL Implementation of Gold . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Scott Farrar and D. Terence Langendoen 4 Markup Languages and Internationalization . . . . . . . . . . . . . . . . . . . . . 67 Felix Sasaki 5 Identifying Logical Structure and Content Structure in Loosely-Structured Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Manfred Stede and Arthit Suriyawongkul 6 Discourse Relations and Document Structure . . . . . . . . . . . . . . . . . . . . . 97 Harald L¨ungen, Maja B¨arenf¨anger, Mirco Hilbert, Henning Lobin, and Csilla Pusk´as 7 Multilevel Annotation for Information Extraction . . . . . . . . . . . . . . . . . 125 Jin-Dong Kim, Tomoko Ohta, and Jun’ichi Tsujii 8 Hypertext Types and Markup Languages . . . . . . . . . . . . . . . . . . . . . . . . . 143 Georg Rehm 9 Representation Formats and Models for Lexicons . . . . . . . . . . . . . . . . . 165 Thorsten Trippel 10 HTTL – Hypertext Transformation Language . . . . . . . . . . . . . . . . . . . . 185 Eva Anna Lenz vii
viii
Contents
11 Mark-up Driven Strategies for Text-to-Hypertext Conversion . . . . . . . 203 Angelika Storrer 12 Structure Formation in the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Alexander Mehler 13 Regular Query Techniques for XML-Documents . . . . . . . . . . . . . . . . . . 249 Stephan Kepser, Uwe M¨onnich, and Frank Morawietz
Contributors
Maja B¨arenf¨anger Justus-Liebig-Universit¨at Gießen, Gießen, Germany Scott Farrar Department of Linguistics, University of Washington, Seattle, WA, USA,
[email protected] Daniela Goecke Bielefeld University, Bielefeld, Germany,
[email protected] Mirco Hilbert Justus-Liebig-Universit¨at Gießen, Gießen, Germany Stephan Kepser Theoretical Computational Linguistics Group, Linguistics Department, University of T¨ubingen, Germany,
[email protected] Jin-Dong Kim University of Tokyo, Tokyo, Japan,
[email protected] D. Terence Langendoen Division of Information & Intelligent Systems, National Science Foundation, Arlington, VA, USA Eva Anna Lenz Institut f¨ur Deutsche Sprache und Literatur, Universit¨at Dortmund, Dortmund, Germany,
[email protected] Henning Lobin Justus-Liebig-Universit¨at Gießen, Gießen, Germany ¨ Harald Lungen Justus-Liebig-Universit¨at Gießen, Gießen, Germany,
[email protected] Alexander Mehler Bielefeld University, Bielefeld, Germany, alexander.mehler@ uni-bielefeld.de Dieter Metzing Bielefeld University, Bielefeld, Germany,
[email protected] Uwe M¨onnich Theoretical Computational Linguistics Group, Linguistics Department, University of T¨ubingen, Germany Frank Morawietz Theoretical Computational Linguistics Group, Linguistics Department, University of T¨ubingen, Germany Tomoko Ohta University of Tokyo, Tokyo, Japan Csilla Pusk´as Justus-Liebig-Universit¨at Gießen, Gießen, Germany ix
x
Contributors
Georg Rehm vionto GmbH, Berlin, Germany,
[email protected] Felix Sasaki University of Applied Sciences Potsdam, Potsdam, Germany (Manager of the W3C Germany and Austria Office),
[email protected] Thomas Schmidt Special Research Centre (SFB 538) on Multilingualism, University of Hamburg, Hamburg, Germany,
[email protected] Manfred Stede Universit¨at Potsdam, Potsdam, Germany,
[email protected] Angelika Storrer Institut f¨ur Deutsche Sprache und Literatur, Universit¨at Dortmund, Dortmund, Germany,
[email protected] ¨ Maik Stuhrenberg Bielefeld University, Bielefeld, Germany Arthit Suriyawongkul Faculty of Sociology and Anthropology, Thammasat University and Opendream Labs, Bangkok, Thailand Thorsten Trippel Fakult¨at f¨ur Linguistik und Literaturwissenschaft, Universit¨at Bielefeld, Bielefeld, Germany,
[email protected] Jun’ichi Tsujii University of Tokyo, Tokyo, Japan; University of Manchester, Manchester, UK Andreas Witt Institut f¨ur Deutsche Sprache Mannheim, Mannheim, Germany,
[email protected] Chapter 1
Different Views on Markup Distinguishing Levels and Layers ¨ ¨ Daniela Goecke, Harald Lungen, Dieter Metzing, Maik Stuhrenberg, and Andreas Witt
Abstract In this chapter, two different ways of grouping information represented in document markup are examined: annotation levels, referring to conceptual levels of description, and annotation layers, referring to the technical realisation of markup using e.g. document grammars. In many current XML annotation projects, multiple levels are integrated into one layer, often leading to the problem of having to deal with overlapping hierarchies. As a solution, we propose a framework for XML-based multiple, independent XML annotation layers for one text, based on an abstract representation of XML documents with logical predicates. Two realisations of the abstract representation are presented, a Prolog fact base format together with an application architecture, and a specification for XML native databases. We conclude with a discussion of projects that have currently adopted this framework. Keywords Concurrent markup · XML · Annotations
1.1 Introduction An annotated text document firstly contains the primary information, i.e. the text, and secondly, meta information, i.e. its annotation. Typically, the meta information structures the text according to a certain view on the text. Since language is a highly complex object of investigation, linguists often want to express more than a single view on a text. This chapter deals with problems that can arise when annotating multiple, different views on a text. We propose a practical and terminological distinction between aspects related to modelling issues and aspects related to the actual annotations. Such a distinction helps overcome problems that are often encountered when dealing with heterogeneously structured text. This chapter is organised as follows: In Section 1.2, the terms level and layer are introduced, the relationship between levels, layers, and markup languages is D. Goecke (B) Bielefeld University, Bielefeld, Germany e-mail:
[email protected] A. Witt, D. Metzing (eds.), Linguistic Modeling of Information and Markup Languages, Text, Speech and Language Technology 40, C Springer Science+Business Media B.V. 2010 DOI 10.1007/978-90-481-3331-4 1,
1
2
D. Goecke et al.
described in Section 1.3. In Section 1.4 approaches to XML-conformant annotation of multiple levels are presented. In Section 1.5 the need for an abstract representation of XML markup is motivated and two approaches are presented: In Section 1.5.1, inference tools for concurrent markup that have been developed during the first phase of the project Sekimo – Secondary structuring of information, are introduced. Here, an architecture for the integration of heterogeneous resources, which utilises the set of Sekimo tools, is described. In Section 1.5.2, it is demonstrated how text data with concurrent markup can be represented and stored in XML databases. The chapter concludes with a discussion of the relevance of the distinction between level and layer with references to selected publications.
1.2 Levels and Layers Markup expresses additional information about text, e.g. authorship, or the part of speech of each word in it. Often it makes implicit information explicit, e.g. information encoded in the physical layout structure (such as paragraph and word boundaries). The amount of information that is associated with text by means of markup has been constantly growing over the past few years. This development involved an organisation and structuring of the multitude of information. Structuring information by means of markup implies a conceptual process as well as a technical one. The conceptual and the technical process do not necessarily result in identical combinations of the pieces of information. We introduce the following terminology to clarify the two principally different ways of grouping units of information occurring in markup structures. • Annotation level – referring to the conceptual level of information represented in markup • Annotation layer – referring to the technical realisation of markup For short, the term “level” refers to a model involving theoretical concepts e.g. of a research discipline. In linguistics, there are several subdisciplines which investigate different aspects and modalities of natural language and natural language description such as phonology, morphology, syntax, and semantics, which are often called the linguistic levels of description. Thus, an annotation unit (an XML element or attribute) will refer to one level while another annotation unit may refer to another level of linguistic description. In that sense, different levels of markup can be found in one annotated text. But even on one linguistic description level, different types of analyses can be represented which we still consider as different conceptual levels of markup. On the level of syntax, for example, alternative analyses according to different syntactic theories (e.g. Lexical Functional Grammar, Tree Adjoining Grammar, Categorial Grammar) may exist, and the annotation used to express any one of them refers to its own level of markup. The term “layer”, on the other hand, refers to the technical realisation of a modelling task. What it means exactly thus depends on the annotation system
1 Different Views on Markup
3
employed. In transcription systems based on the annotation graph framework (Bird and Liberman 2001), for example, a layer corresponds to a single labeled path which spans the transcribed text. Typically, an annotation graph consists of several such paths, thus multiple layers can be realised in one annotation graph. Another example of a technical realisation is the use of different XML documents to store annotations of one text (Witt 2005), each XML file then corresponds to one annotation layer. Distinguishing between levels and layers calls for an explication of the possible relations between the two. Does one annotation layer always correspond to one annotation level and vice versa? A closer look at the theoretical conceptualisations of annotations and their practical realisations reveals that levels and layers can stand in an 1 : 1, 1 : m, n : 1, or an n : m relation (where n, m > 1). Examples of these relations are shown in Fig. 1.1. In an 1 : 1 relation, one conceptual level is mirrored by exactly one annotation layer, and each technical layer realises exactly one annotation level. Given an 1 : 1 relation, one layer can be easily removed or exchanged without changing other layers. In an 1 : m relation, units of one level are distributed over several layers, e.g. for the POS level, a different layer might be created for each word class. In an n : 1 relation, two or more descriptive levels are integrated into one annotation layer, e.g. syntax and morphology annotations are often encoded in one XML document. An n : m relation involves both the splitting and the mixture of conceptual levels and is seldom found in annotated corpora. concept (level)
morphological structure
technical realization (layer)
morpheme
Example: XML elements
word
phrase structure
phrase
POS
Fig. 1.1 Possible relations between level and layer
1.3 Levels, Layers, and Markup Languages Markup Systems are formally defined. Consequently all markup languages are constrained. For SGML and XML, two restrictions are relevant when one aims at marking up information stemming from different linguistic levels of description:
4
D. Goecke et al.
• Firstly, they require that the elements used in a document instance must nest properly, i.e. the beginning and the end of a range of text annotated by one element must be contained in the same parent element. • Secondly, one document instance can be associated with at most one document grammar. The first restriction concerns the modelling aspect in a document instance and often results in the question of how to arrange different elements of a single layer in XML. Because a string annotated by one element must either be fully included in or totally separate from a string annotated by another element,1 i.e. elements must not overlap, this problem is also called the overlap problem. The second restriction often leads to difficulties when different levels are to be represented in one single XML document and thus addresses properties of markup systems. This problem concerns the use of document grammars, therefore we refer to it as the document grammar problem. Ideally, an annotation level should be formally defined in one document grammar and a document grammar should only define one level of annotation in order to allow for a clear identification of the ontological status of the elements under consideration. Nevertheless, quite often a document grammar defines an annotation inventory for several levels. E. g., some versions of the DTDs for HTML allow for annotating both the text structure (paragraphs, headings, hypertext relations, etc.) and features that are intended to be used by the rendering engine when displaying the text (font-size, color, etc.). In the same way, one could try to merge different annotation vocabularies into one integrated document grammar. In order to define a common document grammar which permits the representation of units from several levels, the interrelation of the concepts of the different levels that one wants to express using markup has to be analysed. An integrated document grammar, however, is not recommended for a clear identification of the ontological status of elements. Soon after the standardisation of XML the need for disentangling annotation vocabularies arose, since XML is not only used for annotating documents but also for as different purposes as programming (e.g. XSLT), the definition of document grammars (e.g. XSchema, Relax NG), and – through SVG – even for vector graphics. The namespace standard was thus introduced to prefix element and attribute names for indicating the annotation level to which they belong. Hence, in principle, namespaces can be used to disentangle subsets of markup which belong to different linguistic levels of description. Other markup languages, e.g. LMNL (Cowan et al. 2005), provide a similar mechanism to refer to different levels. This approach is better suited than the construction of an integrated document grammar, since different annotation levels are associated with different namespace prefixes. However, especially in XML, integrating different linguistic levels into one annotation often leads to the first problem, the overlap problem. Despite the different nature of the two kinds of problems, the overlap problem and the document grammar problem, both often occur together. The reason for
1 Different Views on Markup
5
this is obvious: When different levels are annotated and their document grammars have been designed independently, overlaps are bound to occur frequently. Hence, it might be helpful to try and solve both problems at once. A solution to both problems was provided by XML’s predecessor SGML. When the additional SGML feature “concur” is enabled, it is possible to independently annotate a text according to different document grammars. In recent years, new proposals to introduce this feature in XML, too, have been put forward (Hilbert et al. 2005, Schonefeld and Witt 2006). In this context the development of techniques for the definition of document grammars for concurrent markup has been started (Sperberg-McQueen 2006, Schonefeld and Witt 2006, Tennison 2007). Moreover, some non-SGML-based markup languages have been designed which allow for the annotation of overlapping elements as well as for the annotation on different levels, e.g. TexMECS (Huitfeld and Sperberg-McQueen 2001) and LMNL (Cowan et al. 2005).
1.4 XML-Conformant Annotation of Multiple Levels Since there is often a need for annotating structures which would result in overlapping XML elements, several solutions have been proposed. The two most frequently employed techniques to avoid overlap are firstly the so-called milestone elements and secondly the fragmentation of elements. • Milestone elements: This term describes the use of empty elements to mark only the boundaries of a text range which would otherwise be contained in a nonempty element.2 Since elements with text content can in principle also be used as empty elements, there is a variant of the milestone technique in which it is recommended to use all elements which originally were not intended to be empty (e.g. the element ) as milestone elements. Special attributes then indicate the status of these elements. This approach is known under at least three different names: Trojan Milestones, Horse and CLIX (cf. DeRose 2004). • Fragmentation: A text sequence included in an element which would otherwise be affected by overlap is artificially split into several text sequences. Each of the resulting strings is included in a fragment element. An element which marks up a fragment content (e.g. a part of a has attributes that indicate its special status and point to the preceding and the following element fragment(s). The second problem, caused by the single document grammar constraint, can also be tackled by different strategies: • Find a new integrated document grammar. In order to define a common document grammar which permits the representation of units from several levels, the interrelation of the concepts on the different levels that one wants to express using markup has to be analysed.
6
D. Goecke et al.
• Use different markup vocabularies for an annotation according to different document grammars. The namespace technique can be used to point to the document grammar from which an element or attribute is taken.
Standoff annotation, introduced by Thompson and McKelvie (1997) as a technique to split annotations from the textual data, can be used both to separate multiple linguistic levels from each other and to avoid overlapping structures. Standoff annotation has been primarily intended to present a solution to read-only textual data, copyright issues and overlapping structures. Instead of embedding markup in the text, markup and text are separated. Technically, standoff annotations are realised by referencing textual data through character offsets, e.g. an element begins at the 17th and ends at the 42nd character of the text in a given file “transcript.txt”. More often than raw text data a primary annotation is used as the target of a reference, e.g. a primary annotation annotates all the tokens of a text and introduces identifiers which can be used as link targets by the standoff annotation. Standoff markup is often regarded as appropriate markup technique when linguists have to deal with complex annotations (see Pianta and Bentivogli 2004). For real annotation tasks, however, standoff annotations easily become quite complex and therefore they are only editable and even human readable with specialised software (Dipper et al. 2007). An alternative way to solve the problems is the simplest solution to represent multiple, possibly overlapping hierarchies: The same text is annotated several times, and for each level of description, a separate markup layer is introduced, resulting in an 1:1 relation between markup levels and layers. Obviously, the creation of redundant copies of the textual base might be conceived as a drawback, because if changes to the textual base have to made, they have to be repeated for each annotation layer. On the other hand, this approach offers a range of possibilities for working with multiple description levels, especially in the field of humanities computing where it is the rule that one text is associated with manifold analyses and interpretations. In this solution, care has to be taken that all layers contain the same primary data (i.e. the text which is to be annotated): When editing multiply annotated text, the identity of the primary data has to be maintained. If the text base is changed in one of the XML layers but not in another one, identity conflicts may arise, and a connection between the different XML layers could be no longer established. However, several editors have been developed that facilitate the editing of multiply annotated text, see Witt (2005) for a detailed description of the tools that have been implemented in the Sekimo project. Further editors that support multi-layered annotations are described in Schmidt (2004), Dipper and G¨otze (2005) and Schonefeld and Witt (2006). Despite the need to ensure the identity of the primary data, the proposed solution offers the advantage that representations of different description levels may be developed independently of each other. A distributed development of XML layers allows experts to create markup independently of categories and structures from different levels. Furthermore, markup for additional levels may be added at any time without changing already existing XML layers.
1 Different Views on Markup
7
1.5 Modelling, Representation, Annotation In the previous section we have reviewed multiple annotations as a way to represent multiple, possibly overlapping hierarchies. To obtain a common view on the textual data and their multiple annotations, all markup is separated from its textual base. In order to split markup and text, an abstract representation of XML markup in logical predicates has been developed. Making a distinction between the textual base (primary data) and (possibly) multiple markup has been proposed in Witt (2002a,b), and has been further developed in Bayerl et al. (2003). In the NITE project, the Nite Object Model (NOM, Carletta et al. 2003) has been defined, which is similar to DOM, the standardised W3C Document Object Model, used for the representation of HTML and XML documents. The most important difference between DOM and NOM is that a DOM corresponds to a tree with a single root node for the outermost element in an XML document and the leaf nodes for the textual content of the elements. The underlying data structure of a NOM, however, is not one tree with a single root, but several interconnected trees. Since each of their roots (indirectly) spans the same leaves, i.e. the textual data, we use the term multi-rooted tree to refer to this data structure. In the Sekimo project, two approaches to the realization of an abstract representation have been developed: In Section 1.5.1 Prolog-based inference tools for concurrent markup are introduced. Section 1.5.2 describes the Sekimo Generic Format (SGF), an abstract XML-based representation format. In contrast to NOM, SGF uses a single-rooted tree but allows for several annotation levels corresponding to the same primary data using the formal model of a multi-rooted tree.
1.5.1 Multi-Layered XML Documents and Prolog In the following, both a realization of an abstract representation as well as an application of multiple annotations is presented. The realization is done in terms of a Prolog fact base, the application of the Prolog fact base focuses on the analysis and combination of different layers. The Prolog fact base format is an extension of previous work by SperbergMcQueen et al. (2000). In this approach, all XML markup is translated into Prolog predicates that describe both the textual data as well as XML markup in terms of elements or attributes. The original format of Sperberg-McQueen et al. (2000) (see also Sperberg-McQueen et al. 2002a), which we consider as an intra-layer approach, has been extended in order to allow both for intra-layer analyses as well as for inter-layer analyses (see Witt et al. 2005 for details). In the original format, each XML element is translated into a Prolog fact with two arguments, e. g. node([1,5,2],element(p)).
8
D. Goecke et al.
Attributes are translated into facts with three arguments, e. g. attr( [1,5,2], id, implied). (examples taken from Sperberg-McQueen et al. (2000), p. 219).
When representing multiple annotations, it must be recorded for each element or attribute to which layer it belongs. The multiple annotations can be connected using the identical textual content as a link between the separate layers. Therefore the original node and attr facts have been extended with arguments including layer information as well as information on the start and end position of the elements under consideration. In addition, the PCDATA (i.e. the underlying textual data) is translated into separate facts with three arguments (start position, end position, and the character at that position). These facts have been included for the purpose of reconverting the Prolog fact base into an XML representation. Thus, there are three types of Prolog predicates with their argument positions: • Predicates for XML elements: node(Layer, StartPosition, EndPosition, PositionDocumentTree, ElementName).
• Predicates for XML attributes: attr(Layer, StartPosition, EndPosition, PositionDocumentTree, AttributeName, AttributeValue).
• Predicates for PCDATA: pcdata node(StartPosition, EndPosition, Character).
A simple sentence like the one in Fig. 1.2 shall be used as an example to demonstrate the architecture of the application of multiple annotations. The textual content is represented character-wise by the multiple occurrence of the predicate pcdata node, which has the arguments start position, end position and the character at that position as shown in Fig. 1.3. The offset of the character position is used on the one hand as a reference for different layers of markup and on the other hand in order to generate new XML output from the Prolog fact base. 00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19 T h i s i s a s e n t e n c e .
Fig. 1.2 A simple sentence
1 2 3 4 5 6 7
pcdata_node (0 , 1 , ’T ’) . pcdata_node (1 , 2 , ’h ’) . pcdata_node (2 , 3 , ’i ’) . pcdata_node (3 , 4 , ’s ’) . pcdata_node (4 , 5 , ’ ’) . ... pcdata_node (18 , 19 , ’. ’) .
Fig. 1.3 PCDATA nodes in the Prolog fact base
1 Different Views on Markup 1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7
9
< np > < pron > This < vp > is < np > < det >a sentence . < syll > This is a sen tence .
Fig. 1.4 Formatted markup of POS/syntactic (above) and syllable (below) level of the same text segment
For the example sentence we have created XML markup for the levels Syllable Structure (Layer syll) and POS/syntactic Information (Layer pos) (see Fig. 1.4). In Fig. 1.5, the Prolog fact base of all nodes representing element instances and attributes from the layers pos and syll is shown. The word This (character positions 0–4, see lines 1–4 in Fig. 1.3), for example, is annotated as a pronoun on the layer pos and as a syllable on the layer syll (Fig. 1.4, above on line 3, and below on line 2). In the Prolog representation in Fig. 1.5, these elements can be found on lines 3 and 10. 1 2 3 4 5 6 7 8 9 10 11 12 13 14
node ( ’ pos . xml ’ , 0 , 19 , [1] , element ( ’s ’) ) . node ( ’ pos . xml ’ , 0 , 4 , [1 , 1] , element ( ’ np ’) ) . node ( ’ pos . xml ’ , 0 , 4 , [1 , 1 , 1] , element ( ’ pron ’) ) . node ( ’ pos . xml ’ , 5 , 18 , [1 , 2] , element ( ’ vp ’) ) . node ( ’ pos . xml ’ , 5 , 7 , [1 , 2 , 1] , element ( ’v ’) ) . node ( ’ pos . xml ’ , 8 , 18 , [1 , 2 , 2] , element ( ’ np ’) ) . node ( ’ pos . xml ’ , 8 , 9 , [1 , 2 , 2 , 1] , element ( ’ det ’) ) . node ( ’ pos . xml ’ , 10 , 18 , [1 , 2 , 2 , 2] , element ( ’n ’) ) . node ( ’ syll . xml ’ , 0 , 19 , [1] , element ( ’ syll ’) ) . node ( ’ syll . xml ’ , 0 , 4 , [1 , 1] , element ( ’s ’) ) . node ( ’ syll . xml ’ , 5 , 7 , [1 , 2] , element ( ’s ’) ) . node ( ’ syll . xml ’ , 8 , 9 , [1 , 3] , element ( ’s ’) ) . node ( ’ syll . xml ’ , 10 , 13 , [1 , 4] , element ( ’s ’) ) . node ( ’ syll . xml ’ , 13 , 18 , [1 , 5] , element ( ’s ’) ) .
15 16
attr ( ’ pos . xml ’ , 0 , 19 , [1] , ’ xml:lang ’ , ’ en ’) .
Fig. 1.5 Element and Attribute information in the Prolog fact base
10
D. Goecke et al.
The Prolog representation of the XML markup can be used in order to query the corpus, e.g. for an analysis of the relation between elements from different layers. Taking the start and end positions of two (or more) elements from separate annotation layers into account, different relations between these elements can be identified, e.g. the element np from layer pos includes the element s from layer syll. The information on relations between elements from different layers is important in order to create an annotation merger, i.e. for a markup unification of different annotation layers. The process of markup unification is described in detail in Witt et al. (2005). Basically, the merger contains all markup from the input layers and the interrelationship of elements determines the hierarchical structure of the intended merger. Besides unifying different annotation layers by markup unification to merge different annotation layers it is also possible to split a single annotation layer into different partitions. However – unlike merging – splitting is already possible with standard XML tools (e.g. XSLT or XQuery). Thus, the Prolog fact base format has mainly been extended for the purpose of markup unification. The Prolog fact base representing the merger of the facts in Fig. 1.5 is shown in Fig. 1.6; an XML output file generated from the merged fact base and the textual content is shown in Fig. 1.7. In order to avoid merging conflicts caused by identically named elements on different layers, each element name is provided with a prefix indicating its original layer. An XML layer is the realisation of a data model, i.e. of a conceptual level. When having different layers that describe different aspects of the data, an analysis of the data should give answers to the question of how the different layers interact, i.e. which relations hold between the markup elements. The possible relationships between elements from two layers have been arranged and classified in Durusau and O’Donnell (2002). They are of central interest for the merging process as they give information as to what the hierarchical structure of the merged XML annotation should look like. In the overview given in Fig. 1.8, some of the relationships given in Durusau and O’Donnell (2002) have been collapsed and renamed for the illustration of our approach.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
node ( ’ output ’ , attr ( ’ output ’ , node ( ’ output ’ , node ( ’ output ’ , node ( ’ output ’ , node ( ’ output ’ , node ( ’ output ’ , node ( ’ output ’ , node ( ’ output ’ , node ( ’ output ’ , node ( ’ output ’ , node ( ’ output ’ , node ( ’ output ’ , node ( ’ output ’ , node ( ’ output ’ ,
0 , 19 , [1] , element ( ’ pos . xml_s ’) ) . 0 , 19 , [1] , ’ xml:lang ’ , ’ en ’) . 0 , 19 , [1 , 1] , element ( ’ syll . xml_syll ’) ) . 0 , 4 , [1 , 1 , 1] , element ( ’ pos . xml_np ’) ) . 0 , 4 , [1 , 1 , 1 , 1] , element ( ’ pos . xml_pron ’) ) . 0 , 4 , [1 , 1 , 1 , 1 , 1] , element ( ’ syll . xml_s ’) ) . 5 , 18 , [1 , 1 , 2] , element ( ’ pos . xml_vp ’) ) . 5 , 7 , [1 , 1 , 2 , 1] , element ( ’ pos . xml_v ’) ) . 5 , 7 , [1 , 1 , 2 , 1 , 1] , element ( ’ syll . xml_s ’) ) . 8 , 18 , [1 , 1 , 2 , 2] , element ( ’ pos . xml_np ’) ) . 8 , 9 , [1 , 1 , 2 , 2 , 1] , element ( ’ pos . xml_det ’) ) . 8 , 9 , [1 , 1 , 2 , 2 , 1 , 1] , element ( ’ syll . xml_s ’) ) . 10 , 18 , [1 , 1 , 2 , 2 , 2] , element ( ’ pos . xml_n ’) ) . 10 , 13 , [1 , 1 , 2 , 2 , 2 , 1] , element ( ’ syll . xml_s ’) ) . 13 , 18 , [1 , 1 , 2 , 2 , 2 , 2] , element ( ’ syll . xml_s ’) ) .
Fig. 1.6 The merged Prolog fact base
1 Different Views on Markup 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
11
< pos_s xml:lang = " en " > < syll_syll > < pos_np > < pos_pron > < syll_s > This < pos_vp > < pos_v > < syll_s > is < pos_np > < pos_det > < syll_s >a < pos_n > < syll_s > sen < syll_s > tence .
Fig. 1.7 The merged output XML file
Using the tools described in Witt et al. (2005) interrelationships between different annotation layers can be analysed, and also two layers can be merged into a single XML document via the process of markup unification. Bayerl et al. (2003) describe the inter-layer analysis for three XML layers: the text’s document structure on the one hand and the XML markup of two kinds of semantic levels on the other hand (the thematic level, i.e. topics in the text world that the article is about, and
1 2
start point identity: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............
3 4
end point identity:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............
inclusion:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............
identity:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
overlap:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 6 7 8 9 10 11 12 13 14 15 16 17
independent elements: ........... ..............
Fig. 1.8 Possible relations between pairs of element instances (cf. Durusau and O’Donnell 2002)
12
D. Goecke et al.
the functional or rhetorical level). Goecke and Witt (2006) describe the inter-layer analysis of a text’s document structure and the anaphoric relations that hold within the text. Apart from analysing elements from different layers, elements within one layer (intra-layer analysis) may be compared, too. In case of an n:1 relation between n levels and one layer, for example, an analysis of the relations between elements might help to split the layer into several layers, i.e. one for each level.
1.5.2 Multi-Layered Documents and XML-Databases A different way of viewing and working with multi-layered documents is available when using an XML-based abstract representation format in connection with a native XML database. An XML-based format permits the application of several XML-related tools such as XPath, XSLT or XQuery. Dealing with multi-layered documents, however, bears the problem of overlapping structures which cannot be handled in plain XML (cf. Section 1.3). For this reason, we propose the abstract XML representation format SGF (Sekimo Generic Format) for multi-layered XML documents to be stored in a native XML database.3 An overview of the architecture is shown in Fig. 1.9. SGF is similar to the Prolog representation (cf. Section 1.5.1) in that the same mechanism for referencing characters and whitespaces is used: the offset position of each character. These are used to span sequences of character data over the text, which can be referred to in a second step as tokens in the annotation process. The root element corpus contains the element corpusData with its required attribute xml:id, the value of which is a unique identifier of the given input text, and a type attribute, determining the type of corpus data (textual or multimodal). The different annotation layers appear in a structured fashion as child elements of the annotation element. Each layer belongs to a namespace indicating it. A mandatory primaryData element is used to store and structure the primary textual data. The abstract representation of the example sentence shown in Fig. 1.2 can be seen in Fig. 1.10. The primary layer is flat in hierarchical terms. The primaryData element contains the complete whitespace-normalised textual input including whitespace and punctuation characters (for shorter texts) or a reference to a file in which the whitespace-normalised textual input is stored in (via the location element – not shown in the example). In the latter case an optional element checksum can be used to protect the integrity of the input data, providing both the computed checksum and the algorithm used. The element segments is used to store several segment elements, each of which contains an identifier, the segment type (in this case character) and the segment span (ranging from the start to the end attribute, referring to the offset of the first and last character of the string. Additional occurrences of the empty element segment can be used to define the position of whitespace character data, including a character reference. Relying on character offsets allows for dealing with different possible tokenisations (e.g. output from different text analysis tools).
Fig. 1.9 An overview of the architecture
1 Different Views on Markup 13
14 1 2 3 4 5 6 7 8 9 10 11 12 13 14
D. Goecke et al. < base:corpus xmlns = " http: // www . text - technology . de / sekimo " xmlns:base = " http: // www . text - technology . de / sekimo " > < b as e: co r pu sD at a xml:id = " c1 " type = " text " > < base:meta > < b as e: pr im a r y D a t a start = " 0 " end = " 19 " xml:lang = " en " > < b a s e : t e x t u a l C o n t e n t > This is a sentence . < b as e: co r pu sD at a xml:id = " c2 " type = " text " >
Fig. 1.10 The root element of the abstract XML representation format
Instead of using the start and end attributes, a use of the XPointer xpointer() Scheme (and especially the string-range function) would have been possible (e.g. as in the PAULA format, cf. Dipper et al. 2007). However, the xpointer() Scheme has been pending in the working draft status since the end of 2002, and implementations of the string-range function are rare.4 We believe that using the simpler concept of two attributes could speed up processing and ease the (semi-)automatic annotation process. The textual content of the input document is converted to the above described primary layer. In the next step segments have to be defined (see Fig. 1.11). Afterwards, annotation layers can be added.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
< base:corpus xmlns = " http: // www . text - technology . de / sekimo " xmlns:base = " http: // www . text - technology . de / sekimo " > < b as e: co r pu sD at a xml:id = " c1 " type = " text " > < base:meta > < b a s e : p r i m ar y D a t a start = " 0 " end = " 19 " xml:lang = " en " > < base:textualContent > This is a sentence . < base:segments > < base:segment xml:id = " seg1 " type = " char " start = " 0 " end = " 19 " / > < base:segment xml:id = " seg2 " type = " char " start = " 0 " end = " 4 " / > < base:segment xml:id = " seg4 " type = " char " start = " 5 " end = " 18 " / > < base:segment xml:id = " seg5 " type = " char " start = " 5 " end = " 7 " / > < base:segment xml:id = " seg7 " type = " char " start = " 8 " end = " 18 " / > < base:segment xml:id = " seg8 " type = " char " start = " 8 " end = " 9 " / > < base:segment xml:id = " seg10 " type = " char " start = " 10 " end = " 18 " / >
Fig. 1.11 Adding segments in the instance document
1 Different Views on Markup
15
In case that already existing inline annotation layers shall be used, the following steps have to be done for conversion: 1. A namespace referring to a converted representation of the schema of the annotation level is also added, following the notation http://www.text-technology. de/sekimo/[layer], and all elements of the imported layer are prefixed with the corresponding namespace prefix. If there are multiple annotations referring to the same schema (e.g. in case of an analysis of intra-layer relations), different namespace prefixes for the same namespace shall be used.5 For this reason we refer to the prefix as annotation layer prefix rather than namespace prefix. 2. An optional meta element can be used to describe the annotation layer (e. g. its origin, the annotator, etc.). Apart from the description element, other elements derived from different namespaces are allowed as children of the meta element. 3. The attribute segment of the primary layer is added to each element. 4. Elements with a PCDATA content model are converted to empty elements, mixed content elements are converted to container elements. This is possible because all character content is already stored in the primaryData element of the primary layer or in another file. A conversion of the annotation layers that were given in Fig. 1.4 would result in the representation shown in Fig. 1.12. Each annotation layer is stored in a layer element which is a child of the annotation element of the primary layer. Note, that only two more segments have been defined in order to represent the additional syllables layer. The annotation levels can be prioritised by means of the optional attribute priority to allow for correct nesting in case of overlapping structures. Keeping the explicit structural information of the non-terminal elements is a benefit provided by the XML-based representation format in contrast with other possible representation formats, allowing validation of annotation layers with only slightly changed version of the original document grammars (including cross-layer validation). As a second advantage, the XML-based representation format allows for storing meta-data such as the language of a sentence. Nontextual elements like images and figures can be embedded in special elements (e.g. ). Since the scope of this work is the annotation of textual documents, the treatment of non-textual elements is not pursued further here. However, this framework can be used for the annotation of multimodal corpora, too, by using timecode or frame positions as values for the start and end attributes and using multimodal as value for the type attribute of the corpusData element. In addition, it should be mentioned that constructing larger segments by referencing to other segments is possible as well (including disjoint segments). In this case the value of the type attribute of the segment element is set to seg and instead of start and end attributes a segments attribute is used (containing the identity references of the corresponding segments).
16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
D. Goecke et al. < base:corpus xmlns = " http: // www . text - technology . de / sekimo " xmlns:base = " http: // www . text - technology . de / sekimo " > < base:corpusData xml:id = " c1 " type = " text " > < b a s e : p r i m a r y D a t a start = " 0 " end = " 19 " xml:lang = " en " > < b a s e : t e x t u a l C o n t e n t > This is a sentence . < base:segments > < base:segment xml:id = " seg1 " type = " char " start = " 0 " end = " 19 " / > < base:segment xml:id = " seg2 " type = " char " start = " 0 " end = " 4 " / > < base:segment xml:id = " seg4 " type = " char " start = " 5 " end = " 18 " / > < base:segment xml:id = " seg5 " type = " char " start = " 5 " end = " 7 " / > < base:segment xml:id = " seg7 " type = " char " start = " 8 " end = " 18 " / > < base:segment xml:id = " seg8 " type = " char " start = " 8 " end = " 9 " / > < base:segment xml:id = " seg10 " type = " char " start = " 10 " end = " 18 " / > < base:segment xml:id = " seg11 " type = " char " start = " 10 " end = " 13 " / > < base:segment xml:id = " seg12 " type = " char " start = " 13 " end = " 18 " / > < base:annotation > < base:level xml:id = " pos " priority = " 0 " > < base:layer xmlns:pos = " http: // www . text - technology . de / pos " xsi:schemaLocation = " http: // www . text - technology . de / pos p . xsd " > < pos:s base:segment = " seg1 " > < pos:np base: segment = " seg2 " > < pos:pron base:segment = " seg2 " / > < pos:vp base: segment = " seg4 " > < pos:v base:segment = " seg5 " / > < pos:np base:segment = " seg7 " > < pos:det base:segment = " seg8 " / > < pos:n base:segment = " seg10 " / > < base:annotation > < base:level xml:id = " syll " priority = " 0 " > < base:layer xmlns:syll = " http: // www . text - technology . de / syll " xsi:schemaLocation = " http: // www . text - technology . de / syll s . xsd " > < syll:syll base:segment = " seg1 " > < syll:s base: segment = " seg2 " / > < syll:s base: segment = " seg5 " / > < syll:s base: segment = " seg8 " / > < syll:s base: segment = " seg11 " / > < syll:s base: segment = " seg12 " / >
Fig. 1.12 The converted SGF representation of the two annotation layers
1 Different Views on Markup
17
A successor of SGF, called XStandoff, is already available as development release (St¨uhrenberg and Jettka 2009). For sustainability reasons, the current version of the Sekimo Generic Format has undergone a feature-freeze in that way that the format and its corresponding tools are considered as stable. Storing the multi-layered documents in a native XML database allows for using query and analysis mechanisms which are similar to those provided for the Prolog fact base. Most native XML database systems support XPath and at least a subset of XQuery and some sort of update mechanism (e.g. XUpdate as defined by the XML:DB Initiative6 ) or the upcoming XQuery Update Facility which is capable of processing and updating instances of the XQuery/XPath Data Model (XDM) (Chamberlin et al. 2008). The W3C is working on the extension of XQuery 1.0 with full-text search capabilities (Amer-Yahia et al. 2006). Tests with the Open Source native XML databases eXist,7 the Berkeley DB XML8 and the commercial but freely available IBM DB2 Express-C9 showed a good performance. Mechanisms like the above mentioned XUpdate or the upcoming XQuery Update Facility allow for updating the instance files. By now the use of a native XML database allows for easy intra- and inter-layer analysis. Having a powerful query language like XQuery allows for quite complex analyses. For a more detailed description of the Sekimo Generic Format and performance measures on a per-file basis in a real-world application (cf. St¨uhrenberg and Goecke 2008).
1.6 Conclusions Information contained in textual markup can be grouped according to two distinct principles: On the one hand, (annotation) level refers to a conceptual level of information such as the phonological, syntactic and semantic levels of description familiar from linguistics. (Annotation) layer, on the other hand, refers to the technical realisation of markup, e.g. one document grammar or one labelled path in an annotation graph defines one annotation layer. The ideal case in text-technological information modelling is that of a 1:1 correspondence between levels and layers. However, due to the single document grammar restriction for SGML-based markup languages, linguistic levels are often integrated into one annotation layer, resulting in a need to solve the so-called overlap problem. We showed that previous solutions to the overlap problem exhibit some drawbacks, so that we vote for a framework of XML-based multi-layer annotation where the same text is annotated several times, and a separate markup layer is introduced for each description level. That way, experts can create and maintain markup for their description levels independently of the structures defined for the same text by the experts for a different description level. Markup for additional levels can be added without having to make changes to existing markup layers. The use of special editors guarantees the identity of the primary data of each layer. An abstract representation in terms of logical predicates defines a common view on multiply annotated layers of one text. We presented two realisations of such abstract representations,
18
D. Goecke et al.
firstly a Prolog fact base format, and secondly, a realisation that makes use of existing XML database facilities. For the Prolog fact base, we presented an application architecture in which multiply XML-annotated documents can be unified, and relations between element types in annotation layers can be inferred. We also showed that utilising XML databases for a realisation of the abstract representation format SGF, XML standards and tools such as XPath, XQuery and XUpdate can be used conveniently for retrieving and updating annotations within this framework. Our framework of XML-based multiple annotations is currently applied in several text-technological projects for the automatic linguistic analysis of XMLannotated texts. The annotations of the different levels of discourse structure described in L¨ungen et al. (in this volume), for example, have been annotated separately in a corpus of scientific journal articles. The discourse parser described is realised in Prolog and takes the Prolog fact base derived from the multiple annotations of one document as its input and adds the independent annotation layer of rhetorical structure as its output. St¨uhrenberg et al. (2006) apply the framework within the context of anaphora resolution. Necessary resources for the resolution process (e.g. morphology, syntax, logical document structure, ontological knowledge) have been annotated separately and the resulting annotation layers are combined in the representation format. On the basis of the combined XML data, feature vectors have been extracted that serve as input for corpus analyses and the resolution process. Both, the Sekimo Generic Format and its currently developed successor, XStandoff, are freely available under the LGPL 3 license including the accompanied tools, other interested parties and projects are invited to use and enhance this framework.10 For a broader discussion of the issue of sustainability of multiply structured linguistic data see St¨uhrenberg et al. (2008), Rehm et al. (2009), and Witt et al. (2009).
Notes 1. This is the reason for stating that SGML or XML documents form an “ordered hierarchy of content objects” (OHCO). 2. E.g. instead of using the element such that it contains the text of a single print line, two empty elements could be employed to annotate the line breaks before and after a line. 3. Storing on a per-file basis or in a relational database is possible as well. 4. Cf. http://www.w3.org/XML/2000/09/LinkingImplementations.html 5. It would also be possible to declare multiple namespaces as an ad hoc solution, but this would be against the intention of the XML namespace standard. 6. Cf. http://xmldb-org.sourceforge.net/xupdate/ 7. Cf. http://www.exist-db.org 8. Cf. http://www.sleepycat.com/products/bdbxml.html 9. Cf. http://www.ibm.com/software/data/db2/express/ 10. Cf. http://www.xstandoff.net for further details.
1 Different Views on Markup
19
References Amer-Yahia, S., Botev, C., Buxton, S., Case, P., Doerre, J., Holstege, M., McBeath, D., Rys, M., and Shanmugasundaram, J. (eds.) (2006). XQuery 1.0 and XPath 2.0 Full-Text. W3C Candidate Recommendation 16 May 2008 http://www.w3.org/TR/2008/ CR-xpath-full-text-10-20080516/ Barnard, D., Burnard, L., Gaspart, J., Price, L. A., Sperberg-McQueen, C. M., and Varile, G. B. (1995). Hierarchical encoding of text: technical problems and SGML solutions. In: Computers and the Humanities. 29:211–231. Bayerl, P. S., Goecke, D., L¨ungen, H., and Witt, A. (2003). Methods for the semantic analysis of document markup. In: Roisin, C., E. Munson and C. Vanoirbeek (eds.). Proceedings of the 3rd ACM Symposium on Document Engineering (DocEng), Grenoble: 161–170. Bird, S. and Liberman, M. (2001). A formal framework for linguistic annotation. In: Speech Communication 33(1,2):23–60. Carletta, J., Kilgour, J., O’Donnnell, T., Evert, S., and Voormann, H. (2003). The NITE Object Model Library for Handling Structured Linguistic Annotation on Multimodal Data Sets. In: Proceedings of the EACL Workshop on Language Technology and the Semantic Web (3rd Workshop on NLP and XML, NLPXML-2003). Budapest. Chamberlin, D., Florescu, D., and Robie, J. (eds.) (2008). XQuery Update Facility. W3C Candidate Recommendation 1 August 2008 http://www.w3.org/TR/2008/ CR-xquery-update-10-20080801/ Clark, H. (1977) Bridging. In: Johnson-Laird P.C. and P.N. Wason (eds.), Thinking: Readings in Cognitive Science, Cambridge University Press, Cambridge: 411–420. Cowan, J., Tennison, J., and Piez, W. LMNL update. In: Proceedings of Extreme Markup Languages 2006, Montreal. Czmiel, Al. (2004) XML for Overlapping Structures (XfOS) Using a Non XML Data Model. In: Proceedings of the Joint Conference of the ALLC and ACH, G¨oteborg, Sweden. DeRose, S. Markup overlap: a review and a horse. In: Proceedings of Extreme Markup Languages 2004, Montreal. DeRose, S. J., Durand, D. G., Mylonas, E., and Renear, A. (1990). What is text, really? Journal of Computing in Higher Education, ACM Press, 1:3–26. Dipper, S. and G¨otze, M. (2005). Accessing heterogeneous linguistic data – generic XML-based representation and flexible visualization. In: Proceedings of the 2nd Language & Technology Conference: Human Language Technologies as a Challenge for Computer Science and Linguistics, Poznan:206–210. Dipper, S., G¨otze, M., K¨ussner, U., and Stede, M. (2007). Representing and querying standoff XML. In: G. Rehm, A. Witt, and L. Lemnitzer (eds.), Data Structures for Linguistic Resources and Applications. Proceedings of the Biennial GLDV Conference 2007, Gunter Narr Verlag, T¨ubingen:337–346. Durusau, P. and O’Donnell, M. B. (2002). Concurrent markup for XML documents. In: Proceedings of XML Europe 2002. Goecke, D. and Witt, A. (2006). Exploiting logical document structure for anaphora resolution. In: Proceedings of the 5th International Conference on Language Resources and Evaluation (LREC 2006). Genoa, Italy. Hilbert, M., Schonefeld, O., and Witt, A. Making CONCUR work. In: Proceedings of Extreme Markup Languages 2005, Montreal. Huitfeld, C. and Sperberg-McQueen, C. M. (2001). TexMECS: An experimental markup metalanguage for complex documents. http://xml.coverpages.org/MLCD-texmecs20010510.html. Karttunen, L. (1976). Discourse referents. In: Syntax and Semantics: Notes from the Linguistic Underground, 7:363–385. Mitkov, R. (2002). Anaphora resolution. Longman, London. Pianta, E. and Bentivogli, L. (2004). Annotating discontinuous structures in XML: the multiword case. In: Proceedings of the LREC-Satellite Workshop on XML-based Richly Annotated Corpora. Lisbon 2004.
20
D. Goecke et al.
Piez, W. (2004) Half-steps toward LMNL. In: Proceedings of Extreme Markup Languages 2004, Montreal. Rehm, G., Schonefeld, O., Witt, A., Hinrichs, E., and Reis, M. (2009). Sustainability of annotated resources in linguistics: a web-platform for exploring, querying and distributing linguistic corpora and other resources. In: Literary and Linguistic Computing 2009 24(2):193–210. Renear, A., Mylonas, E., and Durand, D. (1996). Refining our notion of what text really is: The problem of overlapping hierarchies. In: N. Ide and S. Hockey (eds.) Research in Humanities Computing. Selected Papers from the ALLC/ACH Conference, Christ Church, Oxford, April 1992, 4:263–280. Schonefeld, O. and Witt, A. Towards validation of concurrent markup. In: Proceedings of Extreme Markup Languages 2006, Montreal. Schmidt, T. (2004). EXMARaLDA – ein System zur computergest¨utzten Diskurstranskription. In: Mehler, A. and Lobin, H. (eds.) Automatische Textanalyse: Systeme und Methoden zur Annotation und Analyse nat¨urlichsprachlicher Texte. Wiesbaden: VS Verlag:203–218. Simons, G., Lewis, W., Farrar, S., Langendoen, T., Fitzsimons, B., and Gonzalez, H. (2004). The semantics of markup: mapping legacy markup schemas to a common semantics. In: Proceedings of the ACL 2004 Workshop on RDF/RDFS and OWL in Language Technology (NLP XML2004), Barcelona. Sperberg-McQueen, C. M., Huitfeldt, C., and Renear, A. (2002). Meaning and interpretation of markup. In: Markup Languages: Theory & Practice 2.3 (2000):215–234. Sperberg-McQueen, C. M., Dubin, D., Huitfeldt, C., and Renear, A. (2002). Drawing inferences on the basis of markup. In: Proceedings of Extreme Markup Languages 2002, Montreal. Sperberg-McQueen, C. M. and Burnard, L. (eds.) (2002). TEI P4: guidelines for electronic text encoding and interchange. Text Encoding Initiative Consortium. XML Version: Oxford, Providence, Charlottesville, Bergen. Sperberg-McQueen, C. M. (2006). Rabbit/duck grammars: a validation method for overlapping structures. In: Proceedings of Extreme Markup Languages 2006, Montreal. St¨uhrenberg, M., Witt, A., Goecke, D., Metzing, D., and Schonefeld, O. (2006). Multidimensional markup and heterogeneous linguistic resources. In: Proceedings of the 5th Workshop on NLP and XML (NLPXML-2006): Multi-Dimensional Markup in Natural Language Processing. April 4, 2006. Trento, Italy. St¨uhrenberg, M. and Goecke, D. (2008). SGF – an integrated model for multiple annotations and its application in a linguistic domain. In: Proceedings of Balisage: The Markup Conference 2008, Montreal. St¨uhrenberg, M., K¨uhnberger, K.-U., L¨ungen, H., Mehler, A., Metzing, D., and M¨onnich, U. (2008) Sustainability of text-technological resources. In: Proceedings of the LREC 2008 Workshop Sustainability of Language Resources and Tools for Natural Language Processing, Marrakech, Morocco:33–40. St¨uhrenberg, M. and Jettka, D. (2009). A toolkit for multi-dimensional markup – the development of SGF to XStandoff. In: Proceedings of Balisage: The Markup Conference 2009, Montreal. Strube, M. and M¨uller, C. (2003). A machine learning approach to pronoun resolution in spoken dialogue. ACL 03. Tennison, J. (2007). Creole: validating overlapping markup. In: Proceedings of XTech 2007, Paris. Thompson, H. S. and McKelvie, D. (1997). Hyperlink semantics for standoff markup of read-only documents. In: Proceedings of SGML Europe ’97, Barcelona. Trippel, T. Sasaki, F., Hell, B., and Gibbon, D. (2003). Acquiring lexical information from multilevel temporal annotations. 8th European Conference on Speech Communication and Technology. Vieira, R. and Teufel, S. (1997). Towards resolution of bridging descriptions. In: Proceedings of ACL/EACL, Madrid. Webber, B. L. (1988) Discourse deixis: reference to discourse segments. In: Proceedings of the ACL:113–122. Witt, A. (2002). Meaning and interpretation of concurrent markup. In: Proceedings of the Joint Conference of the ALLC and ACH, T¨ubingen, Germany.
1 Different Views on Markup
21
Witt, A. (2002). Multiple Informationsstrukturierung mit Auszeichnungssprachen. XML-basierte Methoden und deren Nutzen f¨ur die Sprachtechnologie. Phd Thesis, Universit¨at Bielefeld. Witt, A. (2005). Multiple hierarchies: new aspects of an old solution. Re-published in: Dipper, S., M. G¨otze, and M. Stede (eds.) Heterogeneity in Focus: Creating and Using Linguistic Databases. Volume 2 of Interdisciplinary Studies on Information Structure (ISIS), Working Papers of the SFB 632. Universit¨atsverlag Potsdam, Germany. Witt, A., Goecke, D., Sasaki, F., and L¨ungen, H. (2005). Unification of XML documents with concurrent markup. Literary and Linguistic Computing 2005 20(1):103–116. Witt, A., Rehm, G., Hinrichs, E., Lehmberg, T., and Stegmann, J. (2009). SusTEInability of Linguistic Resources through Feature Structures. In: Literary and Linguistic Computing 2009; doi: 10.1093/llc/fqp024.
Chapter 2
Another Extension of the Stylesheet Metaphor Visualising Multi-Layer Annotations as Musical Scores Thomas Schmidt
Abstract This paper proposes a method for deriving visualisations of linguistic documents from an encoding of their logical structure. The method is based on an extension of the stylesheet processing metaphor as applied, for instance, in XSLT transformations of XML documents. The paper discusses the method using a piece of discourse transcription in musical score notation as an example for a visualisation and AG and NITE type data models as examples of logical representations of linguistic data. It is argued that this can be generalised to other visualisation types and other data models. Keywords Transcription · Multilayer annotation · Visualisation · Linguistic annotation
2.1 Introduction The separation of the logical from the graphical structure of data is a fundamental principle in all application of markup languages. The original reason for this separation lies in the observation that a written document can be more easily and flexibly processed by a computer when the digital representation abstracts over its physical appearance and instead encodes the logical distinctions that motivate this appearance. Various graphical displays can then be derived automatically from the encoding of the logical structure. The same principle is applied when it comes to digital representations of linguistic data in general. In fact, it seems that not only is it a commonplace that the logical and graphical structures of linguistic data have to be separated, but also that text technological approaches usually consider the former the more important
T. Schmidt (B) Special Research Centre (SFB 538) on Multilingualism, University of Hamburg, Hamburg, Germany e-mail:
[email protected] A. Witt, D. Metzing (eds.), Linguistic Modeling of Information and Markup Languages, Text, Speech and Language Technology 40, C Springer Science+Business Media B.V. 2010 DOI 10.1007/978-90-481-3331-4 2,
23
24
T. Schmidt
aspect. Thus, for instance, Johannson (1995) states that the approach of the Text Encoding Initiative’s Guidelines “focuses on an underlying representation, while acknowledging that this can be transformed for particular processing purposes and display”, and Bird and Liberman (2001) also emphasize that their annotation graph framework “focus[es] on the logical structure of linguistic annotations”. As a practical outcome of this one-sided focus, there exist now different elaborate approaches to the encoding of the logical structure of multi-level annotated data, and these approaches greatly facilitate the exchange and the computer-assisted query of linguistic corpora. At the same time, however, the question of how this logical structure can be transformed into a graphical visualisation for the human user has been often neglected. Carletta et al. (2002) allude to this problem: Perhaps the toughest and most overlooked requirement is the need for flexible display and interface mechanisms.
It is crucial to note that these display and interface mechanisms have an equally important place in the work with corpora: firstly, good data visualisations are needed for many kinds of qualitative analyses. The methodologies of conversation and discourse analysis, for example, rely heavily on the manual study of printed transcripts in which various levels of linguistic analysis are graphically condensed into a single representation (see the example in Section 2.3). Secondly, a human-readable display is perhaps even more indispensable in the process of data creation. Wherever manual annotation is required in this process (i.e. almost everywhere except for some simple steps like tokenization and POS tagging), the speed and quality of the result strongly depend on the appropriateness of visualisations in software user interfaces. In the long run, the elaborate frameworks for the encoding of the logical structure of linguistic data will therefore have to be supplemented with equally elaborate frameworks for the display of such data. Carletta et al. (2002) make some detailed suggestions about the properties such a framework should have. In ongoing work in the NITE project, these suggestions have been partly implemented in NXT – “a java program which processes an xml meta-data input file and produces a user interface display” (Kilgour 2003). This approach is closely linked to the NITE Object Model (Evert et al. 2003), and it focuses on display techniques for data creation and annotation. By backgrounding the concrete underlying data model and focussing on display for data analysis rather than data creation, this paper explores the same subject matter from a slightly different angle: it departs from a typical visualisation of a multi-level annotated data set, as it is commonly used in qualitative discourse or conversation analysis. After showing that the underlying logical structure of this graphical display can be represented within different existing text-technological frameworks, the mechanisms by which logical structure is mapped onto graphical structure are analysed. Based on this analysis, an extension of the stylesheet processing metaphor (explained in Section 2.2) is outlined which minimises the programming work for the user and is applicable across different data models and technological environments.
2 Another Extension of the Stylesheet Metaphor
25
2.2 The Stylesheet Processing Metaphor In discussing their data model for the encoding of the logical structure of multi-level annotations, Carletta et al. (2002) use the term “stylesheet processing metaphor” to characterize what they see as the best approach for supporting complex linguistic annotation: If all we needed were simple display for flat or rigidly hierarchical codes, XML and XSLT would already provide a basic engine for processing linguistic annotation [. . .] Therefore our proposal is to support the remaining linguistic annotation needs by extension of the stylesheet processing metaphor. [. . .] For this approach to work, further development is required in two areas: data modelling, and display and interface techniques.
Before exploring in the following sections some of the details of such an extension, the stylesheet processing metaphor itself shall be briefly sketched here. The term refers to the method by which an XML document can be transformed into another document for (among other things1 ) the purpose of displaying it on a computer screen. As Fig. 2.1 illustrates, this process involves five distinct components: 1. In the input document (an XML document) the logical structure of the data is encoded; 2. in the transformation document (an XSLT document) rules are specified for mapping the elements of the input document (and other documents that conform to the same document structure) onto elements of the output document; 3. the transformer (an XSL processor) is a piece of software which is able to interpret the transformation rules and, by applying them to the input document, produces the output document; 4. in the output document (often an HTML document) the graphical structure of the data is encoded; and 5. a viewer (often a web browser) is a piece of software which is able to interpret the encoding of the graphical structure in the output document and to display it on a screen or on paper. One convenient feature of the way this is implemented lies in the relation between input document, output document and transformer – the transformation rules are formulated in a declarative way by simply stating which patterns in the input document are to be mapped onto which output elements. The stylesheet writer does not have to concern himself with the way these patterns are found and processed in the input document because this “knowledge” is built into the transformer. Another – often overlooked – convenient feature lies in the relation between output document and viewer. Somebody writing a stylesheet for transforming an XML into an HTML document, for example, need not be concerned with every detail of the physical appearance of the document – for instance, he will usually not have to calculate the precise coordinates of symbols in the visualisation. Instead, he can simply declare the symbol to be a part of (e.g.) a
element, and the viewer application (the web browser), using its “knowledge” about font metrics, line-wrapping methods, etc.,
XSL document
Fig. 2.1 Stylesheet metaphor: processing chain
XML document
Input Document
Transformation Document
Software
Transformer HTML document RTF document PDF document ...
Output Document
E.g. Browser
Viewer
26 T. Schmidt
2 Another Extension of the Stylesheet Metaphor
27
will take care of computing the horizontal and vertical position where this symbol appears on the screen. “Extending the stylesheet metaphor” then will mean extending the capabilities of one or several of these components or replacing one or several of them with components that better suit the needs of the task in question. The following sections will explore this in more detail.
2.3 An Example Figure 2.2 is a typical example of a transcript used in discourse analysis. A researcher familiar with the HIAT transcription system (Rehbein et al. 2004) will be able to read this transcript as a representation of a conversational exchange between two speakers in which several levels of linguistic analysis are contained: • the temporal structure of the speakers’ verbal and non-verbal behaviour is represented in the arrangement of the corresponding descriptions in a “musical score”; • speaker turns are segmented into utterances, words, pauses (represented by two bold dots) and non-phonological material (the “cough” of speaker X); • utterances are qualified with respect to their speech act qualities,2 and interrupted utterances are marked as such; • within utterances, speech act augments (like “well”) and repair sequences consisting of a reparandum, an intervention and a reparans (like “I th/” – “ehm” – “I mean”) are identified; • stressed syllables (like “how”) are marked; • for some of the utterances a translation into German is provided. In text technological terms, then, this is an example of a multi-level annotation, and it is possible to express the logical structure of this excerpt within texttechnological frameworks intended for that purpose. Figure 2.33 depicts a representation of the data as a set of interwoven hierarchies where some elements in the hierarchy have timestamps. This conforms to the NITE Object Model approach suggested in Evert et al. (2003). Alternatively, the data set can be thought of as a directed acyclic graph whose nodes represent an abstract timeline and whose arc labels carry the non-temporal information, as shown in Fig. 2.4. Hierarchical structures can then be derived via an inclusion relation between arcs. This conforms to the annotation graph approach suggested in Bird and Liberman (2001).4 X [nv] X [v] X [de] Y [nv] Y [v]
left hand up
Yes, • • sure. But ((cough)) how exactly? Ja, • • klar.
Oh,
Aber ((hustet)) wie genau?
Fig. 2.2 Example of a musical score transcription
Eyebrows raised
Well, I th/ ehm I mean…I don't know.
well!
TRANS
NPH cough
w
PC
but
w
PC
sure
PAUS
medium
PC
yes
Fig. 2.3 NITE representation of the example
SEG nonpho
SEG
SEG
SEG
interv
repair
REP
REP
REP
PC I
th
reparans
mean
PC PC ehm
PC
SEG w
REP
SEG w
reparand
I
PC
SEG w
w
SEG
u
stress
ctly
exa
w
SEG
TYPE interrupted
SEG
PROS
PC well
PC
PC
w
SEG
how
w
w
PC
SEG
SEG
interrogative
u
pause
affirmative
u
TYPE
SEG
w
TYPE
SEG
TRANS
Aber wie genau?
SEG
Ja, sicher.
28 T. Schmidt
Fig. 2.4 AG representation of the example
PC well
stress
PC I
PC th
ehm
PC
interv
ctly
exa
PROS
REP
REP reparand
PC
PC
how
repair
REP
PC
w
SEG
TYPE
but
medium
yes
w
SEG
affirmative
NPH cough
PC
PC
sure
PAUS
PC
w
SEG nonpho
SEG
TRANS
Ja, sicher.
u
SEG
I
PC
REP reparans
PC mean
2 Another Extension of the Stylesheet Metaphor 29
30
T. Schmidt
With either representation, the question that this paper is concerned with can be reformulated as “How are elements in such a representation of the logical structure of the data set mapped onto elements of the visualisation?”
2.4 Mapping from Logical to Graphical Structure 2.4.1 Mapping of Temporal Relations A first observation is that some of the symbolic descriptions used in the logical structure reappear more or less unchanged in the visualisation (e.g. the orthographic transcriptions of words and parts of words or the translation string “Ja, sicher.”) while others (e.g. the description “medium” for a pause, the prosody description “stress” or the description “affirmative” for an utterance type) do not. Leaving the latter aside for a moment, the visualisation has a straightforward way of mapping temporal relations in the logical structure to spatial relations in the graphical structure: individual elements are first organised into tiers where no two elements within a tier must overlap. The temporal sequence of two elements is then mapped onto a left-to-right sequence in the visualisation, and simultaneity of two elements is represented by aligning their descriptions at the same horizontal position in different tiers. Note that it is only the relative temporal ordering, not the absolute temporal duration that is relevant in this mapping – the actual absolute position of a symbol in the visualisation is therefore calculated only as a function of the typographic extent of its description, not of the absolute temporal duration of the corresponding stretch in the recording. This is different in the user interfaces of many tier-based annotation tools. For instance, the user interface of Praat (like those of the TASX annotator, of ELAN and of ANVIL), shown in Fig. 2.5, uses absolute
Fig. 2.5 The example in a Praat TextGrid: spatial extent is proportional to temporal duration of described entities
2 Another Extension of the Stylesheet Metaphor
31
temporal duration to determine the size and position of individual elements in the visualisation. While this is generally an advantage in the transcription process because it provides the user with an intuitive way of selecting portions of a waveform representation of the signal and assigning symbolic descriptions to them, it may be perceived as a disadvantage in analysis because it makes a continuous reading of connected strings within a tier more difficult.
2.4.2 Mapping of Entity/Feature and Hierarchical Relations Regarding those symbols from the logical description of the data that do not reappear unchanged in the visualisation, the easiest case is that of iconification. The medium-length pause in the above example is mapped onto two consecutive bold dots in the visualisation, but otherwise integrates itself into the same logic by which the descriptions of words, etc. find their way into the display (see Fig. 2.6). From the point of view of computer processing, this is a simple one-to-one mapping of one chain of symbols to another chain of symbols and thus seems to have no effect on the informational or structural properties of the data set. However, there are two reasons why it is an advantage in terms of readability for the human user: firstly, these dots are more easily visually separated from the orthographic transcription of words than a symbol chain like “pause/medium” would be, and the fact that these entities are qualitatively different is thus more easily perceived by the reader.5 Secondly, by using one dot for a short pause, two dots for a medium pause and three dots for a long pause, HIAT makes the duration of the pause correspond to the length of the symbol chain in the visualisation. Hence, the value of this mapping lies in the fact that it increases iconicity – a feature that is irrelevant for computer processing, but important for human processing of the data. For other entities from the logical description of the data structure, however, the mapping to the visualisation involves something different from a simple iconification. These cases can be subsumed under the notion of intralinearisation, distinguishing two subcases: The first is intralinearisation through formatting and is applied in the above example for the stress annotated on the phoneme chain “how”. In the logical structure of the data, this is an entity/feature relation. In the visualisation, it is mapped onto a linear sequence of symbols (hence: intralinearisation) with a certain formatting property (here: underlining). This is illustrated in Fig. 2.7.
PAUS medium
Fig. 2.6 Iconification of an annotation
32
T. Schmidt PC how
PROS
PC
stress
how
how PROS stress
Fig. 2.7 Intralinearistaion through formatting
The other subcase is intralinearisation through symbol insertion. This is applied, for instance for the utterance type “affirmative” annotated on the first utterance of speaker X. Again, this is an entity/feature relation in the logical structure of the data which, in this case, is mirrored in the visualisation by appending a symbol (here: a period) to the linear sequence of symbols that describe the annotated entity (here: the phoneme chain “sure”). Figure 2.8 illustrates this. As Fig. 2.9 illustrates, the same process is applied in the mapping of hierarchical relations: the hierarchical embedding of words and non-phonological segments into utterances, for instance, is represented by marking word boundaries with spaces, putting non-phonological segments into a pair of double brackets (each an intralinearisation through symbol insertion) and by marking utterance beginnings6 with capital letters (intralinearisation through formatting) in the visualisation. The same principle is applied in the well-known method of intralinearising phrase structure trees as bracketed symbol sequences (see Fig. 2.10).7 Finally, it has to be noted that some entities and relations that can be found in the logical description of the data do not have any correspondent at all in the visualisation. For instance, the repair structure, which, in the logical description, is hierarchically decomposed into a reparandum, an intervention and a reparans, is only partially mapped onto the graphical display: only the reparandum is intralinearised through the insertion of a forward slash, the other two elements are not represented at all.8
SEG
TYPE
u
affirmative
SEG w
PC
PAUS
PC
yes
medium
sure
sure. TYPE affirmative
PC sure
Fig. 2.8 Intralinearistaion through symbol insertion
nonpho
NPH
cough
w
PC
but
PC
ctly
PC
exa
how
w
w
PC
SEG
SEG
Fig. 2.9 Intralinearising hierarchical relations
SEG
SEG
u
SEG
But ((cough)) how exactly but
cough
NPH
PC ctly
PC exa how
w
SEG
PC
w
w
PC
SEG
SEG nonpho
SEG
u
SEG
2 Another Extension of the Stylesheet Metaphor 33
34
T. Schmidt S VP NP
V
NP
John
loves
Mary
[[John]NP [[loves] V [Mary] NP] VP] S Fig. 2.10 Phrase structure tree and equivalent intralinearised symbol sequence
2.5 Transformation Rules Thus, there are five different ways in which a symbolic description can find its way from the logical into the graphical representation of the data: 1. 2. 3. 4. 5.
not at all, unchanged (except for formatting), iconified, i.e. replaced through a different symbolic description, intralinearised through formatting of another symbolic description, intralinearised through symbol insertion before and/or behind another symbolic description.
More generally, these processes all involve a source element to be mapped from logical to graphical structure, a target element onto which this mapping is applied (identical to the source element in cases 2 and 3, different from it in cases 4 and 5), and an operation that is to be performed on the target element (inserting, replacing and/or formatting). I suggest capturing this in declarative transformation rules whose left side specifies the source element and whose right side specifies the target element and the operations. For instance, in the above example, a transformation rule for visualising the utterance-type annotation “affirmative” could be formulated as in Listing 2.1. This states that for each source element TYPE whose value is “assertive”, the “rightmost” target element has to be found which is a PC, a PAUS or a NPH, and that a period (formatted in Serif and 12pt font size – because this happens to be the formatting of the target element itself, see below) is to be appended to this target element. What exactly “rightmost” means can only be specified with respect to the concrete framework by which the logical structure of the data is expressed. The target element to be found in the example, in any case, is the PC whose value is
TYPE(assertive)
>
find_right[PC|PAUS|NPH] append[’.’] format[Serif; 12 pt]
Listing 2.1 Transformation rule for affirmative utterance
2 Another Extension of the Stylesheet Metaphor
35
“sure”. Finding this element in a NITE-like system of intersecting hierarchies will involve going up a tree from the source element TYPE to the nearest node that has a PC (or a PAUS or a NPH) as a child and then going down that tree and finding the rightmost of such children. In an AG-like representation, it will mean finding the minimal arc spanning both the source element and one or more PC, PAUS or NPH arcs and again selecting the rightmost of such arcs.9 Similar rules can be formulated for the remaining entities and their corresponding visualisations (see Listing 2.2). Note that in the cases where symbols are iconified or mapped unchanged, the “find” statement is also used, but simply formulated in such a way that the target element will be identical to the source element10 of the transformation rule. By applying these rules for each source element onto the corresponding target elements and keeping typing and timing information11 on the latter, the building blocks of the visualisation given in Fig. 2.11 can be derived (again, considering only a part of the data set for the sake of brevity). Together with a timeline which linearly orders the start and end tags for the building blocks, this information is almost sufficient for calculating the above visualisation. What remains to be specified is which of these building blocks are to be grouped within a tier. This could be done with a set of rules of the kind given in Listing 2.3 by which the set of visual entities is partitioned into distinct layers. The actual musical score visualisation can then be conceived of as a twodimensional coordinate system whose vertical axis contains these layers in a given order and whose horizontal axis corresponds to the ordered timeline. As Fig. 2.12 shows, each building block from the above table is assigned its place in that coordinate system by virtue of its timing and layering information.
PC
>
TRANS
>
PAUS(medium)
>
TYPE(assertive)
>
TYPE(interrogative)
>
TYPE(interrupted)
>
PROS(stress)
>
REP(reparand)
>
SEG (non-pho)
>
SEG(w)
>
SEG(u)
>
find_right[PC] format[Serif; 12pt] find_right[TRANS] format[Serif; 10 pt] find[PAUS(medium)] replace[’o o’] format[Serif; 12 pt] find_right[PC|PAUS|NPH] append[’.’] format[Serif; 12 pt] find_right[PC|PAUS|NPH] append[’?’] format[Serif; 12 pt] find_right[PC|PAUS|NPH] append[’...’] format[Serif; 12 pt] find_right[PC] format[underline] find_right[PC] append[’/’] format[Serif; 12 pt] find_right[NPH] prepend[’((’] append[’)) ’] format[Serif; find_right[PC] append[’ ’] find_left[PC] format[capitalize_initial]
Listing 2.2 Transformation rules
12pt]
36
T. Schmidt
Type PC PAUS PC PC NPH PC PC PC TRANS TRANS PC PC PC …
Start T0 T1 T2 T3 T4 T5 T6 T7 T0 T3 T7 T8 T9 …
End Symbols T1 Yes_ T2 •• T3 sure._ T4 But_ T5 ((cough))_ T6 how_ T7 exa T8 ctly?_ T3 Ja, sicher. T8 Aber ((hustet)) wie genau? T8 Well_ T9 I_ T10 th/ … …
Formatting Serif, 12pt Serif, 12pt Serif, 12pt Serif, 12pt Serif, 12pt Serif, 12pt, underline Serif, 12pt Serif, 12pt Serif, 10pt Serif, 10pt Serif, 12pt Serif, 12pt Serif, 12pt …
Fig. 2.11 Building blocks for the visualisation
Layer[PC,PAUS,NPH](speaker X) Layer[TRANS](speaker X) Layer[PC, PAUS,NPH](speaker Y) Listing 2.3 Layering rules
T0
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
Group 1 Group 2 Group 3
Fig. 2.12 Building blocks arranged in a musical score coordinate system
2.6 Other Data Sets, Other Visualisations Although the above rules have only been developed on and illustrated for a specific multi-level annotation set and a specific visualisation, it should be obvious that they are applicable across a wider range of data. Applying the same rules onto a different or larger annotation set in which the same categories are used requires no change in the transformation rules because these rules refer to abstract regularities of the annotation scheme and the display method, rather than to concrete instances of each. Conversely, similar rules could be formulated that produce a different visualisation for the same piece of data. This could be done by using other formatting attributes (e.g. bold or italic font face, different font colours), by inserting different symbols (possibly at other positions), by a different layering (e.g. putting pauses and nonphonological segments onto a separate layer) or simply by making different choices as to which elements are to be included in the visualisation at all.
2 Another Extension of the Stylesheet Metaphor X: Y:
37
Yes, • • sure. {left hand up} But ((cough)) how exa[ctly]? [Well], I th/ ehm I mean… {Eyebrows raised} I don’t know
Fig. 2.13 Line notation visualisation
However, the suggested visualisation method does not cater for visualisations that use a completely different layout principle for their data, i.e. visualisations that do not use musical score notation, but, for instance, a line notation of type illustrated in Fig. 2.13.12 While it is certainly non-trivial to adapt the suggested method to this purpose,13 the necessary modifications should only concern its second part while the mechanisms for iconification and intralinearisation of symbolic descriptions, and hence the basic transformation rules, should basically remain the same. It is plausible that this also holds for other layout principles.
2.7 Extending the Stylesheet Processing Metaphor On the basis of a visualisation method like the one depicted here, a first characterisation of a possible “extension of the stylesheet metaphor” (see above) can be attempted. As in the preceding sections, I will regard the structure of the input document as a given, i.e. I will assume that the input document is formulated either as a NITE-like system of intersecting hierarchies or as an AG-like directed acyclic graph. The following sections therefore focus on the remaining four components of the stylesheet transformation process.
2.7.1 Transformation Rules In introducing their proposal for an extension of the stylesheet metaphor, Carletta et al. (2002) claim that “[. . .] in [their] experience even people who would consider themselves novice programmers are able to write stylesheets that transform XML into the HTML representation of their choice”. In my own experience from ongoing work on EXMARaLDA as well as from introductory student courses in linguistics, this observation is not always confirmed, at least not for every type of stylesheet: while formatting an XML document with a list of CSS14 statements does indeed seem to be manageable for almost every user, XSL transformations overtax the majority of linguists who do not have a programming background. CSS, of course, owes its comparative simplicity to a very limited expressive power, whereas XSLT offers transformation capabilities like a full-grown programming language at the cost of ease of use. As with data models for the encoding of the logical structure, one challenge in constructing frameworks for display is therefore to find a reasonable compromise between simplicity and expressive power.15
38
T. Schmidt
The transformation rules in Section 2.5 can be regarded as such a compromise – they are sufficiently expressive to allow for a flexible visualisation of the data, but they do not require the user to know more about programming and data transformations than what the task in question immediately demands, namely to formulate a systematic mapping of entities in the logical structure of the data set to entities in its graphical display. Moreover, the transformation rules as formulated here require no detailed knowledge of the way the logical structure is encoded – while the rules are certainly not completely independent of a specific multi-level annotation framework, it has been argued that they can at least be applied across two different such frameworks. Finally, and in a further contrast to an XML to HTML transformation via XSLT, these transformation rules do not require the user to actually construct an output document by completely specifying which output entity of the transformation process is to be placed at which position in the output document’s structure.16 Rather, the user only provides the necessary instructions as to how the building blocks of the visualisation can be derived from the input document and how they are then to be assembled in a general layout structure. As will be shown below, the task of constructing an actual (HTML, PDF, RTF or SVG, etc.) document out of that information is then deferred to later stages of the processing.
2.7.2 Transformer The simplicity gained by having such easy-to-use transformation rules must be paid for in part with more complex transformer software. Because the transformation rules abstract over the concrete way that the input document is encoded and because they describe a declarative mapping rather than a step-by-step procedure for finding source and building target entities of that mapping, mechanisms for translating these abstract declarative rules into a concrete algorithm for traversing and transforming the input must be built into the transformer. More specifically, this involves: 1. compiling the expression on the left part of a rule as well as the “find left” and “find right” statements on its right side into a query expression suitable for the data model in question; 2. implementing an algorithm that applies this query expression to an input document; 3. implementing an algorithm that applies the replacing, formatting and insertion operations on the target elements; 4. devising a way of calculating and storing intermediate results and the final building blocks of the visualisation; and 5. constructing an output document from these building blocks Carletta et al. (2002) suggest building a technology for working with complex annotation data on top of existing XML processing mechanisms rather than implementing it from scratch. Similarly, the components of the stylesheet processor outlined here could be realised as an additional layer on top of such an extended XML
2 Another Extension of the Stylesheet Metaphor
39
technology. For instance, the target of the compilation in step (1) could be an expression in the NITE Query language and steps (2) and (3) would then simply consist in using appropriate components of the NITE API with these compiled transformation rules. Likewise, the intermediate and final results of the transformation can be conceived of as additional “formatting” annotations on the input data, expressed by the same means as the “regular” annotations (e.g. as standoff XML elements pointing to their corresponding target elements). The remaining step (5) – the construction of the output document – will be described in the following section.
2.7.3 Output Document and Viewer One reason for not making the entire construction of the output document a task of the first part of the stylesheet transformation has already been given above – it allows for simpler and hence more user-friendly transformation rules. Another, more technically fundamental reason is, that an appropriate candidate language for describing the graphical structure of a musical score transcript does simply not exist. The salient information – the “building blocks” given at the end of Section 2.5 – for constructing such a visualisation is calculated in the application of transformation rules to the input. Ideally, the resulting output document would then consist of descriptions like the one given in Listing 2.4 in which these building blocks are made part of a element.17 Like in the description of a paragraph as a
element (see Section 2.2), the viewer software would then take care of calculating the exact coordinates of each of the symbols contained in that description, using its “knowledge” of font metrics and of mechanisms for wrapping musical score transcripts. Unfortunately, neither HTML nor any other widely-used document description language (e.g. RTF, PDF) provide a suitable component for describing such a layout, and, consequently, no viewer is capable of displaying it in the intended way. One possibility to remedy this would be to extend one such language accordingly and to develop a viewer that can process the original language as well as its extension. However this would not only mean that one would have to duplicate many capabilities that are already [...] Yes, o o sure. Ja, o o sicher.
Listing 2.4 XML representation of a musical score
XML document
Layout Document
Fig. 2.14 Stylesheet metaphor: Processing chain with an additional step
Software
Transformer
Description of visual structure
Software
Musical Score Processor HTML document RTF document PDF document ...
Output Document
Imitation of visual structure
E.g. Browser
Viewer
40 T. Schmidt
2 Another Extension of the Stylesheet Metaphor
41
part of mature commercial applications (like formatting and displaying characters, printing, page numbering), it would also require the user to handle his linguistic data visualisations with a separate tool from his standard (office) applications. In EXMARaLDA (Schmidt 2003, 2004) where the possibility of displaying musical score transcripts has been a basic requirement from the beginning, a different solution has therefore been developed. The result of the transformation from logical to graphical structure is first stored as an XML tree similar to the one in Listing 2.4. After that, an “Interlinear Text processor” software takes this XML tree as an input, calculates absolute coordinates of strings on the basis of their font metrics, performs a wrapping of musical scores where necessary and produces an output document (see Schmidt 2003 for a detailed description of that process). The output document can either be an HTML or RTF document in which the visual structure of the musical score is expressed with the help of blind (i.e. cell-border-less) tables with appropriately spanned cells, or an SVG document in which strings are positioned directly through their absolute coordinates. In either case, the problem of the missing “musical score” element in the output document description language is circumvented by imitating a description of the visual structure with the help of existing elements. Standard viewer software (Web-Browsers, MS Word or SVG viewers) can then be used to display or print the resulting document. In terms of the stylesheet metaphor, this can be conceived of as an additional step between transformer and output document, as Fig. 2.14 illustrates.
2.8 Conclusion The three main points of this paper can be summarized as follows: Firstly, the relation between a multi-level discourse annotation and its visualisation as a musical score transcript can be thought of as a two step process: The first step consists of a mapping of elements in the logical description of the data onto elements of the visualisation involving three simple operations – iconification, intralinearisation through formatting and intralinearisation through symbol insertion. The second step consists in an arrangement of the resulting building blocks of the visualisation in an abstract layout system. It has been argued that this process can be applied across different approaches to the encoding of the logical structure (NITE and AG), and that its first step will be usable in an identical fashion also for other layout types (like line notation). Secondly, formulating the rules for such a process can be much simpler than a general XSL-like stylesheet transformation. Ideally, a user defining a visualisation for a given set of data could be largely exempted from thinking about details of the structure of the input document and of the technical specifics of the output document. In that way, the task of writing stylesheets for a given set of data could become manageable for a much wider group of users. Thirdly, this improved user-friendliness must be achieved by changing or extending the capabilities of different components of the stylesheet transformation process.
42
T. Schmidt
This extension can, for instance, consist in building more knowledge of the structure of input documents and of mapping operations into the transformer software, or in putting an additional automated processing step between the transformer output and the display in a viewer application. Obviously, the relatively specific and restricted procedure outlined here can only act as a supplement, not as a replacement of a more general and powerful approach like the one suggested in Carletta et al. (2002). It is perhaps best thought of as an additional layer of abstraction on top of a framework like NXT. However, from the point of view of user-friendliness – and hence, ultimately, for the way linguists create and work with data – such an additional layer of abstraction might prove important.
Notes 1. As mentioned above, in NITE, the stylesheet metaphor is not restricted to the purpose of displaying a document, but also applied for generating interactive annotation interfaces. 2. According to HIAT, standard punctuation symbols (period, question mark, exclamation mark) are used to mark the end point of utterances. The choice of the symbol depends primarily on the utterance mood (assertive, interrogative, exclamative, etc.). 3. Because of spatial limitations, this is only a schematic representation: it leaves out some of the entities contained in the visualisation, e.g. the descriptions of non-verbal behaviour, speaker X’s third and speaker Y’s second utterance, and it does not assign entities to speakers. The NITE framework, however, would allow for such a complete representation, and the simplifications in this figure are of no consequence for the ideas developed in the remainder of this paper. The following abbreviations are used: PC = “Phoneme Chain”, PAUS = “Pause”, NPH = “Non-Phonological Segment”, SEG = “Segmentation”, PROS = “Prosodic annotation”, TYPE = “Utterance Type”, TRANS = “Utterance-based translation”, REP = “Repair sequence”. The terms these abbreviations stand for are all defined and discussed in the HIAT transcription convention (Rehbein et al. 2004). 4. Again, this is a schematic representation which does not cover the complete structure of the example. Here too, the missing information could be added by using the same means as the ones illustrated. 5. Conversely, using the dots in the description of the logical structure of the data would usually not be considered a good choice because it is less explicit than using a verbal description. 6. Utterance ends are already marked by the symbol describing their type, see above. 7. Of course, the linear representation of the phrase structure is significantly more detailed and explicit than the linear representation of the utterance-word/nph hierarchy, because it not only marks the boundaries of hierarchy elements, but also includes their labels. The basic principle of mapping the tree onto a linear sequence of symbols, however, is identical in both cases. 8. It would, however, be possible in principal to represent also the other components through an insertion of appropriate symbols. The fact that this is not done is a choice of the transcription system designers and may be based on the assumption that a human reader is able to reconstruct the intervention and the reparans if the end of the reparandum is indicated. Explicitly marking the intervention and the reparans would therefore only mean an unnecessary burden for the reader. 9. In both cases, speaker assignments of nodes and arcs respectively may have to be taken into account. For the sake of brevity, this is disregarded here. 10. Assuming that each node in a NITE representation dominates itself and that each arc in an AG representation spans itself, this is conformant with the above specification of the “find” command.
2 Another Extension of the Stylesheet Metaphor
43
11. In an AG-like representation, this timing information is a part of any element in the logical description of the data. In NITE-like representations, not all nodes in the hierarchy need have timestamps and it may therefore be necessary to propagate this information through the trees onto the building blocks in question. This propagation mechanism is already a part of the NITE Object Model (see Evert et al. 2003). In both cases, problems may arise when two entities in the annotation cannot be brought into an unequivocal order, i.e. if the resulting timeline is not fully ordered. In Schmidt (2005), I make a detailed suggestion for handling such cases in an AG-like data models, using a mapping of unordered time points onto an ordered predecessor and combining the corresponding symbolic descriptions. Since, however, the problem does not arise for the example used here, I will ignore it for the present discussion. 12. This kind of notation is used in many conversation analytical transcription systems associated with the Sacks / Schegloff / Jefferson school (e.g. GAT – Selting et al. 1998, DT – DuBois et al. 1993). Compared to HIAT’s musical score notation transcripts, these transcripts put less emphasis on a precise representation of temporal structure and instead foreground the sequential structure of speakers’ utterances or intonational units. For a detailed discussion of the differences in visualisation and the modelling decisions by which they are motivated, see Schmidt (2005). 13. In Schmidt (2005), I suggest an additional step of grouping which is similar to the layering described above in that it partitions the smallest entities of the visualisation into distinct groups. In the same way that each tier of a musical score corresponds to a layer, each of these groups then corresponds to a line in the line notation transcript. 14. Cascading Stylesheets – a simple way of assigning formatting to elements in a markup document. 15. Compare this to what Carletta et al. (2002) say about their standoff-annotation approach when opposing it to the AG approach: “The question, then, is whether there is any data model which suffices for most or all linguistic annotation and is less complex than supporting general graph operations.” The question discussed here is whether there is a method that is sufficient for most or all visualisation of linguistic annotation, but is less complex than general XSL transformations. 16. Likewise, writing a CSS stylesheet for an XML document does not require the user to think about the resulting HTML document’s structure, because this structure will be identical to that of the input document. 17. Once more, this is a schematized depiction. In order to fully represent the result of the transformation process, the character data of each element would have to be given appropriate formatting attributes. This however, could be done with standard HTML means and is therefore not taken into account here.
References Bird, Steven and Liberman, Mark (2001). A formal framework for linguistic annotation. Speech Communication, 33(1,2):23–60. Carletta, Jean, Isard, Amy, and McKelvie, David (2002). Supporting linguistic annotation using XML and stylesheets. In Sampson, Geoffrey and McCarthy, Diana, editors, Readings in Corpus Linguistics. Continuum International, London, New York. DuBois, John, Schuetze-Coburn, Stephan, Cumming, Susanne, and Paolino, Danae (1993). Outline of discourse transcription. In Edwards, Jane A. and Lampert, Martin D., editors, Talking Data: Transcription and Coding in Discourse Research, pages 45–89. Erlbaum, Hillsdale, NJ. Evert, Stefan, Carletta, Jean, O’Donnell, Timothy, Kilgour, Jonathan, V¨ogele, Andreas, and Voormann, Holger (2003). The NXT object model. Technical report Version 2.1., IMS, University of Stuttgart. Johannson, Stig (1995). The approach of the text encoding initiative to the encoding of spoken discourse. In Leech, Geoffrey, Myers, Gregg, and Thomas, Jenny, editors, Spoken English on Computer: Transcription, Markup and Application, pages 82–98. Longman, London.
44
T. Schmidt
Kilgour, Jonathan (2003). Guide to stylesheet writing in NXT. Technical report, LTG, University of Edinburgh. Rehbein, Jochen, Schmidt, Thomas, Meyer, Bernd, Watzke, Franziska, and Herkenrath, Annette (2004)Handbuch f¨ur das computergest¨utzte transkribieren nach HIAT. Arbeiten zur Mehrsprachigkeit, Folge B, 56. Schmidt, Thomas (2003).Visualising linguistic annotation as interlinear text. Arbeiten zur Mehrsprachigkeit, Folge B, 46. Schmidt, Thomas (2004). Transcribing and annotating spoken language with EXMARaLDA. In Proceedings of the LREC-Workshop on XML based richly annotated corpora, Lisbon 2004, Paris. ELRA. Schmidt, Thomas (2005). Computergest¨utzte Transkription – Modellierung und Visualisierung gesprochener Sprache mit texttechnologischen Mitteln, volume 7 of Sprache, Sprechen und Computerand Computer Studies in Language and Speech. Peter Lang, Frankfurt a. M. Selting, Margret, Auer, Peter, Barden, Birgit, Bergmann, J¨org, Couper-Kuhlen, Elizabeth, G¨unthner, Susanne, Meier, Christoph, Quasthoff, Uta, Schlobinski, Peter, and Uhmann, Susanne (1998). Gespr¨achsanalytisches transkriptionssystem (GAT). Linguistische Berichte, 173:91–122.
Chapter 3
An OWL-DL Implementation of Gold An Ontology for the Semantic Web Scott Farrar and D. Terence Langendoen
Abstract An OWL-DL implementation of the General Ontology for Linguistic Description (GOLD) is presented with relevant examples of axioms given throughout. As background, an introduction to Description Logic is presented using examples from linguistics and with particular attention to SHOIN (D), the logic which most closely relates to OWL-DL. The types of axioms used to develop an ontology in OWL-DL are explained. In addition, a domain independent methodology is given for creating description-logic based ontologies of any kind, not just those for linguistics. Using the SHOIN (D) notation, the methodology is demonstrated for the linguistics domain with particular attention given to illustrating the use of each type of axiom. Finally, the relevant issues and limitations to linguistic modeling in OWL-DL are discussed. Keywords OWL-DL · Description logic · Ontology · Language description
3.1 Introduction The General Ontology for Linguistic Description (GOLD) is an ontological theory for the domain of linguistics. Motivations for an ontological theory for linguistics, including GOLD, have been given elsewhere (e.g. Farrar and Langendoen 2003, Farrar 2007). Minimally, an ontological theory specifies the entities of interest in a given domain. Those entities include classes and their instances along with the relations that hold among those instances. Lightweight ontologies stop there, by providing an enumeration of the classes and a limited number of relations, usually enough to arrange the classes in a taxonomy. A more comprehensive ontology – some do not refer to light-weight ontologies as ontologies at all – places many S. Farrar (B) Department of Linguistics, University of Washington, Seattle, WA, USA e-mail: [email protected] This material is based in part upon work supported while Langendoen was serving at the National Science Foundation. Any opinion and conclusions are those of the authors and do not necessarily reflect the views of the National Science Foundation. A. Witt, D. Metzing (eds.), Linguistic Modeling of Information and Markup Languages, Text, Speech and Language Technology 40, C Springer Science+Business Media B.V. 2010 DOI 10.1007/978-90-481-3331-4 3,
45
46
S. Farrar and D.T. Langendoen
more restrictions on the entities in the domain and can serve to facilitate automated reasoning. The logical sentences used to make explicit assertions about the base entities are referred to as axioms. That axioms play a crucial role in the design of formal ontologies is well known in the knowledge engineering literature (Niles and Pease 2001, Masolo et al. 2003, among others). The goal of the current work, then, is to demonstrate how to axiomatize one such ontology, GOLD.1 The point of the current chapter is not only to present a particular aspect of an ontology for linguistics, but also to explore the limitations of OWL-DL (Smith et al. 2004) with respect to ontological modeling of the linguistics domain. This chapter could be written for any particular domain of inquiry, not just linguistics, to which an ontological theory is applied. However, it is the hope that this chapter, through its use of linguistic examples, will be particularly relevant for linguists who are interested in modeling one aspect of language or another. As background for this task, Section 3.2 includes an introduction to knowledge engineering and ontologies. This section details the class of logical formalisms known as description logic (DL) that has led to the creation of OWL-DL (Horrocks et al. 2003). Included is a discussion of the standard notation for generic DLs and an in-depth look at SHOIN (D), the description logic which most closely relates to the final OWL-DL implementation. The use of DL notation in this chapter is justified for reasons of brevity, as the XML syntax for OWL-DL is too verbose to present in running text. In addition, a step-by-step methodology for creating an ontological theory is given in Section 3.3. Next in Section 3.4, the methodology for ontology creation is demonstrated using SHOIN (D) axioms. Finally in Section 3.5, the limitation to ontological modeling in OWL-DL are presented with a discussion on why OWL-DL is a suitable modeling language for certain reasoning tasks.
3.2 Background In order to understand how GOLD is to be axiomatized, this section presents the relevant background. After a brief introduction to knowledge engineering and ontologies, we give a detailed discussion of the main formalism to be used throughout the paper, namely that of description logic. After an introduction to description logic in general, we give an overview of SHOIN (D), the description logic which most closely resembles that of OWL-DL. We then present a methodology whereby a knowledge base can be instantiated by using a description logic.
3.2.1 Knowledge Engineering and Ontologies Knowledge engineering is the task of representing the knowledge of a particular domain in a machine readable format. For a particular knowledge engineering task, the formal language used to represent the knowledge often has far-reaching effects as to what kinds of domain knowledge can be captured by the representation.
3 An OWL-DL Implementation of Gold
47
Furthermore, the product of knowledge engineering, the knowledge base, can be used in conjunction with automated reasoning tools to produce new knowledge, to prove the consistency of existing knowledge, and to enhance search within the knowledge base. The central assumptions in a knowledge base are captured in the ontological theory, or the set of statements that make up the essential knowledge of the domain, in other words, the knowledge that must always hold if the theory is to be coherent. We refer to such sets of statements as simply the ontology. The statements included in the ontology hold according to a particular conceptualization of the domain. A conceptualization is an abstract, simplified view of the world (Gruber 1993). Due to the complexity of any real-world domain, a conceptualization is necessarily a simplified approximation of reality. Still, that the conceptualization is approximate does not preclude it from being useful. A major issue in the modeling of the linguistics domain is that various linguistic theories adopt different and often incompatible conceptualizations. In fact, from the standpoint of the ontologist, the aim of science may be cast as the search for the ideal conceptualization. But admittedly, what is meant by “ideal” can vary according to the task at hand. For our task, achieving interoperability over a broad spectrum of language descriptions, we require only that our conceptualization be rich enough to account for differences in various linguistic descriptions. The nature of this task relaxes some of the requirements on the ontological theory. An ontology for all of linguistics is, at this point, unachievable and would require deep consensus as to how language is conceptualized. Still, we will undoubtedly come across descriptions that are incompatible with one another due to different theoretical assumptions, in other words, disparate conceptualizations.
3.2.2 Description Logic The task of ontology building requires the use of logic as a means of axiomatization. First-order logic (FOL), for instance, is one well understood language for this task and is often employed, in one form or another, for this purpose; see the ontologies of SUMO (Niles and Pease 2001) and DOLCE (Masolo et al. 2003). An alternative to FOL in the design of knowledge-based systems is the class of logics known collectively as Description Logics (DLs) (Baader et al. 2003). A DL is a less expressive, but highly structured fragment of first-order logic. Using a DL buys improved computational tractability but at the cost of expressivity. This means that algorithms for working with DLs will be fast, but that expressing certain concepts in a DL might not be possible. This section gives an introduction to this class of logics by discussing some of the key properties of DLs illustrated by examples in typical DL notation. Furthermore, we limit our discussion here to the linguistics domain. 3.2.2.1 Basic Notions and Terminology A description logic is a formal logic in the strict sense. That is, it has a formal syntax which specifies how to construct well-formed sentences and a formal semantics
48
S. Farrar and D.T. Langendoen
which relates those sentences to a model. A description logic, as with all formal logics, has an associated proof theory, or a system of how certain entailments follow from a set of sentences. The focus of this section is mainly on the syntactic operations of description logic, but supplemented with an informal discussion of semantics. For a full account of the semantics of description logic, see Baader et al. (2003). Whereas the predicates in FOL have equal ontological status, those in a DL come in two sorts: concepts and roles. Concepts in a DL correspond to unary predicates, while DL roles are used in place of binary predicates. What are referred to as constants in a first-order logic are referred to as individuals in DL. Intuitively a concept represents a category or kind in the domain being modeled. A concept is a universal notion and can be instantiated by individuals. The relation of instantiation holds between concepts and individuals, making an individual an instance of some concept (Nardi and Brachman 2003). Individuals are disjoint from concepts and cannot be instantiated or related by the subsumption relation. A role is a binary relation between individuals. Description logic by definition has only binary relations and, thus, relations of higher arity (e.g. ternary relations) are disallowed. The terms concept and role show that the origins of description logic lie in the early work on knowledge representation, particularly on frame-based languages (Baader et al. 2003). In such languages, information is gathered together into structures called frames (structured objects), each particular type of which admits a specified set of possible attributes related by slots (roles). The terms concept, individual, and role are particular to the body of literature concerning description logics. More general works in ontology and knowledge engineering use class, instance, and (binary) predicate, instead of the DL-specific terms. In the language of OWL-DL, property is – confusingly – used in place of binary relation. Though the current work is meant to guide the reader in constructing OWL ontologies, we use DL terminology throughout, mainly for the sake of consistency since logical formulas are given in DL notation. Within a description logic system, concepts and roles are separated from individuals by partitioning the knowledge base into a TBox (short for terminology box) and an ABox (short for assertion box, in the sense that assertions are made about a given terminology.). The TBox consists of axioms about the domain in general in the form of logical sentences, while the ABox consists of facts about individuals. A description logic knowledge base K B may be defined minimally as the tuple consisting of a TBox T and an ABox A, i.e. K B = T, A, where T is the union of the set of concepts with the set of roles in the domain, and A is the set of individuals in the domain; furthermore, the TBox also contains axioms relating to concepts and roles, while the ABox contains axioms relating to individuals. Description logic can be used to represent much more than just basic concepts and individuals. Complex, non-atomic concepts can be specified through logical statements. Statements in a DL differ considerably from those in standard FOL. Moreover, statements in a DL are expressed at the level of predicates, i.e., there are no variables. Thus, axiom (3.1) gives an expression in a DL.
3 An OWL-DL Implementation of Gold
InflectedUnit ≡ GrammarUnit ∃ hasConstituent.InflectionalUnit
49
(3.1)
This can be glossed as: “The class InflectedUnit is defined as the intersection of the class of GrammarUnit and any class having at least one hasConstituent role whose value is restricted to the class InflectionalUnit.” (See Section 3.4.1.2 for a further explanation of this axiom.) Statements in a description logic are therefore formulas containing predicates, technically with one free-variable, but omitted in the syntax. Predicates in a DL represent concepts and roles. Concepts are either atomic, i.e. those identified by name and may or may not be defined,2 or complex, i.e. those derived from atomic concepts using a set of constructors. The supported concept and role constructors in a particular DL determine its expressive power (Horrocks et al. 2003, p. 6). Thus, the constructors are used to derive well-formed formulas. In the following we have listed some examples of very common constructors in DLs with notes about their respective semantics and how they could be used in an ontology for linguistics. Furthermore, these constructors and others are used to create right-hand side expressions that define anonymous concepts. Any of the expressions below could be placed with a named concept on the left and related with either ≡ or (see Section 3.2.2.2 for definition of these symbols). Conjunction () AfricanLanguage EndangeredLanguage
(3.2)
Expression (3.2) can be glossed as “those individuals which are shared between the concepts AfricanLanguage and EndangeredLanguage”. Conjunction is interpreted as the intersection of sets of individuals. Disjunction ( ) TenseFeature AspectFeature
(3.3)
Expression (3.3) can be glossed as “the individuals that either belong to the concept TenseFeature or AspectFeature”. Disjunction is interpreted as union of sets of individuals. Negation (¬) ¬PhonologicalUnit
(3.4)
Expression (3.4) can be glossed as “the set of all individuals that are not instances of PhonologicalUnit”. Negation is interpreted as the complement of a set of individuals with respect to the universal set of the domain. Existential quantifier (∃) ∃ hasPart.GrammarUnit
(3.5)
Expression (3.5) can be glossed as “the set of individuals each of which has some member of GrammarUnit as its part.” The expression does not limit things other
50
S. Farrar and D.T. Langendoen
than members of GrammarUnit from being parts. The fact that other entities could be members of GrammarUnit is because of the open-world assumption built into the DL, namely that the domain is not assumed to be complete unless explicitly stated. To make the above description of quantification clear, the following serves to compare a simple DL formula (3.6) with the equivalent in standard FOL (3.7). ∃ R.C {x|∃y R(x, y) ∧ C(y)}
(3.6) (3.7)
∀ hasFeature.MorphosyntacticFeature
(3.8)
Universal quantification (∀)
Expression (3.8) can be glossed as “the set of individuals whose features are only individuals of MorphosyntacticFeature”. Universal quantification restricts all roles of some concept to be value-restricted by concepts of a certain type. Universal quantification does not ensure that there will be a role that satisfies the condition, but if there are such roles, their ranges have to be restricted to the given type. Again, the following serves to compare a simple DL formula (3.9) with the equivalent in standard FOL (3.10). ∀ R.C {x|∀y R(x, y) → C(y)}
(3.9) (3.10)
3.2.2.2 Beyond the Basics With a brief introduction to description logic out of the way, we now focus on a variety of description logic that is the most useful in constructing an ontology using OWL-DL, namely a description logic called SHOIN (D). First off, SHOIN (D) is a notational variant of the OWL-DL language and is derived from a family of description logics referred to as the SHOIN (D) family. As in the naming of other DLs, the expressive power of SHOIN (D) is reflected in its name. For example, the S is due to the family’s relationship to the modal logic S4 (Horrocks et al. 1999). The other components of the name are to be described as follows: H means that role hierarchies are included; O means that individuals are included; I means that inverse roles are allowed; N means that number restrictions are allowed; and (D) means the optional inclusion of concrete data types. In order to encode knowledge in SHOIN (D), and eventually in OWL-DL, an understanding of the allowed constructors for SHOIN (D) is necessary. These, along with the corresponding OWLDL constructors, are listed in Table 3.1.3 An in-depth analysis of OWL-DL in relation to other description logics is given by Horrocks et al. (2003). Also, Horridge et al. (2004) is a very helpful and practical guide to building OWL ontologies in the Prot´eg´e environment.
3 An OWL-DL Implementation of Gold
Constructor
51
Table 3.1 A comparison of SHOIN (D) and OWL-DL constructors SHOIN (D) OWL-DL
conjunction disjunction negation oneOf exists restriction value restriction atleast restriction atmost restriction datatype exists datatype value datatype atleast datatype atmost datatype oneOf
C1 C2 C1 C2 ¬C1 {o1 , . . . , on } ∃R.C ∀R.C nR nR ∃R.D ∀R.D nR nR {v1 , . . . , vn }
unionOf(C1 , C2 ) intersectionOf(C1 , C2 ) complementOf(C) oneOf(o1 , . . . , on ) someValuesFrom(C); onProperty(R) allValuesFrom(C); onProperty(R) minCardinality(n); onProperty(R) maxCardinality(n); onProperty(R) someValuesFrom(D); onProperty(R) allValuesFrom(D); onProperty(R) minCardinality(n); onProperty(R) maxCardinality(n); onProperty(R) oneOf(v1 , . . . , vn )
The basic constructors of a DL such as SHOIN (D) can be used on the right side of either the or ≡ symbol to create logical statements of various kinds (see below). The resulting logical statements are the axioms of a DL. A DL axiom may be defined as some restriction on a concept or role. It is an assertion of knowledge using the entities in the ontology; that is, an axiom holds a priori of any knowledge that is later generated using the ontology, at least in a monotonic knowledge system. Which kinds of axioms to include in an ontology is, of course, a major focus of ontological engineering. Axioms in a DL knowledge-based system can be classified according to what objects they describe (TBox or ABox entities) and according to whether or not they are definitional (necessary and sufficient). Based on these criteria, a taxonomy of the various sorts of DL axioms is given in Fig. 3.1, and the remainder of this section explores each sort in turn. Terminological axioms make statements about entities in the TBox, i.e., concepts and roles, not individuals. Terminological axioms for a given concept can be classified as either necessary or as necessary and sufficient conditions to be included in that concept. Terminological axioms that give the necessary conditions for some Terminological (TBox) axioms – inclusions (necessary) ∗ concept inclusions ∗ specializations – equalities (necessary and sufficient) ∗ concept equations ∗ concept definitions Assertional (ABox) axioms – concept assertions – role assertions
Fig. 3.1 A taxonomy of DL axioms sorts
52
S. Farrar and D.T. Langendoen
concept to be included (subclassed) in another are called inclusion axioms. There are two types of inclusions. The first type of inclusion is simply a concept inclusion. A concept inclusion has the abstract form C D. A concept inclusion states a necessary, but not sufficient, condition for membership in some concept. It can be read as “having property D is necessary for a TBox entity to be included in concept C, but this condition alone is not sufficient to conclude that the object is in concept C”. Both C and D can be arbitrary concept expressions. An example of this kind of axiom is given in (3.11). Head Verb MainVerb
(3.11)
The second type of inclusion axiom is a specialization, which has the abstract form A C. This is very similar to that of the inclusion axioms, but specializations are different from concept inclusions because the left-hand side of a specialization must be atomic (hence A). The abstract form can be read as “having properties of concept C is necessary for an entity in order to be included in concept A”. Axiom (3.12) is an example of a specialization. SemanticUnit Abstract
(3.12)
A specialization axiom is useful when some concept cannot be defined completely (Baader and Nutt 2003, p. 58). Both sorts of inclusion axioms in a TBox can be viewed as a limited kind of logical implication (Nardi and Brachman 2003, p. 18). Concept inclusion axioms are very important in the structure of the knowledge base as they are used to generate a taxonomy from a set of assertions in a TBox. Another type of terminological axiom, those concerning concepts and roles, are equalities. A concept equation has the general form of C ≡ D as in (3.13): ContentBearingPhysical ≡ ∃ expresses.LinguisticSign
(3.13)
This axiom simply states that a ContentBearingPhysical is defined as anything that realizes a LinguisticSign. A special kind of equation is a concept definition of the form A ≡ C where the left-hand side is an atomic concept. A concept definition states the necessary and sufficient conditions that must hold in order for a TBox entity to be included in some other concept. Having property C is necessary and sufficient for a TBox entity to be included in concept A. Axiom (3.14) is an example of a concept definition: Language ≡ SpokenLanguage WrittenLanguage SignLanguage
(3.14)
This can be glossed as “a language is either spoken, written, or signed; there is no other type of language”. Axiom (3.14) is furthermore a covering axiom, as it guarantees that Language will only have 3 subclasses. Furthermore, a concept definition has the effect of introducing a symbolic name for some constructed concept into the TBox (Baader and Nutt 2003, p. 55).
3 An OWL-DL Implementation of Gold
53
Finally, axioms that pertain only to individuals are called assertional axioms, hence the label ABox. Assertions can either pertain to concepts or roles. A concept assertion is of the form C(I), where C is some concept from the TBox and I is an individual. C(I) means that I is an instance of C. A linguistic example would be (3.15):4 Noun(N OUN 123)
(3.15)
A role assertion is of the form R(A, B), where R is some role from the TBox and A and B are individuals. R(A, B) means that B is a filler of A for role R. An example of an assertional axiom is given in 3.16. precedes(N OUN 123, V ERB 456)
(3.16)
3.3 Methodology The development of a knowledge base, including an ontology, is essentially a two-stage process. Figure 3.2 lists these steps specifically for a knowledge base for linguistics that incorporates GOLD as well as linguistic data. The following 1. Design the TBox for the knowledge base. (a) Classify entities as concept, role, or individual. (b) Add concepts to TBox. i. ii. iii. iv.
Declare atomic concepts. Define non-atomic (constructed) concepts. Create concept taxonomy. Partition the concept taxonomy.
(c) Add roles to TBox. i. ii. iii. iv. v.
Declare transitive and symmetric roles. Declare inverse roles. Declare functional roles. Add domain and range restrictions to roles. Add cardinality restrictions to roles.
(d) Add other axioms to further refine concepts and roles. 2. Populate the ABox with individuals. (a) Enumerate and classify each individual according to available concepts. (b) Relate individuals via available roles in ontology. 3. Relate TBox and ABox. (a) Create enumerated concepts. (b) Relate individuals to concepts via roles.
Fig. 3.2 The steps in creating a knowledge base in DL
54
S. Farrar and D.T. Langendoen
enumeration is in part adapted from Borgida and Brachman (2003, p. 379). The methodology given here supersedes an earlier version given in Farrar (2007). The steps in the methodology are discussed in detail in the next section.
3.4 Linguistic Modeling in OWL-DL In this section we discuss the steps in creating a DL knowledge base for the descriptive linguistics domain. We use DL notation as introduced in Section 3.2.2, though the ultimate aim of this section is to act as a guide to creating such a knowledge base in OWL-DL. At issue are the specific kinds of axioms needed to express a wide variety of linguistic knowledge found in the domain. The structure of the current section mirrors the steps in methodology for creating a DL knowledge base listed in Fig. 3.2.
3.4.1 Design the TBox for the Knowledge Base This step includes developing the basic structure of the ontology. The most important task in creating any ontology is to properly enumerate the entities found in the domain. If the inventory is ad hoc or incomplete, then the resulting ontology will not be an accurate conceptualization. The key is to establish a rigid foundation such that later additions will not create problems for the overall theory. We refer to such a foundation as the upper ontology. For descriptive linguistics such an upper ontology contains the fundamental knowledge of structure, form, and meaning, that which is usually possessed by a well trained linguist. This, ideally, would include general knowledge that applies to any language or theoretical framework. Examples of general knowledge of this sort are given below: • • • •
A verb is a part of speech. A verb can assign case. Gender can be semantically grounded. Linguistic expressions realize morphemes.
This kind of knowledge is typical of that represented in an ontology in knowledge based systems. The ontology provides the means of formalizing such expressions and defining them in a larger conceptual framework. For example, it provides the means of specifying how a spoken linguistic expression is related to the printed form of a writing system, or how Tense is defined in terms of a temporal calculus. Of the most fundamental entities that occur in the linguistics domain are the linguistic expressions themselves. The basic entities here are orthographic expressions, spoken expressions, and signed expressions. Other than such concepts that are physical in nature, those occupying time and space, there are the abstract concepts such as the units of grammatical structure, and meaning. As presented in Farrar (2007), these three types of entities are unified under the concept of Sign via a set of
3 An OWL-DL Implementation of Gold
55
relations. From these three fundamental types, the basic units of linguistic analysis can be derived, including concepts such as Glyph, Phoneme, SyntacticCategory, SemanticUnit, etc. Next, there are the entities that relate the fundamental units to one another. For instance, two expressions can be related via precedence in time and/or space, but also via dominance relations as in grammatical structure. The mereology of such units is a necessary component in the ontology, that is, how units are composed of other units. Consider the example of sound structure. There are the basic phonological entities, in general, PhonologicalUnit, including the concept of Phoneme. Larger phonological units include the PhonologicalWord. Parts of the phonological unit include the Mora. Each level of linguistic analysis with have its own unit types, relations, and theory, in short, its own mereology. Next, there are more specific entities that may be considered as part of the overall upper ontology, for instance, the various features associated with the fundamental units. Features can be phonological, morphosyntactic, syntactic or semantic: MorphosyntacticFeature, SyntacticFeature, PhonologicalFeature, and Semantic Feature. Depending on the level of granularity, the various kinds of features may be divided into subgroups. For instance, TenseFeature and NumberFeature are both kinds of MorphosyntacticFeature. Finally, there are the various structuring devices used in linguistic analysis. In general, we refer to these as linguistic data types. There are several fundamental types, including Lexicon, GlossedText, PhonologicalParadigm, FeatureStructure, StructuralDescription, etc. Each of these data types has its own mereology, e.g. FeatureStructure which is the pairing of a feature name and a feature value.
3.4.1.1 Classify Entities as Concept, Role, or Individual As discussed in Section 3.2.2.1, a concept in DL represents a category or kind in the domain being modeled. A concept is a universal notion and can be instantiated by individuals. Concepts in a DL, then, are classes of individuals. The binary relations that hold among various individuals are known as roles. The next crucial task in creating the ontology is to decide to which sort each entity in the domain belongs. In any DL, the most basic distinction is between concepts and roles. Such a decision is perhaps the most intuitive of all modeling decision. This is reflected in how entities are named. That is, it is often possible to simply assign entities to either concept or role based on whether they are named using nouns or verbs respectively, at least in English. For instance, consider the notion feature and the relating of a feature to its value. We may refer to feature simply as Feature, a noun in English and hence a concept. We may refer its having a value as hasValue, as in the DL literature, in which there is a strong tendency to name roles using the word has combined with the concept that acts as the range, thus, hasValue, hasPart, hasHead, etc. There are of course problematic cases pertaining to the distinction between concepts and roles. Consider the example where a verb is said to assign case. On the one hand, one could posit the role of assignsCase and include Verb as the domain of the role.
56
S. Farrar and D.T. Langendoen
On the other hand, one could use the concept of CaseAssigner, say that pertained to verbs, determiners, etc. to create the complex concept of CaseAssigningVerb. On the one hand “things” have an unchanging essence. A stone is a still a stone even when it is used as a doorstop or a weapon. On the other hand, roles that things play can change depending on the context. At one moment, John may be student of guitar, while at another, he may be a professor of philosophy. In a DL system, it is preferable to limit the number of concepts when possible by using roles that help to extend concepts to form others. For instance, we may enumerate several atomic syntactic categories, e.g. Noun, Verb, Determiner, and then use the role assignsCase to compose complex concepts when needed, such as CaseAssigningVerb, a particular type of case assigner that happens to be a verb. It would be even simpler and more advantageous in a DL to simply use the role assigns. In this way, one could enumerate various categories such as Case, Gender, and Number and use assigns to derive concepts such as GenderAssigningNoun and CaseAssigningVerb. Next, there is the issue of whether an entity is a concept or an individual. In some cases, the distinction is quite clear. Consider the notions of Germanic versus standard German. Since we know that there is more than one type of Germanic language, we can feel assured that Germanic is a concept. Likewise, since we know that there is usually only one variety referred to as standard German, we might propose H OCH D EUTSCH as that individual, that is, an instance of Germanic, as in (3.17): Germanic(H OCH D EUTSCH)
(3.17)
Problems arise when the domain is conceptualized differently, for instance, when entities such as Germanic are treated as individuals, for instance, when reasoning about specific groups of languages is needed. As shown in (3.18), one could introduce the concept of LanguageFamily such that its instances included the individuals such as G ERMANIC, T IBETAN, BANTU, etc. LanguageFamily(G ERMANIC), LanguageFamily(T IBETAN), . . .
(3.18)
How then does the individual H OCH D EUTSCH relate to individual G ERMANIC? Statement (3.17) is no longer allowed. In OWL-DL it is not possible for a concept to be both a class and an instance. One solution to the problem is to introduce another type of role, for instance inFamily, such that LanguageFamily is a concept with G ERMANIC as an instance, and H OCH D EUTSCH relates to G ERMAN via the inFamily role, summed up in axioms (3.19–3.21): LanguageFamily(G ERMANIC) LanguageVariety(H OCH D EUTSCH)
(3.19) (3.20)
inFamily(H OCH D EUTSCH, G ERMANIC)
(3.21)
3 An OWL-DL Implementation of Gold
57
This solution favors the treatment of Germanic as an individual. Note that with this particular conceptualization, there is no need for the concept GermanicLanguage as a subclass of LanguageVariety. Germanic takes its place. Our treatment easily allows for competing classifications of languages since different ABoxes (corresponding to different classification schemes) could be developed from the same TBox (corresponding to the non-controversial knowledge of the field, namely that there are families and varieties, with no specific classification implied). 3.4.1.2 Add Concepts to TBox Once entities have been classified as concepts, they can now be added to the TBox. There are (potentially) two kinds of concepts and each is treated differently. First, there are concepts that are assumed to exist in the absence of any definitional axioms. These are known as atomic concepts and are entered into the TBox using unique names. Next, there may be concepts that are defined in terms of other concepts, referred to as non-atomic. For instance, equation (3.22) shows an example of a defined concept. InflectedUnit ≡ GrammarUnit ∃ hasConstituent.InflectionalUnit
(3.22)
Thus, an inflected unit is defined in terms of grammar unit and inflectional unit. Specifically, the axiom states that it is not possible for some individual to be an inflected unit with having some inflectional unit as one of its constituents. With the entities enumerated and classified as one of the three DL sorts, it is now possible to add structure to the ontology by classifying them according to the subsumption relation. Recall that subsumption is a built-in partial-ordering relation – it is reflexive, transitive and anti-symmetric – and is used to form concept and role taxonomies. In a DL, subsumption is a type of inclusion axiom in the form of A B, where A is subsumed by B. The crucial point at this step is not to misinterpret the intended meaning of subsumption. One common mistake is to interpret subsumption as the part-whole relation. For instance, consider the various phonological concepts: PhonologicalWord, Syllable, Foot and Mora. These can be related via the part-whole relation to form a mereology, such that a Foot is part of a PhonologicalWord, a Syllable is part of a Foot (of course by transitivity, a Syllable is also part of a PhonologicalWord), and a Mora is part of a Syllable (or more precisely a part of a Coda, which is part of a Syllable). It would be a mistake to use subsumption in this manner. Instead, there is some concept, call it PhonologicalUnit, that subsumes all the aforementioned phonological concepts: PhonologicalWord PhonologicalUnit
(3.23)
Syllable PhonologicalUnit Foot PhonologicalUnit
(3.24) (3.25)
Mora PhonologicalUnit
(3.26)
58
S. Farrar and D.T. Langendoen
The mistake arises from the fact that “is part of”, like “is subsumed by”, is a partial ordering, but is not reducible to it. Every PhonologicalWord has parts, each of which is a MetricalFoot, as expressed in (3.27). PhonologicalWord ∃ hasPart.MetricalFoot
(3.27)
This is distinct from saying that PhonologicalWord subsumes MetricalFoot. If every MetricalFoot is a PhonologicalWord, then it is correct to say that PhonologicalWord subsumes MetricalFoot, but that is very different from saying that every PhonologicalWord is made up of at least one MetricalFoot. Partition the Concept Taxonomy The next step is to create partitions in the concept taxonomy. A partition ensures that two or more concepts never share individuals; such concepts are referred to as disjoint. If A and B are disjoint, then A B ≡ ⊥ must be true. In other words, the set formed by the intersection of two or more disjoint concepts will always be empty. Partitioning the domain is one way to speed up certain reasoning tasks, since in a DL concepts are assumed to overlap unless stated otherwise. As a linguistic example, consider the case of WrittenExpression versus SpokenExpression versus SignedExpression. These three concepts may never share individuals since a given linguistic expression can never exist in more than one physical form at the same time. The spoken word “dog”, the written word dog, and the sign for dog are all different entities. The three forms may be related in a regular way – the word dog definitely relates to its spoken counterpart – but no conceptualization allows for more than one simultaneous mode of being such as this. Thus, axioms (3.28), (3.29) and (3.30) are necessary to handle the linguistic example: SpokenExpression WrittenExpression ≡ ⊥
(3.28)
SpokenExpression SignedExpression ≡ ⊥ SignedExpression WrittenExpression ≡ ⊥
(3.29) (3.30)
And finally, to ensure that there can be no other kind of Expression, we include the covering axiom (3.31): Expression ≡ SpokenExpression WrittenExpression SignedExpression (3.31) 3.4.1.3 Add Roles to TBox The next step is to add roles to the TBox. At this step, there are several issues to be addressed in order to properly characterize a role. First, roles in a DL can be classified as transitive. An example of a transitive role from the linguistics domain is the hasConstituent, holding among syntactic units. If A has constituent B and B has constituent C, then A also has constituent C.
3 An OWL-DL Implementation of Gold
59
It is also possible to declare roles as symmetric, as in translationOf since if A is a translation of B, presumably B is a translation of A. Likewise, many lexical relations are also symmetric: antonymOf, synonymOf, etc. The relation of agreement, denoted by agrees, is another example of a symmetric relation. An example of a role that is neither transitive nor symmetric would be the hasValue role that relates a feature to its value. With a number of roles in place, the inverses of roles should now be declared. Inverse roles simply serve to express the opposite relation between two individuals. For instance, consider the relationship between two forms, one with inflection and one without. The role inflectedForm could be used to relate the base form to the inflected form, while baseForm could be used for the inverse. There is no need to state further axioms for the inverse, since inflectedForm is already defined. Other examples include linear ordering relations in morphology such as follows and precedes. It is possible to add domain and range restrictions to roles thereby restricting a given role to taking particular concepts as its domain and particular concepts as its range. Axiom (3.32), for instance, limits the range of hasHead to only individuals of type SyntacticWord. ∀ hasHead.SyntacticWord
(3.32)
Note the use of . This symbol means that for anything in the knowledge base, the range of hasHead must be filled with a SyntacticWord. However, leaving the domain and range values open is often advantageous. Consider the part-whole relations with respect to morphosyntactic structure. It would be useful to have a single relation hasConstituent that could hold between any complex structure and its constituent. We might want this relation to pertain to both syntactic units and morphological units. If we declared strict domain and range constraints then we would need a different relation in each case, something like hasMorphConstituent and hasSynConstituent. But by leaving the domain and range constraints open, we can get by with using hasConstituent. Other axioms such as (3.33) may be added to constrain its use: Phrase ∃ hasConstituent.SyntacticWord
(3.33)
Cardinality restrictions place restrictions on the number of particular kinds of relationships a concept may participate in. For instance, language endangerment could be defined (albeit simplistically) as any language that has no more than 2,000 speakers. EndangeredLanguage ≡ Language 2000 hasSpeaker
(3.34)
Roles may also be arranged into a taxonomy to add structure to the TBox. This is useful when there are several roles, for example, that share the same range. Consider the various kinds of syntactic roles that hold between constituents and the main
60
S. Farrar and D.T. Langendoen
clause: hasPredicate, hasSubject, hasObject, etc. We might say that there is a single role, say syntacticRole, that subsumes all of these: hasPredicate syntacticRole hasSubject syntacticRole
(3.35) (3.36)
hasObject syntacticRole
(3.37)
The result of adding the above axioms is a role taxonomy, much like the concept taxonomy discussed earlier. In practice, role taxonomies will not be as detailed as those for concepts. 3.4.1.4 Add Other Axioms to Further Refine Concepts and Roles The next step is to establish role restrictions on concepts, that is, to assert how individuals of particular concepts are related via roles. Such relations can be asserted using either the existential or the universal role restriction. An example using the existential is that any morphosyntactic feature must have at least one value that is a morphosyntactic value. MorphosyntacticFeature ∃ hasValue.MorphosyntacticValue
(3.38)
In order to ensure that some feature does not have any other type as its value, then the right-hand side of (3.38) must be augmented as in (3.39): MorphosyntacticFeature . . . ∀ hasValue.MorphosyntacticValue
(3.39)
Thus, equation (3.39) combines the existential with the universal to achieve a tighter restriction and can be glossed as “a morphosyntactic feature must have at least one morphosyntactic value as its value (the existential) and only morphosyntactic values can be related to morphosyntactic feature via the hasValue role (the universal)”. If the universal were used by itself, then it would be possible for a feature not to have a value. The existential-universal combination, then, is a common design pattern used in ontology engineering with OWL-DL (Horridge et al. 2004). The part-whole relationship has already been introduced with reference to mereology. Part-whole relationships apply in a straight-forward manner to phonological and morphosyntactic structure. For instance, constituency structure can be spelled out by using axioms such as (3.40): SyntacticPhrase ∃ hasContituent.SyntacticWord
(3.40)
This axiom states simply that syntactic phrases must have at least one syntactic word as a constituent.
3 An OWL-DL Implementation of Gold
61
3.4.2 Populate the ABox with Individuals The next step is to instantiate the various concepts and thereby populate the knowledge base, in fact the ABox, with individuals. This step includes enumerating the individuals, sorting them, and finally asserting knowledge about each individual. 3.4.2.1 Enumerate and Classify Each Individual According to Available Concepts This step concerns adding concrete data to the schema knowledge contained in the knowledge base. An obvious example is to add all the known language varieties to the concept of LanguageVariety. A single statement such as (3.41) is required for each introduction and classification of an individual. LanguageVariety(O LD E NGLISH)
(3.41)
The task of determining exactly what are the language varieties that exists is of course contentious. In general, the TBox should contain universal (or widely accepted) knowledge, while the ABox should be dedicated to that which may be contested. In general, the TBox/ABox separation represents the split between general linguistic knowledge and that pertaining to individual languages, the latter of which is usually more contested. For example, although the fact that Hopi has an ImperfectiveAspect and that English and Greek both have a PastTense constitute linguistic knowledge (perhaps widely held, general knowledge), this kind of knowledge can be differentiated, as it only pertains to specific languages and, thus, is better placed in the ABox as individuals. The drawback is that this would lead to an explosion in the number of individuals required for even an ontology that included a relatively small number of languages: H OPI PAST T ENSE, E NGLISH PAST T ENSE, G REEK PAST T ENSE, . . . 3.4.2.2 Relate Individuals via Available Roles in Ontology With the axiomatization in the TBox in place, it is a relatively straightforward procedure to assert knowledge about individuals, for instance to relate each individual language to the country where it is spoken: spokenIn(M ANDARIN, C HINA)
(3.42)
spokenIn(M ANDARIN, C ANADA)
(3.43)
3.4.3 Relate TBox and ABox The final step in the methodology is to relate the TBox to the ABox by introducing mixed axioms that contain all three logical sorts: concepts, roles and individuals.
62
S. Farrar and D.T. Langendoen
Mixed axioms can be formed in a number of ways, for instance by relating a concept with the enumerated set of its individuals or by relating specific individuals to concepts using roles. 3.4.3.1 Create Enumerated Concepts Enumerating a concept’s individuals is useful when there is a need to tie a concept absolutely to a specific set of individuals, meaning that the set is not likely to change. For instance, when enumerating the values of some morphosyntactic system for a given language and these values are well-agreed upon, an enumerated concept could be used as follows: TenseSystem ≡ {D ISTANT PAST, H ODIERNAL PAST, P RESENT}
(3.44)
This axiom fully defines TenseSystem by stating its necessary and sufficient conditions, namely, an enumeration of its individuals. Put another way, TenseSystem is equivalent to the set of the three given individuals. 3.4.3.2 Relate Individuals to Concepts via Roles Finally, it is possible to use an individual to place a narrow restriction on a given class. Assuming that the individual N ULL represents the absence of phonetic material, a linguistic expression with no phonetic component, a zero morpheme could be defined as any morpheme that is expressed by the null element. ZeroMorpheme ≡ ∃ expressedBy.{N ULL} Morpheme
(3.45)
Secondly, individuals can be defined by relating them to concepts via roles. {V ERB 123} ∃ hasSyntRole.Agent
(3.46)
The above axiom states that the specific verb VERB123 must have an agent as one of its syntactic roles.
3.5 Limitations and Tool-Related Issues 3.5.1 The Fundamental Types The first issue to be discussed is whether or not the fundamental predicate types – concepts (classes), roles (properties), and individuals – are adequate for linguistic modeling.5 For concepts, there is little difference between a language such as OWLDL and first-order ontology modeling languages like SUO-KIF. Concepts within an OWL-DL taxonomy behave in the expected way, structured by the partial-ordering
3 An OWL-DL Implementation of Gold
63
relation of subclassOf, the most common built-in relation among concepts in OWLDL. This causes little issue and even multiple inheritance is allowed. When a concept is subsumed by two or more other concepts, then all of the individuals of the subsumed concept are members of each parent concept. But what does it mean to be a member of a concept? OWL-DL interprets an individual as being a member of a particular concept. Here, concepts are interpreted as sets. Set theory is a powerful modeling device used extensively in mathematics and formal concept analysis. In basic set theory, the fundamental notions of union, intersection, and subset play a key role. Furthermore, the mathematical notion of set membership should not be confused with instantiation. Gangemi et al. 2001 use the following example to illustrate the difference between set membership and instantiation. Consider two possible interpretations of “Socrates is a man”: 1. Socrates belongs to the class of all human beings; 2. Socrates exhibits the property of being a man; Then: Usually, in mathematics, the two views are assumed to be equivalent, and a predicate is taken as coinciding with the set of entities that satisfy it. This view is however too simplistic, since in Tarskian semantics set membership is taken as a basis to decide the truth value of property instantiation, so the former notion is independent from the latter. The existence of a mapping between the two relations does not justify their identification: one thing is a set, another thing is a property common to the elements of a set. (Gangemi et al. 2001, p. 3)
As noted, a concept may simply be declared, be defined using other concepts and constructors, or be defined by an enumeration of its members. It is worth mentioning that the last method is not found, for example, in SUO-KIF. Turning to individuals, these are, as expected, instantiations of concepts and can be used in ABox and mixed axioms, much in the same way as in FOL ontologies. The main difference is the presence of the TBox and ABox which places concepts and individuals in separate parts of the knowledge base. It would seem that individuals are not really a part of the ontology. In general, however, it should be noted that ontologies may include not only concepts and relations, but also individuals. Therefore, in the design of a knowledge base, its ontology will, technically speaking, contain statements of the TBox and of the ABox variety. Some description logic literature uses the term ontology to refer only to the TBox itself. In the modeling of linguistics, individuals such as G ERMAN or S WAHILI are undeniably part of the ontological landscape. To sum up, even though description logics refer to the TBox as the ontology, the ontology of a given domain can and should include individuals as well. Turning to the last DL sort, roles, it is clear that OWL-DL places the restriction on its relations in that only binary relations are allowed. Thus, it is impossible to express a fact summarized as, “feature F carries value V in feature system S,” in a ternary predicate such as: carries(F, V, S)
(3.47)
64
S. Farrar and D.T. Langendoen
Instead, one possibility would be to say that the feature has some value and that the pairing of a the feature with the value belongs to a feature system. Thus, it is the pairing itself, the predication, that is included in the feature system. However, it is not possible to predicate over relations using binary roles. A statement cannot itself be related to another entity via a role relation. This is not surprising considering that OWL-DL is a subset of FOL which itself does not permit such reification of predications. Otherwise, it would not be “first order”. The closest that one could hope in a DL account of such a statement would be to include axioms summarized as “feature F has value V and that F is related to system S. hasValue(F, V) inSpec(F, S)
(3.48) (3.49)
This issue is that pairings of features and values cannot be related within feature systems, at least not directly. Such statements about which features can bear which values are crucial, however, to many linguistic theories and should be dealt with. Before leaving the discussion of the three basic sorts, it should be noted that roles can be grouped into hierarchies. In practical ontology building, such hierarchies are of little use and may only complicate the modeling process.
3.5.2 Justification for Using OWL-DL OWL is actually a family of languages: OWL-Lite, OWL-DL, and OWL-Full. OWL-DL is a compromise of expressive power and tractability. The expressive power of OWL-Lite is low, e.g. it does not include the possibility of using quantification, and is not adequate for the complexities of a knowledge-based system for linguistics. On the other hand OWL-Full is known to be undecidable and not practical for currently available reasoning systems, in part due to the possibility of predicating over concepts, not just individuals. This means that OWL-DL is compatible with a number of inferencing engines, including the RACER (Haarslev and M¨oller 2001) or Pellet (Sirin et al. 2007) reasoning system. In fact, “OWL-DL was carefully crafted to remain decidable” just for that purpose: implementation (Horrocks et al. 2003, p. 18). In addition, due to the recent interest in description logic formalisms triggered by their intended application within the Semantic Web, there are now an increasing number of authoring and other related utilities available. One very popular ontology editor and visualization tool is Prot´eg´e (Noy et al. 2001, Knublauch et al. 2004).6 Prot´eg´e is particularly useful as it has the ability to create and store ontologies in various formats, including OWL, DAML+OIL, UML, and other XML-based formats. Although not initially intended as a reasoner front-end, Prot´eg´e now comes packaged with the FaCT++ and Pellet reasoners. The most important function of these reasoners is that of consistency checking.
3 An OWL-DL Implementation of Gold
65
Finally, OWL now has a number of different serialization formats, including XML/RDF, OWL/XML, OWL Functionaly Syntax, and the Manchester OWL Syntax. These serializations are endowed with a fixed set of data types inherited from XML Schema and RDF (Smith et al. 2004). Especially in the context of creating an infrastructure for linked linguistic data Berners-Lee 2006, XML/RDF syntax of OWL conforms to best-practice recommendations for data portability (Bird and Simons 2003). That is, the XML/RDF version of OWL is good candidate for interoperability, at least in terms of the format, with linguistic data also in XML/RDF.
Notes 1. 2. 3. 4.
All references to GOLD are based on the version found at http://www.linguistics-ontology.org/ Concepts that are never defined are referred to as primitive concepts. In the table D is assumed to be a built-in data type and not a declared concept. As a convention, individuals are given in small-caps and sometimes with an arbitrary number, e.g. N OUN 123. 5. Recall the OWL-DL terminology for concept and role, given here in parenthesis. 6. The latest version of the Prot´eg´e tool is available for free at http://protege.stanford.edu/
References Baader, Franz, Calvanese, Diego, McGuinness, Debora L., Nardi, Daniele, and Patel-Schneider, Peter (2003). The Description Logic Handbook. Cambridge University Press, Cambridge. Baader, Franz and Nutt, Werner (2003). Basic description logics. In Baader, F., Calvanese, D., McGuinness, D.L., Nardi, D., and Patel-Schneider, P.F., editors, The Description Logic Handbook, chapter 2, pages 47–100. Cambridge University Press, Cambridge. Berners-Lee, Tim (2006). Linked data. Published electronically at: http://www.w3.org/ DesignIssues/LinkedData.html. Bird, Steven and Simons, Gary F. (2003). Seven dimensions of portability for language documentation and description. Language, 79:557–582. Borgida, Alex and Brachman, Ronald J. (2003). Conceptual modeling with description logics. In Baader, F., Calvanese, D., McGuinness, D.L., Nardi, D., and Patel-Schneider, P.F., editors, The Description Logic Handbook, chapter 10, pages 349–372. Cambridge University Press, Cambridge. Farrar, Scott (2007). Using ‘Ontolinguistics’ for language description. In Schalley, Andrea and Zaefferer, Dietmar, editors, Ontolinguistics: How ontological status shapes the linguistic coding of concepts, pages 175–191. Mouton de Gruyter, Berlin. Farrar, Scott and Langendoen, D. Terence (2003). A linguistic ontology for the Semantic Web. GLOT International, 7(3):97–100. Gangemi, Aldo, Guarino, Nicola, Masolo, Claudio, and Oltramari, Alessandro (2001). Understanding top-level ontological distinctions. In Proceedings of IJCAI 2001 workshop on Ontologies and Information Sharing. Gruber, Thomas R. (1993). A translation approach to portable ontology specifications. Knowledge Acquisition, 5(2):199–220. Haarslev, Volker and M¨oller, Ralf (2001). RACER system description. In International Joint Conference on Automated Reasoning (IJCAR’2001), number 2083 in Lecture Notes in Computer Science, pages 701–712, Springer-Verlag, Berlin.
66
S. Farrar and D.T. Langendoen
Horridge, Matthew, Knublauch, Holger, Rector, Alan, Stevens, Robert, and Wroe, Chris (2004). A practical guide ot building owl ontologies using the prot´eg´e owl plugin and CO-ODE tools, edition 1.0. Technical report, The University of Manchester and Stanford University. Horrocks, Ian, Patel-Schneider, Peter F., and van Harmelen, Frank (2003). From SHIQ and RDF to OWL: The making of a web ontology language. Journal of Web Semantics, 1(1):7–26. Horrocks, Ian, Sattler, Ulrike, and Tobies, Stephan (1999). Practical reasoning for expressive description logics. In Ganzinger, H., McAllester, D., and Voronkov, A., editors, Proceedings of the 6th. International Conference on Logic for Programming and Automated Reasoning (LPAR’99), number 1705 in Lecture Notes in Artificial Intelligence, pages 161–180, SpringerVerlag, Berlin. Knublauch, Holger, Musen, Mark A., and Rector, Alan L. (2004). Editing description logic ontologies with the Prot´eg´e OWL Plugin. In Proceedings of Description Logics 2004. Masolo, Claudio, Borgo, Stefano, Gangemi, Aldo, Guarino, Nicola, and Oltramari, Alessandro (2003). Ontologies library (final). WonderWeb Deliverable D18, ISTC-CNR, Padova, Italy. Nardi, Daniele and Brachman, Ronald J. (2003). An introduction to description logics. In Baader, F., Calvanese, D., McGuinness, D.L., Nardi, D., and Patel-Schneider, P.F., editors, The Description Logic Handbook, chapter 1, pages 1–40. Cambridge University Press, Cambridge. Niles, Ian and Pease, Adam (2001). Toward a standard upper ontology. In Welty, C. and Smith, B., editors, Proceedings of the 2nd International Conference on Formal Ontology in Information Systems (FOIS-2001), Ogunquit, Maine. Association for Computing Machinery. Noy, Natalya F., Sintek, Michael, Decker, Stefan, Crubezy, Monica, Fergerson, Ray W., and Musen, Mark A. (2001). Creating Semantic Web contents with protege-2000. IEEE Intelligent Systems, 16(2):60–71. Sirin, Evren, Parsia, Bijan, Grau, Bernardo Cuenca, Kalyanpur, Aditya, and Katz, Yarden (2007). Pellet: A practical owl-dl reasoner. Journal of Web Semantics, 5(2):51–53. Smith, Michael K., Welty, Chris, and McGuinness, Deborah L. (2004). Owl web ontology language guide. W3C Recommendation 20040210, W3C. http://www.w3.org/TR/owl-guide/.
Chapter 4
Markup Languages and Internationalization Felix Sasaki
Abstract The success of the markup language XML is partly due to its internationalization capabilities. “internationalization” means the readiness of a product or a technology for an international market and users with different languages, cultures and cultural preferences. The aim of the paper is threefold. First, it introduces aspects of internationalization found within the XML standard itself, like the support of the Unicode character encoding. Second, it demonstrates specific benefits of XML-related technologies for users with internationalization and localization needs. That includes technologies like ITS and XLIFF which are used within the localization industry. Third, the paper discusses current and future topics of Web internationalization, with XML as the backbone of a yet to come truly multilingual web. These three aspects are presented in relation to other areas of information modeling which are part of this volume. Keywords Internationalization · Localization · Standardization · ITS
4.1 Introduction: What Is Internationalization? A common definition of “internationalization” (see Ishida and Miller 2006) is the process of preparing a product or its underlying technology ready for applications in various languages, cultures and regions. The acronym of Internationalization is used as “i18n” because there are 18 characters between the first character “i” and the last character “n”. Closely related to internationalization is “localization”, which is the process of adapting a product and technology to a specific language, region or market. Sometimes in software localization, this target of localization is referred to as a “locale”. The acronym “l10n” is used because there are ten characters between the first character “l” and the last character “n”. F. Sasaki (B) University of Applied Sciences Potsdam, Potsdam, Germany e-mail: [email protected]
A. Witt, D. Metzing (eds.), Linguistic Modeling of Information and Markup Languages, Text, Speech and Language Technology 40, C Springer Science+Business Media B.V. 2010 DOI 10.1007/978-90-481-3331-4 4,
67
68
F. Sasaki
An example for the relation between internationalization and localization, from the world of programming languages, is the Java class “resourceBundle”. It allows for gathering locale specific information like calendars or currencies. The fact that Java provides “resourceBundle” means that the programming language has been “internationalized”. Localization then means to use a “resourceBundle”, for example to adapt a user interface to a locale. For proper localization, it is important that aspects of internationalization are taken into account as soon as possible in the process of product or technology design. Otherwise expensive reverse engineering might be necessary. Sasaki (2005) and Phillips (2006) demonstrate that internationalization is not a specific feature, but a requirement for software design in general. “Software” can be a text processor, a web service – or a linguistic corpus and its processing tools. For each design target, there are different internationalization requirements. For linguistic corpus data, issues of “internationalization” are rarely discussed. This is due to the fact that aspects of internationalization are often hidden underneath technologies which are the basis of linguistic research and applications development. The currently most prominent example of such a technology is XML (eXtensible Markup Language). Today XML is the standardized representation format for a great variety of linguistic data, encompassing textual corpora or lexica, but also multimodal annotations or speech corpora. The contributions to this volume give more details on aspects of these kinds of linguistic resources. In the design of monolingual “linguistic corpora”, the internationalization features of XML and related standards are often used just “as is”, without further reflection. If then an existing corpus design is to be reused for languages not foreseen, or a multilingual corpus has to be created, the reverse engineering mentioned above might become necessary. Taking this “hidden status” of internationalization issues in linguistic corpora into account, the purpose of this article is twofold: • it explains how to avoid problems related to internationalization in the design of XML-based, linguistic corpora, and • it shows what benefit linguistic research can gain from existing and new internationalization related standards. In the center of interest are internationalization issues of the markup language XML and related technologies. There is a variety of internationalization related issues which are relevant for processing marked-up, textual data. This paper will discuss them in a “bottom up” view on marked-up documents, starting with the textual data itself: • Characters: issues of encoding, visualization and processing (Section 4.2) • Language identification (Section 4.3) • Markup for internationalization and localization purposes (Section 4.4) It will be assumed that the design target is a “multilingual, XML based textual corpus”. The corpus should contain existing and yet to be created data in various languages. A conclusion will be given in Section 4.5.
4 Markup Languages and Internationalization
69
4.2 Character Related Issues 4.2.1 Creating a Corpus: Character Encoding Issues In the past, multilingual corpora like the Japanese, English and German data in Verbmobil (Wahlster 2000) have been created relying only on the ASCII character repertoire. Today the usage of the Unicode (Aliprand et al. 2005) character repertoire is common sense, for corpus and many other kinds of textual data. The Basic Multilingual Plane of Unicode encompasses characters from many widely used scripts, which solves basic problems of multilingual corpus design. Quite often, the names ISO/IEC 10646 and Unicode are used in similar contexts. The former standard is developed and published jointly by the organisations ISO and IEC, the latter by the Unicode Consortium. ISO/IEC and the Unicode Consortium define the same character repertoire and encoding form. In addition, the Unicode Standard adds information which partly will be explained below, like character properties, character equivalence and normalization specifications, a normative algorithm for bidirectional text and various other implementation information. Using Unicode does not solve all problems. Still various decisions have to be made for corpus creation: what encoding form is suitable, how characters not in Unicode are handled, or how to deal with “glyph” variants. The encoding form is the serialization of characters into a given base data type. The Unicode standard provides three encoding forms for its character repertoire: UTF-8, UTF-16 and UTF-32.1 The most widely used encoding form is UTF-8. If the multilingual corpus contains only Latin based textual data, UTF-8 will lead to a small corpus size, since this data can be represented mostly with sequences of single bytes. If corpus size and bandwidth are no issues, UTF-32 can be used. However, especially for web based corpora, UTF-32 will slow down data access. UTF-16 is for environments which need both efficient access to characters and economical use of storage. Finally, the aspect that an XML processor must be able to process “only” UTF-8 and UTF-16, and not necessarily other encoding forms, should be taken into account when deciding about the appropriate encoding form. Unicode encodes widely used scripts and unifies regional and historic differences. Such differences are described as glyphs. Unicode unifies many glyphs into singular characters. The most prominent example for the unification of glyphs is the Han unification, which maps multiple glyph variants of Korean, Chinese and Japanese into a single character repertoire. For a multilingual corpus, glyphs characteristics might be quite important. Diachronic glyph variants and rarely used scripts have nearly no chance of becoming a part of the Unicode character repertoire. As one solution to the problem, Unicode provides “variation selectors” which follow a graphic character to identify a (glyph related) restriction on the graphic character.2 However, it is impossible to have one collection of variation sequences which satisfies all user communities’ needs. A different solution would be the encoding of variants as characters. However, Unicode is an industrial consortium, and minority scripts and historical scripts have a small lobby. This makes it difficult for corpus data in such scripts to be represented
70
F. Sasaki
in Unicode. Fortunately, the Script Encoding Initiative3 has been founded to support proposals to the Unicode consortium for the encoding of rarely used scripts and script elements. For those who want to use new characters without waiting for standardization, the Text Encoding Initiative (TEI) provides a means to represent non-standard characters and glyphs with markup. The following figure exemplifies the definition of two variants which are similar to the character r. For each glyph variant there is a glyph element with information about the name, character properties and a graphical representation. These elements can be referenced by their xml:id attributes, as is demonstrated in the text passage below. The example demonstrates only a simple application of the TEI for dealing with non-standard characters and glyphs. The interested reader may be referred to Chapter 5 of the TEI guidelines.4
1 2 3 4 5 6 7 8 9 10 11
12 13 14 15 16 17 18
< charDecl > < glyph xml : id = " r1 " > < glyphName > LATIN SMALL LETTER R WITH ONE FUNNY STROKE < charProp > < localName > entity < value > r1 < graphic url = " r1img . png " / > < glyph xml : id = " r2 " > < glyphName > LATIN SMALL LETTER R WITH TWO FUNNY STROKES < charProp > < localName > entity < value > r2 < graphic url = " r2img . png " / >
19 20 21 22
Wo < g ref = " # r1 " >r ds in this manusc < g ref = " # r2 " >r ipt are sometimes written in a funny way .
4.2.2 Visualizing a Corpus: Bidirectional Text In this section, the scope of multilingual corpus design is narrowed to corpora with scripts written from right to left, like Arabic and Hebrew. For each character, Unicode has a property called “directionality” in its repertoire. This property is used by the bidirectional algorithm (Davis 2005) to support appropriate order in text visualization. If a corpus contains only one script, the bidirectional algorithm assures proper visualization. As an example, HTML (Raggett et al. 1999) uses Unicode as the document character encoding and the HTML visualization order of the source code “HEBREW” (if written in the Hebrew script) will be “WERBEH”.
4 Markup Languages and Internationalization
71
However, the Unicode bidirectional algorithm needs help in certain cases of mixed scripts sequences: 1 2 3 4 5 6
Source code : engl1 ‘‘ HEBREW2 engl3 HEBREW4 ’ ’ engl5 Visualization a ) : engl1 ‘ ‘2 WERBEH ’ ’ engl3 ‘ ‘4 WERBEH ’ ’ engl5 Visualization b ) : engl1 ‘ ‘4 WERBEH engl3 2 WERBEH ’ ’ engl5
In the example, the source code can be visualized as (a), an English text with two Hebrew citations, or (b), an English text with a Hebrew citation, which itself contains an English citation. Without further information, the Unicode bidirectional algorithm will create visualization (a). The reason is that the algorithm works with embedding levels of mixed script texts. It works best if there is just one level, and that leads to visualization (a), that is Hebrew text embedded in English text. To achieve visualization (b), we need to indicate that there is another embedding level: English text contains Hebrew text which contains English text. For indicating the borders of a new embedding level, there are two methods. First, Unicode control characters can be used. They are inserted as shown below to indicate the borders of the new embedding level needed for visualization (b). 1
engl1 ‘ ‘* U +202 B * HEBREW2 engl3 HEBREW4 * U +202 C * ’ ’ engl5
In texts with markup, an attribute like @dir (for “directionality”) in HTML can produce the same effect. The value rtl indicates the new directionality level rightto-left. 1
engl1 ‘‘< span dir = ’ ’ RTL ’ ’ > HEBREW2 engl3 HEBREW4 ’ ’ engl5
The source code with plain text encompasses 27 characters. The source code with markup encompasses 25 characters. To avoid such influence of directionality indicators on e.g. word length queries, using markup is highly recommended. Such directionality issues are only one example of the relation between Unicode and markup languages: markup often provides features similar to those provided by Unicode characters in plain text. Another example of such overlap is the relation between interlinear annotation characters versus Ruby markup (see for more information about Ruby Section 4.4.1 and Sawicki et al. 2001). The interlinear annotation characters should not be used if Ruby markup is available, since that markup provides additional formatting information. Another example of overlapping functionalities is the indication of line breaks via characters versus e.g. the HTML br element. Using characters for this purpose is not recommended since it would lead to a duplication of information. D¨urst and Freytag (2003) discuss such topics in detail and provide guidelines for other kinds of characters which conflict or sometimes do not conflict with markup.
72
F. Sasaki
In the area of mixed scripts sequences, the guideline for processors, e.g. a browser visualizing mixed scripts sequences, is to ignore the Unicode characters and to enhance the bidirectional algorithm only with information provided via markup. The guideline for encoders, e.g. an editing tool or human editors of such sequences, is to replace the characters with markup.
4.2.3 Processing Textual Corpus Data As the corpus is created and can be visualized, the next step is processing of character data. The following processes will be discussed in this section: Counting, normalization and collation sensitive ordering. The notion of “counting characters” varies across technologies. In the Java programming language, regular expressions in Java count character borders: Java takes the beginning of an input sequence into account, even if it is empty. In contrast, XML Schema (Biron and Malhotra 2004) counts “only” characters. Hence, given the empty input sequence “ ” and the regular expression “a?”, there will be a match in Java, but not in XML Schema. For comparison of character sequences, there are two prerequisites. First, the strings have to be in the same encoding. This is not a trivial requirement if massive corpus data is gathered from the Web. Emerson (2006) describes character encoding detection issues for such tasks. Second, characters have to be in the same normalization form. Normalization is the process of bringing two strings to a canonical form before they are processed. This is necessary because some character encodings allow multiple representations for the same string. An example: The character “LATIN SMALL LETTER C WITH CEDILLA” can be represented in Unicode as a single character with the code point “U+00E7” or as a sequence “U+0063 U+0327”. It is obvious that for example a search will provide unforeseen results, if normalization is not assured. It is not possible to guarantee that all strings in all XML documents are, in fact, normalized, or that they are normalized in the same manner. There may be implementations of processes like comparisons that operate on not normalized strings and others that implicitly normalize strings before processing them. The XML Query language XQuery (Boag et al. 2005) provides at least a function normalize-unicode, which a user can apply “manually” to assure a normalization form. Normalization of text and string identify matching for XML and related technologies is not fully standardized yet. Current proposals are described in detail in the “Character Model for the World Wide Web 1.0: Normalization”(Yergeau et al. 2005). The last process discussed for characters is ordering based on collations. A collation is a specification of the manner in which character strings are compared and ordered. A simple collation is a code point based collation. It is used for example
4 Markup Languages and Internationalization
73
as the default collation in XPath 2.0 functions (Berglund et al. 2005), which is also applied in XQuery. “Code point based” means that strings are compared relying on the order given by the numeric identifiers of code points. More enhanced collations take locale specific information into account. An example for locale specific collations are the ordering defined for German lexicons, versus German phone books. In the lexicon the Umlaut characters a¨ , o¨ and u¨ are sorted together with “a”, “o” and “u” respectively. In the phone book the Umlaut characters are sorted as if they were spelled “ae”, “oe” and “ue”.
4.3 Language and Locale Identification The topics of comparisons and collations naturally lead to language and locale identification. In the example above, the same language is given (German), but two different collations need to be applied (phone book versus lexicon). It is crucial to have proper language identification within corpus meta data standards like IMDI (Wittenburg et al. 2000) or OLAC (Simons and Bird 2003). But language identification is also useful for glyph identification mentioned above, i.e. to separate language and region specific differences for a HAN character. Corpora being created with XML can make use of the attribute xml:lang. It supplies language values in the format described by RFC 3066 (Alvestrand 2001) or its successor.5 “RFC 3066 or its successor” can (and should) also be referenced in a different way, as BCP 47 (Phillips and Davis 2006b). BCP 47 (the “Best Current Practice 47”) is always represented by the most recent RFC for language identification. Currently, these are RFC 4646 (Phillips and Davis 2006c) and RFC 4647 (Phillips and Davis 2006a).6 These will be described in the following section.
4.3.1 Structure of the Language Tags RFC 4646 and RFC 4647 are compatible with RFC 3066:7 an RFC 4646 language tag has constraints defined in RFC 4646 to differentiate between various types of subtags: script, region, variant, extension and privateuse. The various subtags have the following meaning. The primary language subtag (2 or 3 letters, 4 letters or 5–8 letters) indicates the language in accordance with ISO 639-1 (two letter) or ISO 639-2 (three letter). Three letter subtags immediately following the primary subtag are called “extlang”. These are reserved for values from ISO 639 part 3. An example of a language subtag with an ISO 639-1 value is “de”, meaning “German”. An example of an ISO 639-2 value is “alt”, meaning “Southern Altai”. An example of an ISO 639-3 value is “ain”, meaning “Ainu (a language in Japan)”.
74 1 2 3 4 5 6
F. Sasaki langtag = ( language [ " -" script ] [ " -" region ] *( " -" variant ) *( " -" extension ) [ " -" privateuse ])
The differences between these three parts of ISO 639 (there are three more parts not yet integrated into BCP 47) is the number of codes and the application area. ISO 693-1 encompasses around 180 codes and was developed for applications in linguistics, terminology and lexicography. ISO 639-2 encompasses around 480 codes and is used for terminology but also for libraries. ISO 639-3 is intended for a comprehensive identification of languages and provides by far the largest list of language codes, currently more than 6900 languages. That includes for example also codes for dialects like K¨olsch “ksh”. The script subtag (4 letters) indicates script or writing system variations, in accordance with ISO 15924. An example of a language tag including a script subtag is “ja-latn”, meaning “Japanese written with the Latin script”. The region subtag (2 letters or 3 digits): 2 letters indicate country, territory, or region, in accordance with ISO 3166, part 1. This subtag fulfills the same role as the 2-letter second subtags in RFC 3066. 3 digits indicate region information in accordance to UN “Standard Country or Area Codes for Statistical Use” within the region subtag. An example of a subtag is “de-DE”, meaning “German in Germany”. The variant subtag (starting with a letter: at least 5 characters; starting with a digit: at least 4 character) indicate variations not associated with an external standard. These must be registered in the IANA subtag registry (see below). An example is “de-DE-1996”, meaning “German written in Germany, using the German orthography introduced in 1996)”. The extension subtag (introduced by a single character subtag) indicates an extension to RFC 4646. RFC 4646 defines mechanisms how such extensions must be registered, which encompasses e. g. the creation of an RFC document about the extension. An example is an extension introduced by “r”: “en-Latn-GB-r-extendedsequence-x-private”. Finally, the privateuse subtag (introduced by “x”) indicates a private agreement. RFC 4646 defines also a registry called “IANA language subtag registry”. It contains not whole language tags, but subtags. All language tags defined already for RFC 3066, and all subtags currently (and in the future) available in the underlying ISO standards are part of this registry. RFC 4646 introduces two conformance criteria for language tags: “well formed” versus “valid”. The former checks the syntax defined above, the latter checks in addition conformance to the language subtag registry. As an addition to the structure of language tags and a registry for subtags defined in RFC 4646, RFC 4647 supplies mechanisms for matching values. These encompass the matching types “filtering” (zero or more least specific language tags match) versus “lookup” (exactly one, i.e. the most specific language tags match).
4 Markup Languages and Internationalization
75
4.3.2 Language Tags and XML Based Corpora RFC 4646 has been designed carefully to fulfill both the needs of the linguistic corpus design and other application areas. The main means for language identification of linguistic corpora is ISO 639 part 3.8 Its aim is the creation of identifiers for all human languages. As said above, this is in contrast to ISO 639 part 1, which focuses on identifiers necessary for terminology and lexicography, and part 2, which focuses on identifiers for terminology and bibliography. Part 3 allows for distinguishing extinct, ancient, historic and constructed languages. RFC 4646 is currently being updated, and the new RFC will take ISO 639 part 3 into account. The W3C Internationalization Activity is working on a document about language and locale identifiers in internet based scenarios.9 It has two purposes. First, it will provide a common set of identifier (values), which is necessary for any reliable processing of distributed (language) resources. Here the document will mainly rely on RFC 4646. Second, the document will provide “best practices” for the distinction of language versus locale. These concepts are closely related, but still different. A locale is important for processing e. g. of dates, times, numbers, or currencies. It is also relevant for linguistic related processing, like the mentioned sort-order (collation). An example of the difference between language and locale was given above for German ordering conventions (telephone book versus lexicon): Both are conventions for the German language, but with different ordering preferences. Linguistic processing may also rely on the script. It is for example necessary to differentiate Romanized, transliterated Japanese from Japanese in its mainly used version which combines four scripts. Locale definitions can also effect text boundaries (character, word, line, and sentence), or text transformation definitions (including transliterations). The reason that only “best practices” are being created is that a normative differentiation between language and locale seems to be impossible. Sometimes language is in the core of locale, as in the collation examples above. But sometimes language is not present at all, for example if the time zone or currency are mostly relevant. Hence, the best practices describe only a more or less stable set of user preferences which are commonly encompassed by a locale.
4.4 Internationalization Tag Set The purpose of the “Internationalization Tag Set” (ITS 1.0, see Lieske et al. 2007) is to provide a set of elements and attributes for common needs of XML internationalization and localization. Various examples of such needs have been described in the previous sections: For example, HTML defines an attribute for directionality, or the working draft for language and locale identifiers defines locale specific information. ITS gathers these state of the art definitions, to enable their application in existing or emerging XML vocabularies.
76
F. Sasaki
4.4.1 ITS: General Approach ITS encompasses various data categories for internationalization and localization and their implementation in XML. The separation of data categories versus their implementation is made to allow for a great variety of usage scenarios, which will be described below. ITS is currently a working draft. A first version of ITS will be finalized in the near future. The following data categories are covered in the ITS specification: • “Translate” conveys information about whether a piece of textual content in a document should be translated or not. • “Directionality” conveys the directionality information which is beneficial for visualization of text with mixed directionality. • “Terminology” indicates terms and is used to add reference information to external resources like terminology data bases. • “Localization Note” provides a means to add information necessary for the localization process to the localizer. • “Ruby” is used to provide pronunciation or further information, in compliance with the W3C Ruby specification (Sawicki et al. 2001). • “Language Information” is used to specify that a piece of content is of a language, as defined by RFC 4646. • “Elements Within Text” describes the relation of elements to the textual flow and is necessary for example to provide basic text segmentation hints for tools such as translation memory systems. More and more textual data is being created in XML based formats. Hence, many of these data categories have direct relevance for the language resource community which deals with such formats. For example, Senellart and Senellart (2005) describe a methodology to pass information to machine translation tools on the translatability of textual content in XML document. ITS can be used to define such information.
4.4.2 Local Implementation of ITS Data Categories The simple, so-called “local” implementation of the data category “Translate” is an attribute its:translate with the values yes or no. It can be attached to any element in an XML document: 1 2
< text its : translate = " no " ... > ...
... "
The attribute expresses information about elements, including child elements and textual content, but excluding attributes. The value of this definition is to have a
4 Markup Languages and Internationalization
77
common agreement on the scope and the values of the data category “Translate”, and a unique attribute in a unique XML namespace.
4.4.3 Global Implementation of ITS Data Categories The “local” implementation of ITS data categories is used locally in XML documents. In contrast, there is a “global” usage of data categories, which is independent of a specific position: 1 2 3 4
< its : rules > < its : translateRule s elector = " // p " its : translate = " yes " / > < its : termRule selector = " // qterm " / >
In the rules element, there is an element translateRule for the “Translate” data category. It contains an attribute selector. Its value is an XPath expression which selects in the example all p elements. The second attribute translate=’yes’ expresses that these attributes are translatable. For XML-based, linguistic corpora, global usage of ITS is important for the preparation of a variety of processes. For example, the application of a term data base can make use of global rules which define that a specific name in an XML vocabulary is used to mark up terms. Or the “Translate” data category can be used to differentiate translatable and non-translatable text as input for (semi-)automatic machine translation, as described above. There is an additional usage of global rules which is important for the combined reuse of a variety of markup schemes. 1 2 3
< its : rules > < its : langRule selector = " //* " langPointer = " @someAttribute " / >
In the example, it is assumed that a document contains attributes with language information. The selector attribute again selects nodes, as in the examples before. The “pointer” attribute at the “langRule” element is used to specify the element or attribute on which the information is available. 1
< text someAttribute = " en - US " > ...
Given these global rules and the example document above, the value of the someAttribute attribute are interpreted as language values. The value of ITS global rules here is that they specify a common semantics for markup: In the ITS specification, it is defined that the someAttribute attribute value has the meaning of RFC 4646. The benefit is that there is no need to change existing markup to specify this semantics. This is identical to the aim of Simons et al. (2004), see also
78
F. Sasaki
the contribution of Farrar and Langendoen in this volume. The difference is that Simons et al. (2004) rely on an RDF representation of markup semantics, while the ITS approach uses an XML representation.
4.4.4 Relation to Other Standardization Efforts ITS is related to various existing standards and standardization efforts. This concerns especially TMX (Savourel 2005) and XLIFF (Savourel and Reid 2003). TMX is used to allow easier exchange of translation memory data. The goal of XLIFF is to align data from source and target language(s). Both of these formats are important during the localization process. In contrast, ITS is necessary to assure “localizability” itself: Its aim is to provide proper internationalization, as a requirement for successful localization. From the perspective of XML-based linguistic corpora, ITS is not meant as a part of a corpus processing scenario. It is rather a means to prepare (large sets of ) documents, e. g. to be able to use the same processes of language values for heterogeneous markup schemes.
4.5 Conclusion and Outlook This paper demonstrated that markup languages have internationalization related aspects on various levels, starting from character encoding, going through character processing and language information, to markup for internationalization and localization purposes. These aspects are of relevance for XML based, multilingual linguistic corpora, but also for XML applications in general. From the perspective of other contributions to this volume, the aspects of internationalization presented in this paper can be reviewed as follows: • Aspects related to characters (encoding, visualization, processing) are often characterized as “low level issues”. Nevertheless they need to be taken into account for representation and processing of textual corpora as presented e.g. by Kim et al., or for visualization. Visualization is a topic for Schmidt, who discusses this for musical scores in multi-layer annotations. An interesting question would be what requirements are to be fulfiled for visualization of multi-layer annotations with mixed scripts text. • Aspects related to language identification are of importance for markup projects on a “higher level”. The reason is that results and the underlying algorithms for many approaches in the areas of information extraction (see again Kim et al.) or document and discourse relation analysis (see Stede et al. and Lobin et al.) may differ depending on the language of the data in question. For modeling linguistic resources like lexicons, see Trippel in this volume, a proper implementation of language information provided by the standards described in Section 4.3.1 is helpful in multilingual application scenarios.
4 Markup Languages and Internationalization
79
• Finally, the topic area of markup for internationalization and localization purposes is important for the contributions to this volume mentioned above under the aspect of “data reuse”. Here, the approach of ITS 1.0 to map existing markup to new interpretations could be the basis of data reuse. Hypertext Conversion related projects as in the contributions of Lenz and of Storrer may also benefit from these techniques, since ITS 1.0 provides a layer of indirection between markup in various formats and a pivot format for the conversion. To put this differently, often internationalization issues are important for basic issues of the representation of markup and (mostly textual) data. However, it can be expected that the aspects of data modeling, data reuse and data integration will play a more and more important role in internationalization in the future. Often the projects presented in this volume can provide answers to questions imposed by multilingual data. But maybe in some cases the “application domain” of multilingual data can formulate requirements and provide solutions which contribute to general aspects of linguistic modeling of information and markup languages.
Notes 1. UTF-8 encodes characters as sequences of a variable length: one, two, three or four bytes. UTF-16 uses variable sequences of one or two double bytes. UTF-32 is a character serialization with a fixed length of four bytes. 2. See the Ideographic Variation Database http://unicode.org/reports/tr37/ as an application of these selectors. 3. See http://www.linguistics.berkeley.edu/sei/ for further information. 4. See http://www.tei-c.org/release/doc/tei-p5-doc/html/WD.html for further information. 5. There is no means in XML for validating that this attribute contains RFC 3066 compliant values. However, many applications built on top of XML rely on these values and execute the necessary processing. 6. Currently, a successor of RFC 4646 is under preparation, see http://tools.ietf.org/html/draft-ietfltru-4646bis for further information. 7. Since the XML specification defines language values in terms of RFC 3066 or its successor, RFC 4646 values are also covered by xml:lang. 8. See http://www.sil.org/iso639-3/ for further information. 9. A draft document can be found at http://www.w3.org/International/core/langtags/
References Aliprand, J., Allen, J., et al., editors (2005). The Unicode Standard. Version 4.0. Addison-Wesley, Boston. Alvestrand, H. (2001). Tags for the Identification of Languages. Technical report, IETF. http://www.ietf.org/rfc/rfc3066.txt. Berglund, A., Boag, S., et al. (2005). XML Path Language (XPath) 2.0. W3C Canidate Recommendation. Technical report, W3C. http://www.w3.org/TR/xpath20/. Biron, P. V. and Malhotra, A. (2004). XML Schema Part 2: Datatypes Second Edition. W3C Recommendation. Technical report, W3C. http://www.w3.org/TR/xmlschema-2/. Boag, S., Chamberlin, D., et al. (2005). XQuery 1.0: An XML Query Language. W3C Candidate Recommendation. Technical report, W3C. http://www.w3.org/TR/xquery/.
80
F. Sasaki
Davis, M. (2005). The Bidirectional Algorithm. Unicode Standard Annex #9. Technical report, Unicode Consortium. http://www.unicode.org/reports/tr9/. D¨urst, M. and Freytag, A. (2003). Unicode in XML and other Markup Languages. Technical report, W3C and Unicode Consortium. http://www.w3.org/TR/unicode-xml/. Emerson, T. (2006). Large Corpus Construction for Chinese Lexicon Development. In Proceedings of the 29th Internationalization and Unicode Conference, San Francisco. Ishida, R. and Miller, S. (2006). Localization vs. Internationalization. Article of the W3C i18n Activity. http://www.w3.org/International/questions/qa-i18n. Lieske, C. and F. Sasaki (2007). Internationalization Tag Set (ITS) 1.0. W3C Recommendation. Technical report, W3C. http://www.w3.org/TR/its/. Phillips, A. (2006). Internationalization: An Introduction. In Proceedings of the 29th Internationalization and Unicode Conference, San Francisco. Phillips, A. and Davis, M. (2006a). Matching of Language Tags. Technical report, IETF. http://www.ietf.org/rfc/rfc4647.txt. Phillips, A. and Davis, M. (2006b). Tags for Identifying Languages. Technical report, IETF. http://www.ietf.org/rfc/rfc4647.txt. Phillips, A. and Davis, M. (2006c). Tags for Identifying Languages. Technical report, IETF. http://www.ietf.org/rfc/rfc4646.txt. Raggett, D., Hors, A. Le, and Jacobs, I. (1999). HTML 4.01 Specification. W3C Recommendation. Technical report, W3C. http://www.w3.org/TR/html401. Sasaki, F. (2005). Internationalization is everywhere. ACM Ubiquity, 6. http://www.acm.org/ubiquity/issues6.html. Savourel, Y. (2005). TMX 1.4b Specification. Technical report, Localisation Industry Standards Association (LISA). TMX 1.4b Specification. Savourel, Y. and Reid, J. (2003). XLIFF 1.1 Specification. Technical report, OASIS. http://www.oasis-open.org/committees/xliff/documents/ xliff-specification.htm. Sawicki, M., Suignard, M., et al. (2001). Ruby Annotation. W3C Recommendation. Technical report, W3C. http://www.w3.org/TR/ruby/. Senellart, P. and Senellart, J. (2005). SYSTRAN Translation Stylesheets: Machine Translation driven by XSLT. In Proceedings of XML Conference 2005, Atlanta. Simons, G. and Bird, S. (2003). OLAC Metadata. Technical report, SIL International and others. http://www.language-archives.org/OLAC/metadata.html. Simons, G. F., Lewis, W. D., et al. (2004). The Semantics of Markup: Mapping Legacy Markup Schemas to a Common Semantics. In Proceedings of Coling 2004, Geneva. Wahlster, W., editor (2000). Verbmobil: Foundations of Speech-to-Speech Translation. Springer, Berlin. Wittenburg, P., Broeder, D., and Sloman, B. (2000). EAGLES/ISLE: A Proposal for a Meta Description Standard for Language Resources. In Proceedings of LREC 2000, Athens. Yergeau, F., D¨urst, M., et al. (2005). Character Model for the World Wide Web 1.0: Normalization. W3C Working Draft. Technical report, W3C. http://www.w3.org/TR/charmod-norm/.
Chapter 5
Identifying Logical Structure and Content Structure in Loosely-Structured Documents Manfred Stede and Arthit Suriyawongkul
Abstract Text documents are structured on (at least) two separate levels: The “logical” structure is largely reflected in the layout (headlines, paragraphs, etc.), and the “content” structure specifies the functional zones that serve a part of the text’s overall communicative purpose. The latter is clearly genre-specific, whereas the former is independent of the particular text genre. In this chapter, we describe an approach to identifying both structural levels automatically. For content structure, we focus on the genre “film review”: Based on a corpus study, we propose an inventory of zone labels, and describe our method for identifying these zones, using a hybrid approach that makes use of both symbolic rules and statistical (bag-of-words) classification. Keywords Document structure · Genre-specific content structure · Discourse parsing
5.1 Introduction A basic problem for many text-technological applications is analyzing the structure of text documents: What are the individual portions of the text, how do they relate to one another, and how do they collectively form a coherent and, in some sense, complete document? It is useful to split this task in two parts, the analysis of the “logical” structure, and that of the “content” structure. Logical structure captures the (possibly partial) hierarchy of (sub-) divisions of the document as it is reflected in the layout; it can be derived by surface-oriented methods without knowledge of the domain or the text genre.1 Content structure, on the other hand, is much more difficult to grasp. Human readers can employ their domain and world knowledge for assessing the function of the sequence of text portions, but the machine cannot. Thus, the challenging question is: To what extent can content structure, too, be M. Stede (B) Universit¨at Potsdam, Potsdam, Germany e-mail:
[email protected] The work reported in this chapter originated when one of the authors (A. Suriyawongkul) was a researcher at Potsdam University.
A. Witt, D. Metzing (eds.), Linguistic Modeling of Information and Markup Languages, Text, Speech and Language Technology 40, C Springer Science+Business Media B.V. 2010 DOI 10.1007/978-90-481-3331-4 5,
81
82
M. Stede and A. Suriyawongkul
analyzed by surface-oriented methods? In our work, we combine shallow analysis techniques with pre-stored knowledge about text genres in order to hypothesize the content structure of texts. The genre knowledge specifies the typical shape (to be clarified in Section 5.5) of documents belonging to the same genre, which can be matched against a document instance with the help of shallow analysis. While classification of complete texts has been an active area of research for a long time, uncovering the internal structure has only been pursued by a few approaches, concentrating on the genre of scientific papers (Teufel and Moens 2002, Langer et al. 2004). For such documents, the interesting challenge is to exploit the rigid hierarchical structure in assigning content labels to segments (e.g., introduction, experiment, evaluation, conclusion, references, etc.). In contrast, our goal is to explore methods for dealing with text of less hierarchical, looser and more varied structure. In this paper, we consider the case of film reviews. As we shall see, such texts have certain elements in common, but there is a lot of variation with respect to optional elements and the overall ordering within the text. We propose a hybrid approach of rule-based and statistical methods to uncover the content structure of such reviews, which are taken from online newspapers and other web sites. Our work is situated in the context of a text summarization project, which we briefly describe in the following section. Afterwards, we describe our corpus of film reviews and give some observations on text structures encountered there. We then turn to our specific analysis framework, split into analysis of logical structure (Section 5.4) and of content structure (Section 5.5), which involves representational issues and the procedure for content analysis.
5.2 Framework: Text Summarization in SUMMAR The prevalent approach to text summarization is that of sentence extraction: Based on statistical calculations of sentence relevance, the n highest-ranked sentences are taken out of the text and collectively constitute the summary, with n being dependent on the desired compression rate. Sentence relevance is usually determined by counting the number of relevant terms (either word forms, word stems, or character n-grams), whose relevance in turn derives from their relative frequency in the text as compared to a reference corpus: Those terms that occur more often than expected in the text are supposed to be indicative of the text’s topic, and thus the sentences containing these words are deemed most relevant. Notice that these terms are always content words, because the ubiquitous function words will be sorted out automatically, since they will usually be equally frequent in the reference corpus. Additional factors for sentence relevance that can be added to the calculation are the sentence’s position in the text and the presence of particular cue words indicating “importance”. There are several well-known problems with these purely statistical, surfaceoriented approaches to text summarization. For one thing, the sentence relevance calculation schema invites redundancy in the summary: When a relevant sentence is repeated more or less identically later in the text, the second version will by definition also be extracted. Conversely, “important” sentences are not always
5 Logical Structure and Content Structure
83
recognizable by topic-indicating content words, viz. the second sentence in “Smith and Wilson proposed a new algorithm for the travelling salesman problem. Unfortunately it does not work.” Finally, text extracts are in danger of lacking both cohesion and coherence. As for cohesion, a sentence in the extract might contain some anaphoric devices (pronoun, connective, comparative, etc.), but the portion of the original text that contains the antecedent expression might not be part of the extract. Coherence, on the other hand, is lacking when the contents of the sentences in the extracted sequence do not sufficiently related to one another – this can happen easily, even if all sentences contain terms indicating the text’s overall topic. To some extent, all these problems can be tackled with additional surfaceoriented methods. One can try to detect redundancy by computing term similarity between sentences (including measures such as WordNet path distance). Important sentences lacking topic-indicating content words can possibly be determined by a more sophisticated version of the cue word method, extended by genre-specific terms; in our example given above, this seems rather difficult, though. The cohesion problem is sometimes fought by simply removing sentences from the extract when they contain one of the aforementioned anaphoric devices. Finally, the coherence of adjacent sentences might be measured by calculations akin to the sentence similarity scores mentioned above – a sentence following another should not repeat the same information but attach to the contents of the predecessor, for instance by holding one or more (but probably not all) discourse referents constant. Not surprisingly, such measures can help in certain cases but on the whole are not able to lead to “good” summaries. The opposite end of the methodological spectrum is knowledge-intensive, deep analysis of sentence and text meaning. It has been explored in the 1980s for instance in the TOPIC project (Hahn and Reimer 1986), which on the basis of a domain knowledge base constructed frame-based semantic representations for sentences and their combinations, i.e. for texts; a set of condensation rules would then operate on the complex text representation and reduce it to a kernel representation, which the user could browse interactively. As with other AI-inspired approaches of the time, the basic problems were brittleness and lack of scalability: As soon as the text leaves the domain concepts that have been coded in the knowledge base, the whole procedure essentially breaks down. This, of course, was a main reason for the rise of the robust, statistical, surface-oriented methods in language processing. The goal of the SUMM A R project at Potsdam University is to extend the surfaceoriented methods towards linguistic methods, but without sacrificing robustness and domain-independence. Accordingly, we do not aim at deep-semantic analyses of text content. Instead, we try to supplement the statistical sentence relevance calculations on the one hand with robust syntactic parsing and subsequent coreference analysis, and on the other hand with knowledge about the genre, which informs the summarizer about probable locations of “important” sentences and of genre-specific cues indicating relevant sentences. The idea is that genre knowledge is independent of the content domain – for instance, a review article will have a range of characteristic features regardless of what is being reviewed, and likewise a user instruction manual is characterized by certain layout and linguistic conventions that are independent of the technical device under discussion.
84
M. Stede and A. Suriyawongkul
Knowledge of genres can itself be organized in a hierarchical way, since, e.g., different classes of reviews in turn share certain features: Literature and film reviews can be distinguished from reviews of technical products; at the same time, reviews in newspapers differ in several respects from reviews published on websites.2 For the purposes of this paper, however, we focus on one individual genre: reviews of films. The goal here is to make the summarizer sensitive to the functions that the various portions of the text fulfill.3 A film review typically provides a description of the story, evaluates various aspects of the film, provides an overall judgement, and gives some “technical” data (cast, credits, MPAA rating, etc.). A good summary should not lump these different kinds of information arbitrarily together but keep them as distinct as they are in the original text. Furthermore, the summary should (possibly depending on the user’s desires) contain pieces from all these content zones. To put it another way: Suppose statistical sentence relevance calculation incidentally leads to an extract that contains only sentences describing the story, but no author’s opinion; in this case, clearly something went wrong.
5.3 Defining the Tagset: Corpus Study A thorough analysis of the genre film review was undertaken by Stegert (1993). He broadly distinguishes between formal and functional elements of reviews, with the former being “constituents” whose presence is characteristic for the genre, and the latter making contributions to the communicative goals of the author. Stegert provides a particularly detailed classification of the functional elements, which he breaks down to the level of individual speech acts. Here are examples from the five groups he distinguishes: • • • • •
Inform: list, report, present, . . . Illustrate: give-example, describe, narrate, . . . Orientate: compare, categorize, explain, . . . Argue: claim, deny, prove, . . . Evaluate: criticize, recommend, defend, . . .
For our purposes, we are interested in the functions of paragraph-size units of text, and thus the speech-act based classification appears too fine-grained. At the same time, Stegert’s list of the formal elements does not include a few elements that we noticed on film reviews on websites. We therefore opted for a data-oriented approach and developed our own tagset “bottom-up” from studying sample texts and selecting tags to cover the phenomena encountered; later, we made a few changes to the set in accordance with Stegert’s terminology. Several websites nowadays provide a collection of links to film reviews coming from general newspapers or from other websites dedicated to the genre, such as the Internet Movie Database.4 For our corpus study, we started from the Movie Review Query Engine5 to select 45 reviews of 20 different films from 10 different sources (a mixture of online newspapers such as The New York Times and The Washington
5 Logical Structure and Content Structure
85
Post, and various websites such as the BBC film pages). See Fig. 5.1 for a sample text.6 Later, we added 100 reviews in German to our corpus and verified that they can also be adequately covered by our tagset. The goal of the corpus study was to discern the composition of the reviews in terms of their content “zones”, similar to the analyses of the argumentation in scientific papers in the SEMDOK project (Langer et al. 2004), which in turn builds on earlier work by Teufel and Moens (2002). To this end, all reviews were converted to plain text files, with paragraph breaks mirroring a break in the original layout structure. One of the important decisions to be made in devising the tagset is the granularity: Assume, for example, one author spending a paragraph assessing the particular foreign accent of the lead actor. Should one then introduce a tag “comment-accentleadactor”, or subsume it under a general “comment”? Halfway between these extremes, we decided to introduce a specific tag only if it was applicable several times in the corpus, and otherwise use a generic tag like “comment-specific” (author assesses any specific aspect that is not included in the tagset) – to be distinguished from “comment-general” (author assesses the film on the whole) and “commentoverall” (author sums up his judgement). Following Stegert, we split the tagset in two groups for formal and functional tags, as shown in Fig. 5.2: Formal zones have to be provided by the author so that the document agrees with the conventions (of the publication and/or of the genre) – they cannot be controlled by her or him. The one tag that seems ambivalent with respect to the groups is “lead”: The short lead text that often introduces
Fig. 5.1 Excerpt from webpage of our film review corpus
86
M. Stede and A. Suriyawongkul
I.Formal units audience - restriction author author + place author + rating cast country + year credits date
director format genre language legal - notice note rating runtime
comment - actors + roles comment - c h a r a c t e r comment - director comment - general comment - overall comment - specific
comment - story comment - t e c h n o l o g y
show_loc_date tagline title DATA structure src
II.Functional units
interpretation lead quote
describe - b a c k g r o u n d describe - c h a r a c t e r describe - content describe - story describe + comment - story
Fig. 5.2 Tagset for film reviews
a review (especially those from the newspaper sites) may well contain evaluative phrasings that already contribute to the author’s intentions; at the same time, the lead is clearly bound to a fixed position in the document and has quite strict length regulations, so that we include it in the “formal” group. On the “functional” side, our corpus demonstrates a fairly clean separation of “description” and “comment” zones – authors mix these two functions only rarely; our annotators assigned the tag “describe+comment-story” to just 2% of the 560 zones in the English corpus (compare to 23% for all description zones and 39% for all comment zones). Since we chose to annotate only full paragraphs and not break them up (because paragraphs are the units we eventually want to tag automatically – see Section 5.5), we occasionally need tags for combinations of zones, such as “title+author”. Furthermore, for the cases where a multitude of different formal zones are combined in the same paragraph, we use the – rather uninformative – “DATA” tag; it appears in upper case letters to distinguish it as a non-standard tag. Each tag has been documented briefly, and the resulting annotation guidelines were used by annotators during the final phase of revisions; the guidelines have not yet been formally evaluated for inter-annotator agreement. For illustration, the beginning of the annotated text for the Draughtsman’s Contract review (from Fig. 5.1) is shown in Fig. 5.3. Reflecting on the role of such genre-specific tagsets and their relationship to other endeavours (which ultimately should turn into a standardization process, cf. Sasaki (this volume)), we would suggest that the formal units (cf. Fig. 5.2) indeed are highly specific to the particular genre, as they serve, in Stegert’s terms, to “constitute” that particular genre. This corresponds to the MEDLINE-specific tagset used by Kim et al. (this volume). Our functional tags, on the other hand, can be expected to relate to tag sets for other genres belonging to the type “review”; here, a hierarchical organisation of tag sets should be possible in correspondence to a hierarchy of
5 Logical Structure and Content Structure
87
< title > The Draughtsman ’ s Contract < author > by James M a c k e n z i e James M a c k e n z i e is c u r r e n t l y f i n i s h i n g a Bachelor of Arts at Adelaide University , majoring in p h i l o s o p h y. < title + data > The Draughtman ’ s Contract (1982 UK 108 mins ) < data > Source : CAC / NLA Prod Co : BFI / Channel 4 Prod : David Payne Dir , Scr : Peter G r e e n a w a y Ph : Curtis Clark Ed : John Wilson Art Dir : Bob Ringw ood Mus : Michael Nyman < cast > Cast : Anthony Higgins , Janet Suzman , Anne Louise Lambert , H ugh Fraser , Suzanne Crowley , Neil C u n n i n g h a m < describe - background > In 1981 , Peter G r e e n a w a y spent a warm summer drawing his hous e on the Welsh Border . So that the house was in the same light every time he sk etched it , eight set views were drawn at eight set times of the [...] < describe - content > Like all of Greenaway ’ s work , The Draughtsman ’ s Contract a d d r e s s e s issues of r e p r e s e n t a t i o n: between mediums ( drawn and p h o t o g r a p h i c r e p r e s e n t a t i o n) ; between art and nature ( the i n b r e e d i n g between [...] [...]
Fig. 5.3 Portion of annotated text from our corpus
genres, as we had suggested at the end of Section 5.2. A recent initiative for defining a tag set more generally pertaining to “review” is the hReview microformat.7
5.4 Deriving Logical Document Structure Turning now to the task of automatically identifying the document structure, we begin with the logical structure, i.e., with the mapping between layout and an XML representation of distinguishable units, which for convenience we abbreviate here as ldoc.
5.4.1 The ldoc Schema The logical structure of a document has been characterized by Summers 1998 as “a hierarchy of visually observable organizational components of a document, such as paragraphs, lists, sections, etc.” It is independent of the particular domain and of content and in the case of web pages can to a good extent be derived from the
88
M. Stede and A. Suriyawongkul
HTML markup. In the SUMM A R project, we process documents of various types (XML, HTML, plain text) and therefore have defined a pre-processing step that maps all input formats first to our ldoc format, which is thus the only format that the summarization engine needs to know. Since sophisticated HTML conversion, worrying about tables, images, etc., is not a goal of the project, a main objective in the design of the ldoc XML representation was simplicity. We borrowed tags from XHTML8 and ideas from Cascading Style Sheets (CSS),9 and simplified them into our small set of tags and attributes (the tags are from XHTML and the attributes are mostly from CSS) that are sufficient to describe the types of documents used in SUMM A R (inter alia, the film reviews we discuss in this paper). An ldoc document consists mainly of div and span, for text blocks and inline text regions, respectively, along with their attributes for additional information (like division type or font face). For the document head (metadata), tags are borrowed or inspired from Dublin Core10 and TEI:11 Information such as document source, language, encoding, and publication information is stored in this part. The ldoc schema (which at present is still open to further extensions) is formulated in RELAX NG Compact Syntax,12 which is a schema definition language comparable to conventional DTD. An excerpt from our schema definition is given in Fig. 5.4. d a t a t y p e s xsd = " http :// www . w3 . org /2001/ XMLSchema - d a t a t y p e s" start = Ldoc Ldoc = element ldoc { Id . attrib , Head , Body } Body = element body { Div * } Inline = ( text | Span ) * Div = element div { Id . attrib , Lang . attrib , a t t r i b u t e t e x t I n d e n t { xsd : integer }? , a t t r i b u t e type { " division " | " p a r a g r a p h" | " heading " | " list " | " l i s t i t e m" } , ( Inline | Div ) + } Span = element span { Id . attrib ? , Lang . attrib ? , Style . attrib , Inline } Id . attrib = a t t r i b u t e id { xsd : ID } Lang . attrib = a t t r i b u t e lang { xsd : language } Style . attrib = ( a t t r i b u t e face { xsd : string }? , a t t r i b u t e style { " normal " | " italic " }? , a t t r i b u t e variant { " normal " |"small - caps " }? , a t t r i b u t e weight { " normal " |" bold " |" lighter " }? , a t t r i b u t e size { " small "|" medium " |" large " }? , a t t r i b u t e u n d e r l i n e { xsd : boolean }? , a t t r i b u t e l i n e T h r o u g h { xsd : boolean }? )
Fig. 5.4 Portion of our ldoc schema in RELAX NG compact syntax
5 Logical Structure and Content Structure
89
5.4.2 Layout Identification Procedure As mentioned above, we produce ldoc from documents in different kinds of XML formats, in plain text, and to some extent in HTML. The latter are processed with help from HTML Tidy,13 a tool that produces well-formed XHTML from possiblymalformed HTML. The current implementation of our logical structure extractor is written in Python, with optional assistance from an XSL transformation engine for XML inputs. Along with the layout structure, the extractor also tries to extract metadata of the document. For plain text documents, the only layout information is the use of spacing, vertically and horizontally, and some creative typography like surrounding words with asterisks for **emphasis**. A central task is the interpretation of CR/LF, which might or might not represent a paragraph boundary. As a heuristic, beforehand we determine the longest line in the document and from its length guess whether subsequent lines of equal length in the document are likely to be intended as one continuous paragraph or not. Here are some example mapping rules from the program: Paragraph: If lines are very long, they are regarded as a single paragraph (div), and a linebreak as a paragraph boundary. Otherwise, adjacent lines are grouped into one paragraph, and paragraph boundaries are recognized from double linebreaks (i.e. blank lines). Heading: If a line consists of capital letters only, or begins with indicative numerals, and if the last character is not a punctuation sign (other than “?” and “!”), it is taken to be a heading. If a paragraph boundary has been identified as a linebreak, a heading boundary is preceded by two linebreaks and followed by one. Heading: A line followed by a line of same length, consisting of “-” or “=”, is interpreted as a heading. Emphasis: A character sequence surrounded by asterisks (with no intervening blanks) is mapped to italic; one surrounded by “ ” is mapped to underline. For “familiar” XML documents, we use a library of XSL sheets and have the transformation engine extract all layout structure as well as the metadata from the document. In the case of “unfamiliar” XML and HTML documents, heuristics are used for extracting a generic ldoc by selectively inspecting a set of elements and attributes. Some examples are given below. The result ldoc representation for our sample text is shown in Fig. 5.5. Title: title element or element with class attribute = “title” Heading: h1, h2, h3, h4, h5, h6, header, heading element or class attribute = “head”, “subhead” Heading: short line that is completely in emphasis
90
M. Stede and A. Suriyawongkul