コードは次のとおりです。
import MeCab
m = MeCab.Tagger("-O wakati")
text = raw_input("Enter Japanese here: ")
print m.parse(text)
問題は、文字列をraw_inputに入力した後、IDLEでエラーが発生することです。
Traceback (most recent call last):
File "C:\Users\---\Desktop\---\Python\japanesetest.py", line 5, in <module>
print m.parse(text)
File "C:\Users\---\Desktop\---\Python\lib\site-packages\MeCab.py", line 220...
def parse(self, *args): return _MeCab.Tagger_parse(self, *args)
TypeError: in method 'Tagger_parse', argument 2 of type 'char const *'
ただし、これを行う場合:
import MeCab
m = MeCab.Tagger("-O wakati")
print m.parse('なるほど、マルコフ辞書のキーはタプルにしたほうがスッキリしますね。')
適切な結果が得られます:
なるほど 、 マルコフ 辞書 の キー は タプル に し た ほう が スッキリ し ます ね 。
私が試したのは、最初はUnicodeタグ、Unicodeでテキストファイルに書き込んでテキストを解析すること、その他数百万ものことです。Python2.7とMeCab0.98を実行しています。これが答えられない場合は、エラーに少しでも光を当てていただければ幸いです。