Masterarbeit: Near Copy Detection in large text corpora (ODIN): Was bisher geschah! (Wordnet;Synonym findung)

27 Feb

In dem nächsten spannenden Teil meiner Blogserie „ODIN! Was bisher geschah!“ widme ich mich dem Desynonymifizieren (entfernen von Synonymen wegen der Aussprache). Oft werden kopierte Textstellen abgewandelt um die Herkunft zu verschleiern. Diese Abwandlungen können sein, dass Umstellen von Sätzen, das Entfernen oder Hinzufügen von Worten, das Ändern von numerischen Werten oder das austauschen von Worten gegen Synonyme. Die letzte Möglichkeit ist Thema diese Blogposts.

Wortnet

Wortnet ist ein Projekt initiiert durch die Princeton University, hier ist ein Standard zur Beschreibung von Wort zusammenhängen entstanden und für die englische Sprache umgesetzt. Das Wortnet ist ein hierarchisches Netzwerk von Relationen zwischen Synonymgruppen(Synsets). Innerhalb eines Synsets haben alle Worte die gleiche Bedeutung. Die Relationen Hyponym und Hyperonym bezeichnen Synset die zum ausgehendem Synset entweder Spezieller oder Allgemeiner sind, also ein Fahrzeug ist allgemeiner als ein PKW und andersherum. Die Relationen Meronym und Holonym drücken Teilbeziehungen aus, also ein Zimmer ist Teil eines Gebäudes. Die Relation Antonym gibt das gegenteil eines Synsets an, wie zum Beispiel stehen ist ein Antonym von liegen. Da natürliche Sprachen nicht eindeutig sind kann es zu einem gesuchtem Wort durchaus mehrere Bedeutungen geben, diese Worte sind dann Homonym zu einander, also ein Wort mit mehreren Bedeutungen und genau dieser Sachverhalt macht das identifizieren von Synonymen kompliziert.

Um Synonyme für ein Wort zu finden wird mehr benötigt als nur das eine Wort, denn auch die Bedeutung des Wortes ist von Interesse. Auf die Anfrage nach einem Wort können n viele Synsets stehen die alle das gesuchte Wort enthalten aber in verschiedenen Bedeutungen. Um die Bedeutung eines Wortes zu ermitteln gibt es einen Algorithmus der sich auf das Glossfeld von Wordnet beruft. Das Glossfeld enthält eine kurze Textuelle Beschreibung der Bedeutung dieses Synsets. In meinem Fall verwende ich zu Identifizierung einen abgewandelten LESK Algorithmus in Anlehnung an „An Adapted Lesk Algorithm for Word Sense Disambiguation Using WordNet„. Hier wird das Zielwort mit dem context (z.B. 5 Worte nach und vor dem Zielwort) untersucht. Zwischen jedem paar Worten, in Reihenfolge des Textes, wird die Ähnlichkeit jeder seiner Bedeutungen berechnet indem die Überlappung einer Bedeutung des ersten Wortes und einer Bedeutung des zweiten Wortes berechnet wird. Ist dies für alle Worte des Kontextfensters geschehen wird der höchstgewertete Weg über die Bedeutungen der Worte gesucht. Die Schnittstelle des besten Wegs mit dem Zielwort ergibt die wahrscheinliche Bedeutung.

Dieser algorithmus lässt an zwei stellen Optimierungen für Caching zu:

  1. Es werden die die Bearbeiteten Glossen gecachet. Die bearbeiteten Glosses enthalten den Gloss des Synsets und die Glosses der Hyperonyme sowie einige der Hyponyme. Aus diesem Text werden Stopworte entfernt und die verbleibenden Worte gestemmt.
  2. Die Ähnlichkeit zweier Synsets.

Weitere Optimierungen wurden bei Worten mit nur einer Bedeutung vollzogen. Ist das Wort mit einer Bedeutung das Zielwort, entfallen alle weiteren Berechnungen. Gibt es im Kontext des Zielwortes ein Wort mit einer Bedeutung, fallen alle, aus der Richtung des Zielwortes gesehen, dahinter gelegenen Worte aus der Berechnung da sie für die Wegberechnung ohne Bedeutung sind.

Dieser Algorithmus wurde in ein Map-Reduce-Job verpackt und kann so als Teil von ODIN ein Substitutionsliste erzeugen die in HBase abgelegt wird um in weiteren Analysen eine Near Copydetection mit Hilfe von Synonymähnlichkeiten zu ermöglichen.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: