TL;DR
MeCabのインストール時、辞書がなくて使えなかった話です。
公式ドキュメントの重要性を理解していなかったために解決に時間がかかったという教訓もあります。
背景
アルバイトの研修で、Google Colab上で自然言語処理100本ノックの4章を解いていた際、MeCabのインストールで躓いた。
困っていたこと
mecab-python3
をインポートして使う際、RunTimeError
が出る。
import MeCab
tagger = MeCab.Tagger()
tagger.parse("私は自然言語処理を勉強している。")
RuntimeError:
----------------------------------------------------------
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:
default dictionary path: None
[ifs] no such file or directory: /usr/local/lib/mecab/dic/ipadic/dicrc
----------------------------------------------------------
原因
ERROR DETAILS
に書いてある通り、デフォルトの辞書のパスがなかった。公式ドキュメントに書いてあるとおりに
pip install unidic-lite
を実行すると動くようになった。
教訓:公式ドキュメントは大事
公式ドキュメントを読んでいれば一瞬で解決した問題なのに、そうしなかったために手こずる羽目になりました。
やらかしポイント
- 時間を短縮したいがために、いきなりQiita記事を読み始める
- Qiitaで解決できなくて、ChatGPTにエラーメッセージを貼り付けて質問し、結果を鵜呑みにして試す
- 間違ったことを言われて何時間も時間を取られる
恐ろしいことに、私は今まで公式ドキュメントの重要性を理解しないまま開発を進めてきました。
大学/大学院の研究ではPyTorchやHugging Face Transformersなどのライブラリを用いましたが、一度も公式ドキュメントを熟読せずにコードを書き始め、問題が起こったらエラーメッセージでググって非公式の記事やStackOverflowなどを参照して解決していました。教授や先輩から読めと言われたこともなく、なんなら上記の解決方法は先輩から教わったので何の疑問も持っていませんでした。
ちゅらデータに入ってアルバイトを始めて、この問題を解決する中で社内の人に「公式ドキュメントを読むのなんて基本のきだよ、機械買ったら説明書まずは読むでしょ?」と指摘されて初めて気づきました。
私のように研究室でのつながりが希薄だったり、学外での開発経験が少ない学生は特に、公式ドキュメントの重要性を知らないまま就職する可能性が高いのではないでしょうか。
初心者の皆さん、問題が起こったらまずは公式ドキュメントを読みましょう。ライブラリを使い始める前に公式ドキュメントをある程度は読みましょう。チュートリアルがあれば回しましょう。
経験のあるエンジニアの皆様におかれましては、このようなことは当たり前すぎて言うまでもないことなのかもしれませんが、新卒の学生はもしかしたら知らないかも、と頭の片隅に置いておいていただけますと幸いです。