skript-lp-ai

Werbung
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
Herunterladen