在我对NLP(尤其是spacy库)的研究中,我对此感到困惑,
from spacy.lang.en import English()
和spacy.load('en')
有什么区别以及它是如何工作的?有人可以帮我解释一下这个问题,如果可以的话,请提供一些区别示例。预先感谢。
答案 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还会更详细地说明语言类别和统计模型。