[PYTHON] RNN_LSTM2 Verarbeitung natürlicher Sprache

Aidemy 2020/11/10

Einführung

Hallo, es ist ja! Ich bin eine knusprige Literaturschule, aber ich war an den Möglichkeiten der KI interessiert, also ging ich zur AI-spezialisierten Schule "Aidemy", um zu studieren. Ich möchte das hier gewonnene Wissen mit Ihnen teilen und habe es in Qiita zusammengefasst. Ich freue mich sehr, dass viele Menschen den vorherigen zusammenfassenden Artikel gelesen haben. Vielen Dank! Dies ist der zweite Beitrag von RNN_LSTM. Freut mich, dich kennenzulernen.

Was diesmal zu lernen ・ Morphologische Analyse usw. ・ Verarbeitung natürlicher Sprache durch tiefes Lernen

Verarbeitung natürlicher Sprache durch RNN / LSTM

Rückblick auf die Verarbeitung natürlicher Sprache

-In der Verarbeitung natürlicher Sprache müssen Sätze für jedes __Wort __ getrennt werden. Die Methode enthält __ "morphologische Analyse" __ und __ "N-Gramm-Modell" __, und hauptsächlich werden morphologische Analysegeräte wie MeCab verwendet. Dies wird später beschrieben. -Das __N-Gramm-Modell __ ist eine __ Methode, bei der Wörter durch __N als nächstes oder Sätze durch N Wörter geteilt und die Häufigkeit des Auftretens aggregiert werden. Dies ist nicht auf Japanisch beschränkt. __ Kann in jeder Sprache verwendet werden.

Japanische morphologische Analyse

-Das erste, was in der japanischen Verarbeitung natürlicher Sprache gemacht wird, ist __ "morphologische Analyse" __. Dieses Mal werden wir eine morphologische Analyse mit MeCab durchführen.

Parsing

-__ Syntaxanalyse__ wird nach Durchführung der morphologischen Analyse durchgeführt. Die syntaktische Analyse ist eine __- Methode, die jeden Satz in __- Klauseln zerlegt und die __abhängigkeit zwischen Klauseln bestimmt.

Verarbeitung natürlicher Sprache durch tiefes Lernen

Datenvorverarbeitung

-__ Datenvorverarbeitung __ ist ein sehr wichtiger Schritt __ in der Verarbeitung natürlicher Sprache. Der Hauptfluss ist wie folgt. (Einzelheiten finden Sie unter "Verarbeitung natürlicher Sprache".) ① __ Reinigungsprozess __: Entfernt HTML-Tags und andere Elemente, die nicht mit dem Text zusammenhängen. ② __ Morphologische Analyse __ ③ __ Wortnormalisierung __: Vereinheitlichung von Notationsschwankungen usw. ④ __ Wortentfernung stoppen __: Entfernung von Wörtern (Hilfsmitteln usw.), die trotz ihres häufigen Auftretens wenig Bedeutung haben ⑤ __Vektorisierung __: Wörter werden vektorisiert (quantifiziert)

Trennung durch MeCab

-Wenn Sie MeCab nur für __separates Schreiben verwenden möchten __, können Sie __ "MeCab.Tagger ('-Owakati')" __ verwenden. Tun Sie dies mit __ "parse (text)" __ und unterscheiden Sie jedes durch Leerzeichen getrennte Wort mit __ "split ('')" __. -Erstellen Sie eine Liste der gleichen Wörter in Wörterbuchreihenfolge mit __ "sortiert (set (word_list))" __. -Für diese Liste (Vokabeln) wird ein Wörterbuch von __ "{word: id}" __ mit __ "{c: i für i, c in Aufzählung (Vokabeln)}" __ erstellt.

・ Code![Screenshot 2020-11-10 13.05.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/42e409e1-a194-f8c8- e2c5-f4c33c5bdff4.png)

・ Ergebnis![Screenshot 2020-11-10 13.05.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/da7b1a42-7ab9-0a38- e237-bcaef1a1d274.png)

Embedding -Für __ zum Vektorisieren von __Wörtern verwenden Sie __Embedding-Ebene __. Die Implementierung erfolgt im __Sequential-Modell __. -Wenn die am Ende des vorherigen Abschnitts erstellte ID-Liste "int_list" in ein Formular (input_data) umgewandelt wird, das auf das Modell angewendet und in model.predict übergeben werden kann, wird eine vektorisierte Liste zurückgegeben.

・ Code![Screenshot 2020-11-10 13.06.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/2d92b0ed-b69b-5dba- ed7b-9f6c26fe0160.png)

Implementierung der Verarbeitung natürlicher Sprache durch LSTM

-Die Daten, die dieses Mal verarbeitet werden, sind Daten in natürlicher Sprache, aber die Implementierung selbst unterscheidet sich nicht wesentlich von den bisher durchgeführten Daten. Daher werde ich den Code nur hier veröffentlichen.

・ Code![Screenshot 2020-11-10 13.07.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/65b2e6b5-6bd8-7517- ecbc-2efd8b701f01.png)

Zusammenfassung

-Wenn die Verarbeitung natürlicher Sprache beim Deep Learning durchgeführt wird, ist es wichtig, __ Daten __ vorzuverarbeiten. Insbesondere __ "Wörter werden vektorisiert (quantifiziert)" __, so dass zuerst der Satz durch __morphologische Analyse __ in Wörter unterteilt wird und __ die unnötigen Teile entfernt werden __. Das musst du tun. -Verwenden Sie Embedding, wenn Sie Wörter vektorisieren. Die Implementierung verwendet das sequentielle Modell. -Die Implementierung des Modells, das die Verarbeitung natürlicher Sprache durchführt, kann auf die gleiche Weise erfolgen wie bei anderen Modellen __.

Diese Zeit ist vorbei. Vielen Dank für das Lesen bis zum Ende.

Recommended Posts

RNN_LSTM2 Verarbeitung natürlicher Sprache
Python: Verarbeitung natürlicher Sprache
Verarbeitung natürlicher Sprache 1 Morphologische Analyse
Verarbeitung natürlicher Sprache 3 Wortkontinuität
Verarbeitung natürlicher Sprache 2 Wortähnlichkeit
100 Klicks in der Verarbeitung natürlicher Sprache Kapitel 4 Kommentar
Künstliche Sprache Logivan und Verarbeitung natürlicher Sprache (Verarbeitung künstlicher Sprache)
Vorbereitung zum Starten der Verarbeitung natürlicher Sprache
Installationszusammenfassung des Analysators für die Verarbeitung natürlicher Sprache
100 Sprachverarbeitungsklopfen 03 ~ 05
100 Sprachverarbeitungsklopfen (2020): 40
100 Sprachverarbeitungsklopfen (2020): 35
100 Sprachverarbeitungsklopfen (2020): 47
100 Sprachverarbeitungsklopfen (2020): 39
100 Sprachverarbeitungsklopfen (2020): 22
100 Sprachverarbeitungsklopfen (2020): 26
100 Sprachverarbeitungsklopfen (2020): 34
100 Sprachverarbeitungsklopfen (2020): 28
100 Sprachverarbeitungsklopfen (2020): 42
100 Sprachverarbeitungsklopfen (2020): 29
100 Sprachverarbeitungsklopfen (2020): 49
100 Sprachverarbeitungsklopfen 06 ~ 09
100 Sprachverarbeitungsklopfen (2020): 43
100 Sprachverarbeitungsklopfen (2020): 24
100 Sprachverarbeitungsklopfen (2020): 45
100 Sprachverarbeitungsklopfen (2020): 10-19
100 Sprachverarbeitungsklopfen (2020): 30
100 Sprachverarbeitungsklopfen (2020): 00-09
100 Sprachverarbeitungsklopfen (2020): 31
100 Sprachverarbeitungsklopfen (2020): 38
100 Sprachverarbeitungsklopfen (2020): 48
100 Sprachverarbeitungsklopfen (2020): 44
100 Sprachverarbeitungsklopfen (2020): 41
100 Sprachverarbeitungsklopfen (2020): 37
100 Sprachverarbeitung klopfen 00 ~ 02
100 Sprachverarbeitungsklopfen (2020): 25
100 Sprachverarbeitungsklopfen (2020): 23
100 Sprachverarbeitungsklopfen (2020): 33
100 Sprachverarbeitungsklopfen (2020): 20
100 Sprachverarbeitungsklopfen (2020): 27
100 Sprachverarbeitungsklopfen (2020): 46
100 Sprachverarbeitungsklopfen (2020): 21
100 Sprachverarbeitungsklopfen (2020): 36
Verarbeiten Sie den Namen der Yugioh-Karte in natürlicher Sprache - Yugiou Data Science 2. NLP
100 Klopfen der Verarbeitung natürlicher Sprache Kapitel 1 (Vorbereitungsbewegung)
3. Verarbeitung natürlicher Sprache durch Python 1-1. Word N-Gramm
Ich habe versucht, natürliche Sprache mit Transformatoren zu verarbeiten.
Praktische Warenmitteilung zur Verarbeitung natürlicher Sprache
100 Amateur-Sprachverarbeitungsklopfen: 41
100 Amateur-Sprachverarbeitungsklopfen: 71
100 Sprachverarbeitung klopfen 2020 [00 ~ 39 Antwort]
100 Amateur-Sprachverarbeitungsklopfen: 24
100 Amateur-Sprachverarbeitungsklopfen: 50
100 Sprachverarbeitung klopfen 2020 [00-79 Antwort]
100 Sprachverarbeitung klopfen 2020 [00 ~ 69 Antwort]
100 Amateur-Sprachverarbeitungsklopfen: 70
100 Amateur-Sprachverarbeitungsklopfen: 62
100 Amateur-Sprachverarbeitungsklopfen: 60
3. Verarbeitung natürlicher Sprache durch Python 2-2. Koexistenznetzwerk [mecab-ipadic-NEologd]
100 Amateur-Sprachverarbeitungsklopfen: 92
100 Amateur-Sprachverarbeitungsklopfen: 30