我有一些使用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']
Punkt分词似乎做得更好:
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',我无法弄清楚(不是我不能删除它)。 我做错了什么? 非常感谢您的帮助。