我对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())