MILOS SX-Schnittstellen: Softex-Technologie in einer C-Bibliothek
Harald H. Zimmermann
Produktionformation MILOS SX-INTERFACE
Die linguistische Software von SOFTEX ist in Form der sogenannten SX-Schnittstellen von externen Nutzerprogrammen her aufrufbar. Dieses Dokument beschreibt in Kurzform die Verwendung und den Einsatz der benötigten MILOS SX-Funktionen. Alle Funktionen sind in C bzw. C++ programmiert; es existiert also innerhalb der SX-Bibliothek eine C-Schnittstelle.
Die C-Funktionen werden üblicherweise an geeigneten Stellen in Anwendersysteme (z.B. in Textverarbeitungssysteme, relationale oder objektorientierte Datenbanken) eingebunden. Zum Test der Funktionalität und zur Vertrautmachung werden zu allen Plattformen Test-Rahmensysteme bereitgestellt.
Zusätzlich besteht die Möglichkeit, die linguistische Software von SOFTEX in Form von Client-Server-Lösungen einzubeziehen.
Gegenwärtig sind die Lösungen für folgende Betriebssysteme ("Plattformen") verfügbar:
- DOS,
- MS-WINDOWS,
- UNIX (SCO, SUN-OS, X-Windows und OSF/MOTIF).
Die SX-Schnittstellen stehen in verschiedenen Komplexitätsstufen für den Einsatz im Rahmen von MILOS zur Verfügung:
- (einfache) SX-Schnittstellen
- (komplexe) HSX-Schnittstellen
- (einfache, kontextbasierte) SXK-Schnittstellen
- (komplexe, kontextbasierte) HSXK-Schnittstellen.
Alle vier Varianten sind dem externen Programm (Programmiererebene) zugänglich.
Die HSX-Schnittstellen kombinieren dabei mehrere SX-Schnittstellen und/oder bieten systemseitig vorbereitete Selektionsmöglichkeiten. Sie schließen im Lieferumfang die jeweilig benötigten SX-Schnittstellen ein.
SX- und HSX-Schnittstellen gehen bei der Kommunikation zwischen Anwendersystem von einer fest vereinbarten Übergabe (meist Einzelwort) aus, die komplett bearbeitet wird.
Bei den kontextbasierten SXK- bzw. HSXK-Schnittstellen wird als Übergabe ein Character-String zugrundegelegt (z.B. 2.000 Byte). Zusätzlich wird ein Kontextbegrenzer vereinbart (Satzende oder Absatzende). Der String wird bis zur Identifikation des ersten Zeichens dieser Art analysiert, bei der Rückgabe wird die letzte bearbeitete Position mit zurückgegeben. Damit ist eine segmentweise Verarbeitung möglich, wobei die Segmente über den Text "geschoben" werden.
Den einfachen SX-Schnittstellen liegen als inhaltliche Lösungen sog. Module zugrunde. Den HSX-Schnittstellen liegen mehrere SX-Schnittstellen und/oder mehrere Module zugrunde.
Technischer Hinweis: Die SX-Schnittstellen bilden die einzige "erlaubte" Übergabestelle zwischen Anwenderprogramm und der linguistischen Software von SOFTEX. Systemintern bilden die Module eine weitere (höhere) Ebene, die auf einer Funktionenbibliothek aufbaut (WBKORR genannt). Diese benutzt ggf. plattform-spezifische Routinen, v.a. Zugriffsroutinen zu den elektronischen Wörterbüchern.
Alle Module bilden eine Kombination aus Programmen (mit Regeln oder Regel-Interpretatoren) und lexikalischen Daten (elektronischen Wörterbüchern).
Die SOFTEX-Wörterbücher enthalten alle modulspezifischen, zur linguistischen Analyse notwendigen Informationen. Wörterbücher sind Dateien, die mit Hilfe einer SOFTEX-eigenen indexsequentiellen Zugriffsmethode bearbeitet werden. Die Wörterbücher enthalten neben den wortbezogenen Daten eine spezielle Dateiinformation, in der z.B. Angaben über Einträge, Größe und Wortlängen stehen. Das interne Format ermöglicht v.a. hohe Zugriffsgeschwindigkeiten und verfügt über eine komfortable Zeichenverarbeitung. Da in einer Applikation selten alle Angaben ("Kodierungen", Merkmale) benötigt werden, sind die Wörterbücher aus praktischen Gründen typisiert. Es gibt folgende wesentlichen Typen:
- Identifikationswörterbücher: Hierzu gehören die Rechtschreibwörterbücher und die Stopp- oder Selektionswörterbücher. (Auch die systematischen Semantik- und Morphologiewörterbücher sind hierher zu rechnen, doch werden diese bisher nur in Spezialanwendungen genutzt.)
- Äquivalenzwörterbücher: Hierzu rechnen die (zweisprachigen) Übersetzungswörterbücher, die Relationenwörterbücher und die Synonym- und Erklärungswörterbücher. Auf der Anwenderseite werden Informationen hierzu über eine einzige Darstellungsschnittstelle bereitgestellt; die Differenzierung ist hier nur "intern" von Bedeutung.
Funktionalität der SX-Schnittstellen
Die folgende Übersicht beschreibt den Umfang der Funktionalität der SX-Schnittstelle. Nicht jede der aufgeführten Funktionen ist unbedingt für MILOS nötig.
- Wortvortrennung
- Rechtschreibkontrolle
- Grundformenermittlung
- Zugriff zu Äquivalenzwörterbüchern (Übersetzungs-, Synonym- und Relationenwörterbücher)
- Trunkierung
- Thesauruszugriff
- Wörterbuchpflege/Ausnahmelistenpflege
SX_HYPHENALG: einzelwortbezogene, (rein) algorithmische Vortrennung (Modul PAST-A)
SX_HYPHENATE: einzelwortbezogene, lexikongestützte Vortrennung (Modul PAST-L)
SX_SPELLCHECK: einzelwortbezogene, lexikongestützte Rechtschreibkontrolle (Modul PARE)
HSX_SPELLCHECK: mehrwortbezogene, lexikongestützte Rechtschreibkontrolle (Modul PARE)
SX_GETLEMMA: einzelwortbezogene, lexikongestützte Grundformenermittlung (Modul PARE)
HSX_GETLEMMA: mehrwortbezogene Grundformermittlung und morphologische Relationierung (Modul PARE, SX_DITOOL bzw. HSX_DITOOL)
SX_DITOOL: Zugriff zu einem Wörterbuch
HSX_DITOOL: Zugriff zu bis zu 4 Wörterbüchern (mit Selektion / Blockierung)
SX_FLEX: einzelwortbezogene, lexikongestützte Flexionsformgenerierung
SX_TRUNC_L: einzelwortbezogene, lexikongestützte linguistische Trunkierung
SX_TRUNC_F: einzelwortbezogene, lexikongestützte formale Trunkierung
SX_TRUNC_D: einzelwortbezogene, lexikongestützte formale Derivation
SX_ALT_ENTRY: einzelwortbezogene, lexikongestützte Ermittlung von Alternativstämmen
SX_GET_STEM: Ermittlung der Informationen zu einem Stamm
SX_PLURAL: Ermittlung der Pluralform eines Stammes
HSX_TRUNC: parametrierte Kombination der einzelnen TRUNC-Funktionen
HSX_THES: Spezieller Thesauruszugriff (mit Selektionsmöglichkeiten)
Erläuterung zur Nutzung der einzelnen Schnittstellen und Module
Wortvortrennung (SX-Schnittstellen SX_HYPHENATE bzw. SX_HYPHENALG; Modul: PAST (SOFTEX-Warenzeichen)).
Es gibt zwei Möglichkeiten, ein Wort vorzutrennen: einmal in Verbindung mit dem Rechtschreibkontrollverfahren, wobei wörterbuchorientiert vorgetrennt wird (nur bekannte Wörter: Modul PAST-L), zum anderen rein algorithmisch, aber unter Verwendung einer Ausnahmeliste (alle Worteingaben: PAST-A). Die wörterbuchgestützte Trenninformation ist naturgemäß qualitativ hochwertiger als die algorithmische.
Die SX-Schnittstelle SX_HYPHENALG greift auf das Modul PAST zurück, die SX-Schnittstelle SX_HYPHENATE kombiniert die Module PARE und PAST, so daß identifizierte Wörter lexikalisch getrennt und der Rest algorithmisch getrennt werden.
SX_HYPHENALG ist auch bei der (nutzerseitigen) Pflege der Rechtschreibwörterbücher wichtig, da bei neuen Einträgen systemseitig ein Vorschlag gemacht werden kann.
In beiden Fällen werden "normale" Trennmarkierungen, sprachabhängige (z.B. "C-K-Trennungen) und sog. ästhetische Markierungen gesetzt.
Rechtschreibprüfung (SX-Schnittstelle SX_SPELL, Modul: PARE (SOFTEX-Warenzeichen))
Die Funktionen zur Rechtschreibkontrolle bieten die Möglichkeit, zu überprüfen, ob ein Wort korrekt geschrieben ist. Hierbei werden (mit der Einschränkung einer möglichen Über-Identifikation) Wörter auch dann identifiziert, wenn sie nicht explizit im elektronischen Wörterbuch stehen, aber über eine Zerlegung (Präfix, Suffix, Flexionsendung, Morphem) "gefunden" werden.
Bis zu einem gewissen Grade werden auch typische Fehler (soweit sie lexikalisiert, d.h. in Falschschreibung erfaßt und mit Verweis versehen sind) identifiziert und mit einem Korrekturvorschlag versehen (wissensbasierter Rechtschreibfehler).
Bei Identifikation werden die korrekten Vortrennungen festgelegt. Folgende Lösungen sind möglich:
- das Wort wurde gefunden;
- das Wort wurde nicht gefunden;
- ein Korrekturvorschlag für das Wort wurde gefunden.
Im letzten Falle wird weiter nach Fehlertypen differenziert.
- Groß/Klein-Fehler,
- Abkürzungspunkt fehlt
- "Dreher" (nach vorgegebener Liste, nur HSX_SPELL)
- - sonstiger Fehler.
Zusätzlich wird die Information zurückgegeben, daß es sich bei dem Wort um eine Abkürzungs- oder Kurzform handelt.
In den Fällen eins und drei wird die korrekte Trenninformation mit dem Wort zurückgegeben. Im Falle b) kann - soweit im Lieferumfang erworben - die algorithmische Trennung einbezogen werden.
Es gibt folgende Liefervarianten:
- SX_SPELL: einzelwortbezogene Kontrolle
- HSX_SPELL: Erkennung von Mehrwortbegriffen (bis zur Länge von 5 Wörtern); Erzeugung von Korrekturvorschlag über benutzerdefinierbare und lexikalisierte "Dreher".
Bei der Rechtschreibprüfung werden in beiden Varianten bis zu 3 Wörterbücher benutzt:
- Zuerst wird das sog. persönliche Wörterbuch durchsucht (ermöglicht
dem Benutzer, das Systemwörterbuch zu "überstimmen"),
- danach das Wort mit dem (systemseitig mitgelieferten) (Hochfrequenz-)
Wortformenbuch verglichen (ohne Zerlegung)
- und schließlich anhand des Systemwörterbuchs gesucht (analysiert).
Bei Verwendung von HSX_SPELL werden das Benutzerwörterbuch und das System-Wortformenbuch auf vorhandene Mehrwortbegriffe (Wortformenebene) überprüft. Dies erlaubt es - theoretisch -, Sonderschreibweisen und fremdsprachige Mehrwortbegriffe "abzufangen", die als Einzelwörter entweder fehlerhaft wären oder aber sinnlose Verbindungen ermöglichten: Beispiele: "ad absurdum", "in flagranti", "iM software gmbh". Mit HSX_SPELL lassen sich aber auch Falschschreibungen wie "in Bezug auf" (richtig: in bezug auf") ermitteln.
Zugriff zu den Äquivalenz-Wörterbüchern ("DITOOL")
Unter einem Äquivalenzwörterbuch werden alle Wörterbücher mit "Relationierungen" verstanden. Hierzu rechnen:
- das sog. Relationenwörterbuch (das u.a. auch als "Thesaurus"
i.S. von DIN 1463 verwendet werden kann),
- die Übersetzungswörterbücher,
- die Erläuterungs- und Synonymwörterbücher.
Neben den Wortrelationierungen und einer entsprechenden Typisierung enthalten sie Wortklassenangaben und ggf. Stilhinweise, Wortvariantenverweise, einen Kurzkontext.
Mit den Zugriffs-Routinen kann jedes Relationen-Wörterbuch durchsucht werden. Liegt zu einem Suchwort mehr als eine Relation vor bzw. gibt es zur gleichen Relation mehrere Äquivalente, so können diese "zyklisch" abgefragt werden.
Die Suche kann auch über direkte Positionierung als Blätterfunktion (GET FIRST, GET NEXT ...) genutzt werden.
Die Informationen können dem Benutzer alternativ in mehreren Oberflächen-Sprachen (Deutsch, Englisch, Französisch, auf Wunsch weitere möglich) präsentiert werden. Hierzu wird ein zusätzlicher Zugriff mitgeliefert (Zugriff zu "Punktmarkierungen").
Während die (einfache) Schnittstelle SX_DITOOL genau ein Wörterbuch anspricht, werden über die (komplexe) Schnittstelle HSX_DITOOL bis zu 4 Wörterbücher (in einer Session) verwaltet. Als eine Besonderheit ist hier zusätzlich die Möglichkeit gegeben, einen Systemeintrag benutzerseitig zu blockieren und auch über sog. "Frequenzmarkierungen" und "Fachgebietskennungen" zu selektieren.
Grundformermittlung (SX_GETLEMMA, HSX_GETLEMMA)
Aufgabe ist es, aus einem "Textwort" (einer Wortform) die sog. "Grundform" (als Repräsentanten aller flektierten Wortformen) zu ermitteln (Beispiele: Häusern à Haus; ging à gehen).
Bei (formaler) Mehrdeutigkeit werden ggf. mehrere Lösungen ermittelt.
Zusätzlich werden bei der (einfachen) Schnittstelle SX_GETLEMMA eine "Hauptwortklasse" und - soweit nicht lexikalisiert - auch Kompositum-Bestandteile (mit Segmentkennungen) ermittelt.
Bei der (komplexen) Schnittstelle HSX_GETLEMMA werden darüber hinaus auch in solchen Fällen, in denen ein Wort bereits als Kompositum lexikalisiert ist, die (sinnvollen) Teilwörter ermittelt. Hierzu wird (intern) die Funktionalität von DITOOL herangezogen.
HSX_GETLEMMA schließt zudem ein Verfahren zur Ermittlung von Mehrwortbegriffen ein, wie es in der (dateiorientierten) SOFTEX-Applikation IDX (automatisches Indexierungsverfahren) verwendet wird (vgl. die MILOS-Produktbeschreibung).
Nicht einbezogen sind bisher die Erkennung von diskontinuierlichen Elementen ("kam ... an" à ankommen) und die Ermittlung elidierter Teilwörter ("Haus- und Hofwirtschaft" à "Hauswirtschaft"). Diese Lösung liegt mit der sogen. kontextsensitiven SXK-Schnittstelle vor.
Trunkierung und Flexionsgenerierung (SX_TRUNC..., HSX_TRUNC)
Hierbei handelt es sich um ein "Bündel" von Funktionen, die wegen der unterschiedlichen Einsatzmöglichkeiten auch "einzeln" vertrieben werden. Die lexikalische Basis ist im wesentlichen die gleiche.
- SX_FLEX: Zu einem gegebenen Wortstamm werden alle in der entsprechenden Sprache möglichen Beugungen geliefert.
- SX_ALT_ENTRY: Zu einer Grundform (ermittelt über SX_GETLEMMA) werden die "Alternativstämme" geliefert, mit denen ggf. (über die Funktion SX_FLEX) die gesamten Flexionsformen generiert werden können.
- SX_GET STEM: Ermittlung der Informationen zu einem Stamm.
- SX_TRUNC_L: "Linguistisch basierte" Trunkierung.
- SX_TRUNC_F: "Formale Trunkierung".
- SX_TRUNC_D: "Derivative Trunkierung".
- SX_PLURAL: Ermittlung der Pluralform.
Da die Funktionen wörterbuchgestützt arbeiten, werden in der Kombination auch komplizierte Einträge (z.B.: Baum à Bäume) gefunden.
In der Hyper-SX-Schnittstelle HSX_TRUNC sind alle Funktionen "parametriert" und verknüpft, aber auch einzeln ansprechbar.
Thesaurusfunktion (HSX_THES)
Zu einer gegebenen Grundform werden alle im Relationenwörterbuch verzeichneten Relationierungen ausgegeben. Zu den Typen von Relationen rechnen Ober- und Unterbegriff, Synonym, aber auch die morphologischen Relationen. Die Relationierung kann bis zur "Tiefe" 9 auch kombiniert vorgenommen werden.
Es werden bis zu drei Wörterbücher gleichen Typs gleichzeitig angesprochen.
Pflegefunktionen für die Wörterbücher
Zu jeder Funktion wird eine passende Pflege-Funktionsschnittstelle geliefert. Diese erlaubt:
- das Löschen eines Eintrags,
- das Hinzufügen eines Eintrags.
Hierzu sind einige spezifische Kenntnisse bzgl. des Aufbaus eines Eintrags erforderlich (die der mitgelieferten Dokumentation entnommen werden können).
Für den DITOOL-Teilbereich werden zudem Pflegefunktionen für die sog. "Punktmarkierungen" mitgeliefert.
Zum Zugriff auf Benutzer-Wörterbücher können, je nach Absprache, Zugriffs-Funktionen der Schnittstelle, oder Stand-alone Programme von SOFTEX genutzt werden.
Soweit sich der Anwender von der Pflege entlasten will, genügen z.Z. folgende, von SOFTEX erstellte Applikationen:
UNIX-Plattform:
XWBTOOL: Systematische Pflege der Übersetzungs- und Relationenwörterbücher. Nur unter SCO-UNIX mit OSF-MOTIF.
Windows:
WBTOOLwin: Systematische Pflege der Übersetzungs- und Relationenwörterbücher unter MS-Windows.
Allgemeines
Das Interface unterstützt "re-entrancy". Dies wird erreicht, indem jeder aufgerufenen Funktion eine Datenstruktur vom Typ "SXINFO", in der alle globalen Variablen gehalten werden, übergeben wird. Diese Struktur wird vom rufenden Programm als ein Character-Pointer behandelt, so daß der Platz beim Funktionseintritt allokiert wird, und beim Funktionsende wieder freigegeben wird. Es können mehrere solcher SXINFO-Strukturen benutzt werden.
Die SOFTEX-Bibliothek ist betriebssystemabhängig. So müssen Schalter wie #define UNIX o.a. gesetzt werden, wenn dies vom Compiler nicht unterstützt wird.
Wenn der Spell-Checker initialisiert wird, werden 4 Dateien geöffnet. Diese bleiben während des gesamten Prozesses offen. Falls dies nicht möglich ist, kann die Rechtschreibkontrolle nicht durchgeführt werden.
Test-Programme
Um die Fähigkeiten der SX-Funktionen zu zeigen, sind Test-Routinen erhältlich. Auf den Disketten befinden sich jeweils das Test-Programm, die benötigten Wörterbücher und einige zusätzliche Dateien (Help, Menü., etc.). Die Test-Programme greifen auf verschiedene Wörterbuchtypen zu.
Test-Programme sind zur Zeit für folgende Umgebungen erhältlich:
- MS-DOS,
- MS-WINDOWS,
- UNIX (OSF/MOTIF und Zeichen-orientiert).
Adressen
SOFTEX Software-Institut für maschinelle Textbearbeitung GmbH, 66111 Saarbrücken, Schmollerstraße 31, Telefon 0681/93 66 3-0, Telefax 0681/93 66 3-21
Universitäts- und Landesbibliothek Düsseldorf, 40225 Düsseldorf, Universitätsstraße 1, Telefon 0211/81-12030, Telefax 0211/81-13054

| Universitäts- und Landesbibliothek | © 2008 Heinrich-Heine-Universität Düsseldorf | http://www.ub.uni-duesseldorf.de/home/en/ueber_uns/projekte/abgeschlossene_projekte/milos/mil_sx4329bf20> |



