标记句子时出现AttributeError

时间:2018-12-26 05:18:16

标签: python string nltk tokenize attributeerror

当我尝试以下代码时:

tok_corp= [nltk.word_tokenize(sent.decode('utf-8')) for sent in corpus] 

我得到一个AttributeError

  

“浮动”对象没有属性“解码”

1 个答案:

答案 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>