Willkommen bei Lingo!

Lingo ist ein frei verfügbares System zur linguistisch und statistisch basierten automatischen Indexierung des Deutschen, des Englischen und des Russischen. Lingo arbeitet mit einem Wörterbuchmodell, das eine Grundformidentifizierung bzw. -reduktion mit einem Grundformenwörterbuch und einer zugehörigen einfachen Suffixliste realisiert. Lingo verfügt zusätzlich über eine algorithmische Kompositumzerlegung, eine algorithmische und lexikalische Mehrworterkennung sowie eine allgemeine lexikalische Relationierung. Lingo unterliegt der GNU Affero General Public License (AGPL).

Einen ersten Eindruck von der Funktionalität vermittelt Lingo Web:



Installation und erste Schritte


Das Indexierungssystem Lingo leistet eine Grundformidentifizierung bzw. Grundformreduktion mit einem Grundformenwörterbuch und einer zugehörigen einfachen Suffixliste. Zusätzlich wurden für Lingo eine algorithmische und eine lexikalische Mehrworterkennung sowie eine allgemeine lexikalische Relationierung von Termen realisiert. Neben diesen linguistischen Kernfunktionen ist es möglich, mit Lingo Termgewichte nach absoluter und relativer Auftretenshäufigkeit zu ermitteln.

Da Lingo primär 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 umfangreich konfigurierbar und damit für individuelle Einsatzzwecke leicht anzupassen.

Lingo ist in der Programmiersprache Ruby programmiert, benötigt eine Ruby-Umgebung Version 2.0 oder höher und lässt sich als RubyGem installieren (ausführliche Installationshinweise):

gem install lingo

Lingo verfügt über keine grafische Benutzeroberfläche. Sämtliche Programmabläufe werden über die Kommandozeile gestartet. Für die Arbeit mit Lingo kann man sich mit folgendem Befehl eine Arbeitsumgebung einrichten:

lingoctl demo lingo-work

Der Befehl kopiert alle benutzerspezifischen Dateien der Lingo-Installation in das neue Verzeichnis "lingo-work" (das auch anders genannt werden kann). Dieses Verzeichnis hat vier Unterverzeichnisse:
  • "config" enthält Konfigurationsdateien für Lingo
  • "dict" enthält alle Benutzerwörterbücher in sprachspezifischen Unterverzeichnissen
  • "lang" enthält die sprachspezifischen Konfigurationen
  • "txt" enthält die von Lingo zu indexierenden Dateien, u.a. Testdateien
Das System kann nun mit folgenden Funktionsaufrufen im Arbeitsverzeichnis "lingo-work" getestet werden:

lingo -c lingo.cfg txt/artikel.txt
Testet das System mit der Standardkonfiguration und dem Beispieltext deutsch.

lingo -c lir.cfg txt/lir.txt
Testet das System für die lir-Konfiguration.

lingo -c lingo.cfg -l en txt/artikel-en.txt
Testet das System für die englische Sprache.

Die Ergebnisse einer Lingo-Indexierung sind nicht im Kommandozeilen-Fenster zu sehen, sie werden in das Verzeichnis geschrieben, in dem sich die zu indexierende Datei befindet, hier in das Verzeichnis "txt".

Die Funktionen von Lingo werden jeweils von eigenen Programmmodulen (attendees) realisiert, die in einem Indexierungslauf (Lingo-Sitzung) hintereinander geschaltet sind und so aufeinander aufsetzen. Eine Lingo-Sitzung ist aufgebaut wie eine Besprechung mit mehreren Teilnehmern (attendees), die über eine Konfiguration eingeladen werden. Die Fähigkeiten der eingeladenen Teilnehmer bestimmen das Besprechungsergebnis, d. h. die Ergebnisse der Indexierung.

Als linguistisches, wörterbuchgestütztes System ist Lingo von den verfügbaren und eingebundenen Wörterbüchern direkt abhängig. Lingo-Wörterbücher sind als Quelltext reine Textdateien, die mit jedem Editor bearbeitet werden können. Für die Verwendung der Wörterbücher in Indexierungsläufen müssen diese aus Performance-Gründen in Datenbankdateien umgewandelt werden. Lingo prüft bei jedem Programmstart, ob es möglicherweise neue oder geänderte Wörterbuchquellen gibt und wandelt diese, falls noch nicht geschehen, selbstständig in Datenbankdateien um. Die generierten Datenbanken werden im Verzeichnis "store" als jeweils zusammengehörende dir- und pag-Dateien abgelegt.
 Eine grundlegende Einführung in die Thematik findet sich im Lehrbuch "Informationserschließung und Automatisches Indexieren".

Projekte mit Lingo

Lingo wird häufig in Projekten eingesetzt und dort weiterentwickelt. Die folgende Liste dokumentiert die wichtigsten Projekte und wird laufend fortgeschrieben.

Mehrwortbegriffe und Latent Semantic Analysis : Bewertung automatisch extrahierter Mehrwortgruppen mit LSA

Die vorliegende Studie untersucht das Potenzial von Mehrwortbegriffen für das Information Retrieval. Zielsetzung der Arbeit ist es, intellektuell positiv bewertete Kandidaten mithilfe des Latent Semantic Analysis (LSA) Verfahren höher zu gewichten, als negativ bewertete Kandidaten. Die positiven Kandidaten sollen demnach bei einem Ranking im Information Retrieval bevorzugt werden. Als Kollektion wurde eine Version der sozialwissenschaftlichen GIRT-Datenbank (German Indexing and Retrieval Testdatabase) eingesetzt. Um Kandidaten für Mehrwortbegriffe zu identifizieren wurde die automatische Indexierung Lingo verwendet. Die notwendigen Kernfunktionalitäten waren Lemmatisierung, Identifizierung von Komposita, algorithmische Mehrworterkennung sowie Gewichtung von Indextermen durch das LSA-Modell. Die durch Lingo erkannten und LSA-gewichteten Mehrwortkandidaten wurden evaluiert. Zuerst wurde dazu eine intellektuelle Auswahl von positiven und negativen Mehrwortkandidaten vorgenommen. Im zweiten Schritt der Evaluierung erfolgte die Berechnung der Ausbeute, um den Anteil der positiven Mehrwortkandidaten zu erhalten. Im letzten Schritt der Evaluierung wurde auf der Basis der R-Precision berechnet, wie viele positiv bewerteten Mehrwortkandidaten es an der Stelle k des Rankings geschafft haben. Die Ausbeute der positiven Mehrwortkandidaten lag bei durchschnittlich ca. 39%, während die R-Precision einen Durchschnittswert von 54% erzielte. Das LSA-Modell erzielt ein ambivalentes Ergebnis mit positiver Tendenz.

Grün, Stefan: Mehrwortbegriffe und Latent Semantic Analysis : Bewertung automatisch extrahierter Mehrwortgruppen mit LSA. Masterarbeit, Studiengang Informationswissenschaft und Sprachtechnologie, Institut für Sprache und Information, Philosophische Fakultät, Heinrich-Heine-Universität Düsseldorf 2017.

Automatische Extraktion fachterminologischer Mehrwortbegriffe : ein Verfahrensvergleich

Terminologieextraktion ist eine wichtige Aufgabenstellung innerhalb der Computerlinguistik. Die Literatur zum Thema ist zahlreich, die eingesetzten Verfahren stammen überwiegend aus den Bereichen POS-Tagging, Chunking, Parsing und Textstatistik. Einzeln oder in Kombination dürfen sie als das klassische Instrumentarium zur Terminologieextraktion gelten. Mit der wachsenden Bedeutung der Zielsetzungen in Richtung Semantik ist auch die Identifzierung und Extraktion von Mehrwortgruppen zunehmend interessanter und wichtiger geworden. Auch hier dominieren die „klassischen“ CL-Ansätze. Für das Deutsche und andere stark flektierende Sprachen spielen schon immer auch wörterbuchbasierte Ansätze zur Sprachverarbeitung eine große Rolle. Geprägt durch das Einsatzgebiet einer automatischen Indexierung stehen Funktionen wie Lemmatisierung und Dekomposition im Fokus, zunehmend aber auch algorithmische und wörterbuchgestützte Verfahren der Mehrworterkennung. Vergleichende Untersuchungen zur Leistungsfähigkeit beider Ansätze sind nicht bekannt, wie überhaupt die Evaluierung von CL-Verfahren ein gerne vernachlässigter Zweig der Forschung ist. Hier setzt die vorliegende Arbeit an, die auf der Basis der Verarbeitung einer Referenzkollektion „klassische“ und wörterbuchgestützte Ansätze zur Mehrwortextraktion einem Verfahrensvergleich unterzieht. Sie befindet sich damit im Schnittbereich von Computerlinguistik und Informationswissenschaft.

Bredack, Juliane: Automatische Extraktion fachterminologischer Mehrwortbegriffe : ein Verfahrensvergleich. Masterarbeit, Fachbereich II, Studiengang Computerlinguistik, Universität Trier 2016.

Bildung von Komposita-Indextermen auf der Basis einer algorithmischen Mehrwortgruppenanalyse mit Lingo

In der deutschen Sprache lassen sich Begriffe durch Komposita und Mehrwortgruppen ausdrücken. Letztere können dabei aber auch als Kompositum selbst ausgedrückt werden und entsprechend auf den gleichen Begriff verweisen. In der nachfolgenden Studie werden Mehrwortgruppen analysiert, die auch Komposita sein können. Ziel der Untersuchung ist es, diese Wortfolgen über Muster zu identifizieren. Analysiert wurden Daten des Karrieremanagers Placement24 GmbH in Form von Stellenanzeigen. Die Extraktion von Mehrwortgruppen erfolgte algorithmisch und wurde mit der Open-Source Software Lingo durchgeführt. Auf der Basis von Erweiterungen bzw. Anpassungen in Wörterbüchern und den darin getaggten Wörtern, wurden drei- bis fünfstellige Kandidaten analysiert. Aus positiv bewerteten Mehrwortgruppen wurden Komposita gebildet. Diese wurden mit den identifizierten Komposita aus den Stellenanzeigen verglichen. Der Vergleich zeigte, dass ein Großteil der neu generierten Komposita nicht durch eine Kompositaidentifizierung erzeugt wurde.

Grün, Stefan: Bildung von Komposita-Indextermen auf der Basis einer algorithmischen Mehrwortgruppenanalyse mit Lingo. Bachelorarbeit, Fakultät für Informations- und Kommunikationswissenschaften, Fachhochschule Köln 2015.

Terminologieextraktion von Mehrwortgruppen in kunsthistorischen Fachtexten

Mit Hilfe eines algorithmisch arbeitenden Verfahrens können Mehrwortgruppen aus elektronisch vorliegenden Texten identifiziert und extrahiert werden. Als Datengrundlage für diese Arbeit dienen kunsthistorische Lexikonartikel des Reallexikons zur Deutschen Kunstgeschichte. Die linguistisch, wörterbuchbasierte Open-Source-Software Lingo wurde in dieser Studie genutzt. Mit Lingo ist es möglich, auf Basis erstellter Wortmuster, bestimmte Wortfolgen aus elektronisch vorliegenden Daten algorithmisch zu identifizieren und zu extrahieren. Die erstellten Wortmuster basieren auf Wortklassen, mit denen die lexikalisierten Einträge in den Wörterbüchern getaggt sind und dadurch näher definiert werden. So wurden individuelle Wortklassen für Fachterminologie, Eigennamen, oder Adjektive vergeben. In der vorliegenden Arbeit werden zusätzlich Funktionswörter in die Musterbildung mit einbezogen. Dafür wurden neue Wortklassen definiert. Funktionswörter bestimmen Artikel, Konjunktionen und Präpositionen. Ziel war es fachterminologische Mehrwortgruppen mit kunsthistorischen Inhalten zu extrahieren unter der gezielten Einbindung von Funktionswörtern. Anhand selbst gebildeter Kriterien, wurden die extrahierten Mehrwortgruppen qualitativ analysiert. Es konnte festgestellt werden, dass die Verwendung von Funktionswörtern fachterminologische Mehrwortgruppen erzeugt, die als potentielle Indexterme weitere Verwendung im Information Retrieval finden können.

Bredack, Juliane: Terminologieextraktion von Mehrwortgruppen in kunsthistorischen Fachtexten. Bachelorarbeit, Fakultät für Informations- und Kommunikationswissenschaften, Fachhochschule Köln 2013.

Bredack, Juliane und Klaus Lepsky: „Automatische Extraktion von Fachterminologie aus Volltexten“, in: ABI Technik 34/1 (2014), S. 2–8.

Detecting multiword phrases in mathematical text corpora

Ein Projekt, bei dem Lingo für eine algorithmische Mehrworterkennung eingesetzt wurde, um mathematische Fachterminologie aus den Nachweisen des Zentralblatts der Mathematik zu extrahieren.

Gödert, Winfried: Detecting multiword phrases in mathematical text corpora. arXiv:1210.0852 [cs.CL] 2 Oct 2012

Automatische Klassifizierung mit DDC: autoclass/DDC

Der Anwendungskontext für Lingo lag in der Weiterentwicklung einer automatischen DDC-Klassifizierung durch Integration einer automatischen Indexierung. Dazu wurde der Erschließungsprozess durch eine linguistische und semantische Vorverarbeitung der Klassifizierungskomponenten (DDC-basierte Repräsentationen und bibliographische Titeldatensätze) mit dem Ziel ergänzt, die Erschließungsmerkmale sprachlich zu vereinheitlichen und mit zusätzlichen synonymen Bezeichnungen anderer Dokumentationssprachen anzureichern.

Objektdokumentation heterogener musealer Bestände

Auf der Basis des Open Source Indexierungssystems Lingo wurde eine automatische Indexierung entwickelt, die - aufsetzend auf den existierenden Rahmenbedingungen - normierte Beschreibungsmerkmale generiert und als Indexterme für das Retrieval zur Verfügung stellt. Zielvorstellung war es, eine einheitliche Suche über die Objektbeschreibungen anhand der sprachlichen und semantischen Vereinheitlichung der Indexterme zu realisieren.

Automatische Erschließung des digitalen Bildarchivs prometheus

In diesem Projekt wurde Lingo eingesetzt, um die Bildbeschreibungen des prometheus-Bildarchivs mit Titelübersetzungen und Synonymen von Künstlernamen anzureichern. » Projektbeschreibung

Erschließungsstudie Landtag NRW

Anhand der Indexierungssoftware Lingo und einer Testkollektion, die aus den elektronischen Dokumenten der Landtagsdokumentation bestand, wurde eine Ausweitung der bisherigen Funktionalitäten der automatischen Indexierung durchgeführt. Dazu wurden die vorhandenen terminologischen Ressourcen (PARTHES-Thesaurus, Wörterbücher, et al.) analysiert und für die Indexierung optimiert.

RDK-WEB: Erstellung einer WEB-Version des Reallexikons zur Deutschen Kunstgeschichte

Dieses von der Deutschen Forschungsgemeinschaft geförderte Projekt diente der Realisierung einer web-basierten Version des “Reallexikons zur Deutschen Kunstgeschichte” (RDK) mit mehrdimensionalen Zugriffsmöglichkeiten durch automatische Erschließungsverfahren.

Lingo Rus - Automatische Indexierung des Russischen

Um die Analyse russischer Texte mit kyrillischen Zeichen zu realisieren, wurden russischsprachige Wörterbücher und eine eigene Sprachkonfiguration erstellt, in der die Suffixendungen für die einzelnen Wortklassen definiert sind. Außerdem wurde Lingo um die komplette Zeichenklasse Alphabetic des Unicode-Zeichensatzes erweitert. Prinzipiell ist Lingo mit dieser Erweiterung in der Lage, nicht nur Zeichen aus dem lateinischen und kyrillischen Alphabet zu erkennen und zu verarbeiten, sondern alle Buchstaben (und Zahlen), die in Unicode definiert sind.

Diese Funktion ist verfügbar seit Version 1.8.3.


 Для автоматической обработки текстов на русском языке в кириллическом шрифте были подобраны словари и разработан русский языковой файл, в котором дефинированы окончания изменяемых частей речи. Кроме того, в программу Lingo был добавлен набор смиволов "Alphabetic Unicode". Данное обновление позволяет опознавать и обрабатывать не только символы латинского и кириллического алфавита, но и все знаки (буквы и числа), дефинированные в юникоде.

 Данная функция доступна с версией 1.8.3.