MecabのPythonバインディングを使ってみる
例によって、FedoraとCentOS用のPRMパッケージを作りました。利用するには、先に Mecabをインストール しておく必要があります。
- python-mecab-0.91-1fc5.i686.rpm (Fedora Core5用)
- python-mecab-0.91-1cnt43.i686.rpm (CentOS 4.3用)
インストールしたら、さっそく試してみましょう。次のようなサンプルプログラムを書きます。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import MeCab
sentence = "太郎はこの本を二郎を見た女性に渡した。"
try:
t = MeCab.Tagger()
m = t.parseToNode(sentence)
while m:
if m.stat < 2:
print m.surface, "\t", m.wcost, "\t", m.feature
m = m.next
except RuntimeError, e:
print "RuntimeError:", e;
実行すると、下記のような結果が出力されます。
太郎 7473 名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー は 2919 助詞,係助詞,*,*,*,*,は,ハ,ワ この 1017 連体詞,*,*,*,*,*,この,コノ,コノ 本 5040 名詞,一般,*,*,*,*,本,ホン,ホン を 2670 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ 二郎 5667 名詞,固有名詞,一般,*,*,*,二郎,ニロウ,ニロー を 2670 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ 見 6208 動詞,自立,*,*,一段,連用形,見る,ミ,ミ た 3939 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ 女性 2278 名詞,一般,*,*,*,*,女性,ジョセイ,ジョセイ に 3622 助詞,格助詞,一般,*,*,*,に,ニ,ニ 渡し 5101 動詞,自立,*,*,五段・サ行,連用形,渡す,ワタシ,ワタシ た 3939 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ 。 -12 記号,句点,*,*,*,*,。,。,。
ふむふむ、この結果から名詞だけを取り出して、単語生起コストをごにょごにょすればよいわけですね。
"二郎"が"ニロー"になってるけど、固有名詞だからしょうがないのかな…









