Deep Learning illustriert. Jon Krohn. Читать онлайн. Newlib. NEWLIB.NET

Автор: Jon Krohn
Издательство: Bookwire
Серия:
Жанр произведения: Математика
Год издания: 0
isbn: 9783960887522
Скачать книгу
Gehirn ist nicht besonders gut darin, in mehr als drei Dimensionen räumlich logisch zu denken, weshalb unsere Skizze in Abbildung 2–6 nur drei Dimensionen aufweist. In diesem dreidimensionalen Raum benötigt jedes Wort aus unserem Textkorpus drei numerische Koordinaten, um seine Lage innerhalb des Vektorraums zu definieren: x, y und z. In diesem skizzenhaften Beispiel wird die Bedeutung des Wortes king durch einen Vektor vking repräsentiert, der aus drei Zahlen besteht. Würde vking sich an den Koordinaten x=-0.9, y=1.9 und z=2.2 im Vektorraum befinden, könnten wir die Notation [-0.9, 1.9, 2.2] verwenden, um diesen Ort kurz und knapp zu beschreiben. Diese knappe Notation wird uns in Kürze zugutekommen, wenn wir arithmetische Operationen auf Wortvektoren durchführen.

      Je enger zwei Wörter im Vektorraum beieinander stehen13, umso ähnlicher ist auch ihre Bedeutung, was durch die Ähnlichkeit der Kontextwörter bestimmt wird, die ihnen in der natürlichen Sprache nahe sind. Synonyme und häufig auftretende Falschschreibungen eines bestimmten Wortes müssten – da sie dieselbe Bedeutung besitzen – fast identische Kontextwörter und entsprechend fast dieselben Orte im Vektorraum haben. Wörter, die in ähnlichen Kontexten benutzt werden, wie etwa solche, die die Zeit bezeichnen, liegen im Vektorraum meist nahe beieinander. In Abbildung 2–6 konnten Monday, Tuesday und Wednesday durch die orangefarbenen Punkte innerhalb des orangefarbenen Wochentage-Clusters in der oberen rechten Ecke des Würfels dargestellt werden. Die Monatsnamen dagegen könnten in ihrem eigenen violetten Cluster liegen, der den Wochentagen benachbart ist, aber dennoch von ihnen unterschieden werden kann: Beide beziehen sich auf das Datum, sind aber getrennte Subcluster innerhalb eines größeren dates-Bereichs. Als zweites Beispiel würden wir feststellen, dass Programmiersprachen gemeinsam an einer anderen Stelle des Wortvektorraums zu finden sind, aber in einer gewissen Entfernung von den die Zeit bezeichnenden Wörtern – etwa in der linken oberen Ecke. Auch hier bilden sich Subcluster: Objektorientierte Sprachen wie Java, C++ und Python liegen beieinander, ein wenig abgetrennt von funktionalen Programmiersprachen wie Haskell, Clojure und Erlang. Wie Sie in Kapitel 11 sehen werden, wenn Sie selbst Wörter in den Vektorraum einbetten, werden weniger konkret definierten Begriffen, die dennoch eine bestimmte Bedeutung transportieren (z.B. die Verben created, developed und built), ebenfalls Positionen im Wortvektorraum zugewiesen, die es ihnen erlauben, in NLP-Aufgaben nützlich zu sein.

       2.2.3Wortvektor-Arithmetik

      Da bestimmte Bewegungen über den Vektorraum eine effiziente Methode sind, um relevante Wortinformationen im Vektorraum zu speichern, repräsentieren diese Bewegungen bemerkenswerterweise die jeweiligen speziellen Bedeutungen zwischen den Wörtern. Das ist eine verblüffende Eigenschaft.14 Kehren wir zu unserem Würfel aus Abbildung 2–6 zurück. Die braunen Pfeile repräsentieren die Beziehungen zwischen Ländern und ihren Hauptstädten. Das heißt, falls wir die Richtung und den Abstand zwischen den Koordinaten der Wörter Paris und France berechnen und dann diese Richtung und den Abstand von London aus ziehen, sollten wir uns in der Gegend der Koordinaten wiederfinden, die das Wort England darstellt. Als zweites Beispiel können wir Richtung und Abstand zwischen den Koordinaten für man und woman berechnen. Diese Bewegung durch den Vektorraum repräsentiert das Geschlecht und wird durch die grünen Pfeile in Abbildung 2–6 symbolisiert. Falls wir die grüne Richtung und den Abstand von jedem spezifisch männlichen Begriff aus ziehen (z.B. king, uncle), sollten wir bei einer Koordinate nahe dem entsprechenden weiblichen Gegenstück (queen, aunt) landen.

      vbezos - vamazon + vtesla = vmusk

      vwindows - vmicrosoft + vgoogle = vandroid

       Abb. 2–7 Beispiele für Wortvektor-Arithmetik

      Ein Nebenprodukt dieser Fähigkeit, Bedeutungsvektoren (z.B. Geschlecht-, Hauptstadt-Land-Beziehung) von einem Wort im Vektorraum zum anderen zu ziehen, ist die Möglichkeit der Wortvektor-Arithmetik. Das kanonische Beispiel dafür geht folgendermaßen: Falls wir bei vking beginnen, dem Vektor, der king repräsentiert (entsprechend unserem Beispiel aus dem vorigen Abschnitt wird dieser Ort durch [-0.9, 1.9, 2.2] beschrieben), von diesem den Vektor subtrahieren, der man repräsentiert (nehmen wir an, vman =[-1.1, 2.4, 3.0]), und den Vektor addieren, der woman beschreibt (z.B. vwoman =[-3.2, 2.5, 2.6]), dann sollten wir eine Stelle in der Nähe des Vektors finden, der queen darstellt. Wir erledigen diese Berechnung dimensionsweise und schätzen daher den Ort von vqueen, indem wir wie folgt rechnen:

      xqueen = xking - xman + xwoman = -0.9 + 1.1 - 3.2 = -3.0

      yqueen = yking - yman + ywoman = 1.9 - 2.4 + 2.5 = 2.0

      zqueen = zking - zman + zwoman = 2.2 - 3.0 + 2.6 = 1.8

       Gleichung 2–1

      Nehmen wir dann alle drei Dimensionen zusammen, erwarten wir, vqueen nahe [-3.0, 2.0, 1.8] zu finden.

      Abbildung 2–7 bietet weitere unterhaltsame Beispiele für eine Arithmetik durch den Wortvektorraum, die auf einem großen, natürlichsprachigen Textkorpus aus dem Web trainiert wurden. Wie Sie dann in Kapitel 11 in der Praxis beobachten können, ist die Bewahrung dieser quantitativen Bedeutungsbeziehungen zwischen den Wörtern über den Vektorraum ein robuster Ausgangspunkt für Deep-Learning-Modelle innerhalb von NLP-Anwendungen.

       2.2.4word2viz

      Um Ihre intuitive Wertschätzung für Wortvektoren weiterzuentwickeln, besuchen Sie bitte https://lamyiowce.github.io/word2viz/. In Abbildung 2–8 sehen Sie die Standardansicht des Programms word2viz zum interaktiven Erkunden von Wortvektoren. Wählen Sie im Dropdown-Menü oben rechts »Gender analogies« und versuchen Sie dann, unter der Überschrift »Modify words« Paare aus neuen Wörtern einzugeben. Wenn Sie Paare aus zusammengehörenden geschlechtsspezifischen Wörtern wie princess und prince, duchess und duke sowie businesswoman und businessman eingeben, werden Sie feststellen, dass diese an sehr aufschlussreichen Orten landen.

      Die Entwicklerin von word2viz, Julia Bazińska, komprimierte einen 50-dimensionalen Wortvektorraum in zwei Dimensionen, um die Vektoren in einem xy-Koordinatensystem zu visualisieren.15 Bazińska skalierte die x-Achse von den Wörtern she bis he als Referenzpunkt für das Geschlecht, während die y-Achse vom gemeinen Volk an der Basis zur königlichen Spitze verlief, also von woman bis queen. Die dargestellten Wörter, die über ein Training auf einem natürlichsprachigen Datensatz aus 6 Milliarden Instanzen aus 400.000 einzigartigen Wörtern16 in den Vektorraum gelangten, sitzen je nach Bedeutung relativ zu den beiden Achsen. Je majestätischer (queen) die Wörter waren, umso höher gelangten sie in die Darstellung; die weiblichen (she) Begriffe liegen dabei links von ihren männlichen (he) Gegenstücken.