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

时间:2018-05-23 11:40:29

标签: python spacy

我在我的系统上安装了spacy,我想解析提取人名,组织英语。但我看到here,有4个英语模型。有model versioning.我没有得到哪个模型很大,我必须选择哪个模型进行开发?

2 个答案:

答案 0 :(得分:7)

keytool -delete [OPTION]... Deletes an entry Options: -alias <alias> alias name of the entry to process -keystore <keystore> keystore name -storepass <arg> keystore password -storetype <storetype> keystore type -providername <providername> provider name -providerclass <providerclass> provider class name -providerarg <arg> provider argument -providerpath <pathlist> provider classpath -v verbose output -protected password through protected mechanism / sm / md指的是模型的大小(分别为小型,中型,大型)。

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

  

模型差异主要是统计学的。一般来说,我们确实希望更大的模型更好&#34;整体而言更准确。最终,这取决于您的使用案例和要求。我们建议从默认模型开始(下面标有星号)。

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

答案 1 :(得分:3)

区别在于预测的准确性。

但是,正如您在spaCy文档的comparison中所看到的,差别很小。

en_core_web_lg 10 MB )相比,en_core_web_sm 788 MB

  • 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_lg的大小是 79倍,所以加载速度要慢得多。

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

nlp = spacy.load("en_core_web_lg")