代码是:
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 写入文本文件并解析文本,以及其他几百万件事情。我正在运行 Python 2.7 和 MeCab 0.98。如果这不能回答,即使是对错误的一点点了解也将不胜感激。