DISCO
semantische Ähnlichkeit zwischen Wörtern abfragen
Was ist DISCO?
DISCO (extracting DIstributionally related words using CO-occurrences) ist eine Java-Klasse
zur Abfrage der semantischen Ähnlichkeit zwischen
Wörtern. Die Ähnlichkeiten basieren auf der
statistischen Auswertung sehr großer Textmengen. Das Tool läuft auf allen gängigen
Betriebssystemen, unter anderem Windows, Linux, Solaris und MacOS.
Die Java-API stellt u.a. folgende Methoden zur Verfügung:
- Semantisch ähnlichste Wörter zu einem Eingabewort ausgeben: Z.B. schüchtern → scheu hölzern nervös unbeholfen ängstlich zurückhaltend ratlos naiv steif unsicher schweigsam
- Größe der semantischen Ähnlichkeit zwischen zwei Eingabewörtern anzeigen: sim(Erdöl, Benzin) = 0,323; sim(Erdöl, Zuckerguss) = 0,016
- Kollokationen zu einem Eingabewort ausgeben: Bier → tranken trinken brauen alkoholfreien trinkt braute gebraut zapfen ausgeschenkt Oktoberfest Pilsner
Weitere Methoden der DISCO API sind weiter unten beschrieben.
DISCO kann auch über die Kommandozeile abgefragt werden. Außerdem ist für den bekannten Ontologie-Editor Protégé ein DISCO-Plugin verfügbar.
DISCO ist in folgenden Konferenzpapieren beschrieben:
Peter Kolb. Experiments on the difference between semantic similarity and relatedness. In Proceedings of the 17th Nordic Conference on Computational Linguistics - NODALIDA '09, Odense, Denmark, May 2009.
Peter Kolb. DISCO: A Multilingual Database of Distributionally Similar Words. In Tagungsband der 9. KONVENS, Berlin, 2008.
Anwendungen
Die Anwendungsmöglichkeiten der semantischen Ähnlichkeit nach DISCO sind äußerst vielfältig und erstrecken sich über alle Bereiche der Sprachtechnologie. Im folgenden sind einige Einsatzgebiete aufgeführt:
- Übersetzung: kontextsensitive Übersetzung. Beispiel: Die Bank sperrt das Konto. Ein Wörterbuch liefert: Bank → bank, bench und Konto → account. DISCO liefert die Ähnlichkeiten: sim(bank, account) = 0,124 und sim(bench, account) = 0,045, so dass bank als im Satzkontext korrekte Übersetzung ausgewählt werden kann.
- Suchmaschinen: assoziative Suche mit Hilfe semantisch ähnlicher Begriffe; automatische Suchtermerweiterung.
- E-Learning: Generieren von (zweisprachigen) Wortfeldern zu einem Sachgebiet.
- kontextsensitive Rechtschreibkorrektur: Gewichtung von Korrekturvorschlägen nicht nur nach zeichenbasierter Ähnlichkeit, sondern auch nach semantischer Ähnlichkeit mit dem Kontext.
- kontextsensitiver Thesaurus: in den Kontext passende Synonyme vorschlagen.
- Ontologieaufbau: DISCO liefert semantisch ähnliche Wörter zu einem Ausgangswort, die nur noch nach Art der Ähnlichkeitsbeziehung (Synonym, Ober-/Unterbegriff, Gegenbegriff usw.) klassifiziert werden müssen. Für den bekannten Ontologie-Editor Protégé ist ein DISCO-Plugin verfügbar.
- Textzerlegung: Zerlegen von Texten in inhaltlich zusammenhängende Abschnitte (Text-Tiling).
- Automatische Spracherkennung und OCR: Aufbau klassenbasierter Sprachmodelle.
Referenzen
Eine Liste wissenschaftlicher Artikel in denen DISCO verwendet wird, finden Sie auf der Referenzen-Seite.
Verfügbare Sprachen
DISCO benötigt für jede Sprache einen Index mit Daten. Diese Sprachdaten werden auf
der Grundlage sehr umfangreicher elektronischer
Textsammlungen (Korpora) mittels statistischer
Verfahren automatisch erstellt.
Die Sprachdaten können hier heruntergeladen werden.
Zur Zeit sind Daten für folgende Sprachen verfügbar:
Arabisch
Deutsch
Englisch
Französisch
Italienisch
Niederländisch
Russisch
Spanisch
Tschechisch
Download und Installation
- Schritt 1: Laden Sie disco-1.4.jar herunter.
- Schritt 2: Laden Sie eines der Sprachdatenpakete für die gewünschte Sprache herunter.
- Schritt 3: DISCO-Abfrage über die Kommandozeile:
java -jar disco-1.4.jar SPRACHDATENVERZEICHNIS -bn Haus 12
gibt die zwölf semantisch ähnlichsten Wörter zu Haus aus.
Sie benötigen eine Java-Laufzeitumgebung. Sollte auf Ihrem Rechner kein Java installiert sein, können Sie es bei www.java.com herunterladen.
Aufruf über Kommandozeile
DISCO kann über die Kommandozeile abgefragt werden. Dazu geben Sie ein:
java -jar disco-1.3.jar SPRACHDATENVERZEICHNIS OPTION
Die möglichen Optionen sind:
-bn WORT N: gibt die N semantisch ähnlichsten Wörter zu WORT aus. Beispiel:
-bn Maus 10 → Tastatur Joystick Ratte Mäuse Trackball Mouse Micky Goofy Tasten
Bildschirm.
-bc WORT N: gibt die N signifikantesten Kollokationen zu WORT aus. Beispiel:
-bc Urteil 7 → BGH fällen vollstreckt BVerwG Verwaltungsgerichts lautete
rechtskräftig.
-s WORT1 WORT2: gibt den Wert der semantischen Ähnlichkeit erster Ordnung zwischen den
Eingabewörtern aus (Wert zwischen 0 und 1).
-s2 WORT1 WORT2: gibt den Wert der semantischen Ähnlichkeit zweiter Ordnung zwischen den
Eingabewörtern aus (Wert zwischen 0 und 1).
-cc WORT1 WORT2: gibt den gemeinsamen Kontext der beiden Eingabewörter aus.
-f WORT: gibt die Korpushäufigkeit von WORT aus.
-n: gibt die Anzahl der abfragbaren Wörter aus.
-wl DATEI: gibt die Wortfrequenzliste aller Wörter im Sprachdatenpaket in die DATEI aus.
Java-API
DISCO kann über eine Java-Schnittstelle (API) in eigene Anwendungen integriert werden. Die Java-API stellt verschiedene Methoden bereit, um semantisch ähnliche Wörter, semantische Wortähnlichkeiten, Kollokationen, Korpusfrequenzen usw. abzufragen. Eine Beschreibung finden Sie in der API-Dokumentation (javadoc).
Die folgende Java-Klasse enthält Beispielcode, der zeigt, wie man die DISCO Java-API benutzt: UseDISCO.java
Lizenzbedingungen
Die DISCO-API und die meisten hier verfügbaren DISCO-Sprachdatenpakete sind ab sofort unter der Apache License, Version 2.0 frei verfügbar und Open Source.
Wenn Sie Interesse am kommerziellen Einsatz eines Sprachdatenpakets haben, das nicht unter der Apache-Lizenz frei verfügbar ist, kontaktieren Sie bitte Peter Kolb (peter.kolb@linguatools.org). Auf Anfrage erstellen wir auch Sprachdatenpakete für die von Ihnen gewünschten Fachgebiete, Textsorten oder Sprachen.
Danksagung
DISCO verwendet den Lucene-Index.
Die DISCO-Sprachdaten wurden teilweise auf der Grundlage von folgenden frei verfügbaren
elektronischen Textsammlungen erstellt:
- die internationalen Versionen der Wikipedia
- das Europarl-Korpus
- das JRC-ACQUIS-Korpus
- das deutsche und englische Projekt Gutenberg.

