La première intelligence artificielle. Je voulais essayer le traitement du langage naturel, donc je vais essayer l'analyse morphologique en utilisant MeCab avec python3.

Contexte

J'ai fait référence à divers articles sur l'installation de MeCab avec python3. J'ai un tempérament court, donc j'aime les pages qui fonctionnent bien en copiant à partir du haut de la page. «Mendokusai» est une habitude, et «faire sinon» est la devise. (Cela n'a pas d'importance en seconde période.)

Cadre environnemental

CentOS7

Installez MeCab

Il a été rapide de cloner MeCab.

# git clone https://github.com/taku910/mecab.git
# cd mecab/mecab
# ./configure  --enable-utf8-only
# make
# make check
# make install

Vous pouvez télécharger MeCab à partir de la page ci-dessous, mais c'est assez ennuyeux. Il y avait plusieurs MeCabs.

Référence: MeCab https://drive.google.com/drive/folders/0B4y35FiV1wh7fjQ5SkJETEJEYzlqcUY4WUlpZmR4dDlJMWI5ZUlXN2xZN2s2b0pqT3hMbTQ

Installation de dictionnaires

Si vous n'avez pas de dictionnaire, vous ne pourrez pas l'utiliser, alors installez-le aussi rapidement.

# cd mecab-ipadic
# ./configure --with-charset=utf8
# make
# make install

Essayez MeCab sur la console

Une fois l'installation terminée, vous pouvez l'exécuter sur la console, alors essayons-la.

# mecab
MeCab est un logiciel gratuit

MeCab substantif,Nomenclature propriétaire,Organisation,*,*,*,*
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Nomenclature libre,Général,*,*,*,*,gratuit,gratuit,gratuit
Nomenclature des logiciels,Général,*,*,*,*,Logiciel,Logiciel,Logiciel
Est un verbe auxiliaire,*,*,*,Mort spéciale,Forme basique,est,mort,mort
EOS

Ça a marché. C'est un moment de soulagement que le japonais s'affiche sans aucun problème.

Essayez d'exécuter MeCab sur la série python3.5

C'est là que pip entre en jeu.

# pip install mecab-python3

Sur d'autres sites, il y a des pages qui publient soudainement cette commande. Mais cette commande ne devrait pas non plus fonctionner sans MeCab installé. Il va sans dire que je croyais en la théorie universelle du pip, et quand j'ai vu ce code, j'ai été surpris par pip Hoi Hoi en train de dire: "C'est plus facile!"

Vous pouvez l'installer sans aucun problème.

Écrivons maintenant le fichier python test.py.

#test.py

# coding: UTF-8
import sys
import MeCab
m = MeCab.Tagger ("-Ochasen")
print(m.parse ("Faites-le vous-même parce que c'est ennuyeux"))

Je vais essayer.

# python test.py
Mendokusai Mendokusai Mendokusai Adjectifs-Adjectif indépendant / Forme de base Auoudan
De Kara à Auxiliaire-Assistant de connexion
Self Jibun Self Noun-Général
De de assistant-Assistant de cas-Général
Make Tsukuru Make verbe-Indépendance 5 étapes, forme de base La line
EOS

Vous pouvez modifier le format de sortie des données en modifiant l'argument de MeCab.Tagger.

-Ochasen -Owakati -Oyomi mecabrc

Il y a d'autres choses comme ça.

#test2.py

# coding: UTF-8
import sys
import MeCab
m = MeCab.Tagger ("-Ochasen")
print(m.parse ("Faites-le vous-même parce que c'est ennuyeux"))

m = MeCab.Tagger ("-Owakati")
print(m.parse ("Faites-le vous-même parce que c'est ennuyeux"))

m = MeCab.Tagger ("-Oyomi")
print(m.parse ("Faites-le vous-même parce que c'est ennuyeux"))

m = MeCab.Tagger ("mecabrc")
print(m.parse ("Faites-le vous-même parce que c'est ennuyeux"))

Je suis intéressé, alors je vais essayer de l'afficher.

# python test2.py
Mendokusai Mendokusai Mendokusai Adjectifs-Adjectif indépendant / Forme de base Auoudan
De Kara à Auxiliaire-Assistant de connexion
Self Jibun Self Noun-Général
De de assistant-Assistant de cas-Général
Make Tsukuru Make verbe-Indépendance 5 étapes, forme de base La line
EOS

Faites-le vous-même de l'ennui

Mendoku Saikara Jibun Detsukuru

Adjectifs ennuyeux,Indépendance,*,*,apocalypse,Forme basique,Gênant,Ennuyeux,Ennuyeux
De l'assistant,Assistant de connexion,*,*,*,*,De,Kara,Kara
Ma nomenclature,Général,*,*,*,*,moi même,Jibun,Jibun
Auxiliaire,Assistant de cas,Général,*,*,*,alors,De,De
Faire verbe,Indépendance,*,*,Cinq étapes, La ligne,Forme basique,créer,Tsukuru,Tsukuru
EOS

Remarque: une erreur est apparue lorsque je l'ai installé moi-même

Que faire si on vous dit que vous n'avez pas libmecab.so.2.

ImportError: libmecab.so.2: cannot open shared object file: No such file or directory

approche

$ vi /etc/ld.so.conf.d/lib.conf
/usr/local/lib  #<--Remplissez ou ajoutez nouvellement.

$ ldconfig #<--Recharger

Référence: Extraction de mots importants de Wikipedia par TF / IDF en utilisant Mecab Python http://yut.hatenablog.com/entry/20130215/1360884220

Référence: Activer le moteur d'analyse morphologique MeCab dans Python3 (version mars 2016) http://qiita.com/grachro/items/4fbc9bf8174c5abb7bdd#_reference-f17313e8bc66cbbff3ef

Recommended Posts

La première intelligence artificielle. Je voulais essayer le traitement du langage naturel, donc je vais essayer l'analyse morphologique en utilisant MeCab avec python3.
[Pour les débutants] Analyse du langage à l'aide de l'outil de traitement du langage naturel "GiNZA" (de l'analyse morphologique à la vectorisation)
Analyse des émotions avec traitement du langage naturel! J'ai essayé de prédire l'évaluation à partir du texte de l'avis
J'écrirai une explication détaillée à mort en résolvant 100 traitements de langage naturel Knock 2020 avec Python
[Python] J'ai joué avec le traitement du langage naturel ~ transformers ~
J'ai essayé d'extraire des expressions uniques avec la bibliothèque de traitement du langage naturel GiNZA
100 traitements du langage naturel frappent Chapitre 4 Analyse morphologique (première moitié)
Traitement du langage naturel 1 Analyse morphologique
Je voulais résoudre le concours de programmation Panasonic 2020 avec Python
[Python] Essayez de classer les boutiques de ramen par traitement du langage naturel
Je voulais faire fonctionner le moteur avec une tarte à la râpe, alors j'ai essayé d'utiliser la carte de commande du moteur de Waveshare
J'ai créé une classe pour obtenir le résultat de l'analyse par MeCab dans ndarray avec python
Essayez le livre "Introduction au développement d'applications de traitement du langage naturel en 15 étapes" --Chapitre 2 Étape 03 Mémo "Analyse morphologique et écriture écrite"
La première intelligence artificielle. Testez la sortie Web avec python. ~ Introduction du flacon
Dockerfile avec les bibliothèques nécessaires pour le traitement du langage naturel avec python
Je voulais résoudre le problème ABC164 A ~ D avec Python
J'ai joué avec Mecab (analyse morphologique)!
De l'introduction de JUMAN ++ à l'analyse morphologique du japonais avec Python
Essayez de piquer la base de données sur IBM i avec python + JDBC à l'aide de JayDeBeApi
3. Traitement du langage naturel avec Python 1-2. Comment créer un corpus: Aozora Bunko
Je voulais résoudre ABC160 avec Python
3. Traitement du langage naturel par Python 2-1. Réseau de co-occurrence
3. Traitement du langage naturel par Python 1-1. Word N-gram
J'ai essayé le traitement du langage naturel avec des transformateurs.
Je voulais résoudre ABC172 avec Python
Laissez l'API COTOHA faire les choses difficiles - Introduction à "apprendre en utilisant" le traitement du langage naturel -
3. Traitement du langage naturel par Python 3-1. Important outil d'extraction de mots Analyse TF-IDF [définition originale]
Je voulais visualiser la simulation de particules 3D avec la bibliothèque de visualisation Python Matplotlib.
J'ai pu me moquer d'AWS-Batch avec python, moto, donc je vais le laisser
Introduction à l'intelligence artificielle avec Python 1 «Théorie des algorithmes génétiques»
3. Traitement du langage naturel par Python 2-2. Réseau de co-occurrence [mecab-ipadic-NEologd]
Introduction à l'intelligence artificielle avec Python 2 «Pratique de l'algorithme génétique»
Je voulais résoudre NOMURA Contest 2020 avec Python
Essayez de résoudre le diagramme homme-machine avec Python
Essayez d'utiliser jieba, un moteur d'analyse morphologique chinois
Je voulais installer Python 3.4.3 avec Homebrew + pyenv
J'ai essayé d'utiliser mecab avec python2.7, ruby2.3, php7
[Python] Je vais télécharger FTP sur le serveur FTP.
J'ai essayé de vérifier si l'API Natural Language (analyse des émotions) prend en charge l'argot net.
J'ai essayé de comparer la vitesse de traitement avec dplyr de R et pandas de Python
Essayez de résoudre le livre des défis de programmation avec python3
100 traitements du langage naturel frappent Chapitre 4 Analyse morphologique (seconde moitié)
Essayez de résoudre le problème d'affectation du médecin de formation avec Python
J'ai essayé de toucher un fichier CSV avec Python
Collecte d'informations sur Twitter avec Python (analyse morphologique avec MeCab)
J'ai essayé de résoudre Soma Cube avec python
[Chapitre 5] Introduction à Python avec 100 coups de traitement du langage
Je voulais utiliser la bibliothèque Python de MATLAB
J'ai essayé d'implémenter le perceptron artificiel avec python
Je veux hériter de l'arrière avec la classe de données python
Créer un environnement pour le traitement du langage naturel avec Python
[Chapitre 3] Introduction à Python avec 100 coups de traitement du langage
100 Language Processing Knock-30 (en utilisant des pandas): lecture des résultats de l'analyse morphologique
[Chapitre 2] Introduction à Python avec 100 coups de traitement du langage
J'ai essayé de résoudre le problème avec Python Vol.1