2014年4月3日木曜日

日本語形態素解析(mecab + php)

日本語形態素解析の導入方法

日本語の形態素解析には、いくつかの方法があると思います。
今回は、PHPで作成された掲示板に実装されているNGワード判定処理への苦情が多く寄せられた為、急遽対応しました。


mecabのインストール

# cd /usr/local/src/

# wget http://mecab.googlecode.com/files/mecab-0.996.tar.gz
# tar xzf mecab-0.996.tar.gz
# cd mecab-0.996
# ./configure --with-charset=utf8
# make
# make install

mecabライブラリ(IPA)のインストール

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

PHP用ライブラリのインストール

# pear channel-discover pecl.opendogs.org
# pear remote-list -c opendogs
# pear install opendogs/mecab-beta
specify pathname to mecab-config [no] : /etc/mecab/mecab-config
...
You should add "extension=mecab.so" to php.ini

php.iniの設定

# locate mecab.so
/usr/lib64/php/modules/mecab.so

# vi /etc/php.d/mecab.ini
extension=mecab.so


使用例・結果

ばか えろ の単語を含む文字列を指定してみました。

<?php
$mecab = new MeCab_Tagger();
var_dump($mecab->parse("君ばかりがバグを出している。環境を考えろと言われても困ります。"));
?≶

君ばかりがバグを出している。環境を整えろと言われても困ります。
君      名詞,代名詞,一般,*,*,*,君,キミ,キミ
ばかり  助詞,副助詞,*,*,*,*,ばかり,バカリ,バカリ
が      助詞,格助詞,一般,*,*,*,が,ガ,ガ
バグ    名詞,一般,*,*,*,*,バグ,バグ,バグ
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
出し    動詞,自立,*,*,五段・サ行,連用形,出す,ダシ,ダシ
て      助詞,接続助詞,*,*,*,*,て,テ,テ
いる    動詞,非自立,*,*,一段,基本形,いる,イル,イル
。      記号,句点,*,*,*,*,。,。,。
環境    名詞,一般,*,*,*,*,環境,カンキョウ,カンキョー
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
整えろ  動詞,自立,*,*,一段,命令ro,整える,トトノエロ,トトノエロ
と      助詞,格助詞,引用,*,*,*,と,ト,ト
言わ    動詞,自立,*,*,五段・ワ行促音便,未然形,言う,イワ,イワ
れ      動詞,接尾,*,*,一段,連用形,れる,レ,レ
て      助詞,接続助詞,*,*,*,*,て,テ,テ
も      助詞,係助詞,*,*,*,*,も,モ,モ
困り    動詞,自立,*,*,五段・ラ行,連用形,困る,コマリ,コマリ
ます    助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス
。      記号,句点,*,*,*,*,。,。,。

0 件のコメント:

コメントを投稿