[PYTHON] Analyse morphologique de phrases contenant des mots récents dans un environnement Windows10 64 bits

problème

Lorsque vous essayez d'utiliser MeCab avec Python dans un environnement Windows10 64 bits Je suis principalement tombé sur les 5 points suivants et j'étais rempli du désir de diviser l'écran, alors je l'ai résumé systématiquement.

Problème 1: MeCab n'est pas livré avec l'installation de pip seule Problème 2: j'ai pu l'installer, mais l'analyse morphologique ne fonctionne pas. Problème 3: Il semble que l'extraction d'expressions uniques fonctionne bien en utilisant le dictionnaire NEologd. Difficile à installer dans l'environnement Windows Problème 4: lorsque j'essaye de l'installer, il passe par PATH, mais je ne comprends pas le concept de PATH. Problème 5: les commandes DOS ne passent pas

table des matières

① Installez MeCab à partir de la version non officielle de .exe pour 64 bits (2) Installer une bibliothèque pour gérer MeCab en Python ③ Pour effectuer une analyse morphologique plus précise Cloner NEologd depuis git et compiler depuis l'invite de commande

① Installez MeCab à partir de la version non officielle de .exe pour 64 bits

Référence: https://qiita.com/wanko5296/items/eeb7865ee71a7b9f1a3a

Officiellement, seule la version 32 bits est prise en charge, donc Il est préférable d'installer la version 64 bits construite par des bénévoles.

Le fichier d'exécution est publié par le git suivant. https://github.com/ikegami-yukino/mecab/releases/tag/v0.996

Je sélectionne le code de caractère lors de l'installation du fichier exécutable, Sélectionnez en fonction du code de caractère du fichier texte cible pour lequel vous souhaitez effectuer une analyse morphologique. Si vous n'êtes pas particulier à ce sujet, sélectionnez UTF-8. (* La valeur par défaut est SHIFT-JIS)

(2) Installer une bibliothèque pour gérer MeCab en Python

Référence: https://qiita.com/yukinoi/items/990b6933d9f21ba0fb43

Avec cmd ou invite Anaconda

pip install sys
pip install MeCab

Exécuter. Si vous avez installé la version 64 bits ci-dessus de MeCab, vous pouvez utiliser le pip ci-dessus.

Avec ordinateur portable Jupyter, etc.


import MeCab

Vérifiez qu'il peut être installé avec.

Si aucune erreur ne se produit, une analyse morphologique est possible à ce stade. Si vous voulez essayer,

import sys
import MeCab
m = MeCab.Tagger ("-Ochasen")
print(m.parse ("Des cuisses et des cuisses"))

Vous pouvez voir que l'analyse morphologique est terminée.

Cependant, les mots qui incluent des mots récents (par exemple, My Number, Keyakizaka46, etc.) Cela devient comme My / Number, Keyaki / Saka / 46.

Pour éviter cela, installez un dictionnaire NEologd contenant une liste KW récente.

③ Clonez NEologd depuis git et compilez-le à partir de l'invite de commande afin d'effectuer une analyse morphologique plus précise.

・ Préparation

Référence: https://qiita.com/zincjp/items/c61c441426b9482b5a48 (Fondamentalement, l'article ci-dessus est écrit pour ceux qui ne comprennent pas les commandes PATH et DOS.)

Installez git 64 bits et 7-zip si nécessaire. La méthode d'installation est omise ici. ** ・ git ** Référence: https://eng-entrance.com/git-install ** ・ 7-zip ** Site officiel: https://sevenzip.osdn.jp/

Vous devez définir des variables d'environnement dans 7-zip.

C:\Program Files\7-Zip

Maintenant, permettez-moi de présenter brièvement cette variable d'environnement. C'est un paramètre pour exécuter facilement une application avec cmd, et on dit également qu'il passe par PATH.

Comme méthode de réglage, si vous recherchez «variable d'environnement» sur l'écran du panneau de commande, etc., l'écran de réglage apparaîtra. image.png

Si vous sélectionnez Modifier la variable d'environnement dans l'image ci-dessus, vous verrez un écran comme celui-ci. image.png Sélectionnez la pièce appelée Chemin dans la peinture bleue et sélectionnez ** Edition> Nouveau ** Ajoutez ce qui suit, qui est la destination d'installation de 7-zip, et sélectionnez OK. Il sera publié à nouveau, mais la destination d'installation diffère selon la personne et la valeur par défaut est la suivante.

C:\Program Files\7-Zip

Cela met en place le soi-disant PATH.

Installez le dictionnaire NEologd à partir d'ici.

・ Installer et compiler le dictionnaire NEologd

Lancez une invite de commande avec ** privilèges d'administrateur **

git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git

Téléchargez les fichiers de dictionnaire nécessaires, etc. Ensuite, allez dans le répertoire du fichier téléchargé et vérifiez s'il est téléchargé avec dir. Il n'y a aucun problème si vous pouvez voir les fichiers système neologd ~ lors de l'exécution de dir. Si vous ne trouvez pas le dossier de départ et obtenez une erreur, ** C: \ Users (nom d'utilisateur) \ mecab-ipadic-neologd \ seed ** se déplacera vers le répertoire.

cd mecab-ipadic-neologd\seed
dir

Au fait, cela signifie aller lire le répertoire appelé mecab-ipadic-neologd \ seed.

La décompression 7-zip est requise Exécutez la commande suivante. Je veux répondre aux fichiers .xz avec 7-zip.

7z X *.xz

Puis compilez le dictionnaire avec la commande suivante. (Passer à un format de dictionnaire lisible par MeCab) Cependant, il y a quelques mises en garde.

** ① NEologd est mis à jour quotidiennement, donc tous les 20191024 suivants seront en fait Sélectionnez la date attachée au nom du fichier DL lorsque vous avez cloné ** ** ② C: \ Program Files \ MeCab \ bin \ mecab-dict-index correspond à la destination d'installation de votre MeCab ** ** ③ UTF-8 a été sélectionné pour la méthode d'installation de mecab dans cet article, Si vous installez dans l'environnement SHIFT-JIS, remplacez "-t utf-8" par "-t shift-jis" **

"C:\Program Files\MeCab\bin\mecab-dict-index" -d "C:\Program Files\MeCab\dic\ipadic" -u NEologd.20191024.dic -f utf-8 -t utf-8 mecab-user-dict-seed.20191024.csv

mkdir "C:\Program Files\MeCab\dic\NEologd"

move NEologd.20191024.dic "C:\Program Files\MeCab\dic\NEologd"

Au fait, comme signification Exécutez mecab-dict-index.exe situé dans C: \ Program Files \ MeCab \ bin Existe dans le répertoire actuel vers lequel le cd est déplacé mecab-user-dict-seed.20191024.csv au format UTF-8 Compilez avec le nom NEologd.20191024.dic. Après cela, créez NEologd dans C: \ Program Files \ MeCab \ dic et déplacez-y le fichier compilé.

À ce stade, le reste est presque terminé ** Ouvrez mecabrc ** situé dans C: \ Program Files \ MeCab \ etc avec Notepad Remplacez userdic = par C: \ Program Files \ MeCab \ dic \ NEologd \ Neologd.20191024.dic Remplacez et enregistrez par écrasement. Selon l'autorité, il peut ne pas être possible d'écraser et d'enregistrer, donc Enregistrez mecabrc une fois dans un autre dossier et enregistrez-le à l'emplacement d'origine. N'oubliez pas de supprimer le .txt à ce moment-là.

Pour vérifier si NEologd est réellement appliqué, quand vous effectuez réellement une analyse morphologique avec Jupyter etc. Il suffit que Keyakizaka46 soit reconnu comme une nomenclature appropriée.

import sys
import MeCab
m = MeCab.Tagger ("-Ochasen")
print(m.parse ("Keyakizaka 46 mange un renard roux."))

fin

Afin d'améliorer la précision de l'analyse morphologique Vous pouvez lire la liste des mots vides japonais accessible au public, Les mots spécifiques à la cible à lire peuvent être définis comme dictionnaire utilisateur. Les choses inutiles doivent être régulièrement NG pour améliorer la précision.

Recommended Posts

Analyse morphologique de phrases contenant des mots récents dans un environnement Windows10 64 bits
Spécification du navigateur Jupyter Notebook dans un environnement Windows
Créer un environnement de 64 bits Windows + python 2.7 + MeCab 0.996
J'ai essayé l'analyse morphologique et la vectorisation de mots
virtualenvwrapper dans l'environnement Windows
Effectuer une analyse morphologique dans l'environnement d'apprentissage automatique lancé par GCE
Erreur dans l'ordre lors de l'importation de Numpy dans l'environnement Windows Anaconda
Mettez MeCab dans "Windows 10; Python3.5 (64 bits)"
installation de python2.7 dans un environnement Windows 32 bits
UnicodeDecodeError se produit dans pip (environnement Windows)
[Python] Raison de dtype "int32" dans Numpy (environnement Windows) (à partir de septembre 2020)