[PYTHON] Ich habe mit Mecab gespielt (morphologische Analyse)!

Einführung

Da die Szene mit MeCab herauskam, habe ich sie als Memorandum veröffentlicht

Ich habe versucht, von der Installationsmethode von MeCab bis zur Ausgabe zusammenzufassen

Die Artikelbeschreibung lautet wie folgt

Was ist MeCab (morphologische Analyse)?

MeCab [MeCab] 1 ist eine Open-Source-Engine für morphologische Analysen, die von der Graduate School of Informatics der Universität Kyoto entwickelt wurde. Kann mit Perl, Rubin, Python, Java, C # verwendet werden

Morphologische Analyse

Analyse, die Sätze in morphologische Elemente zerlegt, basierend auf der Grammatik der Zielsprache und der Textinformation der Wörter Methode zur Vorverarbeitung im Bereich der Verarbeitung natürlicher Sprache *** Morphologisches Element **… Die kleinste Einheit eines aussagekräftigen Ausdruckselements

Zum Beispiel "Ich studiere Programmieren mit Python." Wird wie folgt ausgegeben

Wort Teil Teil細分類 Wort Teil Teil細分類
ich Substantiv 代Substantiv Programmierung Substantiv Verbindung ändern
Ist Partikel 係Partikel Zu Partikel 格Partikel
python Substantiv Allgemeines Studie Substantiv Verbindung ändern
Zu Partikel 格Partikel Shi Verb Unabhängigkeit
verwenden Substantiv Verbindung ändern Hand Partikel 接続Partikel
Shi Verb Unabhängigkeit ich Verb 非Unabhängigkeit
Hand Partikel 接続Partikel Masu Hilfsverb -
Symbol Lesepunkt Symbol Phrase

So installieren Sie MeCab

1 Installieren Sie mecab-64-0.996.2.exe von [hier] 2

2 Führen Sie mecab-64-0.996.2.exe aus und installieren Sie MeCab mit ** UTF-8 **

セットアップ1.png セットアップ2.png

Wenn die Installation abgeschlossen ist, wird "Wörterbuch erstellen" angezeigt. Führen Sie es also so aus, wie es ist

3 Prüfen Sie mit CMD, ob MeCab ordnungsgemäß verwendet werden kann

mecab.png

Wenn MeCab in CMD nicht antwortet, funktioniert der Pfad möglicherweise nicht? Fügen Sie der Umgebungsvariablen Path das installierte \ Mecab \ bin hinzu.

環境変数.png

4 Installieren Sie mecab für Python, damit es mit Python verwendet werden kann

pip install mecab-python-windows

スタート.png

5 Speichern Sie libmecab.dll im Mecab-Ordner, indem Sie es im Python-Ordner überschreiben.

Der Speicherort des Ordners lautet wie folgt

(Dateiname zum Kopieren):libmecab.dll
(Original):C:\Program Files\MeCab\bin
(Kopieren nach):C:\Users\(Nutzername)\AppData\Local\Programs\Python\Python37\Lib\site-packages

Wenn Sie mit cmd suchen, sollten Sie etwas Ähnliches finden.
(Original):where mecab
(Kopieren nach):where python

Ich habe es tatsächlich bewegt

Die morphologische Analyse mit MeCab ist wie folgt

  1. Geben Sie mit MeCab.Tagger () ein Wörterbuch für die morphologische Analyse an.
  2. Verwenden Sie tagger.parse, um Zeichenfolgen und Textdateien mithilfe des angegebenen Wörterbuchs morphologisch zu analysieren.

Es ist sehr einfach

Ich habe versucht, ein einfaches Programm zu erstellen, das tatsächlich eine morphologische Analyse aus einer Zeichenfolge oder einer Textdatei durchführt

Programm

mecab_string.py


import MeCab

CONTENT = "Ich studiere Programmieren mit Python."

tagger = MeCab.Tagger()
parse = tagger.parse(CONTENT)

print(parse)

Vergessen Sie nicht, den folgenden Fehler zu erhalten, wenn Sie beim Öffnen der Datei keine Kodierung angeben!

UnicodeDecodeError: 'cp932' codec can't decode byte 0x81 in position 4: illegal multibyte sequence

sample.txt


Ich studiere Programmieren mit Python.

mecab_read.py


import MeCab

FILE_NAME = "sample.txt"

with open(FILE_NAME, "r", encoding="utf-8") as f:
    CONTENT = f.read()

tagger = MeCab.Tagger()
parse = tagger.parse(CONTENT)

print(parse)

Ausgabeergebnis

Mein Substantiv,Gleichbedeutend,Allgemeines,*,*,*,ich,ich,ich
Ist ein Assistent,Hilfe,*,*,*,*,Ist,C.,Beeindruckend
Python Nomen,Allgemeines,*,*,*,*,*
Hilfs,Fallassistent,Allgemeines,*,*,*,Zu,Wo,Wo
Nomenklatur verwendet,Verbindung ändern,*,*,*,*,verwenden,Shiyo,Shiyo
Shi Verb,Unabhängigkeit,*,*,Sahen / Suru,Kontinuierlicher Typ,Machen,Shi,Shi
Der Assistent,Verbindungsassistent,*,*,*,*,Hand,Te,Te
, Symbol,Lesepunkt,*,*,*,*,、,、,、
Programmiernomenklatur,Verbindung ändern,*,*,*,*,Programmierung,Programmierung,Programmierung
Hilfs,Fallassistent,Allgemeines,*,*,*,Zu,Wo,Wo
Studiennomenklatur,Verbindung ändern,*,*,*,*,Studie,Benkyo,Benkyo
Shi Verb,Unabhängigkeit,*,*,Sahen / Suru,Kontinuierlicher Typ,Machen,Shi,Shi
Der Assistent,Verbindungsassistent,*,*,*,*,Hand,Te,Te
Ich verb,Nicht unabhängig,*,*,Ein Schritt,Kontinuierlicher Typ,Ist,ich,ich
Masu Hilfsverb,*,*,*,Spezial / Masse,Grundform,Masu,Forelle,Forelle
.. Symbol,Phrase,*,*,*,*,。,。,。
EOS

Oh, ich konnte richtig ausgeben!

Informationen zum Ausgabeformat

Zuvor schrieb MeCab.Tagger () "einen Ort, an dem ein Wörterbuch für die morphologische Analyse angegeben werden kann".

Das bedeutet, dass es mehrere Wörterbücher gibt, daher werde ich einige davon vorstellen.

Es muss nichts neu installiert werden, daher kann es interessant sein, das obige Programm usw. zu ändern.

Ich habe versucht, alle ** morphologischen Analysen ** einzugeben

MeCab.Tagger() MeCab-kompatible morphologische Analyse Auf Standard setzen

Morphologische Nomenklatur,Allgemeines,*,*,*,*,Morphem,Keitaiso,Keitaiso
Analytisches Substantiv,Verbindung ändern,*,*,*,*,Analyse,Kaiseki,Kaiseki
EOS

MeCab.Tagger("-Ochasen") ChaSen-kompatible morphologische Analyse

Morphologisches Element Keitaiso Morphologische Elementnomenklatur-Allgemeines
Analyse Kaiseki-Analyse-Nomenklatur-Verbindung ändern
EOS

MeCab.Tagger("-Owakati") Trennen Sie die morphologische Analyse Machen Sie für jedes Wort eine Pause wie auf Englisch

Morphologische Analyse

MeCab.Tagger("-Oyomi") Wie man morphologische Analyse liest Ausgabe in Katakana und englischen Wörtern

Keitaisokaiseki

MeCab.Tagger("-Odump") Morphologische Analyse, die alle Informationen ausgibt

0 BOS BOS/EOS,*,*,*,*,*,*,*,* 0 0 0 0 0 0 2 1 0.000000 0.000000 0.000000 0
7 Morphologische Nomenklatur,Allgemeines,*,*,*,*,Morphem,Keitaiso,Keitaiso 0 9 1285 1285 38 2 0 1 0.000000 0.000000 0.000000 5338
13 Analytische Nomenklatur,Verbindung ändern,*,*,*,*,Analyse,Kaiseki,Kaiseki 9 15 1283 1283 36 2 0 1 0.000000 0.000000 0.000000 9241
20 EOS BOS/EOS,*,*,*,*,*,*,*,* 15 15 0 0 0 0 3 1 0.000000 0.000000 0.000000 8505

MeCab.Tagger("-Osimple") Einfache morphologische Analyse

Morphologische Nomenklatur-Allgemeines
Analytisches Substantiv-Verbindung ändern
EOS

Es gibt noch viele weitere. Wenn Sie also interessiert sind, lesen Sie bitte [Offiziell] 1!

abschließend

Sie können jetzt morphologische Analysen mit MeCab durchführen Es wird gesagt, dass es auch für die Verarbeitung natürlicher Sprache mit KI verwendet wird, also möchte ich beherrschen, wie man es benutzt ... (˘ω˘)

Recommended Posts

Ich habe mit Mecab gespielt (morphologische Analyse)!
[Python] Morphologische Analyse mit MeCab
Ich habe mit Wordcloud gespielt!
Japanische morphologische Analyse mit Python
[PowerShell] Morphologische Analyse mit SudachiPy
Sammeln von Informationen von Twitter mit Python (morphologische Analyse mit MeCab)
Text Mining mit Python ① Morphologische Analyse
■ [Google Colaboratory] Verwenden Sie die morphologische Analyse (MeCab)
Ich habe mit PyQt5 und Python3 gespielt
Ich habe mit DragonRuby GTK (Game Toolkit) gespielt.
Ich habe versucht, Faktoren mit Titanic-Daten zu analysieren!
[Scikit-learn] Ich habe mit der ROC-Kurve gespielt
[Einführung in Pytorch] Ich habe mit sinGAN ♬ gespielt
Tweet-Analyse mit Python, Mecab und CaboCha
Python: Vereinfachte morphologische Analyse mit regulären Ausdrücken
[Python] Ich habe mit der Verarbeitung natürlicher Sprache ~ Transformatoren ~ gespielt
Ich habe versucht, die Hauptkomponenten mit Titanic-Daten zu analysieren!
Ich habe vorerst mit Floydhub gespielt
Ich habe versucht, Mecab mit Python2.7, Ruby2.3, PHP7 zu verwenden
Unterschied in den morphologischen Analyseergebnissen nach Mecab-Wörterbuch
Ich habe mit Diamond gespielt, einem Tool zum Sammeln von Metriken
Ich habe versucht, morphologische Analyse und Wortvektorisierung
Installation des Werkzeugs für die morphologische Analyse (MeCab, Human ++, Janome, GiNZA)
Datenanalyse mit Python 2
Text Mining mit Python ① Morphologische Analyse (re: Linux-Version)
Machen Sie mit LINE + Flask einen morphologischen Analyse-Bot
Korbanalyse mit Spark (1)
Ich habe eine emotionale Analyse von Amazon Comprehend mit der AWS CLI durchgeführt.
[OpenCV / Python] Ich habe versucht, Bilder mit OpenCV zu analysieren
Verwenden Sie Mecab mit Python 3
Abhängigkeitsanalyse mit CaboCha
Sprachanalyse mit Python
Die erste künstliche Intelligenz. Ich wollte die Verarbeitung natürlicher Sprache ausprobieren, daher werde ich die morphologische Analyse mit MeCab mit Python3 versuchen.
Ich habe mit Python verschiedene Dinge ausprobiert: Schaben (Beautiful Soup + Selenium + PhantomJS) und morphologische Analyse
Sprachanalyse mit Python
Dynamische Analyse von Valgrind
Führen Sie eine Regressionsanalyse mit NumPy durch
Datenanalyse mit Python
Erstellen Sie mit MeCab mit Discord einen Bot, der nur das Ergebnis der morphologischen Analyse zurückgibt
Ich habe eine Klasse erstellt, um das Analyseergebnis von MeCab in ndarray mit Python zu erhalten
Ich habe versucht, den allgemeinen Kommentar des verdammten Spiels des Jahres morphologisch zu analysieren
Morphologische Analyse mit Igo + mecab-ipadic-neologd in Python (mit Ruby-Bonus)
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
[Anmerkung] WordCloud aus morphologischer Analyse
Ich habe GP mit Numpy geschrieben
Japanische morphologische Analyse mit Janome
Python: Japanischer Text: Morphologische Analyse
Multiple Regressionsanalyse mit Keras
Ich habe versucht, mit Elasticsearch Ranking zu lernen!
Ich habe einen Blackjack mit Python gemacht!
Emotionsanalyse von Python (word2vec)
Ich habe versucht, mit PyCaret zu clustern
Mit Pyradiomics erlernte Texturanalyse
Verarbeitung natürlicher Sprache 1 Morphologische Analyse
Planare Skelettanalyse mit Python
Ich kann nicht mit # google-map suchen. ..
Ich habe den BMI mit tkinter gemessen
Ich habe gRPC mit Python ausprobiert
Ich habe COVID19_simulator mit JupyterLab erstellt