MacでMeCabを使った形態素解析

MeCab」とは形態素解析ツールで、
『この文を形態素解析して下さい。』を『この/文/を/形態素/解析/し/て/下さい/。』というように分かち書きし、それぞれの品詞を調べることができる。


makeとgccが必要なのであらかじめXCodeのインストールが必要。
まずはここからmecab-0.98.tar.gzをダウンロードする。
ターミナルからダウンロードしたファイルのあるディレクトリで

$ tar zxvf mecab-0.98.tar.gz
$ cd mecab-0.98
$ ./configure --enable-utf8-only
$ make
$ make check
$ sudo make install

と入力すればMeCabのインストールは完了。


次にここからmecab-naist-jdic-0.6.2-20100208.tar.gzをダウンロードする。
ターミナルからダウンロードしたファイルのあるディレクトリで

$ tar zxvf mecab-naist-jdic-0.6.2-20100208.tar.gz
$ ./configure --with-charset=utf-8
$ make
$ sudo make install

文字コードUTF-8に指定してコンパイルする。
辞書の指定を行うために、「/usr/local/etc/mecabrc」ファイルの

dicdir =  /usr/local/lib/mecab/dic/ipadic

の部分を

dicdir =  /usr/local/lib/mecab/dic/naist-jdic

に変更する。


ここで、「/usr/local/bin/mecab」を実行し、標準入力に解析したいテキスト(テキストファイルを引数として指定することも可)を入力すると、

この	連体詞,*,*,*,*,*,この,コノ,コノ,,
文	名詞,接尾,助数詞,*,*,*,文,ブン,ブン,,
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ,,
形態素	名詞,一般,*,*,*,*,形態素,ケイタイソ,ケイタイソ,,
解析	名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ,,
し	助動詞,*,*,*,文語・キ,体言接続,き,シ,シ,,
て	助動詞,*,*,*,下二・タ行,連用形,つ,テ,テ,,
下さい	動詞,非自立,*,*,五段・ラ行特殊,命令i,下さる,クダサイ,クダサイ,,
。	記号,句点,*,*,*,*,。,。,。,,
EOS

と出力され、形態素解析ができる。


インストールしたMeCabPerlのプログラムから起動するための設定を行う。
ここからmecab-perl-0.98.tar.gzをダウンロードする。
ターミナルからダウンロードしたファイルのあるディレクトリで

$ tar zxvf mecab-perl-0.98.tar.gz
$ cd mecab-perl-0.98
$ PATH=/usr/local/mecab-0.90/bin:$PATH perl Makefile.PL
$ export MACOSX_DEPLOYMENT_TARGET=10.4
$ LD_RUN_PATH=/usr/local/lib/mecab make
$ make test
$ sudo make install

と入力すればPerlバインディングのインストールは完了。

#!/usr/bin/perl

use strict;
use MeCab;

my $str = "この文を形態素解析して下さい。";

my $mecab = MeCab::Tagger->new();
my $node = $mecab->parseToNode($str);
for( ; $node; $node = $node->{next} ) {
    next unless defined $node->{surface};
    my $midasi = $node->{surface};
    my( $hinsi, $yomi ) = (split( /,/, $node->{feature} ))[0,7];
    print $midasi, "\t", $yomi, "\t", $hinsi, "\n";
}

このプログラムを実行すると、

	*	BOS/EOS
この	コノ	連体詞
文	ブン	名詞
を	ヲ	助詞
形態素	ケイタイソ	名詞
解析	カイセキ	名詞
し	シ	助動詞
て	テ	助動詞
下さい	クダサイ	動詞
。	。	記号
	*	BOS/EOS

形態素解析ができる。