Language & Information Lab.

Ein Weg nach Rom (NZZ)

(c) U. Hengartner, Institut für Informatik, WWZ, 1995

[home] [up] [previous]

Content

  1. Aufbruch / Wie alles begann
    1. Unabhängigkeit
    2. Fokus auf Inhalt und Struktur
    3. Investitionsschutz
  2. Elektronische Dokumente
  3. Der Weg mit SGML
    1. SGML Deklaration
    2. DTD
    3. Dokumentinstanz
    4. Stylesheets / DSSSL
  4. Der Weg der Daten im Institut für Informatik am WZZ
    1. Ausarbeiten der Struktur einer Zeitung / Aufbau einer DTD für die NZZ
    2. Überführen (Transduction) der Artikeldaten in das SGML-Format
    3. Validieren der Daten
  5. Zukunft / neue Wege
  6. Literaturverzeichnis

Aufbruch/ Wie alles begann

Seit Ende Mai 1994 ist der Jahrgang 1993 der Neuen Zürcher Zeitung auf einer CD-ROM erhältlich. Die hierzu gestartete Werbekampagne lief unter dem Motto: "Der neue Weg nach ROM" - die CD-ROM (Compact Disc-Read Only Memory). Im folgenden soll kurz aufgezeigt werden, welchen Beitrag das Institut für Informatik (IFI) zu dieser Entwicklung leistete, dass die Neue Zürcher Zeitung (NZZ) diesen neuen Weg beschreiten konnte.

Anfang 1991 wurde von Prof. M. Domenig das Projekt "Intelligente Bearbeitung und Archivierung von Texten" lanciert. Um Erfahrungen mit grossen Textmengen aufbauen zu können, wurde die NZZ angefragt, ob sie ihre Artikel-Daten dem Institut für Forschungszwecke zur Verfügung stellen würde. Dabei stellte sich heraus, dass die NZZ ihre Daten, obwohl diese durch ein eigenes Redaktionssystem elektronisch hergestellt wurden, leider nicht elektronisch aufbewahrte. Artikel wurden nach ihrer Veröffentlichung vom System nach einer Woche gelöscht.

Seit September 1992 werden die Artikeldaten bei der NZZ (nach Überwindung von technischen Problemen) im proprietären NZZ-Format gespeichert und seither auch dem Institut für Informatik zur Verfügung gestellt. Mit diesen Daten wurde eine strukturierte Text-Datenbasis für ein Information Retrieval System (IRS) aufgebaut. Die Struktur dieser Datenbasis wurde nach wissenschaftlichen Erkenntnissen konzipiert und ist auf Wiederverwendbarkeit der gespeicherten Daten ausgelegt. Dies zahlte sich später aus, indem die Daten und Strukturierung des Prototyps für die Produktion der CD-ROM übernommen werden konnten.

Als Grundlage für die Strukturierung der Datenbasis wurde der ISO Standard SGML (Standard Generalized Markup Language) verwendet. Dieser Standard wird seit seiner Veröffentlichung im Jahre 1986 immer populärer. So erstellt beispielsweise das europäische Atomzentrum CERN (Centre Européen de Recherche Nucléaires, Genf) seine elektronischen Manuskripte zum grössten Teil auf der Basis von SGML. Ein Teil der Internet-Gemeinde schickt ihre Dokumente im HTML-Format (Hypertext Markup Language) um die Welt, Stichwort WWW (World Wide Web). Das HTML-Format wurde am CERN, auf SGML basierend, entwickelt. Es erwies sich, dass sich SGML auch gut für grosse Textarchive - wie z.B. eben dasjenige der NZZ - eignet.

Folgende weitere Argumente führten zur Wahl von SGML:

Unabhängigkeit

Mit SGML können die Daten (wie z.B. Artikel der NZZ) von der sie zu verarbeitenden Applikation getrennt werden, d.h. sie werden von der verwendeten Hard- und Software-Plattform unabhängig. SGML ist kein Produkt, sondern ein ISO-Standard und somit von den Herstellern unabhängig.

Fokus auf Inhalt und Struktur

Daten, Beschreibung der Struktur und Layout eines Dokumentes werden in SGML voneinander getrennt. Dies hat zur Folge, dass beispielsweise die Strukturinformation für eine bestimmte Anwendung auch für andere Applikationen, z.B. elektronische Bücher, wiederverwendet werden kann. Damit bietet das Konzept von SGML eine grosse Flexibilität beim Erstellen von Dokumenten. Weil SGML ein sogenanntes deskriptives Markup (siehe "Der Weg mit SGML") verwendet, sind die so markierten Daten besser für die Wiederverwendung geeignet: Die Identifizierung von Komponenten eines Dokumentes ist auch nach dem Formatierungsprozess noch möglich.

Investitionsschutz

Daten, die auf dem SGML Prinzip aufgebaut sind, können ihre Applikationen überleben. Mit SGML aufbereitete Daten bieten somit einen Schutz für gemachte Investitionen in die Zukunft. Dies ist vor allem bei Langzeit-Daten, wie sie bei Archiven - vor allem bei Zeitungsarchiven - anfallen besonders wichtig. SGML-Dokumente können auch in Zukunft weiterverarbeitet werden, da sie mit geeigneten Werkzeugen maschinell leicht in andere Dokumentformate (RTF, Postscript, HTML, Latex, etc.) transformiert werden können. Die Validierung dieser Dokumente bezüglich ihrer Markierung kann mittels SGML-Parsern maschinell überprüft werden, denn sie sind in sich konsistent.

Elektronische Dokumente

Als erstes soll der Begriff "Elektronisches Dokument" bzw. "Computerdokument" etwas genauer definiert werden:

Ein Computerdokument wird mit Hilfe von Informatikmitteln elektronisch erstellt und besteht aus den vier Elementen: Codierung, Struktur, Daten und Format.

Die Codierung legt fest, in welcher Form die Daten des Dokumentes elektronisch repräsentiert werden, welches Binärmuster welchen Zeichen entspricht. Für Zeichen, Bilder, Video und Ton gibt es hierzu unterschiedliche Normen. Für die Textcodierung alleine werden Standards wie ASCII, ISO-8859-1, EBCDIC, Unicode, etc. angeboten. Ihnen gemeinsam ist,dass ein Text in einem bestimmten Code nicht (bzw. nur sehr umständlich) in einen anderen Code umgeschrieben werden kann.

Die Struktur eines Dokumentes besteht aus den Beziehungen zwischen den Datenelementen. So kann die Struktur eines Zeitungsartikels bestehend aus den Elementen Obertitel, Haupttitel, Untertitel, Textelement etc., als Hierarchie oder auch als Netzwerk dargestellt werden.

Unter Daten wird der Inhalt eines Dokumentes, welches aus Text, Grafiken, Bildern und sogar Tönen und Videodaten besteht, verstanden. Die Daten können aber auch zusätzliche Informationen enthalten, die für den Benutzer nicht sichtbar sind.

Das Format eines Dokumentes bestimmt das Aussehen und die Gestaltung (Layout) der logischen Elemente der Dokumentenstruktur auf einem Medium (Papier, Bildschirm).

Es folgt nun eine stark vereinfachte Beschreibung der Konzepte und Ideen des ISO-Standards SGML. Eine sehr brauchbare Einführung wird im Buch von Eric van Herwijnen "Practical SGML" gegeben [Her90].

Der Weg mit SGML

Das SGML Markup identifiziert die Dokument-Komponenten und deren Beziehungen. Mit SGML wird eine abstrakte Grammatik für die Repräsentation und den Austausch von Texten, die als zusätzliche Markierung (Tags) im Text eingefügt sind, festgelegt. Diese Tags enthalten Bezeichner, die jedes signifikante Element eines Textes kategorisieren. Jedes Dokumentelement kann des weiteren Text, andere Elemente oder eine Kombination von beiden enthalten. In einer DTD (Document Type Definition), einer SGML Grammatik, wird spezifiziert, welche Dokumentelemente gültig sind und welche Elemente sie enthalten. Mit SGML sollte also nicht das Layout (Aussehen) eines Dokumentes, wie dies in heutigen Textverarbeitungsprogrammen üblich ist, sondern die logische Struktur beschrieben werden.

Die Layout Information selbst wird in speziellen, vom Dokument getrennten Stylesheets verwaltet. SGML basiert auf dem deskriptiven und nicht auf dem sonst eher üblichen prozeduralen Markup. Das prozedurale Markup wird heute von verschiedenen üblichen Textverarbeitungssytemen verwendet und entspricht im wesentlichen einer proprietären Formatierungssprache. Dabei wird an bestimmten Textstellen eine Funktion (Prozedur) aufgerufen, welche die entsprechende Aktion ausführt (Beispiel: Titel soll fett und zentriert dargestellt werden).

Im Gegensatz dazu beschreibt das deskriptive Markup die Struktur des Dokumentes und nicht, wie es auszusehen hat. Eine häufig gebrauchte Art, ein Dokument zu markieren, ist seine strukturellen Elemente nach Sektionen Titel und Paragraphen zu skizzieren.

Abbildung 1 zeigt den Ausschnitt eines Artikels der NZZ und dessen deskriptives und prozedurales Markup.

Abbildung 1: Markup-Typen am Beispiel eines NZZ-Artikels

Ein SGML-Dokument ist ein sogenanntes "Compound Document". Das bedeutet, dass die vier Elemente (Codierung, Struktur, Daten, Stylesheets) vier speziellen Teilen zugeordnet sind: die SGML Deklaration enthält die Codierung, die DTD die Struktur, die Dokumentinstanz die Daten und das Stylesheet schliesslich das Format.

SGML Deklaration

Die SGML-Deklaration definiert, welche Zeichen (Character Set) in der DTD und der Dokumentinstanz gebraucht werden. Ausserdem können hier auch spezielle Features (optionale Informationen für zusätzliche SGML- und Applikations-Konstrukte) spezifiziert werden.

DTD

Die DTD (Document Type Definition) beschreibt die generische Dokumentstruktur und die Markup-Regeln, welche für die einzelnen Dokumentinstanzen bei der Markierungen verwenden. Mittels der DTD werden Elemente, Attribute, Entitäten und ihre Beziehungen zueinander definiert.

Ein Elemente ist eine Struktur, welche durch das Markup im Dokument identifiziert wird. Es ist ein Block, der Daten, weitere Elemente oder beides enthält. Ein Element wird durch Begin- (z.B. <text.header> ) und End-Tags (z.B. </text.header>) markiert. Typische Beispiele von Elementen sind Paragraphen, Kapitel, Titel. Elemente können des weiteren Attribute enthalten, die im Begin-Tag eingefügt sind.

Ein Attribut bezeichnet eine Eigenschaft, die mit einem bestimmten Element assoziiert wird. Der Wert des Attributes beschreibt ein Element, ist jedoch nicht Bestandteil des Inhalts (Beispiel: <header.title type=HT>. Das Attribut `type'=HT bedeutet, dass es sich hier um einen Haupttitel handelt).

Eine Entität bildet eine Einheit von Informationen, die einen Teil - von einem einzelnen Buchstaben, über eine Abkürzung bis zu einem ganzen Textteil eines Dokumentes - enthalten. Eine Entität wird durch einen Namen referenziert und der Inhalt wird bei der Aufbereitung anstelle des Namens eingefügt, ähnlich einem Makro in Microsoft Word oder einer Programmiersprache. Entitäten werden oft für diakritische Zeichen verwendet, die im normalen Zeichensatz nicht vorkommen. Beispiel: Ein ü wird zu `&uuml;' Das `&' und `;' Zeichen bilden den Anfang und das Ende der Entität. Somit ist es möglich, sämtliche Spezialzeichen im plattformkompatiblen 7-Bit ASCII (ISO 646) zu codieren.

Dokumentinstanz

Eine Dokumentinstanz enthält einen Text mit den eingefügten Markierungen und mit einer Referenz zur DTD. Die Textzeichen sind in der SGML-Deklaration definiert und werden entsprechend den Regeln, die in der DTD definiert sind, markiert. Abbildung 2 zeigt den Beginn des NZZ-Artikels aus Abb.1 in markierter Form. Die entsprechende formale Notation der dazughörigen DTD wird in Abb.3 dargestellt.

<article.text> <text.header> <header.title
type=OT>Reformbedarf in Osteuropa </header.title> <header.title
type=HT>Die Glaubw&uuml;rdigkeitals vernachl&auml;ssigtes Problem
des Systemwandels </header.title> </text.header> <text.byline
type=KO> Von Kurt Pelda* </text.byline> <text.intro type=LD>Die
entscheidende Voraussetzung f&uuml;r das Gelingen von Reformen in Osteuropa
ist deren Glaubw&uuml;rdigkeit. ...
:

...</text.intro><text.text type=GR>Fast alle erfolgreichen und
wohlhabenden Nationen dieser Erde verf&uuml;gen &uuml;ber<hw
type=k> demokratische und marktwirtschaftliche Systeme.</hw> ...
</article.text>

Abbildung 1: Ausschnitte aus der Dokumentinstanz eines NZZ-Artikels


<!--  Beispiel einer SGML Dokument Grammatik für NZZ Artikel               -->

<!--  Strukturelement Definitionen ================================        -->

<!ELEMENT       article.text    - -     (text.header?, 
                                         text.intro?, 
                                         text.byline?,
                                         text.text?)*                        >
<!ELEMENT       text.header     - -     (header.title*)                      >
<!ELEMENT       text.intro      - -     (#PCDATA)                            >
<!ELEMENT       text.location   - -     (#PCDATA)                            >
<!ELEMENT       text.text       - -     (#PCDATA)                            >
<!ELEMENT       header.title    - -     (#PCDATA)                            >
<!ELEMENT       hw              - -     (#PCDATA)--für Textauszeichnungen  -->
<!--     Attribut Definitionen     ===============================         -->
<!ATTLIST       header.title    type    (HT, LT, KT, UT)     #REQUIRED       >
<!ATTLIST       text.intro      type    (LD, VO)             #REQUIRED       >
<!ATTLIST       text.byline     type    (DA, KO, KD)         #REQUIRED       >
<!ATTLIST       text.text       type    (GR, GD, KL, SP, TD) #REQUIRED       >
 :

Abbildung 3: DTD zu Dokumentinstanz in Abb.2

Stylesheets / DSSSL

In den Stylesheets werden die Formatierungsinstruktionen für ein gegebenes Textelement (Style) oder eine Gruppe von Textelementen gespeichert.

Die "Document Style Semantics and Specification" (DSSSL) ist eine Sprache zur detaillierten und typografisch anspruchsvollen Spezifikation von Layout und Komposition von Dokumenten. Sie ist ein ISO Standard und zur Zeit noch in Entwicklung. Heutige SGML-Systeme verwenden meist eigene Stylesheet-Konzepte in ihren Applikationen.

Der Weg der Daten im Institut für Informatik am WZZ

Die Neue Zürcher Zeitung lieferte dem Institut für Informatik am WWZ die Artikeldaten in ihrem proprietären Format zuerst nur für Forschungszwecke. Später als sich herausstellte, dass die am IFI entstandenen SGML-Daten gut für die Verwendung zum Herstellen einer CD-ROM zu gebrauchen waren, erhielt das IFI den Auftrag zur produktiven SGML-Datentransformation. Es entstand eine Kooperation zwischen der NZZ, dem IFI und der Firma Intunix in St. Gallen, welche damals für die CD-ROM Applikation verantwortlich war. Die Datenbearbeitung die am IFI vorgenommen wurde, durchlief drei Phasen, wobei jede dieser Phasen mehrfach durchlaufen werden musste, bis die Daten den Ansprüchen für die CD-ROM Produktion genügen konnten.

Ausarbeiten der Struktur einer Zeitung / Aufbau einer DTD für die NZZ

Als erstes galt es, eine geeignete Struktur aus den zur Verfügung stehenden Daten und der Zeitung als solche abzuleiten und in der Syntax von SGML als DTD zu definieren. Das Hauptproblem bestand darin, eine geeignete Struktur für die NZZ herauszufinden. Eine DTD muss nicht unbedingt SGML-gerecht designed werden, es können auch nicht-logische Strukturen, z.B. Layoutinformationen als Dokumentstrukturen verwendet werden. Das Ganze war ein längerer und schwieriger Prozess, der sich unter anderem mit folgenden Fragen auseinandersetzte:

Wie weit soll die gedruckte Zeitung als Vorbild zur Bildung der Strukturen herangezogen werden? Wie stark sollen die Daten der DTD angepasst werden. Oder soll die DTD den Daten angepasst werden?

Für die erste CD-ROM Produktion wurde versucht, die gegebenen Strukturen des Redaktionssystems mit kleinen Erweiterungen nach SGML zu transferieren, um erste Erfahrungen sammeln zu können. Es war allerdings klar, dass es sich hierbei nur um eine prototypenartige DTD für die NZZ handelte, die für weitere Produktionen noch weiterentwickelt werden müsste. Abbildung 4 zeigt, als Baumstruktur dargestellt, einen Ausschnitt aus jenem Prototyp-DTD.

Abbildung 4: Logische Struktur des Artikelausschnittes aus Abb.1

Überführen (Transduction) der Artikeldaten in das SGML-Format

Unter Transduction wird die Umformung und Überführung nicht SGML formatierter Daten, sogenannte Legacy Data, zu SGML-Dokumenten verstanden. Dabei mussten im Falle der NZZ etwa 600 MByte Textdaten in ca. 64'000 Files analysiert und entsprechend transformiert werden. Für die Überführung kam ein spezielles Softwarewerkzeug zum Einsatz, welches anhand eines deterministischen, endlichen Automaten (DEA) die NZZ-Daten SGML konform umformte. Zum Erstellen des Automaten gehörte eine Software, die mit Hilfe von regulären Ausdrücken die proprietären Daten der NZZ beschrieb. Um die ganze Umstellung zu bewältigen, wurden drei verschiedene DEA''s mit insgesamt über 100'000 Zuständen aufgebaut.

Grosse Schwierigkeiten bereitete bei diesem Prozess der Umstand, dass ein Artikel aus mehreren Teilartikeln (Files) bestehen konnte und daher zuerst zusammengesetzt werden musste. Leider vergab das Redaktionssystem keine eindeutige Identifizierung, welche Teilartikel zu einem Artikel gehören, so dass hier nicht die üblichen Informatikmittel zur Anwendung kamen. Mit eigens für diese speziellen Fälle entwickelten Programmen wurde versucht, das Chaos möglichst klein zu halten.

Validieren der Daten

Mit Hilfe von SGML-Parsern wurde überprüft, ob die Transduction der Daten den DTD-Regeln entsprechend erfolgt war. Die durch den Parser in den transformierten Daten entdeckten Fehler waren oft auf die mangelhafte Speicherung der Daten im Redaktionssystem zurückzuführen, welche nur von Hand mit Texteditoren und mit Unix-Werkzeugen (awk, grep, sed, etc.) korrigiert werden konnten. Die gesamte Laufzeit einer Validierung des Jahrgangs 1993 der NZZ brauchte etwa 1,5 Tage Computerzeit.

Zukunft / neue Wege

Anfang Mai 1995 wird die NZZ eine verbesserte CD-ROM Version auf den Markt bringen. Dazu flossen auch die Erfahrungen und Erkenntnisse, die aus dem Transduction-Prozess am IFI hervorgingen, in das neue CD-ROM Produkt. Zudem wird die Transduction der Daten nicht mehr nachträglich gemacht, sondern direkt am Redaktionssystem vorgenommen.

Geplant ist auch, die SGML-Daten im HTML-Format auf dem Internet (Datenautobahn) als Online-Journal anzubieten. Als Beispiel für Kenner der Infobahn, wie so etwas aussehen könnte, sind hier zwei URL (Uniform Resource Locator) des World Wide Web (WWW) angegeben. Sie zeigen allerdings andere Wege zu elektronischen Zeitungen auf, als denjenigen der CD-ROM:

Dies ist ein neuer Weg, mittels Netzwerken Informations- und Archiv-Dienste den Kunden direkt anzubieten, so dass der jetzige Weg der NZZ nach ROM vielleicht nur ein vorübergehender war. Hier am Institut für Informatik wird der Weg der Verbesserungen von Suchtechniken in sehr grossen Textmengen mit Hilfe von deskriptivem Markup auf jeden Fall weiterverfolgt.

Literaturverzeichnis

[Her90]    Eric van Herwijnen, "Practical SGML"
           Kluwer Academic Publishers
           Dordrecht, Netherlands, 1990



[home] [up] [previous]

15-Aug-95 Urs Hengartner