Debian上でmecab-ipadicをベースに単語を追加する

Pocket

今時のMeCabには、新しく追加した単語だけコストを計算させる機能があるので、実際に動かしてみました。

参考となるURLはhttps://taku910.github.io/mecab/dic.htmlです。Web上には古いgoogle code上のページがまだ残っており、Googleで検索するとそちらが上位に引っかかるので注意が必要です。

前提として、mecab-utilsとmecab-ipadic(EUC-JP版、UTF-8は不可)がインストールされている必要があります。

次に、登録する単語のエントリーを用意します。諸事情により、EUC-JPで保存しておきます。以下は実際の例です。foo.csvという名前で保存しておきます。

日生協,,,,名詞,固有名詞,組織,*,*,*,にっせいきょう,ニッセイキョウ,ニッセイキョウ

次にモデルファイルを前述のページから取得します。リンク先はGoogle Driveのようです。この記事を書いている2015年10月の時点では、mecab-ipadic-2.7.0-20070801.modelというファイル名になっています。

必要なファイルが集まったら、以下を実行します。

$ mkdir tmp
$ cp /var/lib/mecab/dic/ipadic/* /usr/share/mecab/dic/ipadic/* tmp/
$ /usr/lib/mecab/mecab-dict-index -m ./mecab-ipadic-2.7.0-20070801.model \
  -d ./tmp -u foo2.csv -f euc-jp -t euc-jp -a foo.csv

すると、foo2.csvに単語のコストが記録された新しい結果が出力されます。

日生協,1292,1292,3062,名詞,固有名詞,組織,*,*,*,にっせいきょう,ニッセイキョウ,ニッセイキョウ

元のmecab-ipadicのソース(/var/lib/mecab/dic/ipadic/*.csv)とモデルmecab-ipadic-2.7.0-20070801.model)がEUC-JPであるため、新しい辞書の文字コードもEUC-JPに合わせる必要があります。