我有一个包含 8000 个字符串 (stop_words) 的列表和一个包含 100,000 个不同长度的字符串的列表,这些字符串包含数百万个单词。我正在使用该函数对 100,000 个字符串进行标记,并从列表 stop_words 中排除非字母数字标记和标记。
def tokenizer(text):
return [stemmer.stem(tok.lower()) for tok in nltk.word_tokenize(text)/
if tok.isalpha() and tok.lower() not in stop_words]
我已经使用 600 个字符串测试了这段代码,它需要 60 秒。如果我删除排除停用词的条件,则在相同的 600 个字符串上需要 1 秒
def tokenizer(text):
return [stemmer.stem(tok.lower()) for tok in nltk.word_tokenize(text)/
if tok.isalpha()]
我希望有一种更有效的方法可以从另一个列表中排除在一个列表中找到的项目。
我很感激任何帮助或建议
谢谢