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
と出力され、形態素解析ができる。
インストールしたMeCabをPerlのプログラムから起動するための設定を行う。
ここから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
#!/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
形態素解析ができる。