Text Mining mit Python ① Morphologische Analyse (re: Linux-Version)

Fordern Sie Text Mining mit Python heraus. (Für Python3-Serie) Folgen Sie den unteren Schritten.

① Morphologische Analyse (dieser Artikel) ② Visualisieren Sie mit Word Cloud (nächstes Mal)

Letztes Mal habe ich versucht, MeCab unter Windows zu verwenden, bin auf die Installation von Python-Bindungen gestoßen und habe aufgegeben, also bin ich zu Linux gewechselt und neu gestartet.



Installieren Sie MeCab

(Rezension) So stellen Sie MeCab in Python zur Verfügung ・ Installation des MeCab-Hauptgeräts ・ Installation des Wörterbuchs · Installation der Python-Bindung Ist notwendig.

Die Windows-Version wurde mit einem an MeCab selbst angehängten Wörterbuch geliefert, die Linux-Version muss jedoch separat installiert werden. Sie können es jedoch zusammen mit dem Paket installieren.

Installation von MeCab selbst und Wörterbuch

Einfach mit apt installieren. Wählen Sie für das Wörterbuch die UTF-8-Version von IPA aus (empfohlen).

sudo apt-get install mecab mecab-ipadic-utf8

Überprüfen Sie den Vorgang wie gewohnt mit "Momo no Uchi".

$ mecab
Von den Oberschenkeln und Oberschenkeln
Sumomo Substantiv,Allgemeines,*,*,*,*,Sumomo,Sumomo,Sumomo
Auch Assistent,Hilfe,*,*,*,*,Ebenfalls,Mo.,Mo.
Oberschenkel Nomen,Allgemeines,*,*,*,*,Pfirsiche,Pfirsich,Pfirsich
Auch Assistent,Hilfe,*,*,*,*,Ebenfalls,Mo.,Mo.
Oberschenkel Nomen,Allgemeines,*,*,*,*,Pfirsiche,Pfirsich,Pfirsich
Hilfswörter,Union,*,*,*,*,von,Nein,Nein
Davon Nomenklatur,Nicht unabhängig,Anwalt möglich,*,*,*,Zuhause,Uchi,Uchi
EOS

Installieren Sie MeCab Python-Bindungen

Installieren Sie dies einfach mit apt.

sudo apt-get install python-mecab

Lassen Sie uns "Sumomo ..." aus Python analysieren.

mecab_sample.py


# coding: utf-8
import sys
import MeCab

mecab = MeCab.Tagger("-Ochasen")

print(mecab.parse("Von den Oberschenkeln und Oberschenkeln"))
$ python3 mecab_sample.py
Traceback (most recent call last):
  File "mecab_sample.py", line 3, in <module>
    import MeCab
ImportError: No module named 'MeCab'

Es wird gesagt, dass es kein MeCab gibt ... Versuchen Sie es mit Python 2.x.

$ python mecab_sample.py
Sumomo Sumomo Nomen-Allgemeines
Sowohl mo als auch mo-Hilfe
Oberschenkel Pfirsich Nomenklatur-Allgemeines
Sowohl mo als auch mo-Hilfe
Oberschenkel Pfirsich Nomenklatur-Allgemeines
Nonos Assistent-Union
Uchi Uchi Nomen-Nicht unabhängig-Anwalt möglich
EOS

Dieser funktioniert gut. Wenn ich gegoogelt habe, scheint es, dass das, was ich mit apt eingegeben habe, nur mit der Python 2.x-Serie funktioniert. Um es in der Python3-Serie zu verwenden, scheint es notwendig zu sein, die Quelle zu bringen und mit setup.py zu erstellen, wie ich es in der Windows-Version getan habe, aber es wird auch in der Python2-Serie vorausgesetzt und ein Patch ist erforderlich, um es in der Python3-Serie auszuführen. Es scheint, dass Sie es treffen müssen, also scheint es, dass es nicht einfach ist.

Äh, es ist ein Ärger ... Ich habe einen Artikel gefunden, der besagt, dass es in Ordnung ist, eine Bibliothek für Python3 mit pip zu erstellen, also werde ich es versuchen.

$ pip3 install mecab-python3
Collecting mecab-python3
  Using cached mecab-python3-0.7.tar.gz
    Complete output from command python setup.py egg_info:
    /bin/sh: 1: mecab-config: not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-gsw8fi5f/mecab-python3/setup.py", line 41, in <module>
        include_dirs=cmd2("mecab-config --inc-dir"),
      File "/tmp/pip-build-gsw8fi5f/mecab-python3/setup.py", line 21, in cmd2
        return cmd1(strings).split()
      File "/tmp/pip-build-gsw8fi5f/mecab-python3/setup.py", line 18, in cmd1
        return os.popen(strings).readlines()[0][:-1]
    IndexError: list index out of range
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-gsw8fi5f/mecab-python3/

Ich erhalte eine Fehlermeldung, weil es keine Mecab-Konfiguration wie in Windows gibt. Ich habe libmecab-dev nicht angegeben, weil ich es bei der ersten Installation von MeCab nicht benötigt habe. Es scheint also, dass es nicht enthalten ist. Geben Sie mit apt.

sudo apt-get install libmecab-dev

Verwenden Sie dann pip, um die Bindung für die Python3-Serie einzufügen.

sudo pip3 install mecab-python3

Führen Sie dann das Beispiel in Python3 aus.

$ python3 mecab_sample.py 
Sumomo Sumomo Nomen-Allgemeines
Sowohl mo als auch mo-Hilfe
Oberschenkel Pfirsich Nomenklatur-Allgemeines
Sowohl mo als auch mo-Hilfe
Oberschenkel Pfirsich Nomenklatur-Allgemeines
Nonos Assistent-Union
Uchi Uchi Nomen-Nicht unabhängig-Anwalt möglich
EOS

Ich konnte es endlich schaffen.

Referenzierte Site

Recommended Posts

Text Mining mit Python ① Morphologische Analyse (re: Linux-Version)
Text Mining mit Python ① Morphologische Analyse
[Python] Morphologische Analyse mit MeCab
Python: Japanischer Text: Morphologische Analyse
Japanische morphologische Analyse mit Python
Text Mining mit Python ② Visualisierung mit Word Cloud
Python: Vereinfachte morphologische Analyse mit regulären Ausdrücken
Datenanalyse mit Python 2
Sprachanalyse mit Python
Text Mining mit Python-Scraping-
Sprachanalyse mit Python
Datenanalyse mit Python
Überprüfen Sie die Version mit Python
Sammeln von Informationen von Twitter mit Python (morphologische Analyse mit MeCab)
Fordern Sie die Hauptkomponentenanalyse von Textdaten mit Python heraus
Reine Python-Version Online-Morphologieanalyse-Tool Rakuten MA
[Analyse des gemeinsamen Auftretens] Einfache Analyse des gemeinsamen Auftretens mit Python! [Python]
Emotionsanalyse von Python (word2vec)
Planare Skelettanalyse mit Python
Geben Sie die Python-Version mit virtualenv an
Muskel-Ruck-Analyse mit Python
[PowerShell] Morphologische Analyse mit SudachiPy
Text Emotionsanalyse mit ML-Ask
Morphologische Analyse mit Igo + mecab-ipadic-neologd in Python (mit Ruby-Bonus)
Dreidimensionale Skelettstrukturanalyse mit Python
GOTO in Python mit erhabenem Text 3
Impedanzanalyse (EIS) mit Python [impedance.py]
Textextraktion mit AWS Textract (Python3.6)
Aktivieren Sie die morphologische Analyse-Engine MeCab in Python 3 (Version März 2016).
Aktivieren Sie Python raw_input mit Sublime Text 3
Python: Negative / Positive Analyse: Textanalyse-Anwendung
Sprechen Sie japanischen Text mit OpenJTalk + Python
Verwalten Sie jede Python-Version mit Homebrew
Ich habe mit Mecab gespielt (morphologische Analyse)!
Von der Einführung von JUMAN ++ bis zur morphologischen Analyse von Japanisch mit Python
Datenanalyse beginnend mit Python (Datenvisualisierung 1)
Logistische Regressionsanalyse Selbst erstellt mit Python
Datenanalyse beginnend mit Python (Datenvisualisierung 2)
Von der Vorbereitung der morphologischen Analyse mit Python unter Verwendung von Polyglot bis zur Teilwortmarkierung
[Lass uns mit Python spielen] Ziel ist die automatische Satzgenerierung ~ Morphologische Analyse durchführen ~
Englische Spracherkennung mit Python [Rede zu Text]
[In-Database Python Analysis Tutorial mit SQL Server 2017]
Zweidimensionale Analyse des gesättigten und ungesättigten Permeationsflusses mit Python
Maschinelles Lernen mit Python (2) Einfache Regressionsanalyse
2D FEM Stressanalyseprogramm von Python
[C] [Python] Lesen mit AquesTalk unter Linux
Tweet-Analyse mit Python, Mecab und CaboCha
Datenanalyse beginnend mit Python (Datenvorverarbeitung - maschinelles Lernen)
Zweidimensionale instationäre Wärmeleitungsanalyse mit Python
Versuchen Sie, Ihr Tagebuch mit Python zu durchsuchen
Lesen von Zeichen in Bildern mit Python OCR
Textextraktion mit GCP Cloud Vision API (Python3.6)
[Verschiedene Bildanalysen mit Plotly] Dynamische Visualisierung mit Plotly [Python, Bild]
Klassifizieren Sie Qiita-Posts ohne morphologische Analyse mit Tweet2Vec
Schreiben wir FizzBuzz mit einem Fehler: Python-Version
Medizinische Bildanalyse mit Python 1 (MRT-Bild mit SimpleITK lesen)