【发布时间】:2018-11-22 16:39:56
【问题描述】:
我想用Java代码中的Stanford CoreNLP提取句子的主语、谓语和宾语,并找出哪些形容词指向主语、谓语或宾语。
我尝试使用依赖解析器来解决这个问题,方法是查找依赖索引,检查依赖标记是否等于 amod,然后将其添加到 ArrayList,但使用这种方法有时形容词的依赖标记不是 amod,而是nmod,可能会出现其他标签。
在确定宾语和谓语时,我使用了与上述类似的方法。我检查了它是否是 det,如果它是任何其他标签,这意味着它是一个谓词或对象。然而,有时会出现不同的标签,并且必须解析每个标签,这在某种程度上意味着它是一个指向对象的谓词,效率不高。
所以我的问题是,我如何得到一个句子的主谓宾和每个形容词而不需要检查每个标签?
对于上述尝试,我使用了 Stanford CoreNLP Simple API,但如果确实需要,我可以使用标准 API。
【问题讨论】:
-
在 CoreNLP 的模型中,句子并不像“主语、宾语、谓语”那么简单。没有比拥有许多寻找您感兴趣的句型的规则或一个训练有素的模型来选择您关心的树更有效的过程了。
-
有图书馆可以做到吗?
标签: java nlp stanford-nlp