spaCy:使用依赖性分析在句子中查找ROOT单词时出现问题

时间:2019-10-14 17:59:53

标签: nlp spacy

我正在尝试使用spaCy解析以下句子:

text = "Parsley Energy to acquire Jagged Peak Energy in an 
          all-stock deal."

doc = nlp(text)
for token in doc:
    print(token.text, ' ====> ', token.dep_)
  

这给我能量作为根动词,这是不正确的。

但是如果我将句子从获取更改为将获得,则句子:

new_text = "Parsley Energy will acquire Jagged Peak Energy in an 
            all-stock deal."
  

获得后正确获得了Root动词。

在第一种情况下,还有什么方法可以让我获得根动词吗?

1 个答案:

答案 0 :(得分:2)

首先应注意,词根不一定是动词(请参见herehere)。 根是一个不受其他节点之一控制的节点。

非限定从句包含不显示时态的动词。
例如:
“赢得比赛的人”
在此示例中,很明显,根是“人”,“ win”是“人”的从属

,如果有: “该公司以全股票交易方式收购了锯齿峰能源公司。” 显然,根是“公司”

您的第一个示例: “欧芹能源将以全股票交易方式收购锯齿峰能源。” 不太明显 我认为这是一个省略号,省略的椭圆词是“是”。 句子通常是“ Parsley Energy is 以获取..”

请参见here

  

如果主谓词不存在(由于省略号),并且有多个孤儿家属,则其中一个被提升到头(根)位,而另一个孤儿则与之相连。

最后,看来Spacy在这里没有出错。