如何减少spaCy词形还原的内存使用?

时间:2018-05-23 14:26:09

标签: python memory nlp spacy lemmatization

我对spaCy比较陌生,我正在尝试为一个NLP项目标记化+ 200英文文本。

我首先尝试nlp = spacy.load('en'),结果是MemoryError

在做了一些研究之后,我尝试nlp = spacy.blank('en')来消除不必要的功能,但它仍然占用了我所有16 GB的内存(最终导致MemoryError)。这对我来说似乎太过分了。

我可以做些什么来减少spaCy的内存使用量,或者这是不可能的?谢谢!

原始代码:

nlp = spacy.blank('en')
train['spacy_tokens'] = train['text'].apply(lambda x: nlp(x))

def lemmatize(x):
    intermediate_lemmas = [token.lemma_.lower() for token in x
            if not token.is_punct]
    return [lemma for lemma in intermediate_lemmas
           if lemma not in stop_words
           and lemma != "-PRON-"
           and lemma != " "
           ]

train['lemmas'] = train['spacy_tokens'].apply(lambda x: lemmatize(x))
print(train.head())

0 个答案:

没有答案