我有使用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