MecabのPythonバインディングを使ってみる

例によって、FedoraとCentOS用のPRMパッケージを作りました。利用するには、先に Mecabをインストール しておく必要があります。


インストールしたら、さっそく試してみましょう。次のようなサンプルプログラムを書きます。

#!/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     記号,句点,*,*,*,*,。,。,。
ふむふむ、この結果から名詞だけを取り出して、単語生起コストをごにょごにょすればよいわけですね。
"二郎"が"ニロー"になってるけど、固有名詞だからしょうがないのかな…


Leave a comment





このエントリーのはてなブックマーク (-)