Tengo archivos de texto que usan codificación utf-8 que contienen caracteres como 'ö', 'ü', etc. Me gustaría analizar el texto de estos archivos, pero no puedo obtener el tokenizer para funcionar correctamente. Si uso tokenizer NLTK estándar:Tokenizing unicode usando nltk
f = open('C:\Python26\text.txt', 'r') # text = 'müsli pöök rääk'
text = f.read()
f.close
items = text.decode('utf8')
a = nltk.word_tokenize(items)
Salida: [u'\ufeff', u'm', u'\xfc', u'sli', u'p', u'\xf6', u'\xf6', u'k', u'r', u'\xe4', u'\xe4', u'k']
Punkt tokenizer parece hacer mejor:
f = open('C:\Python26\text.txt', 'r') # text = 'müsli pöök rääk'
text = f.read()
f.close
items = text.decode('utf8')
a = PunktWordTokenizer().tokenize(items)
de salida: [u'\ufeffm\xfcsli', u'p\xf6\xf6k', u'r\xe4\xe4k']
Hay todavía '\ uffff' antes del primer token que no puedo descifrar (no es que no pueda eliminarlo). ¿Qué estoy haciendo mal? Ayuda muy apreciada.
Gracias. Su código elimina el truco \ uFEFF – root
@ user1199589 De nada. Me alegro de poder ayudar. –
me ayudó a salir también. ¡Muchas gracias! – Pitarou