はじめに
Ubuntu18.04環境でMecab+NEologdをPythonから使うため準備方法をまとめます。
方法
Mecab のインストール
$ sudo apt install mecab libmecab-dev mecab-ipadic-utf8
mecab-python3 のインストール
$ pip install mecab-python3
NEologd のインストール
$ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
$ cd mecab-ipadic-neologd
$ ./bin/install-mecab-ipadic-neologd -n
"""
[install-mecab-ipadic-NEologd] : Do you want to install mecab-ipadic-NEologd? Type yes or no.
⇛ この質問には'Yes'
"""
MeCab-ipadic-NEologd のインストール先を確認
$ echo `mecab-config --dicdir`"/mecab-ipadic-neologd"
私の環境では、/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd
にインストールされていたので、/usr/local/lib/mecab/dic/
配下になるように、
シンボリックリンクを張っておきます。
$ sudo mkdir -p /usr/local/lib/mecab/dic
$ sudo chmod -R 777 /usr/local/lib/mecab
$ ln -s /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd /usr/local/lib/mecab/dic/mecab-ipadic-neologd
エラー対応
エラー内容
テストスクリプトを書いて実行してみると、
import MeCab
mecab = MeCab.Tagger('-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd')
text = 'ペンギンと猫は友達です。'
print(mecab.parse(text))
以下のエラーが出てしまいました。
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
issueを英語で書く必要はありません。
---------------------------- ERROR DETAILS ----------------------------
arguments: -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd
error message: [ifs] no such file or directory: /usr/local/etc/mecabrc
-----------------------------------------------------------------------
Traceback (most recent call last):
File "mecab.py", line 3, in <module>
mecab = MeCab.Tagger('-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd')
File "/home/vagrant/projects/venv\_mecab/lib/python3.7/site-packages/MeCab/\_\_init\_\_.py", line 124, in __init__
super(Tagger, self).__init__(args)
RuntimeError
解決方法
環境変数を正しく設定し直します。
# mecabのインストール先を確認する
$ sudo find / -iname mecabrc
⇛ /etc/mecabrc
# 確認したインストール先をbash\_profileに書き込む
$ sudo vim ~/.bash_profile
⇛ export MECABRC='/etc/mecabrc' を追記する
# 書き込んだ設定を反映する
$ source ~/.bash_profile
これでうまく実行できました。
$ python mecab.py
ペンギン 名詞,一般,*,*,*,*,ペンギン,ペンギン,ペンギン
と 助詞,並立助詞,*,*,*,*,と,ト,ト
猫 名詞,一般,*,*,*,*,猫,ネコ,ネコ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
友達 名詞,一般,*,*,*,*,友達,トモダチ,トモダチ
です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
。 記号,句点,*,*,*,*,。,。,。
EOS
参考
https://engineeeer.com/mecab-neologd-python/ https://neos21.net/blog/2020/04/05-01.html https://bokunoitnisshi.hatenablog.com/entry/2020/08/01/165215