【问题标题】:StanfordNLP, CoreNLP, spaCy - different dependency graphsStanfordNLP、CoreNLP、spaCy - 不同的依赖图
【发布时间】:2019-05-23 03:04:44
【问题描述】:

我正在尝试使用在依赖图上定义的简单规则/模式从句子中提取非常基本的信息(例如,三元组,如主语->谓语->宾语)。我开始使用StanfordNLP,因为它很容易设置并利用 GPU 获得更好的性能。但是,我注意到对于某些句子,生成的依赖关系图看起来不像我预期的那样——虽然我不是专家。因此我尝试了另外两个解决方案:spaCyStanford CoreNLP(我知道这些是由不同的组维护的?)

对于例句 “Tom 让 Sam 相信 Alice 得了癌症。” 我已经打印了所有三种方法的依赖关系。 CoreNLP 和 spaCy 产生相同的依赖关系,但它们与 StanfordNLP 的依赖关系不同。因此,我倾向于切换到 CoreNLP 和 spaCy(另一个优势是它们与 NER 一起开箱即用)。

有没有人有更多的经验或反馈可以帮助从这里去哪里?我不希望 CoreNLP 和 spaCy 总是在相同的依赖图中产生,但在例句中,考虑 Sam as 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

【问题讨论】:

    标签: nlp stanford-nlp spacy dependency-parsing


    【解决方案1】:

    不确定如何解决您的问题,但我建议您仔细阅读斯坦福 CoreNLP 的文档:https://nlp.stanford.edu/software/lex-parser.shtml

    在包中,您可以使用几个语法和依赖解析器。只需查看语法解析,就有一个检索 k-best 解析的选项,如果您处理对它们的依赖关系,您很可能会为每个解析获得不同的依赖关系。

    这与解析器的不准确和自然语言的歧义有关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-04
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多