Aidemy 2020/11/10
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
-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.
-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.
-__ 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.
-__ 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)
-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)
-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)
-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