Прежде чем объединить все в одну строку, попробуйте проверить типы объектов, например,
for sent in corpus:
print(type(sent), sent)
. Вы должны увидеть, что там что-то есть float
.
Далее str.decode('utf8')
опасно.Если вы в Python3, то по умолчанию должен использоваться utf8, поэтому нет необходимости, если в Python2, где-то в вашем коде, должен быть open()
вместо использования по умолчанию open()
в Python2, для конкретной кодировки используйтеio.open()
, например
import io
with io.open('somefile.txt', 'r', encoding='utf8') as fin:
corpus = fin.read().split('\n')
Таким образом, все, считываемое как объект fin
, будет по умолчанию иметь тип str
/ unicode
, поэтому `.decode ('utf8') isnне нужно.