2014-09-27 102 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