在python中停止单词的实现

时间:2012-12-29 17:28:05

标签: python

python中停用词列表的速度更快:

 stopwords = ('a','and', 'etc')

或使用文件来调用它?

3 个答案:

答案 0 :(得分:2)

NLTK有一个停用词作为列表。

nltk.corpus.stopwords.words('english')

它比使用文件并在翻阅停用词时读取文件更快,如果这就是你的意思。

答案 1 :(得分:1)

文件操作总是比正常的代码执行慢得多。因此,如果您需要的数据足够小,请不要使用文件。

如果满足以下任何条件,则使用文件:

  • 需要修改输入数据而不更改实际代码
  • 要处理的大量数据
  • 数据由另一个流程/应用程序提供

如果您只有有限数量的停用词,并且如果您不需要经常更改它们,那么请始终使用

stopwords = ('a','and', 'etc')

答案 2 :(得分:1)

如果您不想下载nltk,可以随处找到停用词文件。它们通常每行列出一个单词,因此很容易将它们放在自己的结构中。

stopwords = ()
for line in open('stopwordfile'):
    stopwords += (line,)

然而,比在元组中查找单词更快的是使用字典,可能最好使用默认返回值:

stopdict = {w:True for w in stopwords}

for word in text_you_want_to_index:
     if word not in stopdict:          # or: not stopdict.get(word, False): don't know which one more performant
          print word