mecab-skkserv-0.03の辞書を最新版のMeCabでビルドする手順


MeCabを用いたシンプルな仮名漢字変換サーバであるmecab-skkserv-0.03の辞書を最新版のMeCabでビルドしようとしたらすんなりといかなかったので手順をメモします。

mecab-skkserv-0.03のダウンロード & 解凍 & ディレクトリ移動

$ curl -O http://chasen.org/~taku/software/mecab-skkserv/mecab-skkserv-0.03.tar.gz
$ tar -xzvf mecab-skkserv-0.03.tar.gz
$ cd mecab-skkserv-0.03

辞書の生成

そのままmecab-dict-indexで辞書を生成しようとするとエラーが出て生成出来ません。

$ `mecab-config --libexecdir`/mecab-dict-index -c utf-8 -f euc-jp
dictionary.cpp(258) [factor > 0] cost factor needs to be positive value

これはdicrccost-factorの項目がないためなので追加します。

$ echo 'cost-factor = 800' >> dicrc

もう一回挑戦。

$ mecab-dict-index -f euc-jp -c utf-8
./pos-id.def is not found. minimum setting is used
reading ./unk.def ... 2
emitting double-array: 100% |###########################################| 
./model.def is not found. skipped.
./pos-id.def is not found. minimum setting is used
reading ./dic.csv ... 446035
emitting double-array: 100% |###########################################| 
reading ./matrix.def ... 1281x701
emitting matrix      : 100% |###########################################| 

done!

生成できた!

辞書の確認

$ echo 'きみはだれ?' | mecab -d .
きみ  君
は は
だれ  だれ
? ?
EOS

うまくいきました!

なお、mecab-skkservのサーバ本体はいろいろいじってコンパイル通るところまでいきましたが、文字列を与えても何も結果が返ってこない状態なので諦めました……。