У меня есть текстовые файлы в кодировке utf-8, содержащие символы типа «ö», «ü» и т. Д. Я хотел бы проанализировать текст из этих файлов, но я не могу получить токенизатор должен работать правильно. Если я использую стандартный токенизатор 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)
Вывод: [u '\ ufeff', u'm ', u' \ xfc ', u'sli', u'p ', u' \ xf6 ', u '\ xf6', u'k ', u'r', u '\ xe4', u '\ xe4', u'k ']
Токенизатор пунктов, кажется, работает лучше:
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)
вывод: [u '\ ufeffm \ xfcsli', u'p \ xf6 \ xf6k ', u'r \ xe4 \ xe4k']
Перед первым токеном все еще стоит '\ ufeff', который я не могу вычислить (не что я не могу его удалить). Что я делаю неправильно? Помощь очень ценится.