在以下SpaCy代码中:
import spacy
nlp = spacy.load('en_core_web_sm')
doc = nlp("It was yesterday morning.")
doc[2].dep_
# 'compound'
doc[2].dep
# 7037928807040764755
doc[3].dep_
# 'npadmod'
doc[3].dep
# 428
我可以将npadmod
追溯到symbols.pxd
枚举。
但是,“ compound
”在哪里定义(字符串和ID)?
[已解决]
有些DEP来自symbols
枚举,有些是由语言本身动态添加的。然后,该值就是字符串名称的哈希,它们包含在StringStore
中。
import spacy
nlp = spacy.load('en_core_web_sm')
doc = nlp("It was yesterday morning.")
doc[2].dep_
# 'compound'
doc[2].dep
# 7037928807040764755
nlp.vocab.strings[doc[2].dep]
# 'compound'
nlp.vocab.strings['compound']
# 7037928807040764755