mecabrc が見つからないというエラー

株式会社ジラフ
4 min readJul 15, 2020

--

Photo by Manuel Cosentino on Unsplash

エンジニアの桂です。

現象

最近、 Google Colab で、Hugging Face の Transformers で使える日本語学習済み BERT、 bert-japanese を使っていると以下のエラーが出るようになりました。

----------------------------------------------------------Failed initializing MeCab. Please see the README for possible solutions:https://github.com/SamuraiT/mecab-python3#common-issuesIf you are still having trouble, please file an issue here, and include theERROR DETAILS below:https://github.com/SamuraiT/mecab-python3/issuesissueを英語で書く必要はありません。------------------- ERROR DETAILS ------------------------arguments:error message: [ifs] no such file or directory: /usr/local/etc/mecabrc---------------------------------------------------------------------------RuntimeError                              Traceback (most recent call last)<ipython-input-7-1fe845d575ff> in <module>()----> 1 tokenizer = BertJapaneseTokenizer.from_pretrained(‘cl-tohoku/bert-base-japanese-whole-word-masking’)4 frames/usr/local/lib/python3.6/dist-packages/MeCab/__init__.py in __init__(self, rawargs)122123         try:--> 124             super(Tagger, self).__init__(args)125         except RuntimeError:126             error_info(rawargs)RuntimeError:

この原因を調べてみたところ、 mecab-python3 が 1.0 にバージョンアップして、辞書ライブラリを別途インストールすることをを求めるようになったことに起因するようです。

解決策

単に MeCab を使いたいだけなら、 README に記載されているように

$ pip install unidic-lite

を実行すれば動くようになるはずです。

しかし、我々は MeCab を bert-japanese で使うことを目的にしているので、これだとうまくいきません。

何かしらの方法で ipadic を使わせることができれば動かせるのかもしれないですが、ここではそういう方向の深掘りはせず、確実に動くバージョンに戻すことで解消しました。

$ pip install mecab-python3==0.996.5

告知

最後に、ジラフでは仲間を絶賛募集中ですので、興味がある方は是非ともご連絡ください。

--

--