spacy.lang.en和load('en')有什么区别?

时间:2019-10-03 20:32:09

标签: python nlp jupyter-notebook spacy

在我对NLP(尤其是spacy库)的研究中,我对此感到困惑, from spacy.lang.en import English()spacy.load('en')有什么区别以及它是如何工作的?有人可以帮我解释一下这个问题,如果可以的话,请提供一些区别示例。预先感谢。

1 个答案:

答案 0 :(得分:0)

English中的spacy.lang.en语言类包含特定于语言的代码和包含的规则in the library –例如,特殊情况下的分词规则,停用词或确定是否一个词的函数例如“二十二”就像一个数字。

spacy.load("en")使用快捷方式名称en装入已安装的statistical model –在本例中为en_core_web_sm软件包。因此,您也可以运行spacy.load("en_core_web_sm"),这会使事情变得更加明确。加载模型将初始化相应的语言类(在这种情况下为English),建立处理管道并加载经过训练的模型的二进制权重,从而使spaCy可以做出预测(例如,单词是否为名词)或文字中的命名实体)。因此,加载模型后返回的nlp对象是English实例,但它也设置了处理管道并加载了权重。

您可以找到有关spacy.load如何运作here的更详细的概述。 spaCy在线课程的first chapter还会更详细地说明语言类别和统计模型。