MeCabで形態素解析!ってことで、CentOS (5.5) にさっそく MeCab0.98 を導入してみます。
① まず MeCabのインストール
[root@ ~]# wget 'http://downloads.sourceforge.net/project/mecab/mecab/0.98/mecab-0.98.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmecab%2Ffiles%2F&ts=1283097111&use_mirror=jaist'
[root@ ~]# tar xvfz mecab-0.98.tar.gz
[root@ ~]# cd mecab-0.98
[root@ ~]# ./configure
[root@ ~]# make
[root@ ~]# make install
[root@ ~]# tar xvfz mecab-0.98.tar.gz
[root@ ~]# cd mecab-0.98
[root@ ~]# ./configure
[root@ ~]# make
[root@ ~]# make install
② IPA 辞書をダウンロード
IPA 辞書, Juman 辞書 があるが、前者が推奨されていたので、それをダウンロードします。また, configureの際に文字コードを指定します(UTF-8とします)。
違う文字コードでインストールしてしまった場合は、make uninstall してからやり直せばOK
[root@ ~]# wget 'http://downloads.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmecab%2Ffiles%2F&ts=1283097195&use_mirror=jaist'
[root@ ~]# tar xvfz mecab-ipadic-2.7.0-20070801.tar.gz
[root@ ~]# cd mecab-ipadic-2.7.0-20070801
[root@ ~]# ./configure --with-charset=utf8
[root@ ~]# make
[root@ ~]# make install
[root@ ~]# tar xvfz mecab-ipadic-2.7.0-20070801.tar.gz
[root@ ~]# cd mecab-ipadic-2.7.0-20070801
[root@ ~]# ./configure --with-charset=utf8
[root@ ~]# make
[root@ ~]# make install
※ これで終了。最後に何か文字列(明日は明日の風が吹く)を解析してみます。
[root@ ~]# mecab
明日は明日の風が吹く
明日 名詞,副詞可能,*,*,*,*,明日,アシタ,アシタ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
明日 名詞,副詞可能,*,*,*,*,明日,アシタ,アシタ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
風 名詞,一般,*,*,*,*,風,カゼ,カゼ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
吹く 動詞,自立,*,*,五段・カ行イ音便,基本形,吹く,フク,フク
EOS
※ おまけとして、PHPからアクセスするために MeCab extension をインストールします。
http://d.hatena.ne.jp/yoshi-ken/20110621 の記事を参考にさせていただきました!
pear channel-discover pecl.opendogs.org
pear install opendogs/mecab-beta
echo "extension=mecab.so" > /etc/php.d/mecab.ini
php -m | fgrep mecab #インストールに成功していたら「mecab」という行が表示されます
pear install opendogs/mecab-beta
echo "extension=mecab.so" > /etc/php.d/mecab.ini
php -m | fgrep mecab #インストールに成功していたら「mecab」という行が表示されます
<?php $target_str = "明日は明日の風が吹く"; $result = mecab_split($target_str); print_r($result); ?>
これで Array ( [0] => 明日 [1] => は [2] => 明日 [3] => の [4] => 風 [5] => が [6] => 吹く ) となります。