So erstellen Sie eine Einbettung aus einer Liste englischer Sätze

So Erstellen Sie Eine Einbettung Aus Einer Liste Englischer Satze



Haben Sie jemals darüber nachgedacht, wie ein Computer dies versteht und verarbeitet, wenn wir mit unseren Maschinen (Computern) kommunizieren und ihnen Anweisungen geben, eine bestimmte Aufgabe für uns auszuführen, beispielsweise eine bestimmte Suche durchzuführen oder von einer Sprache in eine andere zu übersetzen? Dies alles geschieht durch das Teilgebiet der künstlichen Intelligenz der Verarbeitung natürlicher Sprache. Der Computer versteht die numerischen Werte und die NLP-Technik der „Worteinbettung“ wandelt das Wort und die Texte, die wir den Computern als Eingabe geben, in diesen numerischen Vektor um, damit der Computer es erkennen kann. Über diese Mensch-Computer-Interaktion hinaus finden über Sprachmodelle mehrere andere NLP-Prozesse statt, aber wir werden die Worteinbettung in diesem Leitfaden ausführlich behandeln.

Syntax:

Für die Worteinbettung des Textes fallen unter das Natural Language Processing verschiedene Funktionen. In diesem Artikel wird die Funktion „word2vec“ zu diesem Zweck behandelt. Um es klarer zu machen: Die Worteinbettung wandelt unsere Texteingaben in die Vektordarstellung um, wobei jene Wörter, die mehr oder weniger die gleichen kontextuellen Bedeutungen haben, die gleiche Darstellung erhalten haben.

Der „word2vec“-Algorithmus ist ein neuronales Netzwerkmodell, das so trainiert ist, dass es die Einbettung der Wörter lernt, indem es zunächst den Kontext des Wortes, in dem es erscheint, vorhersagt. Dieses Modell nimmt den Text als Eingabe auf. Anschließend wird für jedes Wort im Text die Vektordarstellung für dieses Wort erstellt. Dieses Modell basiert auf der Idee, dass Wörter, die scheinbar denselben Kontext haben, dieselbe Bedeutung haben. Die Syntax für „word2vec“ lautet wie folgt:







$ Word2Vec(Sätze, min_count)

Dieser Algorithmus hat zwei Parameter: „Sentences“ und „Minimum_Count“. Der Satz ist die Variable, in der die Liste der Sätze oder der Text in Form von Sätzen gespeichert wird, und die Mindestanzahl spricht vom Zählwert 1, was bedeutet, dass jedes Wort im Text, das weniger als eins vorkommt, ignoriert werden muss .



Beispiel 1:

In diesem Beispiel erstellen wir die Worteinbettungen für die Wörter, die in der Liste der englischen Sätze vorhanden sind. Um das Wort „Einbettung“ zu erstellen, müssen wir das Modell „word2vec“ verwenden. Dieses Modell ist ein Paket der „gensim“-Bibliothek von Python. Wir müssen Gensim in unseren Python-Bibliotheks-Repositorys installiert haben, um mit „word2vec“ arbeiten zu können.



Um dieses Beispiel umzusetzen, werden wir mit dem Online-Python-Compiler „google colab“ arbeiten. Um das Gensim zu installieren, verwenden Sie den Befehl „pip install gensim“. Dadurch wird der Download dieser Bibliothek mit allen zugehörigen Paketen gestartet. Sobald es installiert ist, importieren Sie einfach das Paket „word2vector“ aus dem Gensim.





Um dieses „word2vec“-Modell zu trainieren, müssen wir einen Trainingsdatensatz erstellen. Dazu erstellen wir eine Satzliste, die vier bis fünf englische Sätze enthält. Diese Liste speichern wir in der Variable „training_data“.

Unser nächster Schritt nach der Erstellung des Trainingsdatensatzes besteht darin, das „word2vec“-Modell anhand dieser Daten zu trainieren. Also nennen wir das Modell. Wir geben die Trainingsdaten in den Eingabeparametern dieses Modells an, die wir in der Variablen „Eingabe“ gespeichert haben. Dann geben wir den zweiten Parameter an, nämlich „minimum_count“. Wir setzen seinen Wert auf „1“. Die Ausgabe dieses Trainingsmodells wird in der Variablen „trained_model“ gespeichert.



Sobald wir mit dem Training des Modells fertig sind, können wir einfach mit dem Präfix „wv“, dem Wort „Vektormodell“, auf das Modell zugreifen. Wir können auch auf das Vokabular unserer Wörter im Token zugreifen und sie mit der folgenden Methode ausdrucken:

vocabof_tokens = Liste (model.wv.vocab)

Das Modell stellt in unserem Fall das trainierte Modell dar. Jetzt greifen wir auf die Vektordarstellung des einen Wortes in der Satzliste zu, in unserem Fall „Apfel“. Wir tun dies, indem wir einfach das trainierte Modell aufrufen. Wir übergeben das Wort, dessen Vektordarstellung wir drucken möchten, als „Modell“. wv [‘apple’]“ zu seinem Eingabeargument hinzufügen. Anschließend drucken wir die Ergebnisse mit der Funktion „Drucken“ aus.

aus als Nation Modelle importieren Word2Vec

Trainingsdaten = [ [ 'Apfel' , 'Ist' , 'Die' , 'süss' , 'Apfel' , 'für' , 'word2vec' ] ,
[ 'Das' , 'Ist' , 'Die' , 'zweite' , 'Apfel' ] ,
[ 'Hier' , 'andere' , 'Apfel' ] ,
[ 'eins' , 'süss' , 'Apfel' ] ,
[ 'Und' , 'mehr' , 'süss' , 'Apfel' ] ]

Modell = Word2Vec ( Trainingsdaten , min_count = 1 )
drucken ( Modell )
vocabof_tokens = Liste ( Modell. wv . index_to_key )
drucken ( vocabof_tokens )
drucken ( Modell. wv [ 'Apfel' ] )

Aus der zuvor erwähnten Ausgabe und dem Code wird die Worteinbettung für das Wort „Apfel“ gezeigt. Im Beispiel haben wir zunächst einen Trainingsdatensatz erstellt. Dann haben wir ein Modell darauf trainiert und das Modell zusammengefasst. Mithilfe des Modells erhielten wir dann Zugriff auf das Token-Vokabular der Wörter. Danach haben wir die Worteinbettung für das Wort „Apfel“ angezeigt.

Beispiel 2:

Erstellen wir mithilfe der Gensim-Bibliothek eine weitere Satzliste. Trainieren Sie unser Modell für jedes Wort im Satz, um die Worteinbettung mithilfe des „word2vec“-Modells zu erstellen. Zunächst wird aus dem Gensim-Bibliothekspaket das Modell „word2vec“ importiert. Dann erstellen wir einen weiteren Datensatz, der die Liste mit den beiden Sätzen darstellt. Jeder Satz in der Liste besteht aus vier Wörtern.

Jetzt speichern wir diese Liste in der Variablen „data“. Dann rufen wir das Modell „word2vec()“ auf und geben die Daten an die Argumente dieses Modells mit dem Wert „minimum_count“ weiter, der gleich „1“ ist. So trainieren wir unser Modell. Jetzt ist es in der Lage und kann die Worteinbettung der Wörter lernen, die in den in der Liste vorhandenen Sätzen vorkommen, indem es den Kontext vorhersagt, in dem sie existieren. Um die Ergebnisse unseres Modells zu testen, übergeben wir in unseren Daten einfach ein Wort wie „Hund“ an das Modell. Anschließend drucken wir die Ergebnisse mit der Funktion „print()“ aus.

aus als Nation Modelle importieren Word2Vec
Daten = [ [ 'Kaninchen' , 'hat' , 'Zähne' ] , [ 'Hund' , 'hat' , „Ohren“ ] ]
Modell = Word2Vec ( Daten , min_count = 1 )
drucken ( Modell. wv [ 'Hund' ] )

Wir können die Vektordarstellung des Wortes, das wir dem Modell als Eingabe zugeführt haben, aus dem vorherigen Ausschnitt der Ausgabe beobachten.

Abschluss

In diesem Handbuch wird die Methode zum Erstellen der Worteinbettung für die Wörter veranschaulicht, die in der Liste der englischen Sätze vorhanden sind. Wir haben etwas über die „gensim“-Bibliothek von Python erfahren, die das „word2vec“-Modell zum Erstellen der Worteinbettung bereitstellt. Darüber hinaus haben wir etwas über Eingabeparameter gelernt, wie man das „word2vec“-Modell anhand der Trainingsdaten trainiert und wie man das Wort in einer Darstellung des Vektors darstellt.