Spacy NLP库:什么是最大合理的文档大小

时间:2018-01-08 03:07:14

标签: python nlp spacy

以下问题是关于Python的Spacy NLP库,但如果其他库的答案存在很大差异,我会感到惊讶。

Spacy在合理的内存条件下可以处理的最大文档大小是多少(例如我的情况下是4 GB VM)?我原本希望使用Spacy来搜索书本大小的文档(100K +令牌)中的匹配,但我反复得到崩溃,指出内存耗尽是原因。

我是一名NLP菜鸟 - 我在学术上了解这些概念,但我真的不知道在实践中对最先进的图书馆有什么期望。所以我不知道我要求图书馆做的事情是非常困难,还是那么容易,我必须在我的环境中搞砸了。

至于为什么我使用NLP库而不是专门针对文档搜索的东西(例如solr),我正在使用它,因为我想做基于引理的匹配,而不是基于字符串的。 / p>

1 个答案:

答案 0 :(得分:3)

Spacy的max_length限制为1,000,000个字符。我能够用450,000个单词解析一个文件就好了。可以提高限额。我会根据总大小将文本分成n个块。

  

v2.x解析器和NER模型需要大约1GB的临时内存   输入中每100,000个字符。这意味着长文本可能会导致   内存分配错误。如果您没有使用解析器或NER,那就是   可能安全地增加nlp.max_length限制。限制在   字符数,因此您可以检查您的输入是否也是如此   检查len(text)

https://github.com/explosion/spaCy/blob/master/spacy/errors.py