Ergebnisse des Workshops

Annotationsstandard für TUSNELDA

23.-25. November 1999

   

Veranstalter: Laura Kallmeyer, Andreas Wagner
Teilnehmer: Michael Betsch, Bernhard Brehmer, Hervé Dejean, Sam Featherston, Gabriela Fulir, Stefanie Herrmann, Sandra Kübler, Lothar Lemnitzer, Jürgen Mellinger, Detmar Meurers, Frank Henrik Müller, Reimar Müller, Slavica Stevanovic, Tylman Ule

0. Einführung
1. Allgemeines zur Annotation des gesamten Korpus
1.1 Das Element tusneldaCorpus
1.2 Metasprache
1.3 Aufwärtskompatibilität
2. DTD des Headers: Das Element tusneldaHeader
2.1 File Description
2.1.1 Title Statement
2.1.2 Edition Statement
2.1.3 Extent Statement
2.1.4 Publication Statement
2.1.5 Source Description
2.2 Encoding Description
2.2.1 Project Description und Sampling Description
2.2.2 Editorial Declaration
2.2.3 Tags Declaration
2.3 Profile Description
2.3.1 Language Usage
2.3.2 Writing System
2.3.3 Textklassifikation
2.3.4 Annotationen in einer separaten Datei
2.4 Revision Description
3. DTD der Texte: Das Element tusneldaDoc
3.1 Elemente auf Paragraphenebene
3.1.1 Geschriebene Paragraphen
3.1.2 Zitate
3.1.3 Listen
3.1.4 Anmerkungen
3.1.5 Gedichte
3.1.6 Bilder
3.1.7 Tabellen
3.1.8 Caption
3.1.9 Gesprochener Text
3.2 Sätze und Zitate innerhalb von Paragraphen
3.3 Elemente auf Phrasenebene
3.3.1 Editorische Eingriffe
3.3.2 Hervorhebungen durch Layoutmerkmale
3.3.3 Sprachliche Hervorhebungen
3.3.4 Linguistische Daten
3.3.5 Maßangaben
3.4 Allgemeines zur Annotation von Texten
3.4.1 Referenzsystem
3.4.2 Kodieren von Namen
3.4.3 Behandlung von Satzzeichen
4. TUSNELDA DTDs
4.1 tusneldaHeader.elt
4.2 tusneldaDoc.dtd

0. Einführung

Der Workshop "Annotationsstandard für TUSNELDA" wurde veranstaltet mit dem Ziel, einen gemeinsamen Annotationsstandard für die im SFB 441 gesammelten und aufbereiteten Korpora zu entwickeln. Diese Korpora sollen in die Korpussammlung TUSNELDA (Tübinger Sammlung nutzbarer empirischer linguistischer Datenstrukturen) integriert werden.

Ein Standard für TUSNELDA ist notwendig, damit zum einen die Vergleichbarkeit der Teilkorpora im SFB gegeben ist. Zum anderen soll durch die Standardisierung die Wiederverwendbarkeit der Korpora unter Benutzung einheitlicher Tools gewährleistet werden. Gleichzeitig soll der Standard so flexibel gestaltet werden, dass die unterschiedlichen Bedürfnisse der einzelnen Projekte im SFB 441 berücksichtigt sind.

Bei der Erarbeitung des Standards für TUSNELDA wurde ausgegangen von dem von EAGLES (Expert Advisory Group on Language Engineering Standards) entwickelten Corpus Encoding Standard (CES). Ziel des Workshops war, zu überlegen, wieweit dieser Standard für den SFB modifiziert bzw. erweitert werden muss.

1. Allgemeines zur Annotation des gesamten Korpus

1.1 Das Element tusneldaCorpus

Das oberste Element in der CES DTD ist das gesamte Korpus, das aus einem Header gefolgt von entweder einer Folge von Texten oder einer Folge von Teilkorpora besteht. Dieses Element wird im Prinzip übernommen, die Namen ces... werden allerdings in tusnelda... umbenannt.

<!ELEMENT tusneldaCorpus  - -  (tusneldaHeader, (tusneldaDoc+ | tusneldaCorpus+)) >
<!ATTLIST tusneldaCorpus       %a.global;
             type                 CDATA     #IMPLIED
             version              CDATA     #REQUIRED
             TEIform              CDATA     'teiCorpus.2'   >
Aus organisatorischen Gründen soll TUSNELDA in Teilkorpora untergliedert werden, die jeweils die Korpora umfassen, die von dem selben Projekt aufgebaut bzw. annotiert werden. Eventuell kann zu einem späteren Zeitpunkt eine weitere Gliederungsebene eingeführt werden, die Teilkorpora einer Sprachfamilie zusammenfasst. Für das Attribut type, das Teilkorpora nach Sprache, Genre etc. typisiert, sollen evtl. zu einem späteren Zeitpunkt Empfehlungen für bestimmmte Werte vereinbart werden. Ob das Attribut TEIform auch in TUSNELDA sinnvoll ist, muss noch entschieden werden. Zunächst wird es beibehalten.

1.2 Metasprache

An mehreren Stellen in einem Korpus sind natürlichsprachliche Erläuterungen verlangt. Z.B. sollte innerhalb der Encoding Description eine Projektbeschreibung stehen und eine Beschreibung des Vorgehens beim Sampling. Diese Texte können im Prinzip in jeder beliebigen Sprache verfasst werden, und das soll für TUSNELDA auch nicht eingeschränkt werden. Es wird jedoch empfohlen, bei der Wahl der Sprache den möglichen Benutzer im Auge zu haben.

Neben dem beliebig ausführlichen Text in einer frei wählbaren Sprache ist eine englische Kurzfassung wünschenswert.

1.3 Aufwärtskompatibilität

Bei Modifikationen der für TUSNELDA verwendeten DTDs ist darauf zu achten, dass Texte und Korpora, die gemäß einer älteren Version einer DTD annotiert wurden, auch durch die neue Version sanktioniert werden.

2. DTD des Headers: Das Element tusneldaHeader

Das Attribut creator von <tusneldaHeader> gibt an, wer für die Erstellung des Headers verantwortlich ist. Im Rahmen von TUSNELDA ist dies in der Regel SFB 441, und meistens wird zusätzlich das jeweilige Projekt angegeben.
Da die Information darüber, wann ein Header entstanden ist und wann er zuletzt aktualisiert wurde, sehr wesentlich ist, sollen die Attribute date.created und date.updated von <tusneldaHeader> obligatorisch sein.
Das Attribut version wird beibehalten.
Das Attribut status wird weggelassen, da die Information mit date.created und date.updated in jedem Fall vorhanden ist.

<!ELEMENT tusneldaHeader   - -  (fileDesc, encodingDesc?, 
                                profileDesc, revisionDesc?) >
<!ATTLIST tusneldaHeader        %a.header;
          type                  CDATA               text
          creator               CDATA               #IMPLIED
          date.created          CDATA               #REQUIRED
          date.updated          CDATA               #REQUIRED
          version               CDATA               #REQUIRED      
          TEIform               CDATA               'teiHeader' >

2.1 File Description

2.1.1 Title Statement

Das Element <respStmt> soll nur einmal vorkommen in einem <titleStmt>, da innerhalb von <respStmt> mehrere Paare von <respType> und <respName> vorkommen können und ein einziges <respStmt> somit ausreicht. Im Gegensatz zur CES DTD soll <respStmt> allerdings obligatorisch sein. Dementsprechend wird die Definition des Elementes <titleStmt> geändert:

<!ELEMENT titleStmt  - -  (h.title, restpStmt)        >
Elemente von <titleStmt>:
<h.title>
Titel des gesamten Korpus: TUSNELDA,
Titel eines elektr. Textes in TUSNELDA: Originaltitel - TUSNELDA electronic version

<respStmt>
Die Reihenfolge der Elemente <respType> und <respName> sollte einheitlich festgelegt sein, und es scheint sinnvoll, zu jedem <respName> auch einen <respType> anzugeben. Daher wird das Element <respStmt> definiert als

<!ELEMENT respStmt  - -  ((respType, respName)+)      >
Empfohlene Inhalte von <respType> sind Project, Annotation, Correction.
Beispiel für Paare von <respType> und <respName>:

          <respType>Project</respType>
          <respName>C1 (Marga Reis)</respName>
          <respType>Annotation (POS-Tagging)</respType>
          <respName>Student A</respName>
          <respType>Correction</respType>
          <respName>Student B</respName>
            

2.1.2 Edition Statement

Das Element <editionStmt> sollte obigatorisch sein. Da die wichtige Information in den Attributen von <editionStmt> (insbesondere im Attribut version) steht und der Inhalt von <editionStmt> nicht relevant ist, soll <editionStmt> leer sein. Dies bedeutet, dass das Endtag überflüssig wird. Daher werden die Elementdefinitionen für <fileDesc> und <editionStmt> abgeändert zu

<!ELEMENT fileDesc        - -   (titleStmt, editionStmt, 
                                    extent?, publicationStmt, sourceDesc+) >

<!ELEMENT editionStmt     - o   (EMPTY) >
Die CES Empfehlungen können hier übernommen werden.

2.1.3 Extent Statement

Das Element <extent> ist erweitert worden. Neben <wordCount> und <byteCount> sind neue Elemente <tokenCount> und <characterCount> hinzugekommen. Die neuen Elemente <tokenCount> und <characterCount> sind so definiert wie <wordCount>. Neue Definition von <extent> und Definitionen von <tokenCount> und <characterCount>:

<!ELEMENT extent          - -   (wordCount, tokenCount, characterCount?, 
                                    byteCount, extNote*) >
<!ATTLIST extent                %a.header; >

<!ELEMENT tokenCount      - -   (#PCDATA) >
<!ATTLIST tokenCount            %a.header; >

<!ELEMENT characterCount  - -   (#PCDATA) >
<!ATTLIST characterCount        %a.header; >
Die Inhalte der einzelnen Elemente sollen wie folgt aussehen:
<wordCount>
Anzahl der linguistischen Wörter ohne Satzzeichen

<tokenCount>
Anzahl der Korpuspositionen, d.h. <wordCount> + Anzahl der Satzzeichen

<characterCount>
Anzahl der Zeichen, bezogen auf alles, was bei tokenCount mitgezählt wird. Dabei sollen Character Entities als ein Zeichen gezählt werden, und andere Entities werden vor dem Zählen aufgelöst, d.h. hier wird das gezählt, wofür das Entity steht.

<byteCount>
Angabe der Dateigröße

<extNote>
Hier sollte auf jeden Fall eine Kennzeichnung von Satzzeichen vermerkt sein, d.h. eine Angabe darüber, was als Satzzeichen behandelt und damit nur bei <tokenCount>, nicht aber bei <wordCount> mitgezählt wurde.

2.1.4 Publication Statement

Als Element <distributor> wird bei uns in der Regel SFB 441 eingesetzt werden.
Die Identifikationsnummer <idno> wird im SFB vermutlich eine ISBN Nummer sein. Wie sie aussieht und woher man sie bekommt, muss noch ermittelt werden.
Element <availability>: Als Werte für das Attribut region wird vorgeschlagen:
WORLD*
EU
Universität Tübingen
SFB 441
Unter Umständen wird <availability> mehrfach gebraucht, z.B. um zwischen Verfügbarkeit innerhalb des SFB, innerhalb der Uni und weltweit zu unterscheiden. Dementsprechend wird die Definition von <publicationStmt> geändert.

<!ELEMENT publicationStmt - -  (distributor, pubAddress,
                               telephone*, fax*, 
                               eAddress*, idno*,
                               availability+, pubDate ) >

2.1.5 Source Description

Das Element <sourceDesc> mit den Elementen <biblStruct> und <biblFull> wird unverändert übernommen mit der Empfehlung, bei elektronischen Ursprungstexten in der Rekursion in <biblFull> wenn möglich eine Stufe tiefer zu gehen, d.h. ein weiteres Element <sourceDesc> für die elektronische Quelle einzufügen.

Das Element <biblStruct> soll gegenüber der CES DTD modifiziert werden:

<biblStruct>
Um die Entstehungszeit von z. B. diachronen Texten codieren zu können, wird in den Elementen <analytic> und <monograph> ein neues Element <creationDate> eingeführt. Dieses ist zu unterscheiden vom Element <pubDate> (unter <imprint>), welches das Publikationsdatum eines Textes bzw. einer Sammlung von Texten angibt. (Wenn z.B. eine Sammlung von mittelhochdeutschen Texten in diesem Jahrhundert publiziert wurde, sind <creationDate> und <pubDate> verschieden.) Da bei historischen Texten das Entstehungsjahr oft nicht eindeutig bestimmt werden kann, ist hier auch die Angabe eines Zeitraums erlaubt. Hierfür hat <creationDate> die obligatorischen Attribute earliest und latest, in der das früheste bzw. späteste mögliche Entstehungsjahr angegeben werden.

<!ELEMENT analytic      - -  (h.author | respStmt |
                             h.title | creationDate)*           >
<!ATTLIST analytic           %a.header;                         >

<!ELEMENT monogr        - -  (h.title+,
                             (h.author | respStmt)*,
                             (edition, respStmt?)*, 
                             imprint+, idno*,
                             (biblNote | biblScope)*, 
                             creationDate)                      >
<!ATTLIST monogr             %a.header;                         >


<!ELEMENT creationDate       - -  (#PCDATA)                     >
<!ATTLIST creationDate            %a.header;
          earliest           CDATA               #REQUIRED
          latest             CDATA               #REQUIRED      >

2.2 Encoding Description

2.2.1 Project Description und Sampling Description

Das Element <encodingDesc> wird unverändert übernommen. Die <projectDesc> und <samplingDesc> können (s. Abschnitt Metasprache) im Prinzip in beliebiger Sprache verfasst werden, dabei sollte jedoch auf den mögichen Benutzer Rücksicht genommen werden und eine englische Kurzfassung ist wünschenswert.

Der Inhalt von <samplingDesc> soll im Header eines Korpus Auskunft über die Auswahl der Texte geben. Im Header eines Textes dagegen gibt er Auskunft über die Auswahl der Textausschnitte.

2.2.2 Editorial Declaration

Unterelemente von <editorialDecl>:

<correction>
Für TUSNELDA wurde vereinbart, bei Korrekturen immer das Original in einem Attribut zu behalten. Dies soll automatisch kontrolliert werden.
Dementsprechend wurde der Default-Wert des Attributs method auf tags gesetzt:

<!ATTLIST correction     %a.header;
                         %a.declarable;
          status         (high | medium | low | unknown)
                                                  unknown
          method         (silent | tags)          tags        >

<quotation>
wird unverändert übernommen

<hyphenation>
Das Element wird unverändert übernommen. Für TUSNELDA wird vereinbart, jede Änderung zu dokumentieren und das Original zu behalten. In <hyphenation> sollte die Methode beschrieben werden, die bei der Entfernung von Trennungen am Zeilenende angewendet wurde, möglichst unter Angabe des verwendeten Skripts.

<segmentation>
Die Angabe der bei der Segmentierung angewendeten Methoden sollte sorgfältig vorgenommen werden. Er wurde vereinbart, <segmentation> weiter zu strukturieren. Anstelle von #PCDATA sollte es eine beliebige Menge von Paaren enthalten, die jeweils ein Tag und eine Beschreibung der für dieses Tag bei der Segmentierung verwendeten Methode enthalten, gefolgt von einer segmentation Note:

<!ELEMENT segmentation  - -   ((tag, segmMethod)*, segmNote?) >
<!ATTLIST segmentation        %a.header;
                              %a.declarable;                  >

<!ELEMENT tag           - -   (#PCDATA)                       >
<!ATTLIST tag                 %a.header;                      >

<!ELEMENT segmMethod    - -   (#PCDATA)                       >
<!ATTLIST segmMethod          %a.header;                      >

<!ELEMENT segmNote      - -   (#PCDATA)                       >
<!ATTLIST segmNote            %a.header;                      >
<segmMethod> sollte auch Angaben über die jeweils verwendeten Skripte machen. Es wurde außerdem vereinbart, wenn möglich die Skripte zusammen mit TUSNELDA bzw. mit den einzelnen Teilkorpora von TUSNELDA zu distribuieren.

<transduction>
Auch hier sollten soweit möglich verwendete Skripte mit angegeben werden.

<normalization>
Für <normalization> gilt ebenso wie für <correction>, dass die ursprüngliche Form als Attribut beibehalten werden soll. Dies soll auch automatisch kontrolliert werden. Dementsprechend wird auch hier der Default für method auf tags gesetzt:

<!ATTLIST normalization      %a.header;
                             %a.declarable;
             source          CDATA                    #IMPLIED
             method          (silent | tags)          tags        >

<conformance>
Ob für TUSNELDA verschiedene Conformance Level sinnvoll sind, kann man zur Zeit noch nicht sagen. Die CES Level of conformance machen für TUSNELDA wohl keinen Sinn mehr, da die ursprüngliche cesDoc DTD nicht nur erweitert sondern auch verändert wurde.

Als ein für TUSNELDA angestrebter Level of conformance wurde zunächst nur vereinbart, dass für jede Publikationseinheit

  • bis auf Paragraphenebene annotiert sein sollte,
  • und für alle Tags, die überhaupt vorkommen, das Tagging auch durchgängig sein sollte.
Was als Publikationseinheit betrachtet werden soll, bestimmen die Einzelprojekte.

2.2.3 Tags Declaration

Im Header von TUSNELDA soll unter <tagsDecl> für jedes Tag, das in TUSNELDA verwendet wird, ein <tagUsage>-Element vorhanden sein, in dessen Content die Semantik dieses Tags spezifiziert wird. Damit soll gerährleistst werden, dass die einzelnen Tags in TUSNELDA eine einheitliche Semantik haben.

Sowohl in den Headern der einzelnen Texte als auch in den Headern von Teilkorpora sollen die jeweiligen Häufigkeiten der verwendeten Tags mit Hilfe des occurs-Attributs von <tagUsage> codiert sein.

2.2.4 Class Declaration

Eine Taxonomie zur Klassifikation der Texte in TUSNELDA wird zu einem späteren Zeitpunkt festgelegt werden.

2.3 Profile Description

Da TUSNELDA ein multilinguales Korpus ist, ist die Angabe der verwendeten Sprache(n) in allen Headern unverzichtbar. Deshalb soll das Element <profileDesc> sowie in diesem das Element <langUsage> obligatorisch sein. Das Element <creation> wird nicht benötigt; seine intendierte Verwendung ist unklar. Deshalb wird es gestrichen.


<!ELEMENT tusneldaHeader   - -  (fileDesc, encodingDesc?, 
                                profileDesc, revisionDesc?) >
<!ATTLIST tusneldaHeader        %a.header;
          type                  CDATA               text
          creator               CDATA               #IMPLIED
          date.created          CDATA               #REQUIRED
          date.updated          CDATA               #REQUIRED
          version               CDATA               #REQUIRED      
          TEIform               CDATA               'teiHeader' >

<!ELEMENT profileDesc   - -  (langUsage, wsdUsage?,
                             textClass?, translations?,
                             annotations?)                      >
<!ATTLIST profileDesc        %a.header;                      >

2.3.1 Language Usage

Möglicherweise erfassen die in ISO 639 bzw. ISO 639-2 standardisierten Abkürzungen nicht alle Sprachen / Dialekte, die in TUSNELDA vorkommen. Andererseits sind diese Standards weit verbreitet. Deshalb soll für das Element <language> das Attribut iso639 beibehalten werden. Zusätzlich soll ein weiteres Attribut ethnologue eingeführt werden, in dem die verwendete Sprache gemäß Ethnologue codiert werden kann. Dieser Standard ist wesentlich umfassender und differenzierter als der ISO-Standard. Feinheiten, die auch von Ethnologue nicht erfasst werden, können im Content von <language> oder im Attribut type beschrieben werden. Zum jetzigen Zeitpunkt sollen keine bestimmten Werte für type vorgeschrieben oder empfohlen werden.

<!ELEMENT language      - -  (#PCDATA)                         >
<!ATTLIST language            
          id                 ID                  #IMPLIED
          wsd                CDATA               #IMPLIED
          n                  CDATA               #IMPLIED     
          type               CDATA               #IMPLIED
          ethnologue         CDATA               #IMPLIED
          iso639             CDATA               #REQUIRED      >

2.3.2 Writing System

Das Element <wsdUsage> und seine Unterelemente werden unverändert übernommen.

2.3.3 Textklassifikation

Unterelemente von <classDecl>:

<catRef>
Bei diesem Element wird das Attribut scheme weggelassen, da alle Texte in TUSNELDA nach dem selben Klassifikationsschema kategorisiert werden sollen und damit die Spezifikation eines solchen Schemas an dieser Stelle unnötig und verwirrend wäre.

<h.keywords>
Zum jetzigen Zeitpunkt wird kein Inventar möglicher Schlüsselwörter festeglegt. Es ist fraglich, ob eine solche Festlegung überhaupt sinnvoll ist oder ob es nicht vielmehr von Vorteil ist, wenn neben einem normierten Textklassifikationsschema eine nicht restringierte, flexible Möglichkeit besteht, Texte zu kategorisieren.

2.3.4 Annotationen in einer separaten Datei

Die Empfehlungen für das Attribut type des Elements <annotation>, das die Art der Annotation spezifiziert, werden folgendermaßen modifiziert:
TOKEN Auszeichnung von Token
MORPHSYN morpho-syntaktische Informationen
SYNTAX syntaktische Informationen
SEGMENT Segmentierung in Sätze und Wörter
ALIGN Alignierungs-Links zu einer parallelen Übersetzung

2.4 Revision Description

Das Element <revisionDesc> und seine Unterelemente werden unverändert übernommen. Es wird angeregt, eine Versionskontrolle mit einem Werkzeug wie z. B. RCS durchzuführen. Dann könnten die Angaben in <revisionDesc> automatisch erzeugt werden.

3. DTD der Texte: Das Element tusneldaDoc

3.1 Elemente auf Paragraphenebene

3.1.1 Geschriebene Paragraphen

Das Element <p> wird unverändert übernommen.

3.1.2 Zitate

Nach der ursprünglichen ces.Doc DTD können innerhalb von Zitaten auf Paragraphenebene <quote> neben den Elementen aus %phrase.seq; nur geschriebene Paragraphen und Gedichte auftreten. Dies scheint jedoch zu restriktiv zu sein, z.B. sollte das Auftreten einer Liste innerhalb eines Zitats möglich sein. Daher wird die Definition des Elements <quote> so geändert, dass alle Elemente aus &par.seq; innerhalb von <quote> möglich sind:

<!ELEMENT quote   - -   ((%par.seq;) | (%phrase.seq;))      >

3.1.3 Listen

Das Element <list> wird unverändert übernommen, ebenso die Empfehlungen hierzu aus den CES Guidelines.

Ein Beispiel, bei dem das Element <label> für die einzelnen Items gebraucht wird:


<list>
   <label>Erstens</label>
   <item>sollte die DTD den Bedürfnissen von Korpuslinguisten, 
         speziell im Rahmen von TUSNELDA, entsprechen,
   </item> 
   <label>zweitens</label>
   <item>sollte die DTD problemlos in XML konvertierbar sei, und
   </item> 
   <label>drittens</label>
   <item>sollte sie sich so weit wie möglich an bestehenden 
	 Standards orientieren.
   </item>
</list>
Bei diesem Beispiel ist das <label> auch ein Teil des eigentlichen Textes und sollte daher nicht verloren gehen.

3.1.4 Anmerkungen

Das Element <note> wird unverändert übernommen. Als Attribute sind unter anderem alle Attribute %a.text; vorgesehen. Dazu gehört auch das Attribut n, dessen Wert die Nummer der Anmerkung (z.B. bei Fußnoten) sein kann.

3.1.5 Gedichte

Auch <poem> wird unverändert übernommen. In den Guidelines für TUSNELDA wird es hier noch ein Beispiel geben. Auch allgemeiner scheint es sinnvoll zu sein, mehr Beispiele anzugeben.

3.1.6 Bilder

Die Annotation von Comics und die dabei vorzunehmende Einordnung der Bilder bzgl. verschiedener Typen von Zeigegesten im Projekt B8 hat gezeigt, dass die Verbindung von Schlüsselwörtern mit Bildern möglich sein sollte. Daher wird die DTD für das Element <figure> erweitert um optionale <keywords>:

<!ELEMENT figure   - -  (head?, p*, keywords?, figDesc?, text?)    >
Beim Annotieren eines Bildes ist die Beschreibung <figDesc> sehr wichtig, da beim Arbeiten mit dem annotierten Text nicht immer die Möglichkeit besteht, das zugehörige Bild zu betrachten.

3.1.7 Tabellen

Hier scheint die DTD des CES für das Element <table> eventuell nicht ausreichend zu sein. Es wurde kritisiert, dass Zeilen- und Spaltenüberschriften nicht explizit von den übrigen Zellen abgesetzt werden können. Mithilfe des Attributs role könnte man allerdings einzelne Zellen oder ganze Zeilen als Überschriften auszeichnen. Vielleicht genügt das doch, wenn man bedenkt, dass es nur darum geht, eine Tabellenstruktur zu annotieren. <table> ist nicht dazu da, Datenbanken mit Attributen und Relationen auszudrücken.

Ob eine alternative DTD nötig ist und wie sie aussehen könnte, ist zunächst noch offen. Die Diskussion soll im Diskussionsforum Annotationsstandard weitergeführt werden.

3.1.8 Caption

Das Element <caption> wird unverändert übernommen.

3.1.9 Gesprochener Text

Bei dem Element <sp> gibt es ein Problem hinsichtlich der für später vorgesehenen Umwandlung in XML. Die CES DTD für <sp> sieht vor, dass das Element <stage> überall unterhalb von <sp> auftreten kann. Dies ist durch +(stage) ausgedrückt. So etwas ist in XML nicht zugelassen, und es gibt auch keine alternative Möglichkeit, auszudrücken, dass <stage> an beliebiger Stelle in <sp> eingebettet sein kann.

Als Lösung des Problems wurde vorgeschlagen, <stage> zu %m.phrase hinzuzufügen.


<!ENTITY % m.phrase   - -  '%m.token; corr | distinct | foreign |
                            gap | hi | list | mentioned | ptr | 
                            q |	ref | reg | s | title | stage'       >
Damit könnte <stage> innerhalb von Paragraphen auftreten, die wiederum innerhalb von <sp> auftreten können.

Dies hat allerdings den Nachteil, dass <stage> auch ausserhalb von <sp> auftreten kann. Im Workshop wurde das Problem nicht weiter diskutiert, aber die Lösung ist noch nicht befriedigend.

Eine Alternative wäre, eine neues Element <spokenPar> für Paragraphen innerhalb von gesprochenem Text zu definieren, das zusätzlich zu den in <p> zugelassenen Elementen auch Elemente <stage> enthalten kann. Da darüber hinaus die Bezeichnung <sp> für ein Element, das Paragraphen enthalten kann, etwas unglücklich ist, könnte man sich eine Umbenennung z.B. in <spokenText> vorstellen. Die neuen Elemente würden dann folgendermaßen aussehen:


<!ELEMENT spokenText   - -   (speaker*, spokenPar+)            >

<!ELEMENT spokenPar    - -   (%phrase.seq; | stage)*           >
Dieser Vorschlag muss allerdings noch diskutiert werden. Er würde natürlich bedeuten, dass <stage> doch kein Element von %m.phrase wäre.

3.2 Sätze und Zitate innerhalb von Paragraphen

Für die beiden Elemente <s> und <q>, die ja überlappend vorkommen können, soll aus den CES Guidelines die Empfehlung übernommen werden, dass wenn möglich <s> als Element von <p> und <q> als Element von <s> annotiert werden sollen. Das heißt, bei Überlappungen sollte das Zitat zerlegt werden.

Es wurde angemerkt, dass innerhalb von Sätzen auch wieder (zitierte) Sätze auftreten können. Die Information, ob ein Satz innerhalb eines anderen Satzes auftritt, könnte für die Verarbeitung des Korpus wertvoll sein. Daher wurde <s> um ein Attribut nested erweitert mit möglichen Werten yes, no und Default no. Dieses Attribut kann automatisch erzeugt werden. Auch bei <q> könnte, je nach Korpus und Verarbeitungswünschen ein entsprechendes Attribut sinnvoll sein. Da dies aber (im Gegensatz zu dem Attribut nested bei <s>) vermutlich nur für einige Korpora relevant ist, ist das Attribut nested in <q> nicht obligatorisch.

Die erweitereten Attributlisten von <s> und <q> sehen demnach wie folgt aus:


<!ATTLIST s          %a.text;
                     next         IDREF             #IMPLIED
                     prev         IDREF             #IMPLIED
                     type         CDATA             #IMPLIED
                     broken       (yes | no)        no
                     nested       (yes | no)        no            >

<!ATTLIST q          %a.text;
                     next         IDREF             #IMPLIED
                     prev         IDREF             #IMPLIED
                     type         CDATA             #IMPLIED
                     direct       (y | n | unspecified)
                                                    unspecified
                     who          CDATA             #IMPLIED
                     broken       (yes | no)        no
                     nested       (yes | no)        #IMPLIED      >

Das Attribut nested bekommt den Wert yes, wenn ein Satz einen eingebetteten Satz enthält. Beispiel:


<s nested="yes">
   <q id=q1 broken="yes" next=q2>
     <s id=s1 broken="yes" next=s2 nested="no">Draußen</s>
   </q>, sprach er, 
   <q id=q2 broken="yes" prev=q1>
     <s id=s2 broken="yes" prev=s1 nested="no">ist es kalt.</s>
   </q>
</s>

3.3 Elemente auf Phrasenebene

3.3.1 Editorische Eingriffe

Sowohl bei Regularisierungen als auch bei Korrekturen soll die Ursprungsform erhalten bleiben, im einen Fall als Wert des Attributes orig, im anderen als Wert des Attributes sic. Daher sollen diese Werte in TUSNELDA obligatorisch sein.

Das Attribut cert soll angeben, wie sicher man sich ist, dass der jeweilige editorische Eingriff sinnvoll ist. Um die Werte von cert einigermaßen miteinander vergleichen zu können, sollen hier überhaupt nur drei Werte zugelassen werden: sure, probable und presumable (sicher, wahrscheinlich, vermutlich).

Damit ergeben sich folgende modifizierte Attributlisten für <reg> und <corr>:


<!ATTLIST reg        %a.text;
                     orig         CDATA             #REQUIRED
                     resp         CDATA             #IMPLIED
                     cert         (sure | probable | presumable)
                                                    #IMPLIED      >

<!ATTLIST corr       %a.text;
                     sic          CDATA             #REQUIRED
                     resp         CDATA             #IMPLIED
                     cert         (sure | probable | presumable)
                                                    #IMPLIED      >
Auch an allen anderen Stellen in der DTD werden die Werte für cert entsprechend geändert (z.B. beim Element <gap>).

3.3.2 Hervorhebungen durch Layoutmerkmale

Bei Layoutmarkierungen durch das Element <hi> verbietet die CES DTD eine Einbettung von Elementen <hi> untereinander. Dies ist durch -(hi) in der DTD ausgedrückt. So etwas ist in XML nicht möglich, man würde also bei einer späteren Umwandlung an dieser Stelle Probleme bekommen. Außerdem scheint es gar nicht wünschenswert, Einbettungen von <hi> untereinander auszuschließen. Z.B. könnte ein Teil einer fett gedruckten Überschrift kursiv sein:

<hi rend="bo">Eine <hi rend="it">teilweise</hi> kursive Überschrift</hi>
Daher wird Rekursion für <hi> zugelassen:

<!ELEMENT hi    - -    (%phrase.seq;)                     >

Aus gleichen Gründen sollen auch für die Elemente <foreign>, <distinct>, <mentioned> und <title> Rekursionen erlaubt sein.

3.3.3 Sprachliche Hervorhebungen

Ausdrücke, die sprachlich hervorgehoben sind, z.B. dialektale Ausdrücke, können mit <distinct> markiert werden. In dem Attribut type kann man vermerken, in welcher Weise sich der jeweilige Ausdruck sprachlich absetzt. Zunächst soll es keine Empfehlungen für mögliche Werte von type geben, im Verlauf der Entwicklung von TUSNELDA sollen jedoch, ausgehend von den Annotationen der Teilkorpora, Empfehlungen entstehen.

3.3.4 Linguistische Daten

Mit dem Element <mentioned> können linguistische Beispiele gekennzeichnet werden. <mentioned> soll nicht nur für Beispiele im laufenden Text, sondern auch für abgesetzte Beispiele verwendet werden. Eine Ausnahme bildet der Sonderfall eines nur aus linguistischen Beispielen bestehenden Korpus. Hier wird <mentioned> nicht verwendet.

3.3.5 Maßangaben

Bei dem Element <measure> ist die cesDoc DTD zu restriktiv, weil das Attribut type, das die Kategorie der Maßangabe kennzeichnet, auf eine Reihe vorgegebener Werte beschränkt ist. Für TUSNELDA werden daher diese Werte als mögliche Werte in die Empfehlungen aufgenommen, und der Wert von type wird nur auf CDATA festgelegt:

<!ATTLIST measure            %a.text;
                             type         CDATA     #IMPLIED
                             value        CDATA     #IMPLIED  >

3.4 Allgemeines zur Annotation von Texten

3.4.1 Referenzsystem

Die Empfehlungen zu Namen von Referenzen aus den CES Guidelines sollen übernommen werden. Referenzen sollten nach Möglichkeit automatisch erzeugt und aktualisiert werden.

3.4.2 Kodieren von Namen

Die CES Empfehlungen zu Titeln und Rollen sollten übernommen werden, allerdings vielleicht in einer etwas schwächeren Formulierung. In Sprachen, in denen Titel als Teil des Namen betrachtet werden und mit diesem zu einem Wort verbunden werden, möchte (und kann) man wahrscheinlich keine Trennung in Name und Titel vornehmen.

Die Behandlung von Possessiva und derivierten Formen ist noch problematischer. Für das Englische sind die CES Empfehlungen vermutlich sinnvoll. Aber in anderen Sprachen, z.B. im Deutschen, lässt sich die Possessivendung nicht so ohne weiteres vom Namen trennen, und es gibt auch von Namen abgeleitete Adjektive.

In Fällen von Possessiva, die (im Gegensatz zum Englischen) ein Wort bilden, sollte keine Zerlegung gemacht werden, sondern das ganze als ein Name annotiert werden:


       <name>Tübingens</name> malerische Altstadt
Im Gegensatz dazu sollten 's und ' als eigene Token und damit nicht als Teil des Namens getaggt werden.

       <name>Hans</name>' neue Theorie
Von Namen abgeleitete Adjektive sollten auch als Namen getaggt werden. Der in den CES Guidelines auftretende entsprechende Absatz über Adjektivformen wird daher nicht übernommen.

       die malerische <name>Tübinger</name> Altstadt
Je nach Sprache muss beim Kodieren von Namen unterschiedlich vorgegangen werden. Der Inhalt des Tags <name> sollte zumindest immer alles umfassen, was zum Namen dazugehört. Ein einheitliches Vorgehen für ganz TUSNELDA ist wahrscheinlich nicht möglich. Aber innerhalb einer Publikationseinheit sollten Namen einheitlich annotiert sein, und die gewählte Vorgehensweise beim Tagging von Namen sollte im jeweiligen Header erklärt sein.

3.4.3 Behandlung von Satzzeichen

Satzzeichen werden als eigene Token angesehen, sie sollten aber nicht durch hinzugefügte Leerzeichen vom vorhergehenden Wort getrennt werden.

Bei Abkürzungen wird der Punkt als Teil der Abkürzung getaggt, auch am Satzende, wo er gleichzeitig das Ende des Satzes markiert.

Mit Ausnahme von Abkürzungen sollen Satzzeichen nicht in Tags auf Phrasenebene aufgenommen werden.


       Er besucht das malerische <name>Tübingen</name>.

Trennungszeichen sollten entfernt werden, wobei das Original als Attributwert mit angegeben werden muss.


       die malerische <reg orig="Alt-stadt">Altstadt</reg>
Im Text auftretende Anführungszeichen sollten weggelassen werden, sofern das durch die Anführungszeichen Hervorgehobene getaggt ist (als Zitat <q> z.B.). Welche Art von Anführungszeichen ursprünglich im Text stand, kann im rend Attribut des jeweiligen Tags festgehalten werden.
Laura Kallmeyer und Andreas Wagner, 14.12.1999