如何使用 Spacy 提取标签属性

How to extract tag attributes using Spacy

我尝试使用 Spacy 获取动词的形态属性,如下所示:

import spacy
from spacy.lang.it.examples import sentences
nlp = spacy.load('it_core_news_sm')
doc = nlp('Ti è piaciuto il film?')
token = doc[2]
nlp.vocab.morphology.tag_map[token.tag_]

输出为:

{'pos': 'VERB'}

但是我想提取

V__Mood=Cnd|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: VERB}

是否可以像上面那样使用 Spacy 提取标签映射中指定的语气、时态、数字、人物信息https://github.com/explosion/spacy/blob/master/spacy/lang/it/tag_map.py

nlp.vocab.morphology.tag_map 将详细标签映射到标签更简单的字典,因此您只需跳过该步骤并直接检查标签:

import spacy
nlp = spacy.load('it')
doc = nlp('Ti è piaciuto il film?')
print(doc[2].tag_)

应该return

VA__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin

(spacy 2.0.11,it_core_news_sm-2.0.0)