关于Spacy的词性
Regarding Spacy's part of speech
我正在使用 Spacy 解析数据。我必须提取所有的名词和形容词,但对于某些词我得到了一些不寻常的结果。例如,'use' 将作为名词而不是动词出现,我也希望 '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
词性标注的准确性不是 100%。它只有97%左右。所以我们应该预料到这些行为。此外,您用于测试的句子即使对于人类来说也是模棱两可的。
如果您使用 en_core_web_md
或 en_core_web_lg
等更高级的模型,您将获得更高的准确性。在你的情况下,如果你使用这些模型中的任何一个而不是默认的 'en' 模型,你将得到 'Left' 作为形容词。
我正在使用 Spacy 解析数据。我必须提取所有的名词和形容词,但对于某些词我得到了一些不寻常的结果。例如,'use' 将作为名词而不是动词出现,我也希望 '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
词性标注的准确性不是 100%。它只有97%左右。所以我们应该预料到这些行为。此外,您用于测试的句子即使对于人类来说也是模棱两可的。
如果您使用 en_core_web_md
或 en_core_web_lg
等更高级的模型,您将获得更高的准确性。在你的情况下,如果你使用这些模型中的任何一个而不是默认的 'en' 模型,你将得到 'Left' 作为形容词。