从斯坦福依赖分析树中提取 NP-VP-NP

extract NP-VP-NP from Stanford dependency parse tree

我需要从依存分析树中提取 NP-VP-NP 形式的三元组,作为 Stanford Parser 中词汇化分析的输出。

最好的方法是什么。 例如如果解析树如下:

(ROOT
  (S
    (S
      (NP (NNP Exercise))
      (VP (VBZ reduces)
        (NP (NN stress)))
      (. .))
    (NP (JJ Regular) (NN exercise))
    (VP (VBZ maintains)
      (NP (JJ mental) (NN fitness)))
    (. .)))

我需要提取 2 个三胞胎:

  1. 锻炼减轻压力
  2. 经常锻炼-保持-心理健康

有什么想法吗?

这里自然有两种选择。一个是 运行 Semgrex 在依赖树上(旁注:问题中的内容是选区树),其模式如下:

{pos:/V.*/}=verb >/.subj.*/ {}=subject >/.obj/ {}=object

另一种选择是使用Stanford Open IE系统。这将为您提供“(主语;关系;宾语)”三元组的更广泛的语义,其中关系不必是动词。