Installez mecab-ipadic-neologd sur Sakura VPS (ubuntu18.04) avec une mémoire faible et utilisez-le depuis python

Aperçu

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.

environnement

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

installer mecab

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

Une copie de mecab-ipadic-neologd

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éfinir le dictionnaire par défaut sur mecab-ipadic-neologd

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

installation de mecab-python3

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

Installez mecab-ipadic-neologd sur Sakura VPS (ubuntu18.04) avec une mémoire faible et utilisez-le depuis python
Installez le plugin memcached sur MySQL et accédez à partir de Java
Installez JDK et JRE sur Ubuntu 16.10
Installez Ubuntu Server 20.04 dans VirtualBox sur Mac et établissez une connexion SSH
Lors de la création d'un environnement rails6 sur Ubuntu, il est bloqué avec l'installation du bundle
Utiliser cljstyle avec Spacemacs sur Ubuntu sur WSL2
Comment utiliser Eclipse sur mon PC avec 32 bits et 2 Go de mémoire
Construire et installer la version de développement Wireshark (3.3.1) sur Ubuntu
Installez plusieurs Javas et basculez entre eux sur Ubuntu
SSH dans Ubuntu sur VirtualBox de votre Mac et faites-le jusqu'à ce que vous installiez Docker
Importez une instance et utilisez-la sur un autre écran
Installez Eclipse sur Mac et traduisez-le en japonais