Willkommen bei Lingo!

Lingo ist ein frei verfügbares System zur linguistisch und statistisch basierten automatischen Indexierung des Deutschen und Englischen. 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 1.9.3 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.

Das System läuft nun und kann für eigene Anwendungen konfiguriert und genutzt werden. Ein Lehrveranstaltungsskript zu einem einsemestrigen Laborpraktikum mit Lingo führt tiefer in die Materie ein und kann hier als pdf heruntergeladen werden. 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 soll die wichtigsten Projekte dokumentieren und laufend fortgeschrieben werden.

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.