J'ai installé mecab-ipadic-neologd sur Sakura VPS avec ubuntu18.04LTS installé afin qu'il puisse être appelé depuis python. mecab-ipadic-neologd n'a pas pu être installé sur le serveur en raison d'un manque de mémoire, j'ai donc scpé un dictionnaire créé localement.
Le plan VPS 2G de Sakura Le système d'exploitation est le suivant
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
((Omis ci-dessous)
$ python -V
Python 3.6.8
Exécutez la commande suivante sur le serveur distant.
sudo apt install mecab
sudo apt install libmecab-dev
sudo apt install mecab-ipadic-utf8
Vérifiez le fonctionnement.
$faire écho à Dieu| mecab
Dieu substantif,Général,*,*,*,*,Dieu,Kami,Kami
Auxiliaire,Assistant de cas,Langage commun,*,*,*,Quoi,Itte,Itte
Verbe auxiliaire,*,*,*,Langue littéraire,Forme basique,Ru,Le,Le
EOS
Référence: Install mecab on ubuntu 18.10
Cette fois, j'ai déjà installé mecab-ipadic-neologd sur mon ordinateur Mac local, donc je vais scp le dictionnaire à partir de là.
Vérifiez l'emplacement du dictionnaire mecab-ipadic-neologd sur votre Mac local.
$ sudo find / -name mecabrc
/usr/local/etc/mecabrc
/usr/local/Cellar/mecab/0.996/.bottle/etc/mecabrc
$ cat /etc/usr/local/mecabrc
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
;dicdir = /usr/local/lib/mecab/dic/ipadic
dicdir = /usr/local/lib/mecab/dic/mecab-ipadic-neologd
(Ce qui suit est omis)
Scp le dictionnaire de local à distant.
$ scp -r /usr/local/lib/mecab/dic/mecab-ipadic-neologd [email protected]:~/
Vérifiez le fonctionnement de mecab sur le serveur distant.
$faire écho à Dieu| mecab -d ~/mecab-ipadic-neologd
Dieu substantif,Nomenclature propriétaire,Général,*,*,*,Dieu,Camitel,Camitel
EOS
Vous pouvez voir que mecab-ipadic-neologd peut être utilisé car "Dieu" qui n'a pas été correctement reconnu dans le dictionnaire initial peut être reconnu avec un mot.
Référence: Utilisez mecab-ipadic-NEologd avec un plan bon marché de Sakura VPS
Définissez mecab-ipadic-neologd comme dictionnaire par défaut pour mecab sur le serveur distant. C'est presque la même chose que pour Mac, il suffit de modifier mecabrc.
Recherchez mecabrc sur le serveur distant et vérifiez le contenu.
$ sudo find / -name mecabrc
/etc/mecabrc
$ cat /etc/mecabrc
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir = /var/lib/mecab/dic/debian
(Ce qui suit est omis)
Le dictionnaire mecab semble être stocké dans / var / lib / mecab / dic par défaut, alors déplacez mecab-ipadic-neologd là aussi et changez mecabrc pour le prendre en charge.
$ sudo mv ~/mecab-ipadic-neologd /var/lib/mecab/dic/
$ sudo nano /etc/mecabrc
(Changer avant)
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir = /var/lib/mecab/dic/debian
(Ce qui suit est omis)
(Après changement)
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
;dicdir = /var/lib/mecab/dic/debian
dicdir = /var/lib/mecab/dic/mecab-ipadic-neologd
(Ce qui suit est omis)
Si vous pouvez le changer correctement, vous pourrez reconnaître "Dieu" en un mot sans avoir à chercher un dictionnaire.
$faire écho à Dieu| mecab -d ~/mecab-ipadic-neologd
Dieu substantif,Nomenclature propriétaire,Général,*,*,*,Dieu,Camitel,Camitel
EOS
Autoriser l'appel de mecab depuis python3.
sudo apt install swig
sudo apt install python3-pip
sudo pip3 install mecab-python3
Vérifiez si vous pouvez l'appeler depuis python.
$ python
Python 3.6.8 (default, May 23 2019, 19:27:09)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import MeCab
>>> MeCab.Tagger().parse('Dieu')
Failed initializing MeCab. Please see the README for possible solutions:
https://github.com/SamuraiT/mecab-python3#common-issues
If you are still having trouble, please file an issue here, and include the
ERROR DETAILS below:
https://github.com/SamuraiT/mecab-python3/issues
Vous n'avez pas à rédiger le numéro en anglais.
------------------- ERROR DETAILS ------------------------
arguments:
error message: [ifs] no such file or directory: /usr/local/etc/mecabrc
----------------------------------------------------------
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/shimaya/.pyenv/versions/3.6.8/lib/python3.6/site-packages/MeCab/__init__.py", line 124, in __init__
super(Tagger, self).__init__(args)
RuntimeError
J'obtiens une erreur. On dit que / usr / local / etc / mecabrc
n'existe pas. Puisque mecabrc devrait être dans / etc / mecabrc, il semble que je sois allé lire un endroit qui n'existe pas.
Le mecabrc que python va lire peut être spécifié en préparant explicitement une variable d'environnement appelée MECABRC
.
$ nano ~/.bash_profile
(Ajoutez ce qui suit)
export MECABRC=/etc/mecabrc
$ source ~/.bash_profile
Quand j'ai essayé à nouveau, j'ai pu analyser la morphologie de «Dieu» en un mot.
$ python
Python 3.6.8 (default, May 23 2019, 19:27:09)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import MeCab
>>> MeCab.Tagger().parse('Dieu')
'Dieu\t substantif,Nomenclature propriétaire,Général,*,*,*,Dieu,Camitel,Camitel\nEOS\n'
Référence: Install mecab on ubuntu 18.10 Référence: Changer le dictionnaire par défaut de MeCab appelé depuis Python
Recommended Posts