会社で、ブログのエントリに応じた反応をする(いわゆるBlogPet)の話になり、形態素解析をやってみようと気が向いたのでサンプルを作ってみました。
入力されたテキストの内容を MeCab 様で形態素分析して、名詞の回数でタグクラウドします。MeCab は Perl モジュールも提供してくれてますので、数十分でできあがりました。Chasenのインストールで苦労したときと比べると大違い。
http://sourceforge.jp/projects/mecab/files/ から、 mecab と mecab-ipadic の最新版をダウンロード。その後、それぞれ
$ tar zxvf mecab-*
$ cd mecab-*
$ ./configure
$ make
# make install
あと同じ http://sourceforge.jp/projects/mecab/files/ から mecab-perl の最新版をダウンロード、
$ wget http://osdn.dl.sourceforge.jp/mecab/19467/mecab-perl-0.90.tar.gz
$ tar zxvf mecab-perl-0.90.tar.gz
$ cd mecab-perl-0.90
$ perl Makefile.pl
$ make
$ make test
$ make intall
これだけ。簡単!
といいつつ、実は自分の環境ではここでつまずいて、以下のような『ライブラリが見つかりません』エラーが。
Can't load '/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/MeCab/MeCab.so' for module MeCab: libmecab.so.1: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230.
そこで、 /etc/ld.so.conf を、 (libmecab.so が置かれた) /usr/local/lib を読むように設定し、保存した後、 # /sbin/ldconfig で読み直してOK。
ソースはこちら。こんなに簡単に日本語のパースができる各モジュールの開発者に感謝です。
MeCab: Yet Another Part-of-Speech and Morphological Analyzer
http://mecab.sourceforge.jp/
[を] MeCabをPerlから使う
http://nais.to/~yto/clog/2006-02-25-4.html
naoyaのはてなダイアリー - HTML::TagCloud
http://d.hatena.ne.jp/naoya/20050701/1120197491
HTML::TagCloud
http://search.cpan.org/perldoc?HTML::TagCloud