У меня есть текстовые файлы, которые используют кодировку 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', который я не могу понять (не то, что я не могу его удалить). Что я делаю не так? Помогите с благодарностью.