La segmentation unicode à l'aide de nltk

J'ai les fichiers texte que d'utiliser l'encodage utf-8 qui contiennent des caractères comme 'ö', 'ü', etc. Je voudrais analyser le texte de la forme de ces fichiers, mais je ne peux pas obtenir le tokenizer pour fonctionner correctement. Si j'utilise la norme nltk générateur de jetons:

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)

De sortie: [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 tokenizer semble faire de mieux:

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)

de sortie: [u'\ufeffm\xfcsli', u'p\xf6\xf6k', u'r\xe4\xe4k']

Il est encore "\ufeff " avant le premier élément que je ne peux pas comprendre (non pas que je ne peux pas le supprimer). Ce que je fais mal? Aider grandement apprécié.

InformationsquelleAutor root | 2012-02-10