古い記事
ランダムジャンプ
新しい記事
個人的連絡用メモ。OS X で MeCab を動かす手順。macport とか homebrew とか使わずにソースコード取ってきてビルド。

- MeCab: Yet Another Part-of-Speech and Morphological Analyzer
http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html

ダウンロード


Safari での手順。

Safari で MeCab の公式ページへいく。

ダウンロードページへ移動し、MeCab (mecab-0.996.tar.gz) と MeCab 辞書 (mecab-ipadic-2.7.0-20070801.tar.gz) をダウンロード。クリックするだけ。

~/Download/ に *.tar ファイルがダウンロードされるので、作業用ディレクトリに mv しておく。

インストール


作業用ディレクトリに移動し、それぞれインストール。

Mecab のインストール:
tar xvf mecab-0.996.tar
cd mecab-0.996
./configure --enable-utf8-only
sudo make install

IPA dic のインストール:
tar xvf mecab-ipadic-2.7.0-20070801.tar
cd mecab-ipadic-2.7.0-20070801
/usr/local/libexec/mecab/mecab-dict-index -f euc-jp -t utf-8
./configure
sudo make install

動かしてみる


% echo "これはペンです" | /usr/local/bin/mecab
これ	名詞,代名詞,一般,*,*,*,これ,コレ,コレ
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
ペン	名詞,一般,*,*,*,*,ペン,ペン,ペン
です	助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
EOS

ざっくりとタームベクターにする


その場しのぎプログラミングのやっつけコード。

■コード (mecab2tv.pl):
#!/usr/bin/perl
use strict;
use warnings;
use IPC::Open2;
my $mecab_path = "/usr/local/bin/mecab";
while (<>) {
    chomp;
    my ($label, $text) = split(/\t/, $_);
    open2(my $rfh, my $wfh, $mecab_path) or die;
    print $wfh $text."\n";
    close($wfh);
    my %w;
    while (<$rfh>) {
        next if /^(|EOS)$/;
        my @c = split(/\t/,$_);
        $w{$c[0]}++;
    }
    close($rfh);
    print "$label\t";
    print join(",", map {"$_:$w{$_}"} sort {$w{$b} <=> $w{$a}} keys %w)."\n";
}

■実行例:
% cat posinega.txt
P	すばらしいアイディアです。
P	楽しい苦行。苦行は楽しい。
N	ひどい!これは本当にひどいですね。
-	電車に乗って移動中です。久しぶりの電車
% ./mecab2tv.pl posinega.txt
P	です:1,。:1,アイディア:1,すばらしい:1
P	。:2,苦行:2,楽しい:2,は:1
N	ひどい:2,です:1,。:1,これ:1,ね:1,は:1,本当に:1,!:1
-	電車:2,です:1,の:1,。:1,乗っ:1,移動:1,に:1,久しぶり:1,て:1,中:1

参考

- MeCab を Mac OS X にインストール (lunaticsol)
- macで形態素解析エンジン Mecab を使うときの最も簡単な方法 (clicktx::Tech::Memo)
- きまぐれ日記: Mac OS X Leopard に「標準で」インストールされている MeCabを使ってみる