"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