駆け出しエンジニアの作業ノート

駆け出しエンジニアが作業ノート風にまとめるページ(関係無い事もしばしば)

MeCabのユーザー辞書作成と反映方法

MeCabを用いていると、特にIT関係の単語は自分の意図しない部分で形態素が分かれてしまうことがあります。そのような場合は、ユーザーが自分で辞書を作成する事が出来ます。以下の記事を参考にしましたが、一部は自分で追加しました。なお、ユーザー辞書の元となるcsvファイルの場所は任意の場所で大丈夫です。

 

qiita.com

MeCabの辞書をカスタマイズする | mwSoft

まず、MeCabのユーザー辞書ですが、これを探すのにとても時間が掛かりました。

 

$ which mecab

/usr/local/bin/mecab

 

 

MeCabはここにあるとばかり思っていましたが、実際は違っていました。

 

 

ls -ltr /usr/local/bin/mecab

lrwxr-xr-x  1 {ユーザー名}  admin  31  2  2 21:09 /usr/local/bin/mecab -> ../Cellar/mecab/0.996/bin/mecab

 

という事でエイリアスが貼ってあり、実際には

 

 

$ /usr/local/Cellar/mecab/0.996/libexec/mecab

 

にありました。これで、一安心して、Qiitaのコマンドを実行しようとしましたが、今度はエイリアス先のMeCabにはシステム辞書が存在していませんでした。辞書ファイルはエイリアス元に存在するという非常にややこしい位置関係となっていました。で、完成したシェルスクリプトは以下のようになりました。

 

/usr/local/Cellar/mecab/0.996/libexec/mecab/mecab-dict-index -d /usr/local/lib/mecab/dic/ipadic -u /usr/local/lib/mecab/dic/ipadic/user.dic -f utf-8 -t utf-8 /Users/{user_name}/Documents/mecab_user_dic.csv

 

なお、このようなシェルスクリプトはいちいち打ち込むのが大変なので、「.sh」で保存し、二回目以降はシェルファイルの実行で手続きを簡単にしています。

 

よろしければ、参考にしてみて下さい。なお、作ったユーザー辞書を反映する場合は以下の記事を参考にして下さい。

 

psyduck-take-it-easy.hatenablog.com