Winfried Gödert / Klaus Lepsky Theorie und Praxis der Automatischen Indexierung Stand: Oktober 2008 Theorie und Praxis der automatischen Indexierung Inhalt 1 Zielsetzung 3 2 Erstellen einer Midos2000-Datenbank 3 3 Automatische Indexierung und Information Retrieval 4 4 Automatische Schlagwortvergabe mit Midos2000 7 5 Die automatische Indexierung lingo 9 6 Installation von lingo 9 7 Grundformerkennung 10 8 Lingo-Konfiguration 12 9 Musterersetzung 14 10 Kompositumerkennung 15 11 Wörterbuchkonzepte, Wörterbuchpflege, Workflow der Automatischen Indexierung 16 12 Übernahme der Indexierungsergebnisse 17 13 Erkennung von Mehrwortgruppen 19 14 Relationierung von Synonymen 21 15 Gewichtung von Indextermen 22 16 Einsatzmöglichkeiten und Systemgrenzen 23 17 Erweiterungen des Systems 24 18 Lernerfolg 24 19 Literatur 24 2 Theorie und Praxis der automatischen Indexierung 1 Zielsetzung Ziel des Laborpraktikums „Theorie und Praxis der Automatischen Indexierung“ ist die Vermittlung grundlegender theoretischer Kenntnisse und praktischer Fertigkeiten im Umgang mit Verfahren zur automatischen Indexierung. Ein thematischer Schwerpunkt ist dabei auch die Beziehung zwischen intellektueller Inhaltserschließung und automatischer Indexierung. Anhand einer typischen Aufgabenstellung aus der Praxis – der automatischen Indexierung von bibliografischen Daten für eine Retrievalanwendung – wird mit Standard-Software eine möglichst praxisnahe Umgebung nachgebildet. Für die Aufgabenstellungen werden Lösungswege aufgezeigt und praktisch durchgeführt, die das Verständnis für Zusammenhänge zwischen Datenhaltung, Datenaustausch, Indexierung und Retrieval unterstützen. 2 Erstellen einer Midos2000-Datenbank Zu Beginn der praktischen Laborübung wird eine eigene bibliografische Datenbank aufgebaut. Als Werkzeug wird das Datenbanksystem Midos20001 verwendet, dessen Vorzug gegenüber vergleichbaren Produkten (z.B. allegro-c, Lars, Faust etc.) in seiner durchweg sehr hohen Transparenz liegt, d.h. Manipulationen an der Konfiguration der Datenbank sind sehr leicht möglich und dabei direkt im Ergebnis zu betrachten, wobei Midos nicht (wie etwa allegro-c) des Erlernens einer systemeigenen Sprache zur Parametrierung bedarf. Dadurch kann ohne lange Einarbeitungsphase direkt begonnen werden. Aufgabe Richten Sie mit Midos2000 die Datenbank-Arbeitsumgebung ein. Wandeln Sie dazu mit einem geeigneten Editor (z.B. Vedit) die zur Verfügung gestellten Rohdaten (http://www.iws.fh-koeln.de/institut/personen/lepsky/solis-rohdaten.zip) in Daten im MidosInternformat um. Beispieldatensatz im Midos-Internformat: ID:19830106984 TI:Wirtschaftsethik in den USA: Bericht ueber eine Studienreise. ME:beschreibend; Dokumentation; Interview LA:Deutsch DN:19830106984 CT:Nordamerika; Ethik; Wirtschaft; USA; Management; Unternehmenspolitik; Sozialethik; Wirtschaftssystem; Wertsystem; Wertorientierung; Moral CC:*30100; 10205; 10902 AB:Waehrend einer dreimonatigen Studienreise informierte sich der Verf. ueber die Beschaeftigung mit wirtschaftsethischen Fragestellungen in den USA; dabei fuehrte er ca. 70 Einzelgespraeche in universitaeren und ausseruniversitaeren Institutionen und nahm an Arbeitstagungen und Sitzungen teil. Den Hintergrund fuer das besondere Interesse des Verf. fuer die amerikanischen Bemuehungen im Problemfeld "business ethics" bildeten Plaene fuer eine Forschungsstelle fuer Wirtschaftsethik an der Hochschule St. Gallen fuer Wirtschafts- und Sozialwissenschaften. Der vorliegende Bericht beschreibt die gegenwaertige (1982/1983) Verbreitung der Ueberlegungen und Aktivitaeten zur Wirtschaftsethik (rapide Ausbreitung des Interesses waehrend der letzten Jahre), die Entstehungsgruende fuer die neue Forschungsrichtung und die breite Palette der haeufig zu hoerenden Einwaende. Ein ausfuehrlicheres Kapitel des Berichtes diskutiert im einzelnen den Gegenstandsbereich der Wirtschaftsethik (Verstaendnis der Wirtschaftsethik in den Universitaeten, Aktivitaeten im ausseruniversitaeren Bereich). Aus der Darstellung zieht der Verf. vier Schlussfolgerungen fuer die Entwicklung der St. Gallener Forschungsstelle. Ein laengerer Materialien-Anhang informiert ueber wichtige amerikanische Institute und Projekte im Forschungsfeld "business ethics". (JL) 1 Eine Demoversion (für die Zwecke des Laborprakikums ausreichend) von Midos2000 kann unter http://www.progris.de heruntergeladen werden. 3 Theorie und Praxis der automatischen Indexierung &&& Wichtig: jeder Datensatz muss mit drei kaufmännischen „&“ abschließen, zwischen Kategoriennummer und –inhalt darf kein Leerzeichen stehen und die fertige Textdatei muss in eine Datei mit der Kennung „.dbm“ umbenannt werden. Berücksichtigen Sie für die Anpassung der Rohdaten an das Midos-Format neben der Struktur der Daten auch den Zeichensatz, in dem sie vorliegen. Es empfiehlt sich, die neu erstellte Midos-Datenbank in einem eigenen neuen Verzeichnis unterhalb Ihres eigenen Verzeichnisses zu sichern. Über den Menüpunkt "Datenbank öffnen", "Midos-Datei über Dateimenü" kann die so hergestellte Midos-Datenbank mit Midos2000 geöffnet und verwendet werden. 3 Automatische Indexierung und Information Retrieval Unter automatischer Indexierung wird hier die Fähigkeit verstanden, aus elektronisch vorliegenden textbasierten Dokumenten geeignete Indexterme für ein Information Retrieval zu extrahieren. Im Gegensatz zur reinen Volltextindexierung, bei der jede Zeichenkette als Indexterm verwendet wird, erfolgt während einer automatischen Indexierung eine linguistische und in Teilen auch semantische Überarbeitung der Terme, bevor diese in den Index geschrieben werden. Der Effekt einer automatischen Indexierung hinsichtlich des Retrievals liegt vor allem in einer signifikanten Erhöhung des Recalls, d.h. der Zahl der gefundenen relevanten Dokumente in der Suche.2 Bewirkt wird dies durch die sprachliche Zusammenführung grammatikalisch unterschiedlicher Wortformen im Dokumenttext. So verhindert etwa die Verschiedenheit von Singular- und Pluralformen von Substantiven eine einfache Suche nach allen Dokumenten mit entweder nur der Singular- oder nur der Pluralform eines bestimmten Substantivs: die Suche nach „Sprache“ findet keine Dokumente mit dem Term „Sprachen“ (und umgekehrt), darüber hinaus ebenfalls nicht die Dokumente mit „sprachlich“, „Sprachphilosophie“ oder „Fremdsprachen“. Im Deutschen ist die Zahl der möglichen Varianten für einen eingegebenen Suchbegriff durch die Kompositumbildung deutlich höher als z.B. im Englischen. Vereinfacht ausgedrückt bedeutet dies, dass sich Hinweise auf sinnvolle Indexterme nicht nur am Anfang einer Zeichenkette befinden können sondern ebenso gut am Ende oder in der Mitte. Die für eine automatische Indexierung benötigte Funktionalität muss daher über die reine Fähigkeit zur Grundformreduktion (Lemmatisierung) deutlich hinausgehen: 2 Lepsky, K., J. Siepmann u. A. Zimmermann: Automatische Indexierung für Online-Kataloge: Ergebnisse eines Retrievaltests. In: Zeitschrift für Bibliothekswesen und Bibliographie. 43(1996) H.1, S.47-56. 4 Theorie und Praxis der automatischen Indexierung Die Beispiele verdeutlichen, dass bereits die Rückführung von Plural- auf Singularformen im Deutschen nicht trivial ist, denn die Unregelmäßigkeit der Pluralbildung kann auch zu Veränderungen im Wortstamm führen, es entstehen bereits ab dem zweiten Buchstaben zwei verschiedene Zeichenketten. Anders als im Englischen, für das es stabil arbeitende Regelwerke für das sog. Stemming gibt, ist es daher für das Deutsche üblich, für eine automatische Indexierung umfangreiche Lexika einzusetzen. Die Wortableitung, d.h. die Überführung eines Wortes in eine andere Wortklasse – hier vom Adjektiv auf das Substantiv – erlaubt die Bereitstellung von Indextermen in der bevorzugten grammatikalischen Form, für das Retrieval in der Regel die substantivische Form. Dies ist insbesondere deshalb von Bedeutung, weil es im Deutschen grundsätzlich möglich ist, eine Aussage in drei inhaltsgleichen aber grammatikalisch stark unterschiedlichen Varianten zu treffen: „Aufschwung der Wirtschaft“ (Wortfolge von Substantiven), „Wirtschaftsaufschwung“ (Kompositum) und „wirtschaftlicher Aufschwung“ (Adjektiv-Substantiv-Verbindung) sind als inhaltsgleiche Aussagen in Texten austauschbar, führen allerdings zu deutlich verschiedenen Indextermen. Durch die Wortableitung wird die Adjektiv-Substantiv-Verbindung inhaltlich identisch mit der Substantiv-Wortfolge („wirtschaftlicher Aufschwung“ -> „wirtschaft“, „aufschwung“). Durch die Kompositumzerlegung wird das Kompositum auf der Ebene der Indexterme identisch mit der Substantiv-Wortfolge („Wirtschaftsaufschwung -> „wirtschaft“, „aufschwung“), sprachlich wird also zusammengeführt. Die Identifizierung von Komposita ist für die Zwecke der Indextermgenerierung unabdingbar, technisch allerdings nicht einfach zu realisieren, weil mit der Länge der zu identifizierenden Zeichenketten auch die Chancen für Fehlidentifikationen steigen. Mehrdeutigkeiten wie z.B. eine Zerlegung von „Verbrechen“ oder „Wirtschaft“ lassen sich durch Lexikalisierung abfangen, generell fehlerfrei wird eine Zerlegung jedoch nicht arbeiten können, weil es nicht möglich (und auch nicht sinnvoll) ist, die Gesamtheit der Komposita im Deutschen zu lexikalisieren. Insgesamt überwiegt jedoch eindeutig der Nutzen der Zerlegung für die Indextermgenerierung. 5 Theorie und Praxis der automatischen Indexierung Neben den grammatikalisch bedingten sprachlichen Problemen beim Information Retrieval sind die Probleme auf der Bedeutungsebene mindestens in gleichem Maße verantwortlich für zu geringen Recall. Ursache ist in erster Linie die Synonymie, d.h. die Existenz verschiedener gleichwertig zu benutzender Benennungen für einen Sachverhalt: eine Suche mit „Müllbeseitigung“ findet keine Dokumente mit „Abfallbeseitigung“, „Müllentsorgung“ oder „Hausmüllentsorgung“.: Das bewährte Instrument zur Vermeidung dieser Problematik ist natürlich eine intellektuelle Erschließung, die über die Zuteilung einer Vorzugsbenennung zum Dokument und die damit verbundenen Verweisungen garantiert, dass unabhängig vom gewählten Suchbegriff immer alle Literatur zum Thema gefunden wird. Für das Information Retrieval in nicht erschlossenen Dokumentkollektionen besteht alternativ nur die Möglichkeit, eine Suche mit allen synonymen Varianten als boolesches ODER abzuschicken – praktiziert höchstens von Profis. Falls ein terminologisch kontrolliertes Vokabular existiert und genutzt werden kann, ist es möglich, Synonymbeziehungen (theoretisch auch andere Relationen) in eine automatische Indexierung einzubinden. Dies kann in der einfachsten Variante so erfolgen, dass die Indexierung zu einem potenziellen Indexterm alle bekannten Synonyme als zusätzliche Indexterme generiert. Es ist dann unerheblich, mit welchem Term gesucht wird, alle Dokumente verfügen über alle Indexterme einer Äquivalenzklasse. Da synonyme Wortformen nicht nur als Einzelbegriffe sondern auch als Mehrwortbegriffe vorkommen („Bayerische Motorenwerke“, „BMW“), ist es für eine umfassende Relationierung erforderlich, dass die automatische Indexierung über Mechanismen zur Erkennung von Mehrwortgruppen verfügt. Dies kann durch Lexikalisierung gelöst werden, wobei dann Mechanismen greifen müssen, die die Unregelmäßigkeit innerhalb der Mehrwortgruppe abfangen („den Bayerischen Motorenwerken“). Dies kann aber auch durch regelbasierte Ansätze geschehen, wobei nach erfolgter Grundformreduktion Muster von Wortfolgen analysiert und extrahiert werden, z.B. also alle identifizierten Folgen von Adjektiv und Sub6 Theorie und Praxis der automatischen Indexierung stantiv. Der Vorteil dieses Verfahrens ist natürlich, dass auch nicht lexikalisierte Mehrwortgruppen gefunden werden. Nachteilig kann sein, dass auch nichtssagende Gruppen extrahiert werden („blauer Himmel“). Der Nutzen einer Erkennung von Mehrwortgruppen lässt sich beim Vorhandensein entsprechender Vokabularien auf die Identifizierung von z.B. Eigennamen ausweiten: Im Überblick stellt sich die sinnvolle Funktionalität einer linguistisch basierten automatischen Indexierung des Deutschen für eine deutliche Verbesserung des Retrievalerfolgs damit wie folgt dar: Erzeugung von grammatikalischen Grundformen: Informationen Information Zerlegung von Komposita: Informationserschließung Information, Erschließung Bildung von Wortableitungen (bevorzugt adjektivische auf substantivische Form): technisch Technik Erkennen von Mehrwortgruppen, festen Wendungen: „objektorientierte Datenbank“ „Joseph Weizenbaum“ Datenbank, objektorientiert Weizenbaum, Joseph Relationierung von Synonymen (bzw. hierarchischen Beziehungen) elektronische Datenverarbeitung EDV 4 Automatische Schlagwortvergabe mit Midos2000 Midos2000 verfügt über eine Funktionalität, die unter dem Namen „Automatische Verschlagwortung“ einen Abgleich von Inhalten von Datenbanken mit zur Verfügung stehenden Erschließungsvokabularen (kontrolliertem Vokabular) ermöglicht. Benötigt wird dazu eine Datei, Midos nennt diese „Positivliste“, in der Synonyme und Vorzugsbenennungen in einer vorgegeben Form erfasst sind. Aus dieser Grunddatei muss zunächst eine sog. Indexdatei erzeugt werden, die Midos anschließend für den Abgleich verwenden kann. Midos2000 beschreibt die Funktion „Autoschlagwort“ so: „Das Programm durchsucht bereits erfasste oder importierte Textfelder wie Titel oder Abstract nach Einträgen von max 2 Positivlisten, die jeweils beliebig groß sein können. 7 Theorie und Praxis der automatischen Indexierung Dabei werden Wortreihen bis zu 5 Wörter mit einer einstellbaren Wortlängenänderung analysiert. Wahlweise werden Plural-Singular-Umformungen und speziell für das deutsche Vokabular Kompositazerlegungen durchgeführt. Das Ergebnis wird nach doppelten Einträgen geprüft und wahlweise sortiert in einem Zielfeld zur Verfügung gestellt. Existierende Einträge des Zielfeldes werden in die Dopplungsprüfung einbezogen. Zur schnellen Wortanalyse mit einem beliebig großen Basisvokabular müssen die Positivlisten vom Format MIDOS-INDEX (WTX) sein. Zur Bearbeitung müssen diese Dateien in Textdateien umgeformt werden. Funktionen zur Bearbeitung sind im MIDOS-Editor > Optionen > AutoSchlagwort enthalten. Physischer Aufbau der WTX-Datei (zur Erläuterung der "Anzeige"-Funktion): streng alphabetisch sortiert Aufbau eines Eintrages: DESKRIPTOR oder SYNONYM => DESKRIPTOR oder SYNONYM => DESKRIPTOR¡DESKRIPTOR2¡... (für Deskriptorkombinationen) Wenn Synonyme gefunden werden, dann werden die entsprechenden Deskriptoren gespeichert.“3 Für die Zwecke des Laborpraktikums steht eine Synonymdatei auf der Basis des Thesaurus Sozialwissenschaften im definierten Format bereits zum download bereit (http://www.iws.fhkoeln.de/institut/personen/lepsky/thessoz-midos.txt.zip). Diese hat folgendes Format: Abbauwürdigkeit;Bauwürdigkeit Abbiegestreifen;Abbiegespur Abbiegewerkzeug;Biegewerkzeug Abbild*Gottes;Gottebenbildlichkeit Jede Zeile beginnt mit der Vorzugsbenennung, durch Semikolon abgetrennt sind Synonyme (in diesem Fall jeweils nur eins), alle Leerzeichen (bei Mehrwortbegriffen) sind durch * ersetzt. Um diese Wortliste in ein von Midos für Indexierungszwecke zu nutzendes Format zu bringen, ist im „Datenbankeditor“ (der Datenbankeditor ist über "Bearbeiten", "Datensatz ändern“ erreichbar) unter „Optionen“ und „AutoSchlagwort“ zunächst eine Konvertierung in das Midos-Indexformat (wtx) durchzuführen. Dazu steht unter „Format“ eine Konvertierfunktion txt -> wtx zur Verfügung. Die nun entstandene Indexdatei kann nun für die Funktion „Automatische Schlagwortvergabe" unter „Bearbeiten" (IM HAUPTMENUE), „Weitere Extras" verwendet werden. Zur Automatischen Schlagwortvergabe ist der Name der Quelldatei, ein idealerweise neuer Name für eine Zieldatei und der Name der zuvor erzeugten Positivliste einzutragen. Damit die aus den ausgewählten Kategorien erzeugten Indexterme abgelegt werden können, muss eine Zielkategorie angegeben werden, die ggf. zuvor in der Datenbeschreibung zu ergänzen ist. Weitere Optionen zur sprachlichen Vorverarbeitung der Quelldaten sind über die Checkboxen des Dialogs konfigurierbar. Aufgabe Führen Sie eine automatische Verschlagwortung mit Midos2000 für ihre Dokumentkollektion durch. Wählen Sie zuvor die für eine solche Funktion geeigneten Kategorien der Datenbank aus, d.h. also diejenigen Kategorien, die thematische bzw. inhaltliche Merkmale enthalten. Aufgabe Analysieren Sie die von Midos2000 erzeugten Ergebnisse und versuchen Sie, mögliche Vor- und Nachteile für das Retrieval zu untersuchen. 3 Midos2000-Programmbeschreibung 8 Theorie und Praxis der automatischen Indexierung 5 Die automatische Indexierung lingo Lingo4 bezieht sich auf eine Indexierungsidee des open source-Systems FREELING5, das eine linguistische Indexierung des Spanischen, Katalanischen und Englischen leistet. Der in FREELING verfolgte Ansatz, die Grundformidentifizierung bzw. -reduktion mit einem Grundformenwörterbuch und einer zugehörigen einfachen Suffixliste zu realisieren, wurde für lingo und damit für das Deutsche übernommen. Jedoch wurden für lingo zusätzlich eine algorithmische Kompositumzerlegung, eine lexikalische und algorithmische Mehrworterkennung und eine allgemeine lexikalische Relationierung realisiert. Lingo ist vollständig in der Programmiersprache ruby6 programmiert ist, alle Programme haben die Dateienkennung „.rb“ und sind, eine installierte Version von ruby vorausgesetzt, auf der Kommandozeile ausführbar. Da lingo v.a. für Forschung und Lehre eingesetzt wird, wurde bei der Entwicklung großer Wert auf die Transparenz des Programms und seiner Bestandteile sowie auf die Transparenz der Programmabläufe bei einer Indexierung gelegt. Alle Funktionen des Systems sind nahezu vollständig konfigurierbar, damit für eigene Einsatzzwecke leicht anzupassen. Als wörterbuchbasiertes linguistisches System ist lingo von den verfügbaren und eingebundenen elektronischen Wörterbüchern direkt abhängig. Lingo-Wörterbücher sind als Quelltext reine Textfiles, die mit jedem Editor bearbeitet werden können. Für die Verarbeitung durch lingo werden aus den Wörterbuchquellen Datenbanken (sdbm) generiert. Das für lingo aufgebaute Systemwörterbuch basiert auf Terminologie, die aus Einträgen aus dem Grundwörterbuch von MORPHY7 und dem deutschsprachigen MySpell-Lexikon8 stammt. Lingo überprüft vor jedem Programmaufruf, ob die Wörterbuchdatenbanken aufgebaut sind oder seit dem letzten Aufruf verändert wurden und baut diese bei Bedarf selbstständig neu auf. Falls ein völliger Neuaufbau erforderlich ist, verlängert dies den ersten Indexierungslauf entsprechend. Die generierten Datenbanken werden im Verzeichnis „\lingo\de\store“ als jeweils zusammengehörende *.dir und *.pagDatei abgelegt. 6 Installation von lingo Verwendet wird für das Laborpraktikum eine speziell konfigurierte Version von lingo (http://www.iws.fh-koeln.de/institut/personen/lepsky/lingo-lp.zip), die sich in einer Archivdatei befindet und lediglich durch Entpacken in ein Verzeichnis unterhalb des eigenen installiert wird. Nach der Installation von lingo gibt es folgende Verzeichnisstruktur: eigenes_unterverzeichnis\lingo gurationsdateien das Hauptverzeichnis mit dem lingo-Programm und den Konfi- eigenes_unterverzeichnis \lingo\de aufgebaut werden Quellen (Textdateien), aus denen die Wörterbuch-Datenbanken eigenes_unterverzeichnis \lingo\de\store riert) Wörterbuch-Datenbanken (von lingo automatisch gene- eigenes_unterverzeichnis \lingo\lib Verzeichnis mit den Programmdateien eigenes_unterverzeichnis \lingo\txt erzeugten Ergebnisse Verzeichnis für die zu bearbeitenden Daten und die von lingo Ein System zur automatischen Indexierung ist keine pflegeleichte, intuitiv zu bedienende Anwendung. Die Programmabläufe werden über die Kommandozeile gestartet, die Konfigurationsdateien müssen als reine Textfiles editiert werden und die Ergebnisdateien der Indexierung sind wieder reine Textfiles. Für 4 5 6 7 8 http://www.lex-lingo.de http://garraf.epsevg.upc.es/freeling/ http://www.ruby-lang.org/de/ http://www.wolfganglezius.de/doku.php?id=public:cl:morphy http://wiki.services.openoffice.org/wiki/Dictionaries - German_.28Germany.2C_....29 9 Theorie und Praxis der automatischen Indexierung den erleichterten Umgang mit einer solchen Programmumgebung befindet sich auf den Laborrechnern das Tool „FreeCommander“, mit dem Dateien komfortabel kopiert, betrachtet und editiert werden können.9 7 Grundformerkennung Das Wörterbuchkonzept von lingo ist bewusst einfach gehalten, um eine leicht zu realisierende Möglichkeit für eigene Wörterbucherweiterungen zu bieten. Das Systemwörterbuch (lingo-dic) enthält ca. 60.000 Grundformeinträge in folgender Form: abbitte=abbitte #s häuten=häuten #v haut #s schreibung=schreibung #s oder allgemein: wortform=grundform1 #wortklasse1 (grundform2 #wortklasse2 etc.) Die Identifizierung einer Zeichenkette erfolgt über den Eintrag „wortform“ in Verbindung mit einer Suffixliste, die mögliche Endungen einer Grundform enthält und damit eine Erkennung von „wortform+endung“ erreicht. Dabei ist die Zuordnung der Suffixe zum Wörterbucheintrag wortklassenspezifisch, d.h. für die Erkennung von Substantiveinträgen werden nur die Substantiv-Suffixe zugelassen. In Verbindung mit dem o.g. Beispiel „Laie“ führt der Wörterbucheintrag „laie“ + Suffix „n“ zur korrekten Identifizierung der Pluralform „Laien“. Lingo schreibt im Falle der Identifizierung die Grundform bzw. Grundformen hinter dem Gleichheitszeichen des Wörterbucheintrags zusammen mit dem Kürzel 9 http://www.freecommander.com/de/index.htm 10 Theorie und Praxis der automatischen Indexierung für die Wortklasse in das Indexierungsergebnis. Über die Wortklassenkennung kann später eine Selektion der Ergebnisse erfolgen, so dass z.B. bestimmte Wortklassen gar nicht erst in das Indexierungsergebnis übernommen werden, weil sie als Indexterm evtl. weniger relevant sind (Verbinfinitive sind z.B. nur in Ausnahmefällen sinnvolle Suchbegriffe). lex:) lex:) lex:) lex:) lex:) lex:) *FILE('txt/test.txt') <Laien = [(laie/s)]> <indexieren = [(indexieren/s), (indexieren/v)]> <laienhaft = [(laienhaft/a)]> :./PUNC: *EOF('txt/test.txt') Lingo verfolgt auch in der Differenzierung von Wortklassen ein möglichst einfaches Konzept und unterscheidet lediglich die folgenden Wortklassen: Substantiv Adjektiv Verb Eigenname Kompositum Mehrwortbegriff Wortform Synonym Sequenz Hochfrequenzterm Takeitasis Unbekannt = = = = = = = = = = = = 's' 'a' 'v' 'e' 'k' 'm' 'w' 'y' 'q' 't' 'x' '?' Neben dem Systemwörterbuch für die Identifizierung gibt es ein bereits angelegtes BenutzerGrundformenwörterbuch (user-dic), in das neue Einträge (unbekannte Wörter) aufgenommen werden können; das Format entspricht dem des Systemwörterbuchs: Bibliografie=bibliografie #s Das Anlegen weiterer Benutzerwörterbücher ist problemlos möglich, deren Einbindung in die Indexierung wird über eine zentrale Konfigurationsdatei gesteuert. Die einfache Form des Wörterbucheintrags und der Verzicht auf eine stark differenzierende grammatikalische Spezifikation im System erlaubt die Erweiterung bzw. Überarbeitung von Wörterbüchern auch ohne vertiefte sprachliche Kenntnisse. Aufgabe Führen Sie eine automatische Indexierung der Midos2000-Daten mit lingo nach folgendem Ablaufschema durch: I. Analyse der Quelldaten Automatische Indexierung erfolgt mit dem Ziel, für eine thematische Suche geeignete Indexterme bereitzustellen. Dies bedeutet, dass alle Dokumentkategorien, die einen inhaltlichen Bezug zum Dokument haben, grundsätzlich für eine Indexierung in Frage kommen können. Vor der automatischen Indexierung sind daher die Quelldaten – d.h. die für die Indexierung verwendeten Datensätze – und deren Struktur (Kategorienschema) zu analysieren und die für die weitere Verarbeitung heranzuziehenden Kategorien auszuwählen. II. Erzeugen einer Exportdatei für die automatische Indexierung Für die Indexierung mit lingo wird ein definiertes Eingangsformat nach folgendem Muster benötigt: [00001.] 020: Testtitel im lingo-Eingangsformat 11 Theorie und Praxis der automatischen Indexierung allgemein: ID-DELIMITER1 Identnummer ID-DELIMITER2 KATEGORIENNUMMER1: Kategorieninhalt KATEGORIENNUMMER2: Kategorieninhalt etc. In Midos2000 erfolgt die Erstellung des Exportformats über die Funktion „Bearbeiten“ und die Definition eines „Ausgabeformats“. III. Indexierung der Quelldaten mit lingo Lingo benötigt für die Indexierung die Angabe einer Quelldatei – d.h. der zuvor erzeugten Exportdatei aus Midos2000 – sowie die Festlegung einer Konfiguration für die Indexierung (Standard: „lingo.cfg“, durch Kopieren und Editieren können eigene erzeugt werden). Eine Konfigurationsdatei muss sich im selben Verzeichnis befinden wie lingo (\lingo). Ein lingo-Indexierungslauf mit Standardeinstellungen kann im Programmverzeichnis „\lingo“ mit der „Eingabeaufforderung“ durch folgenden Befehl gestartet werden: lingo –c lingo.cfg txt/“Eingabedatei“.txt > txt/“Ergebnisdatei“.erg 8 Lingo-Konfiguration Eine lingo-Sitzung ist aufgebaut wie eine Besprechung mit mehreren Teilnehmern, die über eine Konfiguration „eingeladen“ werden. Die Fähigkeiten der eingeladenen Teilnehmer (attendees) bestimmen das Besprechungsergebnis, d.h. die Ergebnisse der Indexierung. Eine typische Konfiguration (entspricht der Standardkonfiguration „lingo.cfg“) für eine lingo-Sitzung sieht z.B. so aus: # # Lingo-Konfiguration # --meeting: attendees: # Text bereitstellen # Angegebene Datei zeilenweise einlesen und verarbeiten - textreader: { files: '$(files)' } # # - Inhalte verarbeiten Zeile in einzelnen Sinnbestandteile (Token) zerlegen tokenizer: { } # - Abkürzungen erkennen und auflösen abbreviator: { source: 'sys-abk' } # - Verbleibende Token im Wörterbuch suchen wordsearcher: { source: 'sys-dic', mode :'first' } # - # - dehyphenizer: # - { source: 'sys-dic' } { source: 'sys-dic' } Nicht erkannte Wörter auf Kompositum testen decomposer: { source: 'sys-dic' } # # # # # variator: - variator: { source: 'sys-dic' } Mehrwortgruppen im Strom erkennen multiworder: { stopper: 'PUNC,OTHR', source: 'sys-mul' } Wortsequenzen anhand von Regeln identifizieren sequencer: { stopper: 'PUNC,OTHR' } 12 Theorie und Praxis der automatischen Indexierung # # - Relationierungen einfügen synonymer: { skip: '?,t', source: 'sys-syn', out: syn } ######################################## # Datenstrom anzeigen - debugger: { eval: 'true', ceval: 'cmd!="EOL"', prompt: 'lex:) '} ######################################## # Ergebnisse ausgeben # Erstelle Datei mit Endung .non für nicht erkannte Wörter - noneword_filter: { in: syn } - textwriter: { ext: non, sep: "\n" } # - Erstelle Datei mit Endung .vec für erkannte Indexterme vector_filter: { in: syn, lexicals: '^[ksavem]$' } textwriter: { ext: vec, sep: "\n" } # Erstelle Datei mit Endung .ven für erkannte Indexterme mit absoluter Häufigkeit - vector_filter: { in: syn, lexicals: '^[ksavem]$', sort: 'term_abs' } - textwriter: { ext: ven, sep: "\n" } # # # Erstelle Datei mit Endung .ver für erkannte Indexterme mit relativer Häufigkeit - vector_filter: { in: syn, lexicals: '^[ksavem]$', sort: 'term_rel' } - textwriter: { ext: ver, sep: "\n" } # # # # # # # # # # # - Erstelle Datei mit Endung .mul für erkannte Mehrwortgruppen vector_filter: { in: syn, lexicals: m } textwriter: { ext: mul, sep: "\n" } Erstelle Datei mit Endung .seq für erkannte Wortsequenzen vector_filter: { in: syn, lexicals: q, sort: 'term_abs' } textwriter: { ext: seq, sep: "\n" } Erstelle Datei mit Endung .syn für erkannte Synonyme vector_filter: { in: syn, lexicals: y, sort: 'term_abs' } textwriter: { ext: syn, sep: "\n" } Der normale Ablauf einer lingo-Sitzung beginnt üblicherweise mit dem Teilnehmer textreader, der eine Quelldatei zeilenweise einliest und das Ergebnis den anderen Teilnehmern zur Verfügung stellt. Der textreader gibt die Zeilen in unserem Beispiel weiter an den tokenizer, der die Zeilen in Abhängigkeit von weiteren Konfigurationseinstellungen in einzelne token, d.h. Zeichenketten zerlegt – token sind das Ausgangsmaterial für die spätere Wortanalyse. Diese übernimmt der wordsearcher, der die ihm übergebenen token an den zugeschalteten Wörterbüchern überprüft und die Grundform ermittelt. Faktisch macht der wordsearcher aus Zeichenketten Wörter. Noch nicht erkannte Zeichenketten werden vom decomposer untersucht, der zunächst unterstellt, dass unbekannte Zeichenketten in Wirklichkeit Komposita sind, die aus bekannten Zeichenketten bestehen. Die beiden für Mehrwortbegriffe zuständigen attendees sequencer und multiworder untersuchen das bisherige Ergebnis lexikalisch und über Musterabgleich auf Syntagmen, der synonymer fügt lexikalisch bekannte Synonyme hinzu. Aus der so generierten Ergebnismenge werden durch den vector_filter die tatsächlich benötigten Ergebnisse herausgezogen, z.B. also alle Indexterme, die Substantiv sind. Der textwriter schließlich schreibt dieses Filterergebnis in eine Ausgabedatei und beendet die Sitzung. Lingo erzeugt als Indexierungsergebnis mehrere Dateien, in denen verschiedene Ergebnisse abgelegt werden (je nach Konfiguration werden nicht immer alle u.g. Dateien erzeugt): *.csv Ergebnisdatei für den Import in Midos (csv-Format=comma-seperated-values); enthält bei entsprechender Konfiguration Substantive (s), Adjektive (a), Verben (v), Eigennamen (e) und Mehrwortbegriffe (m); *.syn Ergebnisdatei für die Analyse; enthält nur Synonyme; 13 Theorie und Praxis der automatischen Indexierung *.mul Ergebnisdatei für die Analyse; enthält nur lexikalisch erzeugte Mehrwortbegriffe; *.seq Ergebnisdatei für die Analyse; enthält nur algorithmisch erzeugte Mehrwortbegriffe; *.non Datei aller nicht erkannten Wörter; kann ggf. für die Ergänzung der Wörterbücher genutzt werden *.erg Protokolldatei des Indexierungslaufs, v.a. interessant für die Fehleranalyse; wird vom debugger erzeugt. Alle Ausgabedateien sind konfigurierbar und werden durch Einträge in der Konfigurationsdatei gesteuert, z.B. erzeugt die Zeile textwriter: { in: synos, ext: syn, sep: „\n“ } durch den Aufruf des Programms (attendee) textwriter eine Datei, in die alle in der Indexierung erzeugten Synonyme eingehen („in: synos“) und in eine Datei mit der Endung „syn“ geschrieben werden („ext: syn“), in der hinter jedem Eintrag ein Zeilenvorschub erfolgt („sep: „\n““). Der Aufruf beliebiger weiterer textwriter-Läufe mit jeweils eigenem Output ist möglich. Aufgabe Analysieren Sie die Ergebnisdateien des ersten Indexierungslaufs hinsichtlich deren Aufbau, der enthaltenen Informationen über die Quelldaten und der nicht erkannten Wörter. Untersuchen Sie die durch Einbindung der Indexierungsergebnisse in das Retrieval möglichen Vorteile bzw. Nachteile für die Suche. 9 Musterersetzung Zunehmend werden Daten aus Digitalisierungsprozessen zu Inhalten von Information RetrievalLösungen. Obwohl die Qualität der Texterkennung inzwischen beachtlich ist, kommt es insb. bei älteren Vorlagen häufig noch immer zu zahlreichen Lesefehlern. Zur weitgehend automatischen Behebung dieser Lesefehler verfügt lingo über eine Korrekturfunktionalität, die lexikalisch nach möglichen korrekten Wortformen sucht, wenn sie auf unbekannte Zeichenketten trifft. Dabei bedient sich der sog. variator einfacher Austauschmuster für Zeichenketten, die dann in der variierten Form erneut am Wörterbuch abgeglichen werden. Solche Austauschmuster können z.B. so aussehen: variator: variations: - [ fch, sch ] - [ fp, sp ] - [ fl, st ] Die hier gezeigten Ersetzungsmuster ermöglichen dann z.B. folgende Identifizierungen: Flafche Wefpe Wefle - Flasche Wespe Weste Hintergrund dieser „f“-zu-„s“-Ersetzungen ist ein OCR-Ergebnis einer Vorlage mit älterer Typographie, die noch über ein sog. „langes s“ verfügt, dass vom OCR-Prozess häufig als „f“ erkannt wird. Lingo unterzieht im Indexierungslauf alle unbekannten Zeichenketten den Ersetzungen gemäß Variationsmustern (schrittweise in der angegebenen Reihenfolge) und überprüft das jeweilige Ergebnis im Wörterbuch. Bei erfolgreicher Identifizierung wird die Ersetzung durchgeführt. Im Kontext dieses Laborpraktikums kann der variator eingesetzt werden, um trotz aufgelöster Umlaute in der Textquelle korrekte Identifizierungen mit lingo zu erzielen. Dazu wurden die „variations“ in der sprachspezifischen Konfigurationsdatei „de.lang“ bereits angepasst. Aufgabe Ändern Sie die lingo-Konfiguration so, dass der variator für eine Umwandlung der aufgelösten Umlaute sorgt und führen Sie eine Neuindexierung durch. Analysieren Sie das Ergebnis, insb. auch für die Zerlegung von Komposita. 14 Theorie und Praxis der automatischen Indexierung 10 Kompositumerkennung Die Kompositumerkennung bzw. –zerlegung von lingo greift ebenfalls auf die Identifizierungswörterbücher zu und versucht unbekannte Zeichenketten dadurch zu erkennen, dass mögliche Kompositumbestandteile in den Wörterbüchern gesucht werden. Dabei wendet lingo eine einfache Strategie an: Falls eine Zeichenkette aus der Grundformerkennung als unbekannt hervorgeht, versucht lingo den von Rechts längstmöglichen Bestandteil (longest matching) in der Zeichenkette zu identifizieren: lex:) <Informationswirtschaft|KOM = [(informationswirtschaft/k), (information/s+), (wirtschaft/s+)]> Die Regel des longest matching verhindert, dass nicht zunächst das Substantiv „Schaft“ erkannt wird und vermeidet damit eine mögliche Überidentifizierung. Die Identifizierung des hinteren Teils eines Kompositums (des Kompositumkopfes) berücksichtigt dabei die wortklassenspezifischen Suffixmuster wie in der Grundformerkennung. Für die Erkennung des vorderen Teils eines Kompositums ist dies nicht möglich, weil für den ersten Teil des Kompositums andere Endungen möglich sind, die sog. Fugungen. Das Substantiv „Information“ kennt alleine stehend nicht die Endung „s“, diese bekommt es als Fugung nur im Kompositum. Aus diesem Grund wird für die Erkennung von vorderen Kompositumbestandteilen eine eigene Liste mit im Deutschen erlaubten Fugungen herangezogen. Dies ermöglicht im Beispiel die Identifizierung von „Information“ + Fugung „s“. Da ein Wörterbucheintrag eines Kompositums dessen Zerlegung verhindert – in die Kompositumzerlegung gelangen ja nur unbekannte Zeichenketten –, sind die in den ursprünglichen Wörterbuchquellen vorhandenen Komposita systematisch entfernt worden, um eine höhere Zerlegungsquote zu erreichen. Umgekehrt ist es natürlich einfach möglich, durch die Lexikalisierung von Komposita deren unerwünschte Zerlegung zu verhindern, z.B. wird die formal mögliche Zerlegung von „Wirtschaft“ in „Wirt“ und „Schaft“ durch den Grundformeintrag „Wirtschaft“ im Lexikon verhindert. Prinzipiell können erwünschte Zerlegungen jedoch auch durch Lexikalisierung erreicht werden, um z.B. eine Überzer15 Theorie und Praxis der automatischen Indexierung legung langer Komposita zu verhindern („Datenbankmanagementsystem“ statt in „Daten“, „Bank“, „Management“, „System“ nur in „Datenbank“ und „System“) oder eine vollständige, jedoch nicht gewünschte Zerlegung zu vermeiden („Wahnsinn“ statt in „Wahn“ und „Sinn“ nur in „Wahn“). Lexikalisierte Dekompositionen wären ähnlich zu behandeln wie Synonymrelationen und könnten im Wörterbuch folgende Form haben: Datenbankmanagementsystem=datenbank,system wahnsinn=wahn Grundsätzlich verfolgt lingo aber nicht den Ansatz, Komposita im Sinne einer korrekten Zerlegung mit ihren Zerlegungen systematisch zu lexikalisieren. 11 Wörterbuchkonzepte, Wörterbuchpflege, Workflow der Automatischen Indexierung Lingo ist als wörterbuchbasiertes Indexierungssystem von den verfügbaren und eingebundenen elektronischen Wörterbüchern direkt abhängig. Alle im Verzeichnis „\lingo\de“ bzw. seinen Unterverzeichnissen vorhandenen Wörterbücher werden für verschiedene Stufen des Indexierungsprozesses auch benötigt. Die Konfiguration der Wörterbücher, die lingo in einer Indexierung verwenden soll geschieht in der Sprach-Konfiguration „de.lang“. Dort werden den lingo-internen Wörterbuchnamen jeweils Wörterbuchquellen, also Textdateien, zugeordnet, aus denen lingo Wörterbücher generiert. Im Einzelnen sind dies die folgenden Wörterbücher (angegeben sind die Namen, die lingo intern verwendet; diesen entsprechen die Namen der einfachen Textdateien der Wörterbuchquellen, also z.B. „lingo-dic.txt = sysdic“; zugeordnet werden die Namen in der Konfigurationsdatei de.lang) sys-dic das Grundformen- bzw. Identifikationswörterbuch Deutsch; es enthält die Grundformen der deutschen Sprache und ist für die Grundformerzeugung der Wortformen sowie die algorithmische Kompositumzerlegung zuständig. Das sys-dic enthält so wenig Komposita wie möglich, um die Quote der zerlegbaren Komposita hoch zu halten. Dies kann zu Überidentifizierungen führen, d.h. zu morphologisch möglichen, semantisch aber unerwünschten Zerlegungen. In diesem Fall sind die nicht zu zerlegenden Komposita zu lexikalisieren (Beispiel: „Wirtschaft“, um die Zerlegung in „Wirt“ und „Schaft“ zu vermeiden). Einträge im sys-dic haben die Form: abbitte=abbitte #s häuten=häuten #v haut #s oder allgemein: wortform=grundform1 #wortklasse1 (grundform2 #wortklasse2 etc.) usr-dic das Benutzer-Grundformenwörterbuch, in das neue Einträge (unbekannte Wörter) aufgenommen werden können; das Format entspricht dem des sys-dic: bibliografie=bibliografie #s sys-syn das Synonymwörterbuch, in dem Synonymrelationen aus der Schlagwortnormdatei enthalten sind; Einträge von Synonym-Wörterbüchern haben die Form: abdominalchirurgie=bauchchirurgie eine Wortklassenkodierung kann entfallen, die Einträge bekommen bei der Generierung der Wörterbuch-Datenbank die Standard-Synonymwortklasse „#y“. sys-mul ein Mehrwortwörterbuch, das ausschließlich Mehrwortgruppen aus der Schlagwortnormdatei enthält; Einträge haben die Form: abfallrelevante datenbank Die Einträge werden beim Aufbau der Wörterbuch-Datenbank im ersten Wortlaut noch auf Grundform gebracht („abfallrelevant datenbank“), um eine Erkennung auch bei flektierten Varianten im Text zu ermöglichen. 16 Theorie und Praxis der automatischen Indexierung Lingo hat während der Indexierungsläufe nicht erkannte Wörter in einer Datei mit der Endung *.non abgelegt. Aufgabe Analysieren Sie die *.non-Datei im Hinblick auf eine mögliche Verbesserung des Indexierungsergebnisses durch eine Einbeziehung bislang unbekannter Wörter. Dazu müssen die neuen Einträge mit einem Texteditor (z.B. Vedit, SciTe) in das Benutzerwörterbuch (user-dic.txt) in der Grundform eingetragen und mit einer Wortklasse versehen werden. Binden Sie dieses Wörterbuch in die Indexierung ein und führen Sie eine erneute Indexierung unter Nutzung der Einträge im Benutzerwörterbuch durch und untersuchen Sie das Indexierungsergebnis. 12 Übernahme der Indexierungsergebnisse Für die Ausgabe der Indexterme verfügt lingo über flexible Konfigurationsmöglichkeiten. Die für die Ergebnisselektion und Ergebnisaufbereitung zuständigen Module „vector_filter“ und „textwriter“ erlauben eine freie Gestaltung von Ausgabedateien. So ist es z.B. möglich, die Ausgabe von Indextermen auf bestimmte Wortklassen zu beschränken (z.B. nur Substantive und Adjektive) oder unterschiedliche Wortklassen in getrennten Dateien auszugeben. Für die Verarbeitung von Quelldaten unterschiedlicher Formate stehen darüber hinaus zwei grundlegend verschiedene Grundkonfigurationen mit jeweils zugehörigen Ausgabekonfigurationen zur Verfügung. Lingo unterscheidet zwei Typen von zu indexierenden Daten: Einzeldokumente in Form von einzelnen Dateien, wobei immer eine Datei ein Dokument ist und Sammeldokumente in Form von großen Dokumenten mit einer Vielzahl einzelner Datensätze. Für Einzeldokumente, z.B. also viele Texte in einem Verzeichnis, generiert lingo.cfg als Standardausgabe einen sog Vektor, der alle Indexterme je Dokument in zu bestimmender Sortierung enthält. Für Sammeldokumente im Datenbankformat generiert lir.cfg eine Standardausgabe als comma-separated-file, um eine möglichst einfache Möglichkeit zu bieten, die Indexierungsergebnisse zu den ursprünglichen Daten hinzuzuspielen. Beispiel einer Quelldatei als Sammeldokument: [00001.] 020: Die Aufgabenteilung zwischen Wortschatz und Grammatik in einer Indexsprache. [00002.] 020: Nicht-konventionelle Thesaurusrelationen als Orientierungshilfen für Indexierung und Recherche: Analyse ausgewählter Beispiele. [00003.] 020: PRECIS: ein englisches Indexierungsverfahren für deutsche Bibliotheken?. ... Ergebnisdatei im comma-separated Format: 00001*aufgabe aufgabenteilung aufgeben einer grammatik index indexsprache sprache teilung wortschatz 00002*analyse ausgewählt beispiel hilfe indexierung konventionell nicht-konventionell orientierung orientierungshilfe recherche relation thesaurus thesaurusrelation 00003*verfahren bibliothek deutsch englisch indexierung indexierungsverfahren ... Beide Grundkonfigurationen können leicht erweitert und verändert werden und so speziellen Einsatzumgebungen angepasst werden. Die Ergebnisse der automatischen Indexierung mit lingo stehen erst dann für ein Retrieval zur Verfügung, wenn sie als zusätzliche Indexterme bei den Originaldokumenten abgelegt werden und so für einen Indexneuaufbau für die gesamte Kollektion verwendet werden können. 17 Theorie und Praxis der automatischen Indexierung Sprachtrennung (falls nötig) Quelldaten(-bank) IR-System Import in Datenbank / Selektion relevanter Kategorien IR-System Eingangsdaten Ergebnisdaten Indexierung Indexierung Automatische Indexierung Aufgabe Führen Sie gemäß folgendem Ablauf eine Übernahme der zuvor erzeugten Indexierungsergebnisse in die Midos2000-Datenbank durch. Nach der abschließenden Indexierung mit lingo liegt eine *.csv-Datei im sog. Komma-delimitedFormat vor, die als Quelldatei für einen Datenimport in Midos2000 verwendet werden kann. Die Datei hat allgemein das folgende Format: IDENTNUMMER*INDEXIERUNGSERGEBNISSE Jede Zeile der csv-Datei enthält also einen Datensatz mit zwei Kategorien, die durch den seperator „*“ voneinander getrennt sind. Kategorienbezeichnungen fehlen im csv-Format. Midos2000 ist in der Lage über „Datenbank“ und „Datei importieren“ eine csv-Datei in eine MidosDatenbank umzuwandeln. Dazu ist es wichtig, das csv-Format, d.h. das delimited-Format genauer zu spezifizieren (über „Einstellungen“). Unbedingt erforderlich ist die Angabe, in welche Felder die Inhalte der csv-Datei importiert werden sollen, z.B. also „ID;LI“. Geändert werden muss der voreingestellte Feldtrenner „;“ in den tatsächlich vorhandenen „*“. Nach dem Import stehen zwei Datenbanken zur Verfügung – die originale Datenbank und die importierte Datenbank mit den Indexierungsergebnissen –, die nun über das beiden gemeinsame Feld Identnummer „ID“ gemischt werden müssen, d.h. in einer neuen, dritten Datenbank zusammengespielt werden müssen. Ziel des Mischvorgangs ist eine Datenbank, die alle Indexierungsdaten zusammen mit den bibliografischen Daten der Datenbank enthält. Der Mischvorgang erfolgt über die Funktion „Job einrichten“ im Menü „Funktion“. Im Menü „Einzelprogramm“ findet sich die Funktion „Daten mischen“, die den Dialog MISCHDAT aufruft. Zweckmäßigerweise sollten beide zu mischenden Datenbanken im selben Verzeichnis liegen und im Hinblick auf die zusätzlich benötigte Kategorie (hier „LI“) sollte die Datenbeschreibung um diese Kategorie ergänzt werden. 18 Theorie und Praxis der automatischen Indexierung Dieser Dialog benötigt drei Parameter: Quelldatei 1, d.h. die Datenbank mit den bibliografischen Daten Quelldatei 2, d.h. die Datenbank, die alle Indexierungsergebnisse enthält Zieldatei, d.h. die Datenbank, die durch Mischen erzeugt werden soll Für den dritten Parameter sind nicht nur die Angaben von Pfad und Namen der neu zu erstellenden Datenbank anzugeben sondern auch die Information darüber, über welches Feld zusammengehörige Datensätze gemischt werden sollen, z.B. also das Feld „ID“. Der vollständige Befehl für den 3. Parameter lautet: „Pfad und Name der neuen Datenbank“ KEYFELD:ID multifeld copyall 13 Erkennung von Mehrwortgruppen Lingo kennt zwei Verfahren für die Erkennung von Mehrwortgruppen, die jeweils einen eigenen Nutzen haben. Die lexikalische Mehrworterkennung (der sog. multiworder) setzt auf einem Wörterbuch mit Mehrwortbegriffen auf, die algorithmische Mehrworterkennung analysiert die Abfolge von Wörtern in Sätzen hinsichtlich ihrer Wortklassen. Beide Ansätze gemeinsam ermöglichen eine weit reichende Erkennung von Mehrwortgruppen in Dokumenten für die Bereitstellung als Indexterme aber auch als Voraussetzung für z.B. die Relationierung von Synonymen (s.u.). Die lexikonbasierte Mehrworterkennung stützt sich auf ein oder mehrere Wörterbücher, in denen Mehrwortgruppen systematisch in folgender Form erfasst werden: abfallrelevante datenbank*abfallrelevante datenbank Beim Aufbau der Wörterbuch-Datenbank wird der erste Wortlaut (Eintrag vor dem *) durch eine lingoIndexierung zunächst auf die Grundform gebracht, um eine Erkennung auch bei flektierten Varianten im Text zu ermöglichen. Die Mehrworterkennung greift während der Indexierung also auf folgenden Wörterbucheintrag zu: abfallrelevant datenbank*abfallrelevante datenbank Dadurch werden die Varianten „abfallrelevante Datenbank“, „abfallrelevante Datenbanken“, „abfallrelevanten Datenbank“ und „abfallrelevanten Datenbanken“ korrekt identifiziert und der Indexterm „abfallrelevante Datenbank“ als Mehrwort-Grundform generiert. Der Nutzen einer Mehrworterkennung für das Information Retrieval ist in den meisten Indexierungskontexten als eher gering einzuschätzen, weil die gezielte Nutzung von Phrasen als Indexterme selten möglich bzw. sinnvoll ist. Anders ist dies, wenn eine Suche die Einbindung der Indexinhalte ausdrücklich unterstützt, mehrwortige Indexterme also für die Selektion verwendet werden können; dann lassen sich identifizierte und invertierte Mehrwortbegriffe zur Bedeutungsdifferenzierung im Index heranziehen: datenbank, datenbank, datenbank, datenbank, abfallrelevant objektorientiert relational volltext 2 35 128 23 Lingo unterstützt die Erstellung derartiger zusätzlicher Indexeinträge durch eine entsprechende Funktion zur Invertierung erkannter Mehrwortgruppen. Ergänzend zum wörterbuchgestützten multiworder identifiziert der sog. sequencer Kandidaten für Mehrwortgruppen in Texten auf der Basis der Abfolge von Wortklassen im Text. Ausgangspunkt ist die These, dass im Deutschen alle Folgen von z.B. Adjektiv-Substantiv potenzielle Mehrwortgruppen sind. Über eine Selektion aller Gruppen, die einer solchen Mustervorgabe entsprechen, erhält man Listen von 19 Theorie und Praxis der automatischen Indexierung dokument- bzw. kollektionsspezifischen Mehrwortgruppen Diese können wiederum Grundlage für die Pflege des eigenen Mehrwortlexikons sein, d.h. die Qualität der lexikonbasierten Mehrworterkennung vergrößern. Voraussetzung für den sequencer ist eine erfolgte Grundformreduktion, die erkannte Grundformen immer auch mit den zugehörigen Wortklassen versieht. Über eine Konfiguration (de.lang) können dem sequencer die Muster für den Wortklassenabgleich übergeben werden, der folgende Eintrag sequencer: sequences: [ [AS, "2, 1"], [AK, "2, 1"] ] extrahiert z.B. alle Wortfolgen aus „Adjektiv, Substantiv“ und „Adjektiv, Kompositum“ und invertiert die extrahierten Einträge. Besondere Bedeutung kommt der Erkennung von Mehrwortbegriffen für die Generierung von Synonymen zu, denn Einträge in Synonymwörterbüchern können durchaus Relationen des Typus zweites deutsches fernsehen*zdf enthalten, die nur über eine zuvor erfolgte lexikalische Mehrworterkennung zu nutzen sind. Mehrworterkennung Eingangsdaten ggf. intellektuelle Kontrolle/Selektion Indexierung Übernahme der Mehrwortgruppen in ein Indexierungswörterbuch Automatische Indexierung Ergebnisdaten Ergebnisse der Mehrwortanalyse Analyse der Ergebnisdaten auf Kandidaten für Mehrwortgruppen Indexierung Aufgabe Führen Sie einen Lauf zur algorithmischen Erkennung von Syntagmen für Ihre Daten durch und analysieren Sie das Ergebnis. Aufgabe Übernehmen Sie die nach Ihrer Ansicht „nützlichen“ Mehrwortgruppen in ein neues Benutzerwörterbuch und führen Sie nach dessen Einbindung einen neuen, lexikongestützten Indexierungslauf zur Mehrworterkennung durch. Aufgabe Übernehmen Sie die neuen Indexterme in die Midos2000-Datenbank. 20 Theorie und Praxis der automatischen Indexierung 14 Relationierung von Synonymen Die Zuordnung von Synonymen zu erkannten Grundformen wird über Synonymwörterbücher realisiert, die als Wörterbuchquelle zwei Typen zulassen: der Typus Äquivalenzklasse enthält Einträge in der Form Abschreibung;Steuerabschreibung;Wertverminderung lingo generiert daraus eine Datenbank, in der jeder Eintrag einer Äquivalenzklasse mit allen anderen Einträgen relationiert wird. der Typus einfache Relation enthält nur zweiseitige Einträge in der Form abdominalchirurgie*bauchchirurgie Eine Wortklassenkodierung kann für beide Typen entfallen, die Einträge bekommen bei der Generierung der Wörterbuch-Datenbank die Standard-Synonymwortklasse „#y“ vom System zugewiesen. Das mit dem System ausgelieferte Synonymwörterbuch „lingo-syn“ ist vom Typus „einfache Relation“ und enthält beispielhaft Synonymeinträge vom Typus einfache zweiseitige Relation, allerdings in der mitgelieferten Variante nur Synonyme mit dem Anfangsbuchstaben „A“.10 Für ernsthafte Anwendungen der automatischen Indexierung ist es daher zweckmäßig, evtl. vorhandene eigene kontrollierte Vokabularien („echte“ Thesauri) als lingo-Wörterbuch aufzubereiten und einzubinden. Der einfache Listencharakter der Synonymwörterbuchtypen und der Verzicht auf eine Wortklassenkennung kommen dem entgegen. Die Synonymrelationierung setzt auf erkannten Grundformen bzw. erkannten Komposita bzw. erkannten Mehrwortgruppen auf, d.h. es muss eine Beziehung zwischen den Einträgen im Grundformwörterbuch und im Synonymwörterbuch bestehen. Vorbereitend müssen daher unbekannte Wörter aus dem Synonymbestand lexikalisiert werden (für Komposita, deren Bestandteile bekannt sind, ist dies nicht nötig). Die eigentliche Relationierung der Synonyme im Indexierungslauf verlangt die Einbindung des sog. synonymer in die Konfiguration. Für die Zwecke des Laborpraktikums gibt es eine für lingo bereits aufbereitete Rohdatei mit Synonymrelationen (Äquivalenzklassen) aus dem Thesaurus Sozialwissenschaften (http://www.iws.fhkoeln.de/institut/personen/lepsky/thessoz-lingo.txt.zip). Zur Einbindung in die Indexierung ist diese Textdatei in der Konfigurationsdatei de.lang (und in der aktuellen cfg-Datei) als zu verwendendes Synonymwörterbuch (sys-syn) einzutragen. Das Format der zur Verfügung gestellten Textdatei ist „MultiValue“. 10 Die in „lingo-syn“ verwendeten Synonymrelationen stammen aus der Schlagwortnormdatei (SWD) und sind nur unvollständig intellektuell überarbeitet. 21 Theorie und Praxis der automatischen Indexierung Aufgabe Binden Sie die Synonyme aus dem Solis-Thesaurus in einen Indexierungslauf ein und führen Sie eine Neuindexierung durch. Übernehmen Sie die zusätzlich generierten Indexterme in Ihre Datenbank. 15 Gewichtung von Indextermen Lingo verfügt über umfangreich konfigurierbare Ausgabemöglichkeiten für die Indexierungsergebnisse. Aus dem kontinuierlichen Datenstrom aller erzeugten Indexterme können durch ein spezielles Modul, den „vector_filter“, spezielle Teilströme ausgefiltert werden, die in einzelnen Ergebnisdateien zur weiteren Nutzung im Retrieval-System abgelegt werden können. Während der Generierung der Ergebnisse kann mit lingo eine einfache Termgewichtung durchgeführt werden. Zur Verfügung stehen die einfache Termhäufigkeit (TF), d.h. die Häufigkeit eines Terms je Dokument, und die relative Termhäufigkeit (WDF), d.h. die Häufigkeit eines Terms in Relation zur Gesamtzahl der Terme eines Dokuments. Die Nutzung der Gewichtungswerte kann im Retrieval-System z.B. in Form eines Relevance-Rankings der Treffermenge erfolgen. Lingo erzeugt lediglich die dafür erforderlichen Termgewichte, für eine Nutzung dieser Gewichtungswerte sind weitere Vorkehrungen im Retrieval-System notwendig. Ein von lingo erzeugtes gewichtetes Ergebnis kann z.B. so aussehen: 66 erschließung 50 automatisch 38 bild 34 beschreibung 34 normierung 33 dokument 33 indexierung 26 form 26 retrieval 24 datei ... 22 Theorie und Praxis der automatischen Indexierung Die statistische Gewichtung der Indexterme erfolgt über die Angabe zusätzlicher Parameter für den vector-filter. Es können die einfache Termhäufigkeit (tf) und die relative Termhäufigkeit (wdf) ermittelt und gemeinsam mit dem Indexterm ausgegeben werden. So gibt der Befehl „sort: term_rel“ in der Zeile - vector_filter: { in: split, out: syns, lexicals: y, sort: term_rel } zu jedem ausgegebenen Synonym die relative Termhäufigkeit mit aus. Der Befehl „sort“ kennt insgesamt vier Ausgabemodi: term_abs term_rel sto_abs sto_rel erzeugt erzeugt erzeugt erzeugt Termhäufigkeit Indexterm relative Termhäufigkeit Indexterm Indexterm {Termhäufigkeit} Indexterm {relative Termhäufigkeit} Aufgabe Führen Sie jeweils eine lingo-Indexierung mit absoluter und relativer Termhäufigkeit durch und importieren Sie das Ergebnis in Midos2000. Aufgabe Analysieren Sie das Ergebnis der Gewichtung und erstellen Sie ein Konzept zur Nutzung der Gewichtungsergebnisse in einer Retrievalumgebung. 16 Einsatzmöglichkeiten und Systemgrenzen Als System für Forschung und Lehre verfolgt lingo primär die Ziele, eine automatische Indexierung im konkreten Einsatz unter Laborbedingungen zu ermöglichen sowie ein leicht erweiterbares System für den Einsatz in Projekten bereitzustellen. Im Laboreinsatz bewährt sich lingo bereits seit längerem, im Projekteinsatz wurde eine sehr aufwändige automatische Indexierung für das Reallexikon zur Deutschen Kunstgeschichte realisiert.11 Lingo übernimmt dabei die linguistischen Basisfunktionen, generiert also grammatikalisch normierte Indexterme, wird aber auch in größerem Umfang zur Identifizierung von Mehrwortgruppen verwendet, um anhand umfangreicher normierter Vokabulare Personennamen, Werktitel und Geografika zu identifizieren. Stabilität, Offenheit und Leistungsumfang des Systems ermöglichen auch einen Einsatz in Produktivumgebungen. Durch die derzeitige Beschränkung auf die Verarbeitung deutscher Sprache ist die Einbindung der lingo-Funktionalität zumindest für alle Retrieval-Umgebungen mit ausschließlich oder überwiegend deutschsprachigen Dokumentkollektionen sinnvoll. Der Nutzen einer solchen Indexierung ist als Recall-erhöhendes Instrument unbestritten, der technische wie administrative Aufwand für die Indexierung dabei vergleichsweise gering. Lingo stellt als Indexierungssystem keine Datenbank- oder Retrievalfunktionalität bereit, sorgt vielmehr auf der Datenseite für eine Verbesserung bereits vorhandener Funktionalitäten durch die Bereitstellung zusätzlicher, grammatikalisch normierter Indexterme. Dabei bleibt die linguistische Verarbeitung immer auf der sprachlichen Ebene, d.h. unterhalb der Semantik: eine semantische Differenzierung der Grundformen kann z.B. nicht erfolgen. Beispielsweise wird nicht zwischen "Schloss" (Schließvorrichtung) und "Schloss" (Gebäude) unterschieden, auch wenn dies auf Grund des Titelkontexts intellektuell natürlich möglich wäre. Die Nachteile einer linguistischen automatischen Indexierung sind gering, diese bestehen v.a. in der Möglichkeit einer sog. Überindexierung hervorgerufen durch potenzielle Mehrdeutigkeit eines Wortes im Quelltext; "Weinen" wird beispielsweise stets (wegen der Substantivierungsmöglichkeit auch im Satzinneren) auf "weinen" (Verb) und "Wein" (Substantiv) abgebildet. Ähnlich wie die nicht erwünschte Zerlegung von Eigennamen, die formal auch Kompositum sein können - „Silberstein“ in „Silber“ und „Stein“ - entstehen durch derartige „Fehler“ Indexterme, die im schlimmsten Fall für eine Verschlechterung der Präzision dadurch sorgen, dass eine Suche nach „Silber“ nun auch ein Dokument mit „Silberstein“ findet. Nach allen Erfahrungen und verschiedenen Retrievaltests besteht allerdings kein Grund, diesen Effekt überzubewerten. 11 http://www.rdk-web.de 23 Theorie und Praxis der automatischen Indexierung Die lingo-Indexierung kann eine intellektuelle Verschlagwortung, die den ganzen Dokumentinhalt für eine verdichtende Indexierung heranzieht, nicht ersetzen sondern nur ergänzen. Dass eine Kombination beider Verfahren die optimale Lösung darstellt, ist eine allgemeine Erkenntnis der Retrievalforschung. Umgekehrt haben alle Retrievaltests eindeutig belegt, dass eine linguistisch basierte Indexierung der "reinen" Stichwort-Wortformen-Indexierung (Vollinvertierung) in jeder Hinsicht überlegen ist. 17 Erweiterungen des Systems Durch seinen offenen und transparenten Aufbau ist lingo mit relativ einfachen Mitteln um weitere Funktionalitäten zu erweitern und hinsichtlich seiner Wörterbuchbasis beliebig auszubauen. Anpassungen für spezifische Einsatzumgebungen und Indexierungsziele, z.B. fachspezifische Datenkollektionen mit bereits vorhandenen Erschließungsterminologien, sind mit vertretbarem Aufwand zu realisieren. Auch die Ausweitung des Systems auf eine Indexierung weiterer Sprachen ist vergleichsweise wenig aufwändig. Die grundlegende lexikalische Arbeitsweise mit Grundformenwörterbüchern und Suffixlisten ist grundsätzlich auf weitere Sprachen übertragbar. Voraussetzung für die Implementierung zusätzlicher Sprachen ist lediglich das Vorhandensein einer Wörterbuchbasis mit Wortklassenkennungen. 18 Lernerfolg Nach Abschluss des Laborpraktikums sollten Sie mit den folgenden Begriffen etwas verbinden können: Lemma, Wortklasse, Grundform, Wortform, Dekomposition, Mehrworterkennung, Suffix, Wörterbuch, Termgewicht, Ranking, Termhäufigkeit 19 Literatur Vorlesungsskript Automatische Indexierung: http://www.iws.fh-koeln.de/institut/personen/lepsky/skript-3d-automatische-indexierung-linguistikstatistik-06.pdf Knorz, Gerhard: Automatische Indexierung. In: Wissensrepräsentation und Information-Retrieval. Universität Potsdam 1994. S. 138-198. Lepsky, Klaus; Vorhauer, John: Lingo – ein open source System zur Automatischen Indexierung deutschsprachiger Dokumente. In: ABI-Technik 26, 1/2006, S. 18-28. Lepsky, Klaus: Maschinelle Indexierung von Titelaufnahmen zur Verbesserung der sachlichen Erschließung in Online-Publikumskatalogen. Köln 1994. (Kölner Arbeiten zum Bibliotheks- und Dokumentationswesen; Heft 18) Lepsky, Klaus: Automatische Indexierung zur Erschließung deutschsprachiger Dokumente. In: nfd Information – Wissenschaft und Praxis. 50(1999), H. 6, S. 325-330. Nohr, Holger: Grundlagen der automatische Indexierung. Ein Lehrbuch. Berlin 2005. 24