PythonからMeCabを利用する。

昨日、MacBook AirMeCabPythonをそれぞれインストールしました。

MacにMeCabをインストール。
MacにPythonをインストール。

今回は、PythonからMeCabを利用してみます。


0. はじめに

スクリプト言語からMeCabを利用するためには、バインディングをインストールする必要があります。

今回は、Python用のバインディングをインストールします。

スクリプト言語のバインディング


1. ダウンロード

mecab-python-0.98.tar.gz


2. インストール

# 解凍
% tar -xzvf mecab-python-0.98.tar.gz
% cd mecab-python-0.98

# インストール
% python setup.py build
% sudo python setup.py install


3. テスト

% vi mecab-pytyon_test.py

# -*- encoding: utf-8 -*-
import MeCab

#解析
tagger = MeCab.Tagger("-Ochasen")
node = tagger.parseToNode("すもももももももものうち")

#「文頭」を無視
node = node.next

#解析結果表示、「文末」を無視
while node.next:
   print "%s %s %s" % (node.surface, node.feature, node.cost)
   node = node.next

# 実行
% python mecab-python_test.py
すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ,, 6039
も 助詞,係助詞,*,*,*,*,も,モ,モ,, 6895
もも 名詞,一般,*,*,*,*,もも,モモ,モモ,, 13118
も 助詞,係助詞,*,*,*,*,も,モ,モ,, 13974
もも 名詞,一般,*,*,*,*,もも,モモ,モモ,, 20197
の 助詞,連体化,*,*,*,*,の,ノ,ノ,, 20345
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ,, 21187

node.featureはカンマ区切りで格納されているので、splitで処理できます。

次は、ユーザ辞書にキーワードを追加してみようと思います。