从txt文件中对句子进行标记,并获得“预期的字符串或类似字节的对象”错误

时间:2018-03-11 03:28:00

标签: python nltk tokenize

我认为我有一个非常简单的代码来打开文件,阅读它并将其标记为句子。

import nltk
text = open('1865-Lincoln.txt', 'r')
tokens = nltk.sent_tokenize(text)
print(tokens)

但我只是继续得到以

结尾的疯狂长错误
TypeError: expected string or bytes-like object

3 个答案:

答案 0 :(得分:2)

您需要在打开和令牌之间执行读取命令。

fileObj = open('1865-Lincoln.txt', 'r')
text = fileObj.read()

答案 1 :(得分:0)

您只是打开文本文件而没有读取相同的含义,即同一文件的内容不会记录为字符串,并且您只是将文件传递给nltk以标记化句子,这只有在提供nltk时才可能使用字符串类型输入。希望你能理解。谢谢:)

答案 2 :(得分:0)

您需要调用 read() 函数以便在之后从您的文件中读取内容,它将允许通过 nltk.sent_tokenize 包标记您的句子。重新生成您的代码如下:

import nltk
filex = open('1865-Lincoln.txt', 'r')
text = filex.read()
tokens = nltk.sent_tokenize(text)
print(tokens)