python清洗数据去除停用词_python – NLTK停用词删除问题

all_words = (w for w in all_words if w not in nltk.corpus.stopwords.words('english'))

它返回

Traceback (most recent call last):

File "fiction.py",line 8,in

我猜测停用词代码改变了用于’all_words’的对象类型,使得它们.key()函数无用.如何在使用键功能之前删除停用词而不更改其类型?完整代码如下:

import nltk

from nltk.corpus import PlaintextCorpusReader

corpus_root = './nltk_data/corpora/fiction'

fiction = PlaintextCorpusReader(corpus_root,'.*')

all_words=nltk.FreqDist(w.lower() for w in fiction.words())

all_words = (w for w in all_words if w not in nltk.corpus.stopwords.words('english'))

word_features = all_words.keys()[:100]

def document_features(document): # [_document-classify-extractor]

document_words = set(document) # [_document-classify-set]

features = {}

for word in word_features:

features['contains(%s)' % word] = (word in document_words)

return features

print document_features(fiction.words('fic/11.txt'))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值