Tokenizing unicode usando nltk

Tengo archivos de texto que usan codificación utf-8 que contienen caracteres como 'ö', 'ü', etc. Me gustaría analizar el texto de estos archivos, pero no puedo hacer que el tokenizer funcione correctamente. Si uso el tokenizer nltk estándar:

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)

Salida:[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 parece hacerlo mejor:

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)

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

Todavía hay '\ ufeff' antes del primer token que no puedo entender (no es que no pueda eliminarlo). ¿Qué estoy haciendo mal? Ayuda muy apreciada.

Respuestas a la pregunta(6)

Su respuesta a la pregunta