【发布时间】:2019-06-07 02:03:05
【问题描述】:
我想知道为什么我从这两种语言模型中得到不同的词形还原结果:spacy.lang.en.English 和 en_core_web_sm。
根据文档,在加载 en_core_web_sm 模型时,这应该告诉 spacy 使用语言“en”并初始化 spacy.lang.en.English,所以我不明白为什么词形还原规则会改变。如何从英文模型中获取引理,但从 en_core_web_sm 中获取标签和 POS?
from spacy.lang.en import English
nlp = English()
doc = nlp('nonlinearities')
print('English nlp: ', [(token.lemma_, token.lemma, token.tag_, token.pos_) for token in doc])
nlp = spacy.load('en_core_web_sm', disable = ['ner'])
doc = nlp('nonlinearities')
print('loaded model nlp: ', [(token.lemma_, token.lemma, token.tag_, token.pos_) for token in doc])
这是输出:
English nlp: [('nonlinearity', 3011504801575762058, '', '')]
loaded model nlp: [('nonlinearitie', 2964900603636025371, 'NNS', 'NOUN')]
【问题讨论】: