Python Spacy 从简单的被动语态句子中提取实体

Extract entities from Simple passive voice sentence by Python Spacy

使用PythonSpacy,如何从简单的被动语态句子中提取实体?在下面的句子中,我的目的是从句子中提取“John”作为 nsubjpass.ent_.

句子="John was accused of crimes by David"

我现在回答我的问题,因为我稍后会提出复杂句子的问题,以便有人可以查看简单句子的答案,然后帮助我回答复杂句子。

代码

each_sentence =  "John was accused of crimes by David"
doc=nlp(each_sentence)

passive_toks=[tok for tok in doc if (tok.dep_ == "nsubjpass") ]
if passive_toks != []:
    print(passive_toks)

结果:

[约翰]

完成 spacy 2.0 每晚构建。它应该有您正在寻找的解决方案。