我正在尝试使用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动词。
在第一种情况下,还有什么方法可以让我获得根动词吗?
答案 0 :(得分:2)
首先应注意,词根不一定是动词(请参见here和here)。 根是一个不受其他节点之一控制的节点。
非限定从句包含不显示时态的动词。
例如:
“赢得比赛的人”
在此示例中,很明显,根是“人”,“ win”是“人”的从属
,如果有: “该公司以全股票交易方式收购了锯齿峰能源公司。” 显然,根是“公司”
您的第一个示例: “欧芹能源将以全股票交易方式收购锯齿峰能源。” 不太明显 我认为这是一个省略号,省略的椭圆词是“是”。 句子通常是“ Parsley Energy is 以获取..”
请参见here:
如果主谓词不存在(由于省略号),并且有多个孤儿家属,则其中一个被提升到头(根)位,而另一个孤儿则与之相连。
最后,看来Spacy在这里没有出错。