我正在使用Spacy解析数据。我必须提取所有名词和形容词,但某些单词却得到了一些不寻常的结果。例如,“ use”作为名词而不是VERB出现,我也希望“ Left”作为形容词而不是动词,如右膝痛中的“ right”。有没有办法做到这一点?
import spacy
nlp = spacy.load('en')
doc = nlp(u'Alcohol use. Left knee pain. Right knee pain')
for word in doc:
print(word.text, word.pos_)
Output:
Alcohol NOUN
use NOUN
. PUNCT
Left VERB
knee NOUN
pain NOUN
. PUNCT
Right ADJ
knee NOUN
pain NOUN
答案 0 :(得分:2)
POS标记的准确性不是100%。只有大约97%。因此,我们应该期待这些行为。而且,即使对于人类,您用于测试的句子也是模棱两可的。
如果您使用更高级的模型,例如en_core_web_md
或en_core_web_lg
,则将获得更高的准确性。如果您使用这些模型中的任何一个而不是默认的“ en”模型,则您将获得“左”作为形容词。