有什么方法可以过滤掉python中的文章(a,a,an),代词,连词(和,但是)和其他非主题词吗?或者有一个python包可以提供帮助吗?
我知道我可以使用过滤器和东西,但我需要一长串的所有单词。是否有包含这些词的包?我需要摆脱这些单词,以便消耗的内存能够处理列表,删除的单词会更轻。
由于
答案 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', '.']