我正在尝试使用在依赖图上定义的简单规则/模式从句子中提取非常基本的信息(例如,三元组,例如主题->谓词->宾语)。我开始使用StanfordNLP是因为它很容易设置和利用 GPU 以获得更好的性能。但是,我注意到对于某些句子,生成的依赖关系图看起来不像我预期的那样——虽然我不是专家。因此,我尝试了另外两个解决方案:spaCy和Stanford CoreNLP(我知道这些是由不同的团体维护的?)
例如句子“Tom 让 Sam 相信 Alice 得了癌症”。我已经打印了所有三种方法的依赖关系。CoreNLP 和 spaCy 产生相同的依赖关系,但它们与 StanfordNLP 的依赖关系不同。因此,我倾向于切换到 CoreNLP 和 spaCy(另一个优势是它们带有开箱即用的 NER)。
有没有人有更多的经验或反馈可以帮助从这里去哪里?我不希望 CoreNLP 和 spaCy 总是在相同的依赖图中产生,但在例句中,考虑Sam
到obj
StandfordNLP 所做的与nsubj
(CoreNLP, spaCy) 相比似乎是一个显着的差异
Format:
token dependency_tag parent_token
StanfordNLP
Tom nsubj made
made ROOT ROOT
Sam obj made
believe ccomp made
that mark has
Alice nsubj has
has ccomp believe
cancer obj has
. punct made
CoreNLP
Tom nsubj made
made ROOT ROOT
Sam nsubj believe
believe ccomp made
that mark has
Alice nsubj has
has ccomp believe
cancer dobj has
. punct made
spaCy
Tom nsubj made
made ROOT ROOT
Sam nsubj believe
believe ccomp made
that mark has
Alice nsubj has
has ccomp believe
cancer dobj has
. punct made