下面的代码是获取每个句子的文档的示例代码。
要获取每个单词的属性,我们使用的是文档,示例代码如下。
通过深入挖掘 spacy 代码,我可以发现对于每个名词,我们确实都有与之相关的形态学。
从这个 spacy 的源代码中查看 IDs(Dictionary) 的值:点击这里
我的问题:
我无法获取每个名词标记的形态值。我怎样才能得到相同的..?
我不确定您选择的单词,但听起来您在问如何获取每个标记的形态属性。可以像这样查找令牌的形态属性:
>>> nlp = spacy.load('en')
>>> doc = nlp('Dogs are friendly.')
>>> token = doc[0] # Dogs
>>> nlp.vocab.morphology.tag_map[token.tag_]
{74: 91, 'Number': 'plur'}
>>>
如果由于某种原因你nlp.vocab.morphology.tag_map
是None
我能够通过令牌本身获得大部分形态信息:
import spacy
nlp = spacy.load('en')
for tok in nlp('Dogs are friendly.'):
print(f"{tok} {tok.morph.to_dict()}")