TypeError: doit être en unicode, pas de str en NLTK
Je suis à l'aide de python2.7, nltk 3.2.1 et python-crfsuite 0.8.4. Je suis la suite de cette page : http://www.nltk.org/api/nltk.tag.html?highlight=stanford#nltk.tag.stanford.NERTagger pour nltk.la balise.crf module.
Pour commencer je viens de lancer ce
from nltk.tag import CRFTagger
ct = CRFTagger()
train_data = [[('dfd','dfd')]]
ct.train(train_data,"abc")
J'ai essayé ce trop
f = open("abc","wb")
ct.train(train_data,f)
mais j'obtiens l'erreur suivante,
File "C:\Python27\lib\site-packages\nltk\tag\crf.py", line 129, in <genexpr>
if all (unicodedata.category(x) in punc_cat for x in token):
TypeError: must be unicode, not str
Pouvez-vous nous montrer les données dans "abc"? Il se situe votre problème, en fonction de l'erreur...
OriginalL'auteur Backtrack | 2016-07-15
Vous devez vous connecter pour publier un commentaire.
En Python 2, régulières citations
'...'
ou"..."
créer des chaînes d'octets. Pour obtenir des chaînes Unicode, utilisez unu
préfixe avant de la chaîne, commeu'dfd'
.À lire à partir d'un fichier, vous devrez spécifier un encodage. Voir Le portage de Python 3
ouvrir(encoding="utf-8")
pour Python 2 pour les options; plus simplement, remplaceropen()
avecio.open()
.Pour convertir une chaîne existante, utilisez la
unicode()
méthode; mais généralement, vous aurez envie d'utiliserdecode()
et la fourniture d'un encodage, trop.Pour (beaucoup) plus de détails, Ned Batchelder "Pragmatique Unicode" diapositives sont recommandés, voire carrément de la lecture obligatoire; http://nedbatchelder.com/text/unipain.html
OriginalL'auteur tripleee