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

36
我在系统上安装了spacy并想要解析/提取英语的人名、组织机构等信息。但我看到这里,有4种英语模型可用。还有模型版本控制。 我不知道哪个模型是大的,也不知道我应该选择哪个进行开发?
2个回答

38

sm/md/lg是模型的尺寸大小(分别为小、中、大)。

正如您链接到的模型页面所述:

模型的差异主要在统计方面。一般来说,我们希望更大的模型在总体上更“好”和更准确。最终,这取决于您的用例和要求。我们建议从默认模型开始(下面标有星号)。

值得一提的是,sm模型是默认模型(如上所述)。


非常感谢你,你让我的一天变得美好。我将使用en_core_web_lg模型。 - Anil Jagtap
@AnilJagtap 我建议你从 _sm 开始,因为 SpaCy 推荐使用这个模型。这个模型只有 29 兆字节,而 _lg 则超过了 800 兆字节。 - AKX
1
我用 _sm 测试了一些文本。我不在意大小,我想要更准确的结果。我认为 _lg 模型比 _sm 模型提供更准确的结果。 - Anil Jagtap

28

区别在于预测的准确性。

但是,您可以在spaCy文档中的比较中看到,差异非常小。

en_core_web_lg (788 MB)en_core_web_sm (10 MB) 的比较:

  • LAS: 90.07% vs 89.66%
  • POS: 96.98% vs 96.78%
  • UAS: 91.83% vs 91.53%
  • NER F-score: 86.62% vs 85.86%
  • NER precision: 87.03% vs 86.33%
  • NER recall: 86.20% vs 85.39%

所有这些都是在en_core_web_lg79倍的情况下完成的,因此加载速度更慢。

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

nlp = spacy.load("en_core_web_lg")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接