2

使用 Python Spacy,如何从简单的被动语态句子中提取实体?在接下来的句子中,我的意图是从句子中提取“John”作为nsubjpass.ent_

句子 = “约翰被大卫指控犯罪”

4

2 回答 2

3

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

代码

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)

结果:

[约翰]

于 2016-12-17T16:50:56.363 回答
-1

通过 spacy 2.0 nightly build。它应该有您正在寻找的解决方案。

于 2017-07-09T04:49:49.857 回答