牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

形態素解析とMeCabとPythonと文字化け

修正:コードに「print」抜けてた


形態素解析とやらに少々興味を持ったので、その筋で有名らしいMeCabに触れてみた。
そしたら速攻文字化けして躓いたのでメモ。

(MacOS10.4, Python2.5)

とりあえずMecabインスコ

MacPorts

sudo port install py25-mecab

んで、サンプルを実行してみる

import MeCab
m = MeCab.Tagger ("-Ochasen")
print m.parse ("今日もしないとね")

実行結果

'\xe4\xbb\t\xa5\xbf\xa5\xab\xa5\xe0\xa5\xe9\t\xe4\xbb\t\xcc\xbe\xbb\xec-\xb0\xec\xc8\xcc\t\t\n\x8a\xe6\x97\xa5\xe3\x82\x82\xe3\x81\x97\xe3\x81\t\x8a\xe6\x97\xa5\xe3\x82\x82\xe3\x81\x97\xe3\x81\t\x8a\xe6\x97\xa5\xe3\x82\x82\xe3\x81\x97\xe3\x81\t\xb5\xad\xb9\xe6-\xb0\xec\xc8\xcc\t\t\n\xaa\xe3\t\xaa\xe3\t\xaa\xe3\t\xcc\xbe\xbb\xec-\xb8\xc7\xcd\xad\xcc\xbe\xbb\xec-\xc1\xc8\xbf\xa5\t\t\n\x81\x84\xe3\x81\xa8\xe3\x81\xad\t\x81\x84\xe3\x81\xa8\xe3\x81\xad\t\x81\x84\xe3\x81\xa8\xe3\x81\xad\t\xb5\xad\xb9\xe6-\xb0\xec\xc8\xcc\t\t\nEOS\n'

文字化けしましたよ(´・ω・`)

文字化けしないように弄る

utf-8の辞書を使って表示するようにする

sudo port install mecab-ipadic-utf8

設定を弄る

/opt/local/etc/mecabrc
の一部を書き換え

;dicdir =  /opt/local/lib/mecab/dic/ipadic
dicdir =  /opt/local/lib/mecab/dic/ipadic-utf8

テスト

また上記サンプルコードを実行してみる
実行結果

今日	コンニチ	今日	名詞-副詞可能		
も	モ	も	助詞-係助詞		
し	シ	する	動詞-自立	サ変・スル	未然形
ない	ナイ	ない	助動詞	特殊・ナイ	基本形
と	ト	と	助詞-接続助詞		
ね	ネ	ね	助詞-終助詞		
EOS

こんなんなりました(゚Д゚)