我有使用utf-8编码的文本文件,其中包含'ö','ü'等字符我想解析这些文件的文本形式,但是我无法将标记器好好工作。如果我使用标准NLTK分词器:使用nltk令牌化Unicode使用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'之前第一个令牌,我不明白(不是我不能删除它)。我究竟做错了什么?非常感谢。
谢谢。您的代码可以剔除\ uFEFF – root 2012-02-10 14:16:40
@ user1199589不客气。很高兴我能帮上忙。 – 2012-02-10 15:00:24
也帮助我。非常感谢! – Pitarou 2012-11-27 03:14:03