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

时间:2016-12-17 16:40:28

标签: python nlp nltk spacy

使用Python Spacy,如何从简单的被动语态句子中提取实体?在下面的句子中,我的目的是从句子中提取" John“ nsubjpass .ent _

判刑="约翰被大卫"

指控为犯罪

2 个答案:

答案 0 :(得分:2)

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

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)

结果:

[约翰]

答案 1 :(得分:-1)

浏览spacy 2.0 nightly build。它应该有你正在寻找的解决方案。