@blog.justoneplanet.info

日々勉強

MeCabをインストールする

■インストール

以下のコマンドでインストールできる。

wget https://mecab.googlecode.com/files/mecab-0.994.tar.gz
tar xvzf mecab-0.994.tar.gz
cd mecab-0.994
./configure
make
make install

辞書

utf-8で使用したいので以下のconfigureオプションを使用する。

wget https://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz 
cd mecab-ipadic-2.7.0-20070801
./configure --with-charset=utf8
make
make install

libiconvが必要になる。

macにインストールする

以下のコマンドでmacにインストールできる。

brew install mecab
brew install mecab-ipadic

■実行

以下のようにして使用する。

mecab
にわにはにわにわとりがいる
に	助詞,格助詞,一般,*,*,*,に,ニ,ニ
わに	名詞,一般,*,*,*,*,わに,ワニ,ワニ
はにわ	名詞,一般,*,*,*,*,はにわ,ハニワ,ハニワ
にわとり	名詞,一般,*,*,*,*,にわとり,ニワトリ,ニワトリ
が	助詞,格助詞,一般,*,*,*,が,ガ,ガ
いる	動詞,自立,*,*,一段,基本形,いる,イル,イル
EOS

ちょっと意地悪すぎたので入力を漢字にする。

庭には二羽鶏がいる
庭	名詞,一般,*,*,*,*,庭,ニワ,ニワ
に	助詞,格助詞,一般,*,*,*,に,ニ,ニ
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
二	名詞,数,*,*,*,*,二,ニ,ニ
羽	名詞,接尾,助数詞,*,*,*,羽,ワ,ワ
鶏	名詞,一般,*,*,*,*,鶏,ニワトリ,ニワトリ
が	助詞,格助詞,一般,*,*,*,が,ガ,ガ
いる	動詞,自立,*,*,一段,基本形,いる,イル,イル
EOS

正しく分類できた。

■Pythonで実行

久しぶりのPythonで遊ぶ。

python-devel

セットアップスクリプトを実行するのに必要になる。

yum insatll python-devel

mecab-python

以下のコマンドでインストールできる。

wget https://mecab.googlecode.com/files/mecab-python-0.996.tar.gz
tar xvzf mecab-python-0.98.tar.gz
cd mecab-python-0.98
python setup.py build
python setup.py install

テストスクリプトの文字コードを指定する。

vi test.py

2行目に以下のコードを加える。

# -*- coding: utf-8 -*-

以下のコマンドで実行する。

python test.py

■PHPで実行

php_mecabのインストール

su
pear channel-discover pecl.opendogs.org
pear install opendogs/mecab-beta
vim /private/etc/php.ini

Mountain LionにしたらPEARごと消滅してた

brew install autoconf

mecab.soが無いと言われて何もできなくなるので、php.iniを開いて一旦コメントアウトする。

su
vim /private/etc/php.ini

再度インストールする。

php /usr/lib/php/install-pear-nozlib.phar #PEARのインストール
pear channel-discover pecl.opendogs.org
pear install opendogs/mecab-beta #php-mecabのインストール
vim /private/etc/php.ini

ちなみに以下のようにパスを指定しないと

specify pathname to mecab-config [no] : /usr/local/bin

以下のようなエラーが出る。

checking for mecab-config... configure: error: not found
ERROR: `/var/tmp/mecab/configure --with-mecab=/usr' failed

以下の一行をextensionに付加する。

extension=mecab.so

実行

$mecab = new MeCab_Tagger();
for($node = $mecab->parseToNode($tag); $node; $node = $node->getNext()){
    var_dump($node->getSurface());
    var_dump($node->getFeature());
}

参考

コメントはまだありません»

No comments yet.

RSS feed for comments on this post.TrackBack URL

Leave a comment