Unicodeの問題から逃げたくて、Python3にしたのに、mecab-python3の調子がおかしいのかUnicodeDecodeErrorがでる
しかも、テストを走らせるとランダムに出る
事例
import MeCab
mecab = MeCab.Tagger()
node = mecab.parseToNode("すもももももももものうち")
while node:
print(node.surface)
node = node.next
とすると、
UnicodeDecodeError Traceback (most recent call last)
<ipython-input-11-1f88b1ec9c08> in <module>()
1 while node:
----> 2 print(node.surface)
3 node = node.next
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 0: invalid start byte
というエラーが・・・
治し方
治し方もなかなかなぞで、先にmecab.parse("")
をやっておくという
import MeCab
mecab = MeCab.Tagger()
mecab.parse("") # 追加
node = mecab.parseToNode("すもももももももものうち")
while node:
print(node.surface)
node = node.next
すると
すもも
も
もも
も
もも
の
うち
できた。よくわからないけど、動くようになった。