エンジニアの桂です。
現象
最近、 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
告知
最後に、ジラフでは仲間を絶賛募集中ですので、興味がある方は是非ともご連絡ください。