Correction d'un bug où node.surface ne pouvait pas être obtenu avec python3 + mecab

"Mecab" qui permet d'analyser la morphologie japonaise. C'est également un excellent outil, incorporé dans chaque langage de programmation et utilisé à divers endroits.

Cependant, lorsqu'il est implémenté sur Python3, il y a des cas où "** les caractères ne peuvent pas être acquis sur node.surface, qui devrait pouvoir acquérir des caractères, ce qui entraîne une erreur **". Note de correspondance dans un tel cas.

Environnement d'exécution

Si vous procédez comme suit, un bogue se produira.

tagger = MeCab.Tagger('-Ochasen')
node = tagger.parseToNode(sentence)
while node:
	print(node.surface) # <=Les caractères ne peuvent pas être acquis et une erreur d'encodage se produit
	node = node.next

La réponse à cela fonctionne bien si vous «analysez une chaîne de caractères vide, puis analysez la chaîne de caractères cible». (Référence: Comment utiliser MeCab avec Ubuntu 14.04 et Python 3 )

tagger = MeCab.Tagger('-Ochasen')
tagger.parse('') # <=Analyser une chaîne vide
node = tagger.parseToNode(sentence)
while node:
	print(node.surface) # <=Vous pouvez obtenir les personnages!
	node = node.next

Je ne sais pas pourquoi, mais cela semble être un bogue connu. Je veux que vous répondiez au plus vite car il est trop piégé ...

Recommended Posts

Correction d'un bug où node.surface ne pouvait pas être obtenu avec python3 + mecab
Solution de contournement pour Flask-Mail n'envoyant pas de courrier japonais UTF-8 (Python3)
Solution lorsque l'image ne peut pas être affichée avec tkinter [python]
Traiter l'erreur selon laquelle une erreur de récupération HTTP se produit dans gpg et la clé ne peut pas être obtenue
Installer les packages qui doivent être compilés avec Python 3 avec pip [Windows]
Le module Python avec "- (trait d'union)" ne peut pas être supprimé
Matières qui ne peuvent pas être importées avec sklearn
La route de la compilation vers Python 3 avec Thrift
[Python] Un programme qui calcule le nombre de chaussettes jumelées
Je ne peux pas créer de projet avec Python3.5 (Windows) + django1.7.1.
Envoyez un email à l'adresse de Spushi avec python
Le moyen le plus simple de synthétiser la voix avec python
Essayez de résoudre le diagramme homme-machine avec Python
À propos de localhost: 4040 n'est pas accessible après l'exécution de Spark avec Docker
Spécifiez le fichier exécutable Python à utiliser avec virtualenv
J'ai essayé de prédire les chevaux qui seront dans le top 3 avec LightGBM
Dites bonjour au monde avec Python avec IntelliJ
J'ai essayé de résumer les opérations susceptibles d'être utilisées avec numpy-stl
Enquête lorsque l'importation ne peut pas être effectuée avec python
Introduction à Python avec Atom (en route)
Le problème que la commande ifconfig ne peut pas être utilisée
Utilisez tkinter pour déplacer le code de sortie en tant que "A et prétendant être B" en python
Modifiez la chaîne de caractères à remplacer en fonction de la chaîne de caractères correspondante en la remplaçant par l'expression régulière Python
[Python] Introduction au scraping WEB | Résumé des méthodes pouvant être utilisées avec webdriver
À partir de Python 3.10, le formulaire retourné par inspect.signature () semble être basé sur typing.get_type_hints ().
Essayez de créer une forme d'onde (spectre audio) qui se déplace en fonction du son avec python
Essayez de résoudre le livre des défis de programmation avec python3
[Introduction à Python] Comment itérer avec la fonction range?
Importer des bibliothèques qui ne peuvent pas être installées par pip avec PyCharm
Essayez de résoudre le problème d'affectation du médecin de formation avec Python
J'ai essayé de résoudre Soma Cube avec python
[Python] Comment spécifier l'emplacement de téléchargement avec youtube-dl
Notes sur les connaissances Python utilisables avec AtCoder
Convertissez l'image au format .zip en PDF avec Python
Je veux hériter de l'arrière avec la classe de données python
[Python] tkinter Code susceptible d'être réutilisé
[Python] pandas Code susceptible d'être réutilisé
Spécifiez MinGW comme compilateur utilisé dans Python
Un mémo que j'ai touché au magasin de données avec python
J'ai essayé de résoudre le problème avec Python Vol.1
J'ai senti que j'avais porté le code Python en C ++ 98.
[Python] Comment réécrire le style de table avec python-pptx [python-pptx]
Limites qui peuvent être analysées à la fois avec MeCab
Utiliser mecab avec Python 3
J'ai créé une classe pour obtenir le résultat de l'analyse par MeCab dans ndarray avec python
Essayez de visualiser les nutriments des flocons de maïs que le champion de M-1 Milkboy a dit avec Python
[Python] Un programme pour trouver le nombre de pommes et d'oranges qui peuvent être récoltées
J'ai essayé de trouver l'entropie de l'image avec python
Je veux pouvoir analyser des données avec Python (partie 3)
J'ai essayé de simuler la propagation de l'infection avec Python
Essayez de jouer avec l'uprobe qui prend directement en charge Systemtap
Je voulais résoudre le concours de programmation Panasonic 2020 avec Python
[Python] Il peut être utile de lister les trames de données
Comment changer le fichier de configuration pour qu'il soit lu par Python
La première API à créer avec le framework Python Djnago REST
Connaissances minimales pour démarrer avec le module de journalisation Python
traitement python3 qui semble utilisable dans paiza
Probablement le moyen le plus simple de créer un pdf avec Python 3
La vidéo ne peut pas être chargée avec Spyder dans l'environnement de développement Python