Kawanet Blog II

アクセスカウンタ

zoom RSS 形態素解析 MeCab を Perl モジュール Text::MeCab から使う

<<   作成日時 : 2011/10/29 18:08   >>

なるほど(納得、参考になった、ヘー) ブログ気持玉 14 / トラックバック 0 / コメント 0

画像久しぶりに MeCab をインストールしてみた手順メモ。
Perl バインディングは、前回(2006年!)は標準の MeCab.pm モジュールを利用しましたが、今なら牧さんの Text::MeCab の方がいいらしい。
環境は、Mac OS X 10.6.8 と Amazon EC2 Amazon Linux で試しました。

(参考)[Perl] 形態素解析MeCab(和布蕪)をPerlから使ってみる
http://kawa.at.webry.info/200604/article_3.html

ダウンロード


http://sourceforge.net/projects/mecab/files/
から mecab と mecab-ipadic をダウンロードします。
http://downloads.sourceforge.net/project/mecab/mecab/0.98/mecab-0.98.tar.gz
http://downloads.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz
にあります。

MeCab 本体のインストール


まず、MeCab 本体をインストールします。
インストール先は /usr/local/mecab-0.98 です。
文字コードは今なら UTF-8 のみで OK です。

tar zxvf mecab-0.98.tar.gz
cd mecab-0.98
./configure --prefix=/usr/local/mecab-0.98 --enable-utf8-only
make
sudo make install
cd ..

tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz
cd mecab-ipadic-2.7.0-20070801
./configure --prefix=/usr/local/mecab-0.98 --with-charset=utf8 --with-mecab-config=/usr/local/mecab-0.98/bin/mecab-config
make
sudo make install
cd ..


Text::MeCab モジュールのインストール


次に、Text::MeCab モジュールをインストールします。
今回は、cpanm を使って、extlib フォルダ配下にインストールしてみます。
1〜2回、プロンプトで聞かれるので、--verbose を付ける必要があります。

cpanm --verbose -l extlib Text::MeCab
(中略)
Path to mecab config?
/usr/local/mecab-0.98/bin/mecab-config

Encoding of your mecab dictionary? (shift_jis, euc-jp, utf-8) [euc-jp]
utf-8
(後略)


普通は依存関係は cpanm が解決してくれますが、なぜか Devel::CheckLib のコンパイルで落ちてしまう場合は、別途 -force でインストールして下さい。
cpanm --force -l extlib Devel::CheckLib


『error while loading shared libraries: libmecab.so.1: cannot open shared object file』というエラーが出た場合は、共有ライブラリの読み込みに失敗しているので、以下を実行します。
export LD_RUN_PATH=/usr/local/mecab-0.98/lib

(※ 11/05 修正:LD_LIBRARY_PATH でなくて LD_RUN_PATH を cpanm 前に設定する)

形態素解析をテストしてみる


インストールできたので、早速、以下のコードでテストしてみます。

#!/usr/bin/perl

use lib qw(extlib/lib/perl5);
use Text::MeCab;

my $str = "この文を形態素解析して下さい。";
my $m = Text::MeCab->new();
my $n = $m->parse($str);
while ($n) {
printf("%s\t%s\t%d\n", $n->surface, $n->feature, $n->cost);
$n = $n->next;
}

以下の結果が表示されれば成功です。
この   連体詞,*,*,*,*,*,この,コノ,コノ -664
文    名詞,一般,*,*,*,*,文,ブン,ブン 4588
を    助詞,格助詞,一般,*,*,*,を,ヲ,ヲ 3778
形態素  名詞,一般,*,*,*,*,形態素,ケイタイソ,ケイタイソ 8885
解析   名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ 12788
し    動詞,自立,*,*,サ変・スル,連用形,する,シ,シ 16156
て    助詞,接続助詞,*,*,*,*,て,テ,テ 14663
下さい  動詞,非自立,*,*,五段・ラ行特殊,命令i,下さる,クダサイ,クダサイ 17173
。    記号,句点,*,*,*,*,。,。,。 14787
     BOS/EOS,*,*,*,*,*,*,*,* 13251


オマケ


Amazon Linux でインストールする場合は、MeCab コンパイル時に gcc-c++ が必要でした。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 14
なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー)
ナイス ナイス ナイス
驚いた 驚いた
面白い 面白い
ガッツ(がんばれ!) ガッツ(がんばれ!)
かわいい かわいい

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
形態素解析 MeCab を Perl モジュール Text::MeCab から使う Kawanet Blog II/BIGLOBEウェブリブログ
文字サイズ:       閉じる