辞書の作成方法については、本家の 解説サイトを見てください。ここでは、以下の例(hoge.csv)を追加用ファイルとして用います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 【hoge.csv】 AOC,-1,-1,3049,名詞,固有名詞,一般,*,*,*,AOC,AOC,AOC AOCホールディングス,-1,-1,3013,名詞,固有名詞,一般,*,*,*,AOCホールディングス,AOCホールディングス,AOCホールディングス AOCワインの一覧,-1,-1,3016,名詞,固有名詞,一般,*,*,*,AOCワインの一覧,AOCワインの一覧,AOCワインの一覧 AOD,-1,-1,3049,名詞,固有名詞,一般,*,*,*,AOD,AOD,AOD AOE,-1,-1,3049,名詞,固有名詞,一般,*,*,*,AOE,AOE,AOE AOE1,-1,-1,3036,名詞,固有名詞,一般,*,*,*,AOE1,AOE1,AOE1 AOE2,-1,-1,3036,名詞,固有名詞,一般,*,*,*,AOE2,AOE2,AOE2 AOE3,-1,-1,3036,名詞,固有名詞,一般,*,*,*,AOE3,AOE3,AOE3 AOJ,-1,-1,3049,名詞,固有名詞,一般,*,*,*,AOJ,AOJ,AOJ AOKI,-1,-1,3036,名詞,固有名詞,一般,*,*,*,AOKI,AOKI,AOKI AOKIホールディングス,-1,-1,3012,名詞,固有名詞,一般,*,*,*,AOKIホールディングス,AOKIホールディングス,AOKIホールディングス AOL,-1,-1,3049,名詞,固有名詞,一般,*,*,*,AOL,AOL,AOL |
辞書を追加する際は、上記のようなフォーマットに従ったcsvファイルが必要となります。 また、MeCabをインストールした時に設定した辞書ファイル中にある、left-id.def, right-id.def の文字エンコーディングと上記hoge.csvのそれが合致していないと、辞書構築中にエラーとなりますので 注意してください。今回の例では、left-id.def, right-id.defがeuc-jpだったため、hoge.csvも euc-jpに変換します。
1 | $ nkf -e hoge.csv > hoge_euc.csv |
準備が整ったら、CSVファイルから辞書ファイルを構築します。これには以下のようなコマンドを用います。
1 | $ /usr/local/libexec/mecab/mecab-dict-index -d /usr/local/lib/mecab/dic/ipadic/ -u ~/hoge.dic -f euc-jp -t utf8 hoge_e uc.csv |
コマンドの意味としては、システム辞書へのパスを「-d」オプションで指定し、
「-u」オプションで生成する辞書ファイル名を指定します。
「-f」オプションは入力となるCSVファイルの文字コード(ここではhoge_euc.csvの文字コード)、
「-t」オプションは出力される辞書ファイルの文字コード(ここではhoge.dic)となります。
辞書ファイル(hoge.dic)の文字コードが異なるものになると、mecab実行時に辞書データとして
機能しないので注意してください。MeCabが期待している入力ファイルの文字コードがutf8ならばutf8、
euc-jpならばeuc-jpと指定しましょう。
上記コマンドを実行すると、「hoge.dic」という辞書ファイルが生成されていますので 確認してみてください。 後は、設定ファイルに生成したhoge.dicを登録するだけです。
1 2 | $ sudo emacs /usr/local/etc/mecabrc
userdic = ~/hoge.dic
|
なお、複数の辞書を登録したい時は、userdicという項目にカンマ(,)区切りで続けて指定すれば OKです。おためしあれ。