有什么方法可以在python中过滤掉单词吗?

时间:2015-03-06 12:12:28

标签: python stop-words

有什么方法可以过滤掉python中的文章(a,a,an),代词,连词(和,但是)和其他非主题词吗?或者有一个python包可以提供帮助吗?

我知道我可以使用过滤器和东西,但我需要一长串的所有单词。是否有包含这些词的包?我需要摆脱这些单词,以便消耗的内存能够处理列表,删除的单词会更轻。

由于

1 个答案:

答案 0 :(得分:4)

您要查找的术语称为停用词删除

实现此目标的强大库是NLTK

它可以处理输入文本的更复杂的标记化,轻松地删除停用词等等:

import nltk
from nltk.corpus import stopwords

sentence = """At eight o'clock on Thursday morning ... Arthur didn't feel very good."""
tokens = nltk.word_tokenize(sentence)

filtered_tokens = [w for w in tokens if not w.lower() in stopwords.words('english')]

print tokens
print filtered_tokens

这将打印:

['At', 'eight', "o'clock", 'on', 'Thursday', 'morning', '...', 'Arthur', 'did', "n't", 'feel', 'very', 'good', '.']
['eight', "o'clock", 'Thursday', 'morning', '...', 'Arthur', "n't", 'feel', 'good', '.']