Edited at

MeCabでオリジナル辞書を作成する

More than 3 years have passed since last update.

MeCabにデフォルトで入っていない言葉を形態素解析した時に,意図しない区切られ方になることが有ります.

例えばレシピ中に出てくる「水を切る」という言葉は,「水」「を」「切る」と形態素解析されます.

これは間違いではありませんが,「水を切る」という意味ではなくなってしまい,それが困る場合があります.

なので,MeCabの辞書に登録されていない語句をまとめた,「オリジナル辞書」の作り方を書いていこうと思います.


辞書の作成方法

ここでは,MeCabのオリジナル辞書の作成方法を記載します.

データは全てCSV形式(カンマ区切り)で作成します.

文字コードはShift-JIS,改行コードは¥r(Linux)で作成してください.


名詞

名詞は,以下のように登録します.

スクリーンショット 2015-04-20 18.12.09.png

左から,

登録したい名詞,ID,ID,重み,品詞,品詞の説明,*,*,*,*,登録したい名詞,カタカナ表示,カタカナ表記

と並んでいます.


動詞

動詞は名詞とは違い,各活用形を書かなければいけません.

スクリーンショット 2015-04-20 18.17.34.png

表はそれぞれ,

登録したい名詞,ID,ID,重み,品詞,品詞の説明,*,*,活用,活用形,登録したい動詞の原形,カタカナ表示,カタカナ表記

となっています.

IDは,MeCabに登録されている「する」「きる」「つく」などのIDを,それぞれの動詞に合わせて登録します.

例えば,

から煎りにするであれば,599番ですし,

色がつくであれば,679番となります.

これは,MeCabの辞書を見て探すしかありません.


MeCab辞書にCSVファイルをコンパイル

名詞と動詞の表を一つのCSVファイルにまとめ,以下のコマンドを叩きます.

$ /usr/local/libexec/mecab/mecab-dict-index -d /usr/local/lib/mecab/dic/ipadic -u original.dic -f utf-8 -t utf-8 オリジナル辞書CSVファイル名.csv

※「オリジナル辞書CSVファイル名.csv」の部分は作成したCSVファイル名に変えてください.

このコマンドを叩くと,「original.dic」というファイルがカレントディレクトリに作成されます.

これがMeCabの辞書となります.

なお,エラーが出る場合は,今一度文字コードがShift-JISで改行コードが¥rになっているか確認して下さい.

※私は「mi」というエディタでよく確認します.


辞書をMeCabに登録する

作成した辞書(original.dic)はどこにおいておいてもいいのですが,私は「/usr/local/lib/mecab/dic/ipadic/」の中に入れています.

なので,作成した辞書(original.dic)は,/usr/local/lib/mecab/dic/ipadic/の中に入っている前提でお話を進めていきます.

/usr/local/lib/mecab/dic/ipadic/dicrc」ファイルのどこかに,次の一文を付け加えます.

userdic = /usr/local/lib/mecab/dic/ipadic/original.dic

やり方としては,おそらくターミナルで編集するのがメジャーだと思いますので,

$ sudo vi /usr/local/lib/mecab/dic/ipadic/dicrc

を叩き,適当なところに挿入してください.

以上です