我是NLP的新手,在执行以下任务时面临一些挑战。 我要执行这些任务顺序。 1.句子标记化 2.单词在每个句子上标记 3.小写 4.停止单词删除 5.使每个单词合法化
我试图编写一个函数来完成上述任务
import nltk
import numpy as np
import random
import string
from nltk.corpus import stopwords
def text_processing(input_str):
tokens = nltk.sent_tokenize(input_str)#sentence tokenizing
for words in tokens:
each_word = nltk.word_tokenize(words)#word tokeninzing
for i in each_word:
lower_words = i.lower()
stopwords_removed = [w for w in lower_words if not w in stopwords]
print(stopwords_removed)
当我调用上述函数时
text_processing(new_doc)
我遇到此错误:TypeError:“ LazyCorpusLoader”类型的参数不可迭代。如何克服这个错误。
答案 0 :(得分:0)
您不能直接使用停用词。
相反,您应该首先在Jupyter或终端中键入以下内容来下载资源:
nltk.download()
然后出现下载器,然后选择Corpus->停用词,然后下载。
然后您可以通过以下方式使用停用词:
my_stopwords = set(stopwords.words('english'))
参考:
https://www.geeksforgeeks.org/removing-stop-words-nltk-python/
NLTK and Stopwords Fail #lookuperror