mecab-ipadic-neologd環境のMecabでユーザー辞書の作成につまずいた話


はじめに

Mecab + mecab-ipadic-neologd環境の実装後、
ユーザー辞書の追加を行おうとすると

~/work# /usr/lib/mecab/mecab-dict-index \
        -d /var/lib/mecab/dic/ipadic/  \
        -u name.dic -u uft8 -t utf8 ./name.csv 

reading ./name.csv ... context_id.cpp(96) [it != left_.end()] cannot find LEFT-ID  for 名詞,固有名詞,人名,名,*,*,*

というエラーが表示され、うまく辞書の作成ができませんでした。

結論

システム辞書をmecab-ipadic-neologdのファイルパスに変更する。

~/work# /usr/lib/mecab/mecab-dict-index \
        -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/ \ 
        -u user.dic -f uft8 -t utf-8 ./user.csv 

まあ言われてみれば当たり前なんですが、気づくのに30分以上かかったので投稿します。

余談

該当のエラーについて調べてみると、文字コードのエラーかLEFT-IDの指定が不十分である場合が多く記事になっていました。
文字コードはviで

:set enc?

とすると確認できます。