LRApy
Programmier-Gesellenstück
Max Jakob (max.jakob@web.de)
Wintersemester 2006/2007
Seminar für Computerlinguistik
Instituts für Allgemeine und Angewandte Sprach- und Kulturwissenschaft
Ruprecht-Karls-Universität Heidelberg
Abstract
Besteht zwischen zwei Wortpaaren eine gleiche oder sehr ähnliche Beziehung, bezeichnet man diese als Analogie. Am Institute for Information Technology des National Research Council Canada wurde ein Verfahren zum Messen der Ähnlichkeit solcher Beziehungen entwickelt, das auf dem Vektorraummodel aus dem Information Retrieval basiert. Von der sog. Latent Relational Analysis (LRA) wird behauptet, sie funktioniere auf Augenhöhe mit menschlichem Leistungsvermögen. Das System beantwortete Fragen aus dem amerikanischen SAT word analogy tests mit nahezu gleicher Präzision wie der Durchschnitt der menschlichen Teilnehmer des Tests (56% vs. 57%).
Ziel des Projekts ist eine unabhängige Implementierung des LRA-Systems in Python und die Überprüfung der Ergebnisse. Benötigt werden hierfür ein sehr großer Korpus, eine Suchmaschine mit mächtiger Syntax, ein Synonymwörterbuch und eine SVD-Implementierung (Singular Value Decomposition).
Das Programm wird als Input eine Reihe von Wortpaaren bekommen, von denen eines das Stamm-Wortpaar sei, dessen Beziehung mit den restlichen verglichen wird. Jedem Wortpaar werden aus dem Synonymwörterbuch alternative Worte hinzugefügt, von denen die im Korpus am häufigsten vorkommenden weiterverwendet werden. Durch das Suchen von Phrasen, die mit dem einen Wort eines Paares beginnen und mit dem anderen enden, werden anschließend patterns abgeleitet, aus denen ein Wortpaarvektor besteht. Es wird demnach eine Matrix konstruiert mit den Wortpaaren in den Zeilen und den patterns in den Spalten. Als Werte fungieren die Häufigkeiten der patterns in Phrasen die ein bestimmtes Wortpaar enthalten. Von den Entwicklern wird dann vorgeschlagen die Gewichtung durch Berechnen der Entropie zu verändern. Eine Anwendung der SVD (um die Häufigkeiten zu glätten) und eine anschließende Projektion reduziert die Matrix auf k Spalten. Nun werden alle Vektoren mittels der Kosinusformel mit den Vektoren des Stamm-Wortpaars (original und Synonympaare) verglichen. Die Ähnlichkeit zwischen den beiden Wortbeziehungen sei nun der Schnitt aller Kosinuswerte die größer oder gleich dem Kosinuswert der beiden Originalpaare sind. Das Wortpaar mit der höchsten Ähnlichkeit wird als Wortanalogie zum Stammwortpaar ausgewählt.
Hierbei muss wahrscheinlich, nicht zuletzt weil kein vergleichbar großer Korpus verwendet werden kann, mit den festen Werten an einigen Stellen experimentiert werden. Eine abschließende Evaluation soll Aufschluss über die tatsächliche Brauchbarkeit des Ansatzes liefern.
Literatur:
Turney, P. (2004). Human-Level Performance on Word Analogy Questions by Latent Relational Analysis.
http://arxiv.org/abs/cs/0412024
Turney, P. (2005). Measuring Semantic Similarity by Latent Relational Analysis.
[PDF Document] http://iit-iti.nrc-cnrc.gc.ca/iit-publications-iti/docs/NRC-48255.pdf
Ergebnisse
Zur Evalution wurden dem System 30 Wortanalogie-Aufgaben im Stil des SAT word-analogy Testa gestellt, die im Internet verfügbar waren. Das Programm beantwortete 5 Fragen korrekt, 11 mal antwortete es falsch. 14 Fragen wurden übersprungen, weil das Stammwortpaar keine Phrasen im Korpus hatte.
Dieses schlechte Ergebnis hat sicher mit dem im Vergleich zum Original viel kleineren Korpus zu tun. Es wurde das Reuters Korpus von 1996 und 1997 verwendet. Durch Anpassungen der festen Werte oder Verwendung anderer Ähnlichkeitswerte kann u.U. eine Verbesserung erzielt werden.