やはりMacが欲しい

今日は入門自然言語処理、p490のあたり、Mecabを使ってみよう♪の箇所を進めました。自分は今Windows環境なのですが、以下のサイト
http://d.hatena.ne.jp/aidiary/20101121/1290339360
を参考にしてpythonからMecabをimportして使えるようになりました。

がしかし、Mecabをshift-jisで入れ、一方トークン分けのためにimport するjptokenizerではどうやらMecabutf-8で使われることを想定している?っぽくて、p492のprint ' '.join(reader.words()[20:80]とするところで

File "C:\Python26\lib\site-packages\jptokenizer.py", line 15, in tokenize
return result.decode('utf-8').strip().split(' ')
File "C:\Python26\lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 33-35: invalid d
ata

このようなエラー。まあ、何から何まで文字コードutf-8にすればこういうことに悩まないで済むような気はするのですが、Windows環境では標準出力の時とかshift-jisに変換するのがまた面倒そうだし。。

やはりMacを買おう、という考えに至ります。



追記
集中力切れの頭でjptokenizer.pyのコードを見ると

def tokenize(self, text):
result = self.mecab.parse(text.encode('utf-8'))
return result.decode('utf-8').strip().split(' ')

という処理があり、やはりmecabutf-8で渡し、返ってきたものをutf-8だと見なしてdecodeするという処理ですね。この箇所をshift-jisに変えれば良いとは思うのですが、、面倒なのでMacを買います。