我有一个简单的程序来处理带有 spacy 的英文文本并输出一些有关标记的信息。对于大文本,spacy 需要很长时间来处理它。有没有办法以百分比的形式查看处理进展情况?我没有使用自己的模型,只是使用 spacy 提供的模型。
import spacy
// load big text file into `text` variable
nlp = spacy.load("en_core_web_sm")
nlp.max_length = len(text)+1
doc = nlp(text)
// output info
一般来说,我不建议将整个文本解析为一大块文本,而是首先尝试将其拆分为更小的段落。
例如,您可以先在每个
\n\n
处进行分割。
然后您可以使用
nlp.pipe()
将多个文档一次性交给 SpaCy,您可以使用 tqdm 进度条。
或者,您可以在文档中创建批次,然后连接结果。