Übersetzung der ARTigo Tagdaten

Einleitung

Das Forschungsprojekt ARTigo1)ARTigo Forschungsprojekt http://www.artigo.org/ umfasst mehr als 50.000 Kunstwerke, die durch verschiedene spielerische Anwendungen mittels Crowdsourcing mit Tags versehen sind. Das Spielen und damit die Verschlagwortung kann in den Sprachen Deutsch, Englisch und Französisch durchgeführt werden, wobei der Anteil des deutschen Datensatzes mit knapp 90 Prozent, wie Abbildung 1 zeigt, dabei den Hauptanteil darstellt.

Ziel dieses Projekts ist die Zusammenführung der Datensätze der verschiedenen Sprachen, deren Korrektur sowie Übersetzung und die Implementierung verschiedener Methoden zum Clustering der Tags. Zudem werden hochdimensionale Vektoren zur Wort- bzw. Bildrepräsentation berechnet, welche in einer Bildsuche zur Anwendung kommen.

 

Abbildung 1: Die Verteilung der Tagdaten auf die Sprachen Deutsch, Englisch und Französisch

 

Übersetzung

Die maschinelle Übersetzung bezeichnet die automatische Übersetzung von einer natürlichen Sprache in eine andere2)Russell, Stuart Jonathan, et al. Artificial intelligence: a modern approach. Vol. 2. No. 9. Upper Saddle River: Prentice hall, 2003.. Bis zu den 1980er Jahren werden dabei überwiegend regelbasierte Ansätze verwendet. Diese Regeln beruhen auf linguistischen Merkmalen der Sätze, wobei unter Anderem auf morphologischer, syntaktischer und semantischer Ebene analysiert wird. Statistische Methoden 3)Brown, Peter F., et al. „The mathematics of statistical machine translation: Parameter estimation.“ Computational linguistics19.2 (1993): 263-311.4)Koehn, Philipp, et al. „Moses: Open source toolkit for statistical machine translation.“ Proceedings of the 45th annual meeting of the ACL on interactive poster and demonstration sessions. Association for Computational Linguistics, 2007.5)Koehn, Philipp. Statistical machine translation. Cambridge University Press, 2009.dominieren in den darauffolgenden Jahren und sind noch heute weit verbreitet. Dabei werden parallele Korpora, wie der Europarl-Korpus6)Koehn, Philipp. „Europarl: A parallel corpus for statistical machine translation.“ MT summit. Vol. 5. 2005., verwendet und durch Schätzung von Wahrscheinlichkeiten eine Alignierung von Quell- und Zielsatz hergestellt.

Im Jahr 2003 wird mit einem Sprachmodell basierend auf einem neuronalen Netz der Grundstein für neuronale Netze im Bereich der maschinellen Übersetzung gelegt7)Bengio, Yoshua, et al. „A neural probabilistic language model.“ Journal of machine learning research 3.Feb (2003): 1137-1155..

Ein simples neuronales Netz 8)Rosenblatt, Frank. „The perceptron: a probabilistic model for information storage and organization in the brain.“ Psychological review 65.6 (1958): 386.9)Rumelhart, David E., Geoffrey E. Hinton, and Ronald J. Williams. Learning internal representations by error propagation. No. ICS-8506. California Univ San Diego La Jolla Inst for Cognitive Science, 1985., meist Feedforward Neural Network (FNN) genannt, ist in Abbildung 2 zu sehen.

 

Abbildung 2: Die Struktur eines FNN mit Eingabe-Layer (rot), Hidden-Layer (grün) und Ausgabe-Layer (blau)

 

Hierbei werden die Eingaben durch Multiplikationen mit Gewichten und verschiedene Aktivierungsfunktionen durch das Netz geführt und letztlich eine Ausgabe erzeugt. Das Training des Netzes geschieht durch Berechnung des Fehlers zwischen Ausgabe und gewünschtem Ergebnis bei einer Eingabe. Dieser Fehler wird anschließend mittels Rückpropagierung durch das Netz geleitet und dabei die Gewichte entsprechend angepasst, um das Ergebnis zu verbessern. Mit zunehmender Zahl an Trainingsbeispielen steigt somit die Qualität der Ausgabe. Komplexere Netze, meist Deep Neural Networks (DNN) genannt, entstehen durch mehrere Hidden-Layer, wie in Abbildung 3 dargestellt.

 

Abbildung 3: Die Struktur eines DNN mit drei Hidden-Layern (grün)

 

Sie erlauben eine deutlich komplexere Kodierung von Information. Dazu tragen insbesondere nichtlineare Funktionen wie die Sigmoidfunktion oder der Tangens hyperbolicus bei, die dadurch nahezu jede Funktion abbilden können. 10)Bengio, Yoshua, and Yann LeCun. „Scaling learning algorithms towards AI.“ Large-scale kernel machines 34.5 (2007): 1-41.11)Hinton, Geoffrey E., Simon Osindero, and Yee-Whye Teh. „A fast learning algorithm for deep belief nets.“ Neural computation 18.7 (2006): 1527-1554.

Der Nachteil eines solchen Netzes liegt in der fixen Eingabelänge, wodurch bei bestimmten Anwendungen Schwierigkeiten entstehen. In der Bildverarbeitung ist dies nicht der Fall, da Bilder jederzeit mit der gleichen Anzahl an Pixeln eingelesen werden. Bei der Verarbeitung von natürlicher Sprache variiert die Eingabegröße der Trainingsbeispiele, beispielsweise die Satzlänge, jederzeit und muss somit durch Anfügen zusätzlicher leerer Token oder durch Abschneiden auf eine einheitliche Länge gebracht werden, wodurch die Genauigkeit in der Regel abnimmt.

Bei rekurrenten neuronalen Netzen besteht dieses Problem nicht. Hier hängen, wie in Abbildung 4 gezeigt, die Zustände h zum Zeitpunkt t nicht nur von der Eingabe xt, beispielsweise einem Wort in Vektordarstellung, ab, sondern zusätzlich vom zeitlich vorausgegangenen Zustand ht-1.

 

Abbildung 4: Die vereinfachte Darstellung eines RNN und dessen ausgerollte Variante, die den zeitlichen Verlauf verdeutlicht.

 

Die erstmalige Verwendung von neuronaler maschineller Übersetzung ist durch eine Encoder-Decoder-Architektur im Jahr 2013 umgesetzt.12)Kalchbrenner, Nal, and Phil Blunsom. „Recurrent continuous translation models.“ Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing. 2013.13)Kalchbrenner, Nal, and Phil Blunsom. „Recurrent convolutional neural networks for discourse compositionality.“ arXiv preprint arXiv:1306.3584 (2013). Die Grundstruktur wird in Abbildung 5 gezeigt.

 

Abbildung 5: Der Aufbau eines Encoder-Decoder Systems

 

Dabei wird ein rekurrentes neuronales Netz, der Encoder, zur Enkodierung des Eingabesatzes genutzt und ein zweites ebenfalls rekurrentes Netz, der Decoder, wird zur Dekodierung in die Ausgabesprache verwendet. Der Encoder kann dabei als Sprachmodell angesehen werden und könnte alleinstehend zur Generierung von Text in der Ausgangssprache verwendet werden. Er liest nacheinander, zu jedem Zeitpunkt t, Wörter in Form von Vektoren xt ein und berechnet mit diesen, einer Funktion f, Gewichtsmatrizen W und dem vorherigen Zustandsvektor ht-1 einen neuen Zustandsvektor ht.

Die Erzeugung des Ausgabesatzes erfolgt nach gleichem Prinzip, wobei hier der Zustandsvektor ht des Encoders zum letzten Zeitpunkt T, dem ersten Zustandsvektor des Decoders entspricht. Anschließend werden jeweils die vom Zustandsvektor ht’ als Ausgabe erzeugten Wörter yt als Eingabe für den nächsten Zustand verwendet, bis der Decoder eine Satzendemarkierung erzeugt.

Die dabei noch existierende Problematik von explodierenden und verschwindenden Gradienten wird später durch komplexere Architekturen der rekurrenten Zellen, mittels Gates 14)Hochreiter, Sepp, and Jürgen Schmidhuber. „Long short-term memory.“ Neural computation 9.8 (1997): 1735-1780. gelöst, womit auch lange Sätze mit hoher Genauigkeit übersetzt werden können15)Sutskever, Ilya, Oriol Vinyals, and Quoc V. Le. „Sequence to sequence learning with neural networks.“ Advances in neural information processing systems. 2014. .

In den letzten Jahren haben sich neuronale Systeme zunehmend durchgesetzt 16)Bahdanau, Dzmitry, Kyunghyun Cho, and Yoshua Bengio. „Neural machine translation by jointly learning to align and translate.“ arXiv preprint arXiv:1409.0473 (2014). und bilden den state-of-the-art auf dem Gebiet der maschinellen Übersetzung.

Das in diesem Projekt zunächst angestrebte System basiert auf einer Encoder-Decoder Architektur und beinhaltet einen Attention-Mechanismus 17)Bahdanau, Dzmitry, Kyunghyun Cho, and Yoshua Bengio. „Neural machine translation by jointly learning to align and translate.“ arXiv preprint arXiv:1409.0473 (2014). der in Abbildung 6 dargestellt wird.

 

Abbildung 6: Attention-Mechanismus18)Bahdanau, Dzmitry, Kyunghyun Cho, and Yoshua Bengio. „Neural machine translation by jointly learning to align and translate.“ arXiv preprint arXiv:1409.0473 (2014).

Dieser ermöglicht dem Decoder, durch Berechnung der Attention a zu jedem Zeitpunkt t, nicht nur auf den letzten Zustand des Encoders zuzugreifen, sondern direkt auf alle Zustände ht des Encoders. Damit werden Abhängigkeiten von Ausgabewörtern yt von bestimmten Teilen des Eingabesatzes ermöglicht. s bezeichnet die Zustände des Decoders, zudem ist der Encoder bidirektional.

Die Trainingsdaten entstammen aus einem parallelen Korpus 19)Manythings  – Bilingual Sentence Pairs
from the Tatoeba Corpus http://www.manythings.org/bilingual/
mit etwa 160.000 Satzpaaren in französischer bzw. englischer Sprache.

Das Training mit überwiegend auf Erfahrung basierenden Parameterwerten liefert bei ersten Tests vielversprechende Ergebnisse bei Daten, die vor dem Training aus dem Korpus entnommen werden, wie Abbildung 7 zeigt. Input bezeichnet dabei den zu übersetzenden Ausgabesatz, Target die gewünschte Ausgabe und Output die Ausgabe des Systems.

 

Abbildung 7: Testergebnisse des Systems bei vollständigen Sätzen

 

Abbildung 8: Testergebnisse des Systems bei einzelnen Wörtern

Der zu übersetzende Datensatz weicht strukturell allerdings stark von den im Training verwendeten Daten ab und führt bei Tests zu schlechten Ergebnissen, wie Abbildung 8 zeigt. Das System versucht, bedingt durch die zum Training verfügbaren Daten aus den einzeln zu übersetzenden Tags stets einen grammatikalisch vollständigen Satz zu bilden. In erster Linie ist demnach das Fehlen passender Trainingsdaten für das Scheitern des Systems, insbesondere des Decoders, verantwortlich und führt zur Nutzung der Google Translate Programmierschnittstelle zur Durchführung der Übersetzung.

Google Translate, gegründet 2006, arbeitet zunächst ausschließlich mit statistischen Methoden und führt mit dem Einzug neuronaler Netze im Jahr 2016 das “Google Neural Machine Translation System (GNMT)” 20)Wu, Yonghui, et al. „Google’s neural machine translation system: Bridging the gap between human and machine translation.“ arXiv preprint arXiv:1609.08144 (2016). ein. Abbildung 9 veranschaulicht dessen Architektur, wobei bis auf die Vielzahl von Hidden-Layern eine nahezu identische Struktur vorzufinden ist.

 

Abbildung 9: Google Neural Machine Translation System21)Wu, Yonghui, et al. „Google’s neural machine translation system: Bridging the gap between human and machine translation.“ arXiv preprint arXiv:1609.08144 (2016).

In diesem System muss allerdings weiterhin für jedes zur Verfügung gestellte Sprachpaar ein eigenes System trainiert werden, deshalb wird es Ende 2016 ersetzt22)Johnson, Melvin, et al. „Google’s multilingual neural machine translation system: enabling zero-shot translation.“ arXiv preprint arXiv:1611.04558 (2016).. Hierbei wird nur noch ein einzelnes System zur Übersetzung verwendet, wobei für das Training jedem Satz eine Markierung mit der jeweiligen Sprache angehängt wird. Dies verbessert insbesondere die Übersetzungsqualität für Sprachen bzw. Sprachpaare mit einer geringen Menge an Trainingsdaten.

 

Tagkorrektur

Das Ziel der Korrektur der Tags ist es, die Übersetzungsqualität zu maximieren. Da es sich bei dem Artigo Datensatz um nutzergenerierte Daten handelt, ist dieser fehleranfällig. Eine Analyse der Daten zeigt, dass es sich hierbei nicht nur um Rechtschreibfehler handelt, sondern auch um andere fehlerhafte Eingaben, wie zum Beispiel eine Aneinanderreihung von einzelnen Wörtern, durch ein Leerzeichen getrennt. Um nicht Wörter oder Namen, die zusammen gehören, auseinander zu ziehen, werden bei der Korrektur nur Tags berücksichtigt, die im Datensatz einmalig sind. Es wird davon ausgegangen, dass Eingaben die mehrmals vorkommen vorraussichtlich richtig geschrieben sind.

Bevor jedoch eine Korrektur durchgeführt werden kann, muss der Datensatz angepasst werden, da es Inkonsistenzen gibt. Alle Tags werden in Großbuchstaben umgewandelt, zudem werden einige Sonderzeichen entfernt und durch ein Leerzeichen ersetzt.

Nach dieser Vorbereitung des Datensatzes wird aus allen Tags ein Tagset erstellt, um keine Duplikate zu haben. Bei den deutschen Daten wird so aus 4.357.648 Einträgen ein Tagset von 163.291 Einträgen. Die entsprechenden Tagcounts werden aufsummiert.

Zur automatischen Erkennung von Rechtschreibfehlern ist der Abgleich mit einem Vokabular notwendig. Zu diesem Zweck wird eine Kombination aus dem Vokabular der selbsttrainierten Wortvektoren, im Abschnitt Word2Vec erläutert, und von Open Office23)The Apache Software Foundation – Open Office https://www.openoffice.org/ verwendet, welches somit knapp eine Million Einträge hat. Als Algorithmus wird eine normalisierte Damerau-Levenshtein-Distanz24)Damerau, Fred J. „A technique for computer detection and correction of spelling errors.“ Communications of the ACM 7.3 (1964): 171-176.25)Levenshtein, Vladimir I. „Binary codes capable of correcting deletions, insertions, and reversals.“ Soviet physics doklady. Vol. 10. No. 8. 1966. verwendet. Die Levenshtein-Distanz berechnet dabei die minimale Anzahl von Einfüge-, Lösch- und Ersetz-Operationen um ein zu korrigierendes Wort in ein bestimmtes Wort aus dem Vokabular umzuwandeln. Die Damerau-Levenshtein-Distanz ermöglicht zudem die Vertausch-Operation. Zur Normalisierung wird zusätzlich die Länge des Wortes miteinbezogen.

Der Prozess der Bestimmung und Auswahl der Korrekturkandidaten wird in zwei Phasen eingeteilt, um eine gute Balance zwischen Precision und Recall, also möglichst alle Rechtschreibfehler zu finden, zeitgleich aber keine korrekten Wörter als falsch anzusehen, zu erreichen. In der ersten Phase wird das gesamte oben beschriebene Vokabular verwendet und nur bei Unterschreitung eines strengen Grenzwertes eine Korrektur durchgeführt. Grund hierfür ist, dass für einen zu hohen Grenzwert, bei solch einem großen Vokabular, meist noch Wörter gefunden werden, die in keiner Weise der vom Nutzer angedachten Eingabe ähneln. Die zweite Phase erlaubt einen höheren Grenzwert, dabei besteht das Vokabular jedoch lediglich aus der Schnittmenge des oben genannten Vokabulars und der Menge der Tags des jeweiligen Bildes bei dem die Falscheingabe vorzufinden ist. Diese Phase soll die Erkennung gravierender Rechtschreibfehler zulassen, ohne Falscherkennungen auszulösen. Die beiden Grenzwerte werden durch Erfahrungswerte und verschiedene Tests festgelegt.

 

Datenanreicherung

Die Anreicherung des Datensatzes mit zusätzlicher Information, neben den Übersetzungen, dient zur einfacheren Analyse sowie zum Clustering der Daten. Dazu werden zu jedem Tag folgende Merkmale gesucht: Lemma, Hyperonym sowie eine Liste von Synonymen.

Lemma

Als Lemma wird die Grundform, die unflektierte Form, eines Wortes bezeichnet. Flexionsmerkmale im Deutschen sind Person, Numerus, Tempus, Modus, Genus, Kasus, Deklination und Komparations­stufe. Diese gilt es demnach zu erkennen bzw. zu entfernen. Die folgende Tabelle zeigt Beispiele flektierter Wörter, dessen Flexionsmerkmale sowie das Lemma.

 

Tag Flexionsmerkmale Lemma
Frauen Plural, Feminin, Nominativ, … Frau
hellere Singular, Feminin, Komparativ, Nominativ, … hell
blauer Singular, Maskulin, Positiv, Nominativ, … blau

 

Zur Ermittlung des Lemmas werden verschiedene bekannte Methoden aus dem Bereich Stemming und Lemmatisierung der natürlichen Sprachverarbeitung getestet. Das Stemming, oder auch Stammformreduktion, führt ein Wort auf den Wortstamm zurück. Dieser ist nicht stets mit dem Lemma gleichzusetzen, zum Vergleich werden dennoch Stemming-Methoden getestet.

Dazu werden der Porter Stemmer 26)Porter, Martin F. „An algorithm for suffix stripping.“ Program 14.3 (1980): 130-137., der Snowball Stemmer  27)Porter, Martin F. „Snowball: A language for stemming algorithms.“ (2001). sowie der Lancester Stemmer28)Paice, C.D., 1990: „Another stemmer“, SIGIR Forum, 24(3), 56-61, 1990., die alle im Natural Language Toolkit (NLTK) 29)Bird, Steven, and Edward Loper. „NLTK: the natural language toolkit.“ Proceedings of the ACL 2004 on Interactive poster and demonstration sessions. Association for Computational Linguistics, 2004. zur Verfügung stehen, angewendet. Alle drei Algorithmen verwenden eine Reihe von linguistischen Regeln, um die Stammform zu erzeugen. Neben den Stemmern wird die Lemmatisierung mittels WordNet 30)Miller, George A. „WordNet: a lexical database for English.“ Communications of the ACM 38.11 (1995): 39-41. und mit der Bibliothek spaCy31)Honnibal, Matthew and Montani, Ines. “spaCy 2: Natural language understanding with Bloom embeddings, convolutional neural networks and incremental parsing” (2017) durchgeführt.

 

Hyperonym

Das Hyperonym bezeichnet den Überbegriff eines Wortes. Es dient der Aufteilung in semantische Gruppen. Beispielsweise können mit der Lemmatisierung zwar die Wörter Frau und Frauen in einer Gruppe zusammengefasst werden, jedoch nicht die Wörter Frau und Mann. Das gemeinsame Hyperonym Mensch ermöglicht dies. Hierzu wird erneut die WordNet-Bibliothek32)Miller, George A. „WordNet: a lexical database for English.“ Communications of the ACM 38.11 (1995): 39-41. herangezogen. Diese ist hierarchisch aufgebaut, wobei die Wurzel <entity> sukzessive in mehrere Kategorien aufgeteilt wird. Durch rekursive Bestimmung des Hyperonyms eines Wortes wird dadurch stets die Wurzel erreicht.

Die folgende Wortfolge stellt ein Beispiel aus der Hierarchie dar:

Mund < Gesicht < Kopf < Mensch

 

Synonyme

Eine Reihe von Synonymen wird für jedes Tag aus dem WordNet extrahiert, um eine weitere Gruppierung zu ermöglichen. Hierzu gibt es keine feste Anzahl für jedes Element im WordNet, daher wird die Anzahl an Synonymen auf maximal fünf beschränkt. Als weitere Quelle dient Thesaurus33)Thesaurus www.thesaurus.com mit einer frei verfügbaren Datenbank, die Definitionen und Synonyme beinhaltet.

 

Word2Vec

Word2Vec erlaubt es Wörter als Vektoren zu repräsentieren. Dabei wird mittels verschiedener Methoden ein n-dimensionaler Vektorraum erzeugt. Dieser Vektorraum bildet viele präzise semantische und syntaktische Relationen ab und erlaubt somit eine Vielzahl von Schlüssen zu ziehen. 34)Mikolov, Tomas, et al. „Distributed representations of words and phrases and their compositionality.“ Advances in neural information processing systems. 2013.

 

Mikolov et al. waren mit Word2Vec zwar nicht die ersten, die Vektordarstellungen von Wörtern verwendeten, aber sie zeigten, wie die Rechenkomplexität beim Lernen solcher Darstellungen reduziert werden kann – was es erlaubt, hochdimensionale Wortvektoren auf einer großen Datenmenge zu trainieren.

 

Zur Berechnung der Wortvektoren können zwei verschiedene Architekturen genutzt werden, Continuous bag-of-words (CBOW) und Skip-gram.

 

CBOW

Wie in Abbildung 10 zu sehen ist, wird bei Continuous bag-of-words (CBOW) ein Wort anhand des Kontextes vorhergesagt. Nach Mikolov 35)Mikolov, Tomas, et al. „Distributed representations of words and phrases and their compositionality.“ Advances in neural information processing systems. 2013. ist diese Methode mehrere Male schneller als das Skip-Gramm und gibt etwas bessere Genauigkeit für häufigen Wörter.

 

Abbildung 10: Continuous bag-of-words (CBOW)36)Mikolov, Tomas, et al. „Efficient estimation of word representations in vector space.“ arXiv preprint arXiv:1301.3781 (2013).

Skip-gram

Bei der Skip-gram Methode wird ein Kontext basierend auf einem Wort vorhergesagt. Skip-gram erlaubt es selbst mit einer kleinen Mengen an Trainingsdaten gute Ergebnisse zu erzielen und bildet auch seltene Wörter oder Phrasen gut in den Vektorraum ab. 37)Mikolov, Tomas, et al. „Distributed representations of words and phrases and their compositionality.“ Advances in neural information processing systems. 2013.

 

Abbildung 11: Skip-gram38)Mikolov, Tomas, et al. „Efficient estimation of word representations in vector space.“ arXiv preprint arXiv:1301.3781 (2013).

Negative Sampling

Die Idee von Word2Vec besteht darin, die Ähnlichkeit, in Form des Skalarprodukts, zwischen den Vektoren für Wörter zu maximieren, die im Text, im Kontext zueinander, nahe beieinander erscheinen, und die Ähnlichkeit von Wörtern zu minimieren, die dies nicht tun.

 

Als intuitives Beispiel kann die folgende vereinfachte Formel als Grundlage betrachtet werden:

 

Formel 1: Vereinfachte Version der Distanz von Word2Vec

 

Der Zähler beschreibt die Ähnlichkeit zwischen den Wörtern des Kontextes vkontext und des Zielwortes vwort. Der Nenner berechnet die Ähnlichkeit aller anderen Kontexte vkontext und des Zielwortes vwort, was bei einem Trainingsdatensatz mehrerer Millionen Wörter enormen Rechenaufwand mit sich bringt.

 

Die Idee von Negative Sampling ist, anstatt aller Kontexte einige wenige zu verwenden, die zufällig aus dem Trainingsdatensatz ausgewählt werden. Mikolov belegt dies dadurch, dass ein zufälliges Wort aus einem großen Datensatz mit hoher Wahrscheinlichkeit kein Kontextwort zum ursprünglichen Wort ist.39)Mikolov, Tomas, et al. „Efficient estimation of word representations in vector space.“ arXiv preprint arXiv:1301.3781 (2013).

Die zufällige Auswahl der Kontextwörter erlaubt es, mit bei weitem kürzerer Laufzeit, ein Vektorraummodell über einen großen Datensatz aufzustellen.

 

Distanz zwischen Vektoren in Word2Vec

Zur Ähnlichkeitsanalyse zweier Vektoren wird die in Formel 2 gezeigte Kosinusdistanz verwendet.

 

Formel 2: Kosinusdistanz zweier Vektoren A und B

 

Trainingsdaten

In ersten Versuchen des Systems werden bereits trainierte Modelle von Google verwendet. Diese haben den Nachteil, dass die Normalisierung der Wörter bzw. die Art und Weise wie der String gespeichert wird, sich von der Artigo Datenbank unterscheidet. Ein weiterer negativer Aspekt ist, dass die Modelle englische Spracheingaben erfordern. Um beide Problem zu lösen wird stattdessen ein deutsches Modell erstellt. Das finale System wird auf 153.021.759 Sätzen bzw. auf 1.356.570.231 Wörtern trainiert. Diese Datenmenge setzt sich aus zwei großen Kategorien zusammen. Zum einen wird ein deutschsprachiger Dump von Wikipedia verwendet, der ein umfangreiches semantisches Wissensnetz mit sich bringt. Der zweite Teil der Daten stammt aus dem OPUS-Projekt40)OPUS http://opus.nlpl.eu/. OPUS ist eine wachsende Sammlung übersetzter Texte aus dem Internet. Im OPUS-Projekt wird versucht freie Online-Daten zu konvertieren und anzugleichen, linguistische Annotationen hinzuzufügen und der Öffentlichkeit ein parallel verfügbares Korpus zur Verfügung zu stellen.

 

Bildvektorsuche

Von der sprachwissenschaftlichen Perspektive aus gibt mehrere Möglichkeiten, einen Vektor für einen Satz zu bilden. Jeder Ansatz hat Vor- und Nachteile und die Auswahl hängt dabei von der Aufgabe ab, für die die Vektoren verwendet werden.

Die einfachste Methode ist den Durchschnitt aller Wortvektoren eines Satzes zu nehmen. Laut Le und Mikolov 41)Le, Quoc, and Tomas Mikolov. „Distributed representations of sentences and documents.“ International Conference on Machine Learning. 2014. ist dieser Ansatz schlecht für die Sentimentanalyse, weil er „die Wortstellung auf die gleiche Weise verliert wie die Standard-Bag-of-Word-Modelle“ und wird dabei „versagen“ viele komplexe sprachliche Phänomene zu erkennen, z. B. Sarkasmus. Da in diesem Projekt keine syntaktische Satzstruktur vorhanden ist, kann diese simple Variante verwendet werden. Kenter et al. 42)Kenter, Tom, Alexey Borisov, and Maarten de Rijke. „Siamese cbow: Optimizing word embeddings for sentence representations.“ arXiv preprint arXiv:1606.04640 (2016). besagt, dass die Mittelung von Wortvektoren aller Wörter in einem Text als eine starke Basis oder ein Merkmal für eine Vielzahl von Aufgaben sinnvoll ist, wie beispielsweise zur Ähnlichkeitsanalyse kurzer Texte wie Tweets des sozialen Netzwerks Twitter.

 

Intuition

Der Artigo Datensatz ermöglicht die semantischen Beziehungen, die in einem Word2Vec Modell bestehen, zur Suche nach ähnlichen Bildern zu verwenden.

 

Methodik

Zuerst muss eine Projektion des Bildes, ein Bildvektor, aus dem Vektorraum des Word2Vec-Modells erzeugt werden. Dies erfolgt durch die Übersetzung der einzelnen Tags eines Bildes im Datensatz zu den zugehörigen Wortvektoren. Diese Wortvektoren werden anschließend mit einem normalisierten Tagcount verrechnet, wie in Formel 3 zu sehen ist. Dabei bezeichnen die Werte norm alle Werte nach der Normalisierung, die Werte unnorm dementsprechend alle Werte vor der Normalisierung. maxunnorm steht somit für den höchsten im Datensatz auftretenden Tagcount vor der Normalisierung.

Formel 3: Normalisierung der Tagcounts zur Berechnung der Bildvektoren

 

Der normalisierte Tagcount hat zunächst keinen mathematischen Vorteil bezüglich der Berechnung der Ähnlichkeit zweier Bildvektoren, da sich der Winkel zwischen zwei Vektoren dadurch nicht ändert. Jedoch erlaubt das Normalisieren in ein Intervall von [0,1] intuitiver mit den Vektoren umzugehen. 0,5 * vektorHimmel bei der Berechnung des Bildvektors kann so verstanden werden , dass der Bildvektor 50 % der semantischen Bedeutung des Wortes Himmel beinhalten soll, wohingegen in der nicht normalisierten Version Vorwissen über die maximalen und minimalen Werte des Datensatzes vorausgesetzt sind.

Ein zusätzlicher Cutoff wird an beiden Enden des Tagcounts des Datensatzes, minunnorm und maxunnorm, durchgeführt. Genauer bedeutet dies, dass der Tagcount eines Tags nicht über einem gewissen Grenzwerten n liegen darf. Alle Tagcounts die darüber liegen werden im Zug auf den Wert n gesetzt. Alle Tags mit einem Tagcount der kleiner  als m werden einfach ignoriert. Somit wird verhindert, dass durch Tags mit geringer Auftrittshäufigkeit die Erstellung des Bildvektors negativ beeinflusst wird. Ebenfalls wird vermieden, dass Tags mit häufigem Vorkommen den Bildvektor zu stark dominieren. Ein gutes Beispiel ist das Tag blau, welches oftmals verwendet wird, um die Farbe des Himmels oder Meeres in einem Bild zu beschreiben. Intuitiv erhöht der gesetzte Wert maxunnorm die Distanz zwischen Bildvektoren, die sonst durch wenige hochfrequente Tags zu nahe aneinander wären, um eine aussagekräftige Unterscheidung treffen zu können.

 

Die hochdimensionalen Bildvektoren können im zwei- oder dreidimensionalen Raum betrachtet werden, um beispielsweise weitere Datenanalysen durchzuführen, indem Methoden wie Principal Component Analysis (PCA)43)Pearson, Karl. „LIII. On lines and planes of closest fit to systems of points in space.“ The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science 2.11 (1901): 559-572.44)Hotelling, Harold. „Analysis of a complex of statistical variables into principal components.“ Journal of educational psychology 24.6 (1933): 417. oder t-Distributed Stochastic Neighbor Embedding (t-SNE)45)Maaten, Laurens van der, and Geoffrey Hinton. „Visualizing data using t-SNE.“ Journal of machine learning research 9.Nov (2008): 2579-2605. angewendet werden.

Abbildung 12 zeigt eine solche Darstellung im dreidimensionalen Raum, die vom Tensorboard des Tensorflow-Frameworks46)Abadi, Martín, et al. „Tensorflow: Large-scale machine learning on heterogeneous distributed systems.“ arXiv preprint arXiv:1603.04467 (2016). für maschinelles Lernen bereitgestellt wird. Das Tensorboard ermöglicht zudem eine Suche sowie Einschränkung bezüglich aller angehängten Metadaten, wie Titel des Kunstwerks, Künstlername, Entstehungsort sowie -jahr und Taginformation.

 

Abbildung 12: Eine Abbildung der hochdimensionalen Bildvektoren im dreidimensionalen Raum. Die markierten Cluster umfassen die Themen “Gebäude” (rot), “Schriften” (grün) sowie “Fotografien” (blau).

 

Ergebnisse

Die Korrektur des Datensatzes führt zu einer Minimierung des Tagsets um circa ein Drittel, was sich positiv auf den Übersetzungsprozess auswirkt, da dementsprechend weniger Übersetzungen durchgeführt werden müssen. Zu erklären ist dies durch die meist nur minimale Falscheingabe, die eine Korrektur mit den genannten Methoden leicht ermöglicht. Die Unterteilung in zwei Phasen stellt sich in manuellen Evaluationen ebenfalls als erfolgreich heraus, da somit Falsch-Korrekturen weitestgehend vermieden werden. Die Verbesserung wird durch Abgleich der Tags mit dem Vokabular vor und nach der Korrektur sowie ohne und mit Einbeziehung der Tagcounts gemessen. Abbildung 13 stellt diese Ergebnisse dar.

 

Abbildung 13: Die Veränderungen durch die Tagkorrektur im Bezug auf ein umfangreiches Wörterbuch.

 

Die Abdeckung des Tagsets durch das Vokabular steigt von ca. einem auf zwei Drittel. Unter Beachtung der Tagcounts bleiben damit weniger als drei Prozent der Taggings, die nicht im Vokabular zu finden sind, ohne Korrektur sind es knapp fünf Prozent. Die Korrektur erweist sich dadurch als lohnenswert, um die spätere Übersetzung zu verbessern.

Bei den Methoden der Datenanreicherung bringt die Stammwortreduktion wie erwartet nicht die gewünschten Ergebnisse, allerdings liefert bei den Lemmatisierungsansätzen spaCy hervorragende Ergebnisse, weshalb diese dem Datensatz angefügt werden.

Die Hyperonyme erweisen sich als bedingt hilfreich. Zwar sind die Begriffe, die mittels WordNet bestimmt werden, überwiegend korrekt, allerdings ist die Ebene in der Hierarchie stets unterschiedlich und damit lassen sich gewünschte Gruppierungen nur schwierig umsetzen. Dazu müssten komplexere Methoden eingesetzt werden, gegebenenfalls eine Speicherung einer Liste von Hyperonymen bis hin zur Wurzel, um mit Übereinstimmungen in Abschnitten auf die gleiche Ebene zu gelangen.

Synonyme des WordNets liefern eine zu hohe Anzahl und zu breit gefächerte Resultate, Thesaurus gibt hingegen bessere Synonyme. Hier ist jedoch oftmals strittig, ob es sich bei den Begriffen überhaupt im weitesten Sinn noch um Synonyme handelt oder nur um Begriffe der gleichen Kategorie, d. h. mit einer ähnlichen semantischen Bedeutung. Sie werden dennoch in den Datensatz aufgenommen, da sie potenziell zum Clustering verwendet werden können.

Die Übersetzung wird lediglich manuell evaluiert, wobei hier durchgehend, wie erwartet, gute Ergebnisse geliefert werden. Probleme entstehen fast nur bei ambigen Wörtern, die aber selten vorkommen und wegen fehlendem Kontext umständlich gelöst werden müssten.

 

Evaluation der Bildvektoren

Zwei Suchverfahren werden evaluiert. Die erste Variante, im Folgenden Include genannt, erlaubt eine Überlappung der Suchbegriffe und der Tags eines Bildes wohingegen die andere,  im Folgenden Exclude genannt, eine solche Überschneidung ausschließt.

Als Cutoffs wird der Wert 20 für maxneu gesetzt, der minimale Wert minneu bleibt unverändert zum alten Wert minalt. Ein Benutzer kann interaktiv mittels Evaluationsoberfläche Suchanfragen an das System stellen. Die Ergebnisse der Suche müssen einer von drei Kategorien zugeordnet werden. Das Label “Correct” wird vergeben, wenn ein Suchergebnis eine direkte semantische Beziehung zur Suchanfrage besitzt, wohingegen das Label “Wrong” gesetzt wird, wenn es keine nachvollziehbare Verbindung gibt. Das Label “Neutral” dient dazu Ergebnisse zu beschreiben, welche eine entfernte semantische Beziehung zur Sucheingabe besitzen.

 

Include

750 Bewertungen wurden bei der ersten Suchvariante durchgeführt. Die Ergebnisse spiegeln die Erwartungen wieder, dass ein Bildvektor höchstwahrscheinlich als Ergebnis geliefert wird, wenn sich die Begriffe der Suchanfrage und die Tags der Bilder überschneiden. Abbildung EB1 veranschaulicht, dass, mit einer Fehlerquote von unter 2 %, hervorragende Resultate erzielt werden.

 

Abbildung EB1: Verteilung von 750 Bewertungen bei der Suchvariante Include

 

Exclude

Bei Exclude wurden 1500 Bilder von verschiedenen Benutzern bewertet. Diese Variante ist für die Qualität der Bildvektorsuche entscheidender als die erste Suchvariante. Die in Abbildung EB2 ersichtliche, leicht erhöhte Fehlerquote war zu erwarten, dennoch ist von sehr guten Resultaten zu sprechen.

 

Abbildung EB2:Verteilung von 1500 Bewertungen bei der Suchvariante Exclude

Alle gelieferten Ergebnisse können in zwei Kategorien eingeteilt werden. Als erstes gibt es die Ergebnisse aus der morphologischen Perspektive. In der Linguistik bezeichnet die Morphologie das strukturalistische Vorgehen, das die kleinsten bedeutungstragenden oder mit einer grammatischen Funktion versehenen Einheiten verändert. Als Beispiel kann hierbei die Pluralbildung von Wörtern genannt werden. Wenn also als Suchanfrage das Wort Baum eingegeben wird, können Bilder zurückkommen die mit Bäumen getaggt sind.

Als zweites gibt es die Ergebnisse aus der semantischen Perspektive. Hier werden Ergebnisse geliefert, welche auf der Bedeutungsebene miteinander verbunden sind. Hier werden z.B. bei der Suchanfrage Baum Ergebnisse geliefert, die die Wörter Tanne oder Wald beinhalten. Ein zusätzlicher Nebeneffekt ist, dass nach Konzepten gesucht werden kann, die weder ein einziges mal als Tag im Datensatz auftauchen, noch zeitlich in die Periode der Bilder passen. Hier kann z. B. nach dem Computerspiel Minecraft, einem Spiel das vom Aufnehmen und Platzieren von Blöcken in einem 3D-Raster handelt, oder Lego gesucht werden und zurückgeliefert werden Bilder der Stilrichtung Kubismus oder Skizzen von Bauplänen.

 

Ausblick

Der erfolgreiche Einsatz eines selbstentwickelten Übersetzungssystem benötigt im Vergleich zum präsentierten System, womöglich keine grundlegenden Änderungen an der Architektur, sondern in erster Linie eine andere Struktur von Trainingsdaten bzw. zusätzliche Trainingsdaten.

Weiteres Verbesserungspotential bieten andere Varianten von Wortvektoren wie kürzlich entwickelte Vektoren, die zwar weniger auf semantische Beziehungen abzielen, jedoch durch Kodierung von Teilwort-Information Rechtschreibfehler umgehen und unbekannte Wörter verarbeiten könnten47)Bojanowski, Piotr, et al. „Enriching word vectors with subword information.“ arXiv preprint arXiv:1607.04606 (2016).. Einen weiteren Ansatz könnten multilinguale Vektoren sowie unlängst entwickelte Methoden zur Übersetzung ohne parallele Korpora bieten48)Conneau, Alexis, et al. „Word translation without parallel data.“ arXiv preprint arXiv:1710.04087 (2017).49)Lample, Guillaume, Ludovic Denoyer, and Marc’Aurelio Ranzato. „Unsupervised Machine Translation Using Monolingual Corpora Only.“ arXiv preprint arXiv:1711.00043 (2017)..

Desweiteren hat das System gezeigt, dass ein semantisches Netz, basierend auf den Tags eines Bildes, gebildet werden kann, welches erlaubt Bilder untereinander zu vergleichen. Das Suchsystem kann beim Vergleich mit anderen Datensätzen als Basis genutzt werden. Beispielsweise könnten Preise und Preisentwicklungen Bildern zugeordnet werden, um somit die Preisvorhersage eines Bildes zu verbessern. Aber auch zur Erweiterung und Anreicherung des Artigo Datensatzes ergeben sich einige Möglichkeiten. Eine simple CNN (Convolutional Neural Network) Struktur könnte dazu verwendet werden, ungetaggte Bilder semantischen Clustern zuzuordnen. Dazu können die bereits bestehenden Daten zum Training des Netzes verwendet werden. Ausgehend von dieser Information könnten Vorschläge für Tags geben werden, welche häufig im selben Cluster auftreten.

Bibliographie   [ + ]

1. ARTigo Forschungsprojekt http://www.artigo.org/
2. Russell, Stuart Jonathan, et al. Artificial intelligence: a modern approach. Vol. 2. No. 9. Upper Saddle River: Prentice hall, 2003.
3. Brown, Peter F., et al. „The mathematics of statistical machine translation: Parameter estimation.“ Computational linguistics19.2 (1993): 263-311.
4. Koehn, Philipp, et al. „Moses: Open source toolkit for statistical machine translation.“ Proceedings of the 45th annual meeting of the ACL on interactive poster and demonstration sessions. Association for Computational Linguistics, 2007.
5. Koehn, Philipp. Statistical machine translation. Cambridge University Press, 2009.
6. Koehn, Philipp. „Europarl: A parallel corpus for statistical machine translation.“ MT summit. Vol. 5. 2005.
7. Bengio, Yoshua, et al. „A neural probabilistic language model.“ Journal of machine learning research 3.Feb (2003): 1137-1155.
8. Rosenblatt, Frank. „The perceptron: a probabilistic model for information storage and organization in the brain.“ Psychological review 65.6 (1958): 386.
9. Rumelhart, David E., Geoffrey E. Hinton, and Ronald J. Williams. Learning internal representations by error propagation. No. ICS-8506. California Univ San Diego La Jolla Inst for Cognitive Science, 1985.
10. Bengio, Yoshua, and Yann LeCun. „Scaling learning algorithms towards AI.“ Large-scale kernel machines 34.5 (2007): 1-41.
11. Hinton, Geoffrey E., Simon Osindero, and Yee-Whye Teh. „A fast learning algorithm for deep belief nets.“ Neural computation 18.7 (2006): 1527-1554.
12. Kalchbrenner, Nal, and Phil Blunsom. „Recurrent continuous translation models.“ Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing. 2013.
13. Kalchbrenner, Nal, and Phil Blunsom. „Recurrent convolutional neural networks for discourse compositionality.“ arXiv preprint arXiv:1306.3584 (2013).
14. Hochreiter, Sepp, and Jürgen Schmidhuber. „Long short-term memory.“ Neural computation 9.8 (1997): 1735-1780.
15. Sutskever, Ilya, Oriol Vinyals, and Quoc V. Le. „Sequence to sequence learning with neural networks.“ Advances in neural information processing systems. 2014.
16, 17. Bahdanau, Dzmitry, Kyunghyun Cho, and Yoshua Bengio. „Neural machine translation by jointly learning to align and translate.“ arXiv preprint arXiv:1409.0473 (2014).
18. Bahdanau, Dzmitry, Kyunghyun Cho, and Yoshua Bengio. „Neural machine translation by jointly learning to align and translate.“ arXiv preprint arXiv:1409.0473 (2014).
19. Manythings  – Bilingual Sentence Pairs
from the Tatoeba Corpus http://www.manythings.org/bilingual/
20. Wu, Yonghui, et al. „Google’s neural machine translation system: Bridging the gap between human and machine translation.“ arXiv preprint arXiv:1609.08144 (2016).
21. Wu, Yonghui, et al. „Google’s neural machine translation system: Bridging the gap between human and machine translation.“ arXiv preprint arXiv:1609.08144 (2016).
22. Johnson, Melvin, et al. „Google’s multilingual neural machine translation system: enabling zero-shot translation.“ arXiv preprint arXiv:1611.04558 (2016).
23. The Apache Software Foundation – Open Office https://www.openoffice.org/
24. Damerau, Fred J. „A technique for computer detection and correction of spelling errors.“ Communications of the ACM 7.3 (1964): 171-176.
25. Levenshtein, Vladimir I. „Binary codes capable of correcting deletions, insertions, and reversals.“ Soviet physics doklady. Vol. 10. No. 8. 1966.
26. Porter, Martin F. „An algorithm for suffix stripping.“ Program 14.3 (1980): 130-137.
27. Porter, Martin F. „Snowball: A language for stemming algorithms.“ (2001).
28. Paice, C.D., 1990: „Another stemmer“, SIGIR Forum, 24(3), 56-61, 1990.
29. Bird, Steven, and Edward Loper. „NLTK: the natural language toolkit.“ Proceedings of the ACL 2004 on Interactive poster and demonstration sessions. Association for Computational Linguistics, 2004.
30, 32. Miller, George A. „WordNet: a lexical database for English.“ Communications of the ACM 38.11 (1995): 39-41.
31. Honnibal, Matthew and Montani, Ines. “spaCy 2: Natural language understanding with Bloom embeddings, convolutional neural networks and incremental parsing” (2017)
33. Thesaurus www.thesaurus.com
34, 35, 37. Mikolov, Tomas, et al. „Distributed representations of words and phrases and their compositionality.“ Advances in neural information processing systems. 2013.
36, 38, 39. Mikolov, Tomas, et al. „Efficient estimation of word representations in vector space.“ arXiv preprint arXiv:1301.3781 (2013).
40. OPUS http://opus.nlpl.eu/
41. Le, Quoc, and Tomas Mikolov. „Distributed representations of sentences and documents.“ International Conference on Machine Learning. 2014.
42. Kenter, Tom, Alexey Borisov, and Maarten de Rijke. „Siamese cbow: Optimizing word embeddings for sentence representations.“ arXiv preprint arXiv:1606.04640 (2016).
43. Pearson, Karl. „LIII. On lines and planes of closest fit to systems of points in space.“ The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science 2.11 (1901): 559-572.
44. Hotelling, Harold. „Analysis of a complex of statistical variables into principal components.“ Journal of educational psychology 24.6 (1933): 417.
45. Maaten, Laurens van der, and Geoffrey Hinton. „Visualizing data using t-SNE.“ Journal of machine learning research 9.Nov (2008): 2579-2605.
46. Abadi, Martín, et al. „Tensorflow: Large-scale machine learning on heterogeneous distributed systems.“ arXiv preprint arXiv:1603.04467 (2016).
47. Bojanowski, Piotr, et al. „Enriching word vectors with subword information.“ arXiv preprint arXiv:1607.04606 (2016).
48. Conneau, Alexis, et al. „Word translation without parallel data.“ arXiv preprint arXiv:1710.04087 (2017).
49. Lample, Guillaume, Ludovic Denoyer, and Marc’Aurelio Ranzato. „Unsupervised Machine Translation Using Monolingual Corpora Only.“ arXiv preprint arXiv:1711.00043 (2017).

Hinterlasse einen Kommentar

avatar
  Abonnieren  
Benachrichtige mich bei