[PYTHON] Studieren Sie die Verarbeitung natürlicher Sprache mit Kikagaku

Dieses Mal möchte ich einen Ort schreiben, an dem ich während des Studiums der Verarbeitung natürlicher Sprache auf einer Website namens Kikagaku gelernt habe, wo ich kostenlos etwas über Deep Learning lernen kann.

Ausführungsumgebung

· Mac OS ・ Python3.6 (Anakonda) ・ VSCode

Verweise

[Illustration! Ausführliche Erklärung zur Verwendung von Python Beautiful Soup! (auswählen, finden, finden_all, Installation, Scraping usw.)](https://ai-inter1.com/beautifulsoup_1/#:~:text=Beautiful%20Soup(%E3%83%93%E3%83%A5%E3) % 83% BC% E3% 83% 86% E3% 82% A3% E3% 83% 95% E3% 83% AB% E3% 83% BB% E3% 82% B9% E3% 83% BC% E3% 83 % 97),% E3% 82% B9% E3% 82% AF% E3% 83% AC% E3% 82% A4% E3% 83% 94% E3% 83% B3% E3% 82% B0% E7% 94 % A8% E3% 81% AE% E3% 83% A9% E3% 82% A4% E3% 83% 96% E3% 83% A9% E3% 83% AA% E3% 81% A7% E3% 81% 99 % E3% 80% 82 & text = Python% E3% 81% A7% E3% 81% AF% E3% 80% 81Schön% 20Suppe% E3% 82% 92,% E3% 81% 99% E3% 82% 8B% E3% 81% 93% E3% 81% A8% E3% 81% 8C% E3% 81% A7% E3% 81% 8D% E3% 81% BE% E3% 81% 99% E3% 80% 82) [Python] Groß- und Kleinschreibung von Zeichenketten (untere, obere Funktion) Klon-Repository (https://docs.github.com/de/[email protected]/github/creating-cloning-and-archiving-repositories/cloning-a-repository) Vergleich der morphologischen Analysegeräte Ende 2019 Vorbereiten der Umgebung für die Verwendung von MeCab auf einem Mac Morphologische Analyse mit MeCab auf Mac Einstellungen für die Verwendung von JUMAN ++ in Pythons Pyenv-Umgebung auf einem Mac Ich habe eine morphologische Analyse mit pyknp (JUMANN ++) versucht Ausführen von Human ++ mit Python

Ich habe nicht verstanden und untersucht

Was ist schöne Suppe?

Zuallererst schön dich zu treffen, schöne Suppe. Dies ist, dass es sich um eine Bibliothek handelt, die nur die erforderlichen Informationen aus der HTML-Anweisung extrahieren kann. Zum Beispiel denke ich, dass HTML-Sätze im Netz von "div" und "h1" umgeben sind. Diese Tags sind jedoch ein Hindernis für die Analyse von Sätzen. Daher ist es eine schöne Suppe, nur die Informationen ohne sie zu erhalten.

Was ist die untere () Funktion?

Es gibt "untere Funktion" und "obere Funktion", die eine Funktion sind, um ** niedriger ** zu machen, und eine Funktion, um ** oben ** zu machen.

Morphologische Analyse

Ich habe "MeCab" und "Human ++" installiert, weil sie für die morphologische Analyse gut waren. MeCab ist wahrscheinlich das beste in Bezug auf Geschwindigkeit, und wenn Sie nur Genauigkeit wollen, scheint Human ++ das beste zu sein. Die Installation von Mecab war ziemlich einfach.

$ brew install mecab
$ brew install mecab-ipadic
$ pip install mecab-python3
$ git clone url

Fügen Sie für die URL nach dem Git-Klon die aus [Github Repository] kopierte URL ein (https://github.com/neologd/mecab-ipadic-neologd).

import MeCab
m = MeCab.Tagger('-d/usr/local/lib/mecab/dic/mecab-ipadic-neologd')
text = '<html>Tiefes Lernen von Grund auf neu</html>'
print(m.parse(text))

MeCab wird so geschrieben. Übrigens in den Klammern von "Tagger ()"

Kann angegeben werden.

Juman ++ brauchte auch eine "pyknp-Installation", um mit Python verwendet werden zu können.

$ brew install jumanpp
$ pip install pyknp

Damit ist die Installation von "Juman ++" und "Pyknp" abgeschlossen. Als nächstes werde ich darüber schreiben, wie man Human ++ auf Python schreibt.

from pyknp.juman.juman import Juman
juman = Juman()
result = juman.analysis("Ausländerregierung")
for mrph in result.mrph_list():
    print(mrph.midasi, mrph.yomi)

Juman ++ ist so auf Python geschrieben. Ich verwende Juman ++, aber es scheint in Ordnung zu sein, es beim Schreiben von Code als "Juman" zu belassen. Zusätzlich zu Midasi und Yomi im Druckteil können Sie auch mrph.genkei, mrph.hinsi, mrph.bunrui, mrph.katuyou1, mrph.katuyou2, mrph.imis, mrph.repname hinzufügen.

Was ich unabhängig von der Verarbeitung natürlicher Sprache nicht verstanden habe

Ich habe "split" verwendet, eine Funktion, die Wort für Wort extrahiert werden kann. Zuerst dachte ich, es sei eine Funktion, die auf die Verarbeitung natürlicher Sprache spezialisiert ist, aber normalerweise war es eine Python-Funktion. ** Split gibt Sätze aus, die durch Wörter getrennt sind. ** **.

Wenn jedoch nur split verwendet wird, wird der Rand nach dem Komma so ausgegeben, wie er ist. Daher wird die Funktion "strip" verwendet, da sie nicht sehr gut aussieht. Auf diese Weise ist es möglich, mit entfernten Rändern auszugeben.

Zusammenfassung

Diesmal dauerte die Analyse der Morphologie lange. Ich dachte jedoch, dass es von nun an notwendiges Wissen für die Verarbeitung natürlicher Sprache ist, deshalb denke ich, dass es gut ist, sorgfältig zu lernen.

Recommended Posts

Studieren Sie die Verarbeitung natürlicher Sprache mit Kikagaku
[Verarbeitung natürlicher Sprache] Vorverarbeitung mit Japanisch
3. Verarbeitung natürlicher Sprache durch Python 2-1. Netzwerk für das gleichzeitige Auftreten
3. Verarbeitung natürlicher Sprache durch Python 1-1. Word N-Gramm
Ich habe versucht, natürliche Sprache mit Transformatoren zu verarbeiten.
Python: Verarbeitung natürlicher Sprache
RNN_LSTM2 Verarbeitung natürlicher Sprache
Fallstudie zur Verarbeitung natürlicher Sprache: Worthäufigkeit in 'Anne mit einem E'
3. Verarbeitung natürlicher Sprache durch Python 2-2. Koexistenznetzwerk [mecab-ipadic-NEologd]
[Python] Ich habe mit der Verarbeitung natürlicher Sprache ~ Transformatoren ~ gespielt
Lassen Sie uns die Verarbeitung natürlicher Sprache mit der COTOHA-API genießen
100 Sprachverarbeitungsklopfen mit Python 2015
Verarbeitung natürlicher Sprache 1 Morphologische Analyse
Verarbeitung natürlicher Sprache 3 Wortkontinuität
Verarbeitung natürlicher Sprache 2 Wortähnlichkeit
Erstellen einer Umgebung für die Verarbeitung natürlicher Sprache mit Python
100 Klicks in der Verarbeitung natürlicher Sprache Kapitel 4 Kommentar
100 Sprachverarbeitungsklopfen mit Python (Kapitel 1)
Verarbeitung natürlicher Sprache für vielbeschäftigte Menschen
100 Sprachverarbeitungsklopfen mit Python (Kapitel 3)
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
Erstellen Sie mit BERT + LightGBM + optuna ganz einfach ein Modell für die Verarbeitung natürlicher Sprache
Dockerfile mit den notwendigen Bibliotheken für die Verarbeitung natürlicher Sprache mit Python
Fassen Sie mit tf.data.Dataset api zusammen, wie Text (Verarbeitung natürlicher Sprache) vorverarbeitet wird
Ich habe mit GiNZA v3.1 Kapitel 4 100 Sprachverarbeitungsklopfen 2020 durchgeführt
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)
100 Sprachverarbeitungsklopfen mit Python (Kapitel 2, Teil 2)
[WIP] Vorverarbeiten von Notizen in der Verarbeitung natürlicher Sprache
100 Sprachverarbeitungsklopfen mit Python (Kapitel 2, Teil 1)
Praktische Warenmitteilung zur Verarbeitung natürlicher Sprache
Sprachverarbeitung 100 Klopfen-88: 10 Wörter mit hoher Ähnlichkeit
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
Das stimmt, lass es uns essen. [Verarbeitung natürlicher Sprache beginnend mit Kyoto Ben]
100 Sprachverarbeitungsklopfen (2020): 38
100 Sprachverarbeitungsklopfen (2020): 48
100 Sprachverarbeitungsklopfen (2020): 44