tohokuaikiのチラシの裏

技術的ネタとか。

Mecabの使い方

東日本大震災の影響で、宮城県でそのほとんどの出荷をしていためかぶはめっきり目にしなくなったのですが、めかぶを使ったメモです。

インストール

とりあえず、CentOSではパッケージがrpmforgeに存在しなかったので、手でインストール

mecab本体

$ wget "http://downloads.sourceforge.net/project/mecab/mecab/0.98/mecab-0.98.tar.gz"
$ tar xvzfmp mecab-0.98.tar.gz
$ cd xvzfmp mecab-0.98
$ ./configure
$ make && make install

mecab辞書

$ wget "http://sourceforge.net/projects/mecab/files/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz/download"
$ tar xvzfmp mecab-ipadic-2.7.0-20070801.tar.gz
$ cd xvzfmp mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset=utf-8
$ make && make install

PHPmecabバインディング

$ wget http://www.opendogs.org/pub/php_mecab-0.3.0.tgz
$ tar xvzfmp php_mecab-0.3.0.tgz
$ cd php_mecab-0.3.0
$ phpize
$ ./configure
$ make && make install
# mecab.soができるので、php.iniに extension=mecab.so を1行追記

辞書登録

既にある辞書以外に自分のものを登録する

  1. さっきの辞書登録ディレクトリに移動

$ cd /root/src/mecab-ipadic-2.7.0-20070801

  1. なんかてきとうにCSVファイルを作る

ファイル名は正規表現でいうと^[A-Z]{1}[a-z]+\.csv$かな?
中身はこんな感じ

ウノウラボ,-1,-1,1,名詞,一般,*,*,*,*,ウノウラボ,ウノウラボ,ウノウラボ
サノウラボ,-1,-1,1,名詞,一般,*,*,*,*,サノウラボ,サノウラボ,サノウラボ
海郎,-1,-1,100,名詞,一般,*,*,*,*,海郎,ウミロウ,ウミロウ
婚活,-1,-1,500,名詞,一般,*,*,*,*,婚活,コンカツ,コンカツ
歴女,-1,-1,500,名詞,一般,*,*,*,*,歴女,レキジョ,レキジョ
鯖管,1292,1292,14,名詞,一般,*,*,*,*,鯖管,サバカン,サバカン

なんか最後に空行が多かったり、セル数が足りなかったりしたら駄目みたい。
あと、このファイルは元のIPA辞書がEUCなのでEUCで登録する。

  1. 辞書をコンパイルしてインストールしなおす

コンパイルはUTF8で行う。

$ /usr/local/libexec/mecab/mecab-dict-index -f euc-jp -t utf-8
$ make install

make installを行わないと駄目です。
ls -l /usr/local/lib/mecab/dic/ipadic/
してチャンと辞書ファイルがアップデートされてればOKです。

PHPから使う

サンプルは、php_mecab-0.3.0.tgz を展開したexampleにあるのでそれを見つつ。