【发布时间】:2015-11-18 06:25:57
【问题描述】:
调用word_tokenize 时出现以下错误:
File "C:\Python34\lib\site-packages\nltk\tokenize\punkt.py", line 1322,
in _slices_from_text for match in
self._lang_vars.period_context_re().finditer(text):
TypeError: expected string or buffer
我有一个大文本文件 (1500.txt),我想从中删除停用词。 我的代码如下:
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
with open('E:\\Book\\1500.txt', "r", encoding='ISO-8859-1') as File_1500:
stop_words = set(stopwords.words("english"))
words = word_tokenize(File_1500)
filtered_sentence = [w for w in words if not w in stop_words]
print(filtered_sentence)
【问题讨论】:
-
你遇到了什么错误
-
你怎么知道它不起作用?
-
哦,它说它想要一个字符串,但你正在向它传递一个文件。传递给它
File_1500.read()给它一个字符串。 -
@SaqibAlam 将此
words = word_tokenize(File_1500)更改为此words = word_tokenize(File_1500.read())
标签: python python-3.x nlp nltk tokenize