我正在使用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并给出相同的查询,那么我得到的是这样的:
为什么Dining
在导入版本模型中为PROPN
,在网络版中为Noun
。
当两个模型相同时,我的困惑就在这里,为什么我没有获得网络版本结果?网络版本的结果更正确,这是我的预期输出。
如果我做对了,那么原因是网络版每天都会经历许多查询,这就是为什么它会从这些查询中更新权重,这就是为什么它更聪明?或者我的假设没有任何意义?
我认为使用bs4或selenium和phanthon来使用web-version的结果但这不是正确的方法。我如何才能实现网络版的结果?
答案 0 :(得分:0)
en_core_web_sm
是默认且最小的英语模型。
Web版可能正在使用更大的模型
en_core_web_md
。
试试这个,你会得到类似的结果。模型越大,精度越高。
可用型号列表:
https://spacy.io/usage/models#available
答案 1 :(得分:0)