en_core_web_sm、en_core_web_md 和 en_core_web_lg spacy 模型有什么区别?

What is difference between en_core_web_sm, en_core_web_md and en_core_web_lg model of spacy?

我在我的系统上安装了 spacy,我想 parse/extract 英文的人名、组织。但是我看到了here, there is 4 model for english. And there is model versioning.没搞明白哪个型号大,开发要选哪个?

sm/md/lg指型号尺寸(分别为小号、中号、大号)。

正如您链接到的模型页面上所说,

Model differences are mostly statistical. In general, we do expect larger models to be "better" and more accurate overall. Ultimately, it depends on your use case and requirements. We recommend starting with the default models (marked with a star below).

FWIW,sm 模型是默认模型(如上所述)

区别在于预测的准确性。

但是,正如您在 spaCy 文档中的 comparison 中所见,差异非常小。

en_core_web_lg (788 MB)en_core_web_sm (10MB):

  • LAS:90.07% 对比 89.66%
  • POS:96.98% 对比 96.78%
  • UAS:91.83% 对比 91.53%
  • NER F 分数:86.62% 对比 85.86%
  • NER 精度:87.03% 对比 86.33%
  • NER 召回率:86.20% 对比 85.39%

虽然 en_core_web_lg79 倍,因此加载速度更慢。

我建议在开发时使用 en_core_web_sm,然后在生产中切换到更大的模型。 只需更改加载的模型即可轻松切换。

nlp = spacy.load("en_core_web_lg")