Wenn ein Kind geboren wird, braucht es einige Zeit, um die Fähigkeit zu sprechen und zu verstehen zu entwickeln. Kinder lernen nur die Sprache, die die Menschen in ihrer Umgebung sprechen werden. Menschen können Sprachen schnell selbstständig lernen, aber Computer können das nicht tun. Sie können zum Beispiel leicht den Unterschied zwischen Katze und Hund, Mann und Frau usw. verstehen.
Dies geschieht, weil unsere neuronalen Netze anders sind als die künstlichen neuronalen Netze, die Maschinen haben. Computer lernen Sprachen anders als Menschen. Sie verwenden Techniken zur Worteinbettung, um die Sprache der Menschen zu verstehen.
Was ist Worteinbettung?
Die einfache Definition von Worteinbettung ist die Umwandlung von Text in Zahlen. Damit der Computer die Sprache versteht, wandeln wir den Text in Vektorform um, so dass Computer Verbindungen zwischen Vektoren zu Wörtern entwickeln und verstehen können, was wir sagen. Mit der Worteinbettung lösen wir Probleme im Zusammenhang mit der Verarbeitung natürlicher Sprache.
NLP verstehen
Die Verarbeitung natürlicher Sprache hilft Maschinen dabei, zu verstehen und die Fähigkeit zu entwickeln, zu schreiben, zu lesen und zu hören, was wir sagen. Google, DuckDuckGo und viele andere Browser verwenden NLP, um die Sprachbarrieren zwischen Mensch und Maschine abzubauen. Darüber hinaus sind Microsoft Word und Google Translate NLP-Anwendungen.
Algorithmen der Worteinbettung
Die Worteinbettung ist eine Vektordarstellung und erfordert Techniken und Algorithmen des maschinellen Lernens. Diese Algorithmen nutzen künstliche neuronale Netze und Daten, um die Verbindungen verschiedener Wörter zu erzeugen. Wenn ein Modell zum Beispiel die Wörter “König” und “Königin” lernt, werden die Vektoren miteinander in Beziehung gesetzt. Dies hilft der Maschine, die beiden Wörter zu unterscheiden und doch in Beziehung zueinander zu setzen. Im Folgenden werden drei gängige Algorithmen erläutert, die Sie beim maschinellen Lernen für die Worteinbettung verwenden können.
1. Wort2Vec
Word2Vec ist der beliebteste Algorithmus für die Worteinbettung. Dieser Algorithmus verwendet neuronale Netze, um die Einbettung effizienter zu erlernen. Dieser Algorithmus besteht eigentlich aus einer Reihe von Algorithmen. Sie können diese Algorithmen für NLP-Aufgaben verwenden. Word2Vec verwendet nur eine verborgene Schicht und verbindet diese mit dem neuronalen Netz. Alle linearen Neuronen sind die verborgenen Schichten in den Neuronen. Um das Modell zu trainieren, enthält die Eingabeschicht die Anzahl der Neuronen, die der Anzahl der Wörter im Vokabular entspricht. Die Größe der Ausgabe- und Eingabeschicht bleibt gleich. Die Größe der verborgenen Schicht wird jedoch entsprechend den Vektoren der Dimensionen der Ergebniswörter festgelegt. Sie können die Worteinbettung mit Word2Vec mit zwei Methoden durchführen. Bei beiden Methoden benötigen Sie künstliche neuronale Netze. Diese Methoden sind:
– CBOW oder Common Bag of Words
Bei dieser Methode ist jedes Wort ein Input, und das neuronale Netz sagt das Wort voraus, das sich auf den Kontext bezieht. Zum Beispiel: “Ich fahre mit dem Bus nach Hause”. In diesem Beispiel geben wir das Wort “Bus” in das neuronale Netz mit dem Kontext “Ich fahre mit einem Bus nach Hause” ein. Dann erzeugt die Maschine einen Vektor, der “nach Hause fahren” mit dem Bus verbindet, der als Quelle der Fahrt dargestellt wird.
– Skim-Gramm
Skim Gram verwendet denselben Trick, den auch ein gewöhnlicher Wortsack oder jeder andere Algorithmus des maschinellen Lernens verwendet. Da wir unbenannte Wörter haben, handelt es sich bei der Worteinbettung im Wesentlichen um halbüberwachtes Lernen. Bei dieser Methode verwendet der Algorithmus benachbarte Wörter und kennzeichnet sie entsprechend.
2. GloVe
Der Algorithmus Global Vectors for Word Representation oder GloVe ist Word2Vec sehr ähnlich. Die Methode ist jedoch ein wenig anders als Word2Vec. GloVe berücksichtigt nur die Kontextinformationen auf der Basis von 1-1. Das bedeutet, dass GloVe nur eine wortbezogene Matrix erstellt, die die Wahrscheinlichkeit P (a | b) enthält, dass das k-Wort um das Wort b herum betrachtet wird.
Der Hauptzweck dieser Technik besteht darin, die Repräsentation der beiden Vektoren so zu finden, dass die logarithmische Wahrscheinlichkeit ihrer Punktprodukte gleich der Koinzidenz ist. Sie liefern hervorragende Ergebnisse, um die Wörter im Kontext zueinander in Beziehung zu setzen.
3. Einbettende Schicht
Dies ist die erste verborgene Schicht des künstlichen neuronalen Netzes. Diese Schicht sollte drei Augments spezifizieren.
Eingabe dim
Dies stellt die Vokabulargröße in den Textdaten dar. Wenn Sie zum Beispiel Daten mit ganzzahliger Kodierung und Werten von 0 bis 10 haben, dann wäre die Größe des Vokabulars 11.
Ausgabe dim
Sie stellen die Vektorraumgröße dar. Der Vektorraum wäre der der eingebetteten Wörter. Dieser kann 32, 100 oder größer sein.
Eingabe-Länge
Dies stellt die Länge der Eingabesequenzen dar. Wenn z.B. die Wörter in Ihren Eingabedokumenten bis zu 1000 sind, dann wäre dieser Wert ebenfalls 1000.
Schlussfolgerung
Die Worteinbettung ist für das maschinelle Lernen unerlässlich, da sie dem Computer hilft, Ihre Sprache zu verstehen. Sie enthält verschiedene Algorithmen, die Wörter unterschiedlich verarbeiten, aber der Hauptschwerpunkt liegt auf der Unterstützung des maschinellen Lernens von Sprachen. Computer können nicht verstehen, was wir fordern. Stattdessen werden Computer für jedes Wort mit einer Vektordarstellung kodiert, die sich je nach Kontext auf andere Wörter bezieht.