当我尝试以下代码时:
tok_corp= [nltk.word_tokenize(sent.decode('utf-8')) for sent in corpus]
我得到一个AttributeError
:
“浮动”对象没有属性“解码”
答案 0 :(得分:0)
在将所有内容链接成一个单一的行之前,请尝试检查您的对象类型,例如
for sent in corpus:
print(type(sent), sent)
您应该看到里面是float
。
接下来的str.decode('utf8')
有点危险。如果您使用的是Python3,则utf8应该是默认设置,因此,如果您使用的是Python2,则不必在代码中的某个位置添加一个open()
,而不是在Python2中使用默认的open()
,使用io.open()
来指定编码,例如
import io
with io.open('somefile.txt', 'r', encoding='utf8') as fin:
corpus = fin.read().split('\n')
这样,默认情况下,所有读为fin
对象的内容都将是str
/ unicode
类型,因此不需要`.decode('utf8')。< / p>