"Mecab", das die japanische Morphologie analysieren kann. Es ist auch ein ausgezeichnetes Werkzeug und wird in jede Programmiersprache integriert und an verschiedenen Orten verwendet.
Bei der Implementierung in Python3 gibt es jedoch Fälle, in denen "** Zeichen auf node.surface nicht erfasst werden können, wodurch Zeichen erfasst werden können, was zu einem Fehler führt **". Korrespondenznotiz in einem solchen Fall.
Ausführungsumgebung
Wenn Sie Folgendes tun, tritt ein Fehler auf.
tagger = MeCab.Tagger('-Ochasen')
node = tagger.parseToNode(sentence)
while node:
print(node.surface) # <=Zeichen können nicht erfasst werden und es tritt ein Codierungsfehler auf
node = node.next
Die Antwort darauf funktioniert gut, wenn Sie "eine leere Zeichenfolge analysieren und dann die Zielzeichenfolge analysieren". (Referenz: Verwendung von MeCab mit Ubuntu 14.04 und Python 3 )
tagger = MeCab.Tagger('-Ochasen')
tagger.parse('') # <=Analysieren Sie eine leere Zeichenfolge
node = tagger.parseToNode(sentence)
while node:
print(node.surface) # <=Sie können die Charaktere bekommen!
node = node.next
Ich bin mir nicht sicher warum, aber dies scheint ein bekannter Fehler zu sein. Ich möchte, dass Sie so schnell wie möglich antworten, weil es zu gefangen ist ...
Recommended Posts