2014-09-27 48 views
10

我有一个复杂的句子,我需要将它分离为主要和从属子句。 例如句子
ABC引用了许多国家禁用化学添加剂的事实,并认为它们也可能在这种状态下被禁止。
分裂所需使用斯坦福解析器的子句提取

1)ABC cites the fact 
2)chemical additives are banned in many countries 
3)ABC feels they may be banned in this state too.  

我想我可以使用斯坦福解析器树或依赖关系,但我不知道如何从这里着手。

 
(ROOT 
    (S 
    (NP (NNP ABC)) 
    (VP (VBZ cites) 
     (NP (DT the) (NN fact)) 
     (SBAR (IN that) 
     (S 
      (NP (NN chemical) (NNS additives)) 
      (VP 
      (VP (VBP are) 
       (VP (VBN banned) 
       (PP (IN in) 
        (NP (JJ many) (NNS countries))))) 
      (CC and) 
      (VP (VBZ feels) 
       (SBAR 
       (S 
        (NP (PRP they)) 
        (VP (MD may) 
        (VP (VB be) 
         (VP (VBN banned) 
         (PP (IN in) 
          (NP (DT this) (NN state))) 
         (ADVP (RB too)))))))))))) 
    (. .))) 

和倒塌的依赖解析

 
nsubj(cites-2, ABC-1) 
root(ROOT-0, cites-2) 
det(fact-4, the-3) 
dobj(cites-2, fact-4) 
mark(banned-9, that-5) 
nn(additives-7, chemical-6) 
nsubjpass(banned-9, additives-7) 
nsubj(feels-14, additives-7) 
auxpass(banned-9, are-8) 
ccomp(cites-2, banned-9) 
amod(countries-12, many-11) 
prep_in(banned-9, countries-12) 
ccomp(cites-2, feels-14)  
conj_and(banned-9, feels-14)  
nsubjpass(banned-18, they-15) 
aux(banned-18, may-16)  
auxpass(banned-18, be-17)  
ccomp(feels-14, banned-18) 
det(state-21, this-20)  
prep_in(banned-18, state-21)  
advmod(banned-18, too-22) 
+0

你是如何实现树结果的? StanfordDependencyParser? – ionox0 2017-04-13 15:02:29

回答

19

这可能是更好,如果你主要使用基于constituenty-解析树,而不是依赖。依赖关系将会很有帮助,但只有在主要工作完成后!我将在我的答案结束时解释这一点。

这是因为选区分析基于短语结构语法,如果您想要从句子中提取语句,语法结构语法是最相关的。它也可以使用依赖关系来完成,但是在这种情况下,您将基本上重构短语结构 - 从根开始并查看相关节点(例如,ABCfacts是动词cites的名义主语和直接宾语,等等 ... )。

然而,可视化分析树是有帮助的。在您的示例中,子句由SBAR标记表示,该标记是由(可能为空)从属关联引入的子句。所有你需要做的是以下几点:

  1. 确定非根分句节点解析树
  2. 删除(但保留分开),从主树中的这些小句节点为根的子树。
  3. 在主树中(在步骤2中删除子树后),删除任何悬挂的介词,从属连词和副词。

在步骤3中,我所说的“悬挂”是指任何介词等在第2步中已被删除的依赖项。例如,从“ABC引用事实”中,您需要删除介词/从属-连词“”由于其依赖节点“禁止”在步骤2中除去您将因此具有三个独立的子句:

  • 化学添加剂在许多国家被禁止(在步骤2中除去SBAR)
  • 它们也可能在这种状态下被禁止(步骤2中的SBAR去除)
  • ABC引用第Ë事实(步骤3)

这里唯一的问题是ABC连接- 感觉。为此,请注意,“禁止”和“感觉”是动词“cites”的补充,因此具有相同的主题,即“ABC”!你完成了。完成后,你会得到第四个条款,“ABC感觉”,这是你可能或不想包括在最终结果中的东西。

对于所有分句标签(和,事实上,所有的宾州树库标记)的列表,请参阅该列表:http://www.surdeanu.info/mihai/teaching/ista555-fall13/readings/PennTreebankConstituents.html

对于在线解析树的可视化,您可能需要使用online Berkeley parser demo。它有助于形成更好的直觉。下面是你的例句中生成的图像: Berkeley Parser Tree

注意事项

  1. 即使是最好的解析器不会总是正确分析句子,所以记住这一点。
  2. 此外,许多复杂的句子涉及right node raising,大多数解析器几乎不会正确解析它。
  3. 如果子句处于被动语态,您可能需要稍微修改该算法。

除了这三个缺陷之外,上面的算法应该可以相当准确地工作。

+1

感谢您提供一个非常详细的解释和PenTreebank链接。当我提取SBAR时,如何获得“感觉”,因为植根于SBAR的子树不含感觉。 – AMisra 2014-09-27 02:33:37

+1

谢谢你指出。更正了答案。 – 2014-09-27 03:08:36