Es wurde ein Fehler behoben, bei dem node.surface mit python3 + mecab nicht abgerufen werden konnte

"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

Es wurde ein Fehler behoben, bei dem node.surface mit python3 + mecab nicht abgerufen werden konnte
Problemumgehung für Flask-Mail, die keine japanische UTF-8-Mail sendet (Python3)
Lösung, wenn das Bild mit tkinter [python] nicht angezeigt werden kann
Behandlung des Fehlers, dass ein HTTP-Abruffehler in gpg auftritt und der Schlüssel nicht abgerufen werden kann
Installieren Sie Pakete, die mit Python 3 kompiliert werden müssen, mit pip [Windows]
Python-Modul mit "- (Bindestrich)" kann nicht gelöscht werden
Angelegenheiten, die mit sklearn nicht importiert werden können
Der Weg zum Kompilieren zu Python 3 mit Thrift
[Python] Ein Programm, das die Anzahl der gepaarten Socken berechnet
Ich kann mit Python3.5 (Windows) + django1.7.1 kein Projekt erstellen.
Senden Sie eine E-Mail mit Python an Spushis Adresse
Der einfachste Weg, um Stimme mit Python zu synthetisieren
Versuchen Sie, das Mensch-Maschine-Diagramm mit Python zu lösen
Über localhost: Auf 4040 kann nicht zugegriffen werden, nachdem Spark mit Docker ausgeführt wurde
Geben Sie die ausführbare Python-Datei an, die mit virtualenv verwendet werden soll
Ich habe versucht, die Pferde vorherzusagen, die mit LightGBM unter den Top 3 sein werden
Begrüßen Sie die Welt mit Python mit IntelliJ
Ich habe versucht, die Operationen zusammenzufassen, die wahrscheinlich mit numpy-stl verwendet werden
Untersuchung beim Import kann nicht mit Python durchgeführt werden
Einführung in Python mit Atom (unterwegs)
Das Problem, dass der Befehl ifconfig nicht verwendet werden kann
Verwenden Sie tkinter, um den Ausgabecode in Python als "A und vorgeben, B zu sein" zu verschieben
Ändern Sie die zu ersetzende Zeichenfolge entsprechend der übereinstimmenden Zeichenfolge, indem Sie sie durch den regulären Python-Ausdruck ersetzen
[Python] Einführung in das WEB-Scraping | Zusammenfassung der Methoden, die mit dem Webdriver verwendet werden können
Ab Python 3.10 scheint das von inspect.signature () zurückgegebene Formular auf typing.get_type_hints () zu basieren.
Versuchen Sie, mit Python eine Wellenform (Audiospektrum) zu erstellen, die sich entsprechend dem Klang bewegt
Versuchen Sie, das Programmier-Herausforderungsbuch mit Python3 zu lösen
[Einführung in Python] Wie iteriere ich mit der Bereichsfunktion?
Importieren Sie Bibliotheken, die mit PyCharm nicht per Pip installiert werden können
Versuchen Sie, das Problem der Zuweisung von Schulungsärzten mit Python zu lösen
Ich habe versucht, Soma Cube mit Python zu lösen
[Python] So legen Sie den Download-Speicherort mit youtube-dl fest
Hinweise zu Python-Kenntnissen, die mit AtCoder verwendet werden können
Konvertieren Sie das Bild in .zip mit Python in PDF
Ich möchte mit Python-Datenklasse nach hinten erben
[Python] tkinter Code, der wahrscheinlich wiederverwendet wird
[Python] Pandas Code, der wahrscheinlich wiederverwendet wird
Geben Sie MinGW als den in Python verwendeten Compiler an
Ein Memo, dass ich den Datenspeicher mit Python berührt habe
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich hatte das Gefühl, dass ich den Python-Code nach C ++ 98 portiert habe.
[Python] So schreiben Sie den Tabellenstil mit python-pptx um [python-pptx]
Grenzwerte, die mit MeCab sofort analysiert werden können
Verwenden Sie Mecab mit Python 3
Ich habe eine Klasse erstellt, um das Analyseergebnis von MeCab in ndarray mit Python zu erhalten
Versuchen Sie, die Nährstoffe von Cornflakes zu visualisieren, die M-1-Champion Milkboy mit Python sagte
[Python] Ein Programm, um die Anzahl der Äpfel und Orangen zu ermitteln, die geerntet werden können
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich möchte Daten mit Python analysieren können (Teil 3)
Ich habe versucht zu simulieren, wie sich die Infektion mit Python ausbreitet
Versuchen Sie, mit dem Uprobe zu spielen, der Systemtap direkt unterstützt
Ich wollte den Panasonic Programming Contest 2020 mit Python lösen
[Python] Es kann nützlich sein, die Datenrahmen aufzulisten
So wechseln Sie die Konfigurationsdatei, die von Python gelesen werden soll
Die erste API, die mit dem Python Djnago REST-Framework erstellt wurde
Mindestkenntnisse, um mit dem Python-Protokollierungsmodul zu beginnen
Python3-Verarbeitung, die in Paiza verwendbar zu sein scheint
Wahrscheinlich der einfachste Weg, um mit Python 3 ein PDF zu erstellen
Videos können in der Python-Entwicklungsumgebung nicht mit Spyder geladen werden