为什么Spacy api版本和Web版本结果不同?

时间:2017-12-28 06:54:02

标签: python python-3.x nlp spacy

我正在使用spacy作为pos_标签(词性标签),这是我非常简单的方法:

import spacy
model=spacy.load('en_core_web_sm')

for i in model('I want so sit on Dining table set.'):
    print((i,i.pos_))

输出是:

(I, 'PRON')
(want, 'VERB')
(so, 'ADV')
(sit, 'VERB')
(on, 'ADP')
(Dining, 'PROPN')
(table, 'NOUN')
(set, 'VERB')
(., 'PUNCT')

现在,如果我去spacy的web version并给出相同的查询,那么我得到的是这样的:

enter image description here

为什么Dining在导入版本模型中为PROPN,在网络版中为Noun

当两个模型相同时,我的困惑就在这里,为什么我没有获得网络版本结果?网络版本的结果更正确,这是我的预期输出。

如果我做对了,那么原因是网络版每天都会经历许多查询,这就是为什么它会从这些查询中更新权重,这就是为什么它更聪明?或者我的假设没有任何意义?

我认为使用bs4或selenium和phanthon来使用web-version的结果但这不是正确的方法。我如何才能实现网络版的结果?

2 个答案:

答案 0 :(得分:0)

en_core_web_sm是默认且最小的英语模型。 Web版可能正在使用更大的模型 en_core_web_md。 试试这个,你会得到类似的结果。模型越大,精度越高。 可用型号列表: https://spacy.io/usage/models#available

答案 1 :(得分:0)

只需点击右上角的设置,然后停用折叠短语和折叠标点符号,您就会得到相同的结果enter image description here