Wissensbasierte Textverarbeitung: Schriftsatz und Typographie

Home -> Wissensbasierte Textverarbeitung -> 4. Schlußbemerkungen
 
Chapters
Einführung
Schriftsatz
Typographie
Literaturhinweise
Anhang
 

4 Schlußbemerkungen

Eine Implementierung des in den zwei vorhergehenden Kapiteln beschriebenen Systems hat gezeigt, daß ein derartiges Vorgehen durchaus realisierbar ist: Die Benutzerangaben werden dabei korrekt in entsprechende Layoutformen übersetzt.

Das größte Problem sind hierbei nur die überdurchschnittlich langen Lade- und Laufzeiten - gerade der Ausdruck und die Verteilung der Zeilen- und Spaltenenden ist ein reiner Rechenvorgang, den PROLOG nur sehr ineffizient und dementsprechend langsam durchführen kann -, die durch die Verwendung der Programmiersprache PROLOG entstehen. Die mit dieser Implementierung gewonnenen Erfahrungen bzgl. der Programmiersprache PROLOG lassen sich in Form einer Liste von Anforderungen spezifizieren, die an die Weiterentwicklung von PROLOG gestellt werden können, um weitere Entwicklungsvorhaben zu vereinfachen.

Unabhängig von der Programmiersprache, die für die Implementierung eingesetzt werden soll, kann dieses System nicht unbedingt so verwendet werden, wie es hier beschrieben ist. In der Einleitung war von Textverarbeitungs- und DTP-Programmen die Rede, die Muster, Styles bzw. Formate unterstützen. Bis zum heutigen Zeitpunkt sind diese Formate so ausgelegt, daß sie die Einstellung bestimmter Textparameter - Schriftart und -größe, verschiedene Formen der Auszeichnung usw. - je nach Systemphilosophie zusammenfassen, um diese vereinheitlichend auf den gesamten Text anzuwenden.

Was bei diesen Formaten fehlt, ist eine Unterstützung, die die richtige Einstellung oder Reihenfolge von Einstellungen vorschreibt bzw. bei der Auswahl der richtigen Einstellung eine Hilfestellung gibt. Dementsprechend ist den einzelnen Formaten eine Semantik zuzuordnen, um eine derartige Hilfestellung geben zu können. Beispielsweise ist hier an verschiedene Einstellungen für Titel erster, zweiter, dritter Stufe oder diverse Auszeichnungen gedacht, die in einem Text Verwendung finden können.

Dies allein reicht aber jedoch nicht aus! Darüber hinaus müssen die einstellbaren Formate mit bestimmten Zählern ausgestattet sein, die dem System statistische Auswertungen dahingehend ermöglichen, daß die Anzahl der Absätze, die unter Benutzung eines bestimmten Formats formatiert werden bzw. die Größe der einzelnen Absätze - Anzahl der Zeichen oder Zeilen - erfaßt werden, damit eine weitergehende Klassifizierung der Regeln und deren Anwendung ermöglicht wird. Denn es sieht nicht sehr schön aus, einen Titel über vier oder fünf Zeilen hinweg zu formatieren. Auf diese Art und Weise bekommt man - je nach dem wie die einzelnen Absätze formatiert sind - eine Aussage über die Gesamtlänge und die Verteilung der unterschiedlichen Absätze über den gesamten Text hinweg. Beispielsweise welche Konsequenzen es haben würde, die Schriftart für ein bestimmtes Format um zwei Punkte zu vergrößern. Damit sind Aussagen über die Nichteinhaltung von Minimal- oder Maximalangaben des Textes oder ein bestimmtes Verhältnis zwischen Schriftarten und -größen möglich.

Bestärkt durch diese Überlegungen bietet sich die Implementierung als Überwachungs- oder Tutoringsystem an: Der Benutzer hätte damit die Möglichkeit, über ein zusätzliches Pull-Down-Menü oder Funktionstasten verschiedene Funktionen oder Fenster zu aktivieren, in denen er seine Parametrisierung für Minimal- oder Maximalangaben, Zweck, erwünschte Wirkungen und Layoutbedingungen vornehmen kann. Dabei würde das Textverarbeitungs- oder DTP-Programm dem Benutzer in dem Moment eine Hilfestellung geben, wo er versucht, die Formatierung zu ändern. Beispielsweise bei Wahl eines bestimmten Fonts für ein best. Format den Hinweis, daß damit eine zu große Textmenge diesen Font benutzt und deshalb die Minimal- und Maximalangaben nicht mehr eingehalten werden können oder ein Font für einen Titel nicht zu der gewählten Grundschrift paßt. Diese Angaben sind dabei nur als Hilfestellung zu verstehen, d.h. als Defaultwerte oder Hinweise, die der Benutzer jederzeit ändern oder überschreiben kann.

Eine derartige Vorgehensweise hätte auch den Vorteil, alle Probleme, die die Laufzeit betreffen, zu bewältigen, da das Programm dem Benutzer den Text nicht mehr fix und fertig formatiert, sondern nur noch gewisse Angaben auf Konsistenz hin überprüft.

Deshalb würden folgende Probleme automatisch gelöst:

  1. Die CR/LF-Paare müssen nicht mehr gesondert berücksichtigt werden.
  2. Die Silbentrennung bleibt dem Textverarbeitungs- bzw. dem DTP-Programm vorbehalten.
  3. Die Verwendung von Unterführungszeichen bleibt dem Anwender überlassen. Das Programm sollte dem Anwender dann nur einen Hinweis darauf geben, das bei Umformatierungen unerwartete Effekte auftreten können.
  4. Spezielle Probleme beim Einlesen (Steuerzeichen) des Textes treten gar nicht mehr auf.
  5. Die Bearbeitung spezieller Steuerzeichen bleibt ebenfalls dem Textverarbeitungs- bzw. DTP-Programm überlassen.

4.1 Verbesserungsmöglichkeiten

Durch verschiedene Verbesserungen kann das gesamte System in seiner Leistungsfähigkeit gesteigert werden.

4.1.1 Systembedingte Verbesserungsmöglichkeiten

Wie oben schon erwähnt, ist ein Einsatz in dieser Form nicht erstrebenswert. Durch folgende z.T. hier nur der Vollständigkeit halber aufgeführte Verbesserungsvorschläge läßt sich die Leistungsfähigkeit dieses Systems noch steigern:

  • Die rechenintensiven Teile des Systems können in einer anderen (prozeduralen) Programmiersprache implementiert werden, davon ist speziell die Verteilung der Zeilen- und Spaltenenden betroffen.
  • Eine andere Implementierung der Regelmenge für den Schriftsatz - vollständige Abarbeitung eines aufgefundenen Kennzeichens - entspricht der Erzeugung eines "syntaktisches Netzwerkes".
  • Die Qualität des Erklärungstextes kann durch Konstruktion des entsprechenden Textes über Grammatikregeln verbessert werden.
  • Die Teile des Parsers, die nicht weiter geändert werden, bspw. beim Schriftsatz, können zur Erhöhung der Verarbeitungsgeschwindigkeit kompiliert werden.
  • Die Angabe eines Zweckes zur Festlegung der Dokumentenart kann durch Zuordnung einer Strukturkomponente (z.B. ein Formulareditor bei Briefen) weiter ausgenutzt werden.
  • Die Eingabe kann durch Pull-down-Menüs, eine Maus oder eine natürlichsprachliche Schnittstelle vereinfacht und beschleunigt werden.
  • Die Einführung von Querverweisen und Referenzen auf andere Textstellen durch Zeiger mit einer Angabe darüber, wieviele Zeichen aus dieser Stelle übernommen werden sollen und ob (und wo) die Nummer der betreffenden Seite in der Referenzstelle plaziert werden soll, ermöglicht eine komfortablere Textverarbeitung.
  • Die Implementierung der Auswahl einer Layouteigenschaft über eine nicht-monotone Kontrollkomponente ermöglicht das Verfolgen alternativer Regeln mit einem gleich hohen Testwert. Eine andere Möglichkeit wäre die Auswahl einer Regel nach der Höhe des Ästhetik-Wertes, falls mehrere Alternativen zur Auswahl stehen.

4.1.2 PROLOG-bedingte Verbesserungsmöglichkeiten

Einige der in diesem Programm entstandenen Schwierigkeiten lassen sich beheben durch eine Erweiterung der PROLOG-Eigenschaften durch:

  • Einführung von Standardprädikaten, die Record-Strukturen simulieren können (Typisierung), beispielsweise ein Direktzugriff auf bestimmte Listenelemente in schreibender und lesender Form.
  • interne Verzeigerung bzw. den Zugriff auf interne Zeiger; damit ließen sich doppelt verkettete Listen erstellen, etwa für eine schnelle Registererstellung und einen effizienten Zugriff auf den Textspeicher.
  • direkte Wertzuweisung an globale Variablen, damit ein häufiges Hinzufügen und Löschen bestimmter Fakten wegfällt.
  • eine C-Schnittstelle (formale Spezifikation zur Textspeicherung/-verarbeitung).
  • Parallel-Processing, beispielsweise die parallele Verarbeitung bestimmter Kennzeichen innerhalb des Schriftsatzes: Dies setzt allerdings eine Kommunikation der einzelnen Prozesse untereinander voraus, damit mehrdeutige Zuordnungen bzgl. eines Konstruktes vermieden werden können. Eine parallele Verarbeitung bietet sich direkt nur für Kennzeichen an, die textuell so weit auseinander liegen, daß sie sich nicht gegenseitig beeinflussen können, d.h. nicht zu demselbem Konstrukt gehören.

4.2 Ausblick

Als mögliche Erweiterungen dieses Systems bzw. eines Textverarbeitungsprogramms lassen sich zusammenfassend folgende Punkte in Betracht ziehen:

  • Eine Implementierung als Überwachungs- oder Tutoringsystem in einem Textverarbeitungs- oder DTP-Programm (/Schnupp 87/, S. 22 oben und S. 25; s. Kap. 6.5): Dadurch fallen einzelne unter Kap. 2.2 beschriebene Probleme weg.
  • Erweiterung des Systems mit einer natürlichsprachlichen Schnittstelle, so daß Eingaben (Änderungsvorschläge) des Benutzers, die das Layout betreffen, anhand einer speziellen Wissensbasis direkt in Parameteränderungen übersetzt werden können:
    "Der Zeilenabstand ist zu weit!"
  • Einbeziehung von Grafik (Verarbeitung von Bildern und Ausgabe nach dem WYSIWYG-Prinzip)
  • Einscannen von Texten (OCR) oder von handgeschriebenen Texten (z.B. durch Winkelschnitt-Analyse) mit anschließender automatischer Aufbereitung.
  • Überarbeitung und Darstellungskorrektur chemischer und mathematischer Formeln
  • Rechtschreibkorrektur (Grammatik und Interpunktionsfehler) und Stilhilfe
  • Laserdrucker bieten die Möglichkeit, verschiedene Fonts, aufbauend auf einer Menge von Basisfonts, frei zu definieren. Durch die Verwendung von METAFONT (/Knuth 86c/) lassen sich ganz neue Schriftarten kreieren, oder man kann geeignete parametrisierte Dateien, die Vektoren zur Veränderung bereits erstellter, ästhetischen Ansprüchen genügenden Fonts für METAFONT enthalten, auswählen.
  • Es kann ein Parser-Generator (z.B. "YACC" unter UNIX), der die in Kap. 6.3 enthaltenen Syntaxdiagramme in fertige Parser kompiliert, eingesetzt werden.
 

Last Update : June 14, 2002