TfidfVectorizer 在清理后的文本数据集上的错误

Error of TfidfVectorizer on cleaned text dataset

我正在尝试矢量化情绪数据集。它有评论文本和情感标签。当我尝试对数据集进行矢量化时,它给出了一个名为 'LazyCorpusLoader' object is not iterable

的错误

评论清理如下。

在这些之后我的数据框 reviewdataset_df 有以下列:

  1. reviews_clean->清理评论文本
  2. SENTIMENT-> 正面或负面的情绪标签

然后我使用下面的代码拆分数据集,

#splitting data set into training and testing
X_train,X_test,Y_train,Y_test =train_test_split(reviewDataset_Df.head(10000).review_clean,reviewDataset_Df.head(10000).SENTIMENT,test_size=0.20,random_state=0,shuffle=True)                                          

print('Training data count:'+str(len(X_train)))
print('Test data count:'+str(len(X_test)))

效果很好。

然后我使用以下代码使用矢量化器。

#vectorizer
tfidf=TfidfVectorizer(sublinear_tf=True,min_df=3,stop_words=english,norm='l2',encoding='utf-8',ngram_range=(1,3))
print("rr")
train_features=tfidf.fit_transform(X_train)
test_features=tfidf.transform(X_test)
train_labels=Y_train
test_labels=Y_test

这给出了一个错误 return frozenset(停止) 类型错误:'LazyCorpusLoader' 对象不可迭代

我搜索并尝试了一些无效的解决方案。如何克服这个错误。我需要对数据集进行矢量化以训练推荐系统。

注意:我通过互联网搜索并在 Whosebug 中阅读了类似的问题,但找不到合适的答案。

如果没有正确的错误跟踪,我们只能猜测。

由于错误涉及 stop 我的猜测是您的变量 english - 根本不在您共享的代码中 - 设置不当,而不是一组单词。

您可能打算改用 stop_words="english"