2014-09-27 11 views
10

Tôi có một câu phức tạp và tôi cần tách nó thành mệnh đề chính và phụ thuộc. Ví dụ: đối với câu
ABC trích dẫn thực tế rằng phụ gia hóa học bị cấm ở nhiều quốc gia và cảm thấy chúng có thể bị cấm ở trạng thái này.
Việc phân chia cầnTrích xuất khoản sử dụng trình phân tích cú pháp Stanford

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

Tôi nghĩ rằng tôi có thể sử dụng cây Parser Stanford hay phụ thuộc, nhưng tôi không chắc chắn làm thế nào để tiến hành từ đây.

Cây

 
(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)))))))))))) 
    (. .))) 

và phụ thuộc sụp đổ phân tích

 
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

Bạn đã đạt được kết quả như thế nào? StanfordDependencyParser? – ionox0

Trả lời

19

Nó có lẽ là tốt hơn nếu bạn chủ yếu sử dụng cây phân tích cú pháp constituenty dựa trên, và không phải là phụ thuộc. Các phụ thuộc sẽ hữu ích, nhưng chỉ sau khi công việc chính được thực hiện! Tôi sẽ giải thích điều này vào cuối câu trả lời của tôi.

Điều này là do phân tích cú pháp phân tích dựa trên ngữ pháp cấu trúc cụm từ, ngữ pháp phù hợp nhất nếu bạn đang tìm cách trích xuất các mệnh đề từ một câu. Nó có thể được thực hiện bằng cách sử dụng các phụ thuộc, nhưng trong trường hợp đó, về cơ bản bạn sẽ xây dựng lại cấu trúc cụm từ - bắt đầu từ gốc và nhìn vào các nút phụ thuộc (ví dụ: ABCfacts là chủ thể danh nghĩa và đối tượng trực tiếp của động từ cites, và vân vân ...).

Thật hữu ích khi trực quan hóa cây phân tích cú pháp. Trong ví dụ của bạn, các mệnh đề được biểu thị bằng thẻ SBAR, là một mệnh đề được giới thiệu bởi một (có thể trống) kết nối cấp dưới. Tất cả bạn cần làm là như sau:

  1. Xác định các nút clausal phi rễ trong cây phân tích cú pháp
  2. Remove (nhưng giữ lại riêng) các subtrees bắt rễ tại các nút clausal từ cây chính.
  3. Trong cây chính (sau khi loại bỏ các subtrees ở bước 2), hãy xóa bất kỳ giới hạn treo, các liên kết phụ và trạng từ.

Ở bước 3, ý tôi là "treo" là bất kỳ giới từ nào, v.v. đã loại bỏ phụ thuộc ở bước 2. Ví dụ, từ "ABC trích dẫn thực tế", bạn cần loại bỏ giới từ/từ phụ thuộc-kết hợp "rằng" vì nút phụ thuộc của nó "cấm" đã được gỡ bỏ ở bước 2. Bạn do đó sẽ có ba mệnh đề độc lập:

  • hóa chất phụ gia bị cấm ở nhiều nước (loại bỏ SBAR ở bước 2)
  • chúng cũng có thể bị cấm trong trạng thái này (loại bỏ SBAR ở bước 2)
  • ABC trích dẫn thứ e thực tế (bước 3)

Vấn đề duy nhất ở đây là kết nối ABC-cảm thấy. Đối với điều này, lưu ý rằng cả hai "cấm" và "cảm thấy" là bổ sung của động từ "trích dẫn", và do đó, có cùng một chủ đề, đó là "ABC"!Và bạn đã hoàn tất. Khi điều này được thực hiện, bạn sẽ nhận được mệnh đề thứ tư, "ABC cảm thấy", đó là điều bạn có thể hoặc có thể không muốn đưa vào kết quả cuối cùng của bạn.

Đối với một danh sách tất cả các thẻ clausal (và, trên thực tế, tất cả các thẻ Penn Treebank), xem danh sách này: http://www.surdeanu.info/mihai/teaching/ista555-fall13/readings/PennTreebankConstituents.html

Đối với một trực quan phân tích cây trực tuyến, bạn có thể muốn sử dụng online Berkeley parser demo. Nó giúp rất nhiều trong việc hình thành một trực giác tốt hơn. Dưới đây là những hình ảnh được tạo ra ví dụ câu của bạn: Berkeley Parser Tree

Hãy cẩn thận

  1. Ngay cả những phân tích cú pháp tốt nhất sẽ phải lúc nào cũng phân tích cú pháp câu một cách chính xác, vì vậy giữ cho rằng trong tâm trí.
  2. Ngoài ra, nhiều câu phức tạp liên quan đến right node raising, hầu như không bao giờ được phân tích cú pháp chính xác bởi hầu hết các trình phân tích cú pháp.
  3. Bạn có thể cần sửa đổi thuật toán một chút nếu mệnh đề bằng giọng thụ động.

Ngoài ba cạm bẫy này, thuật toán trên phải hoạt động khá chính xác.

+1

Cảm ơn lời giải thích thực sự chi tiết và liên kết PenTreebank. Khi tôi trích xuất SBAR làm cách nào để có được "cảm thấy" vì cây con bắt nguồn từ SBAR không chứa cảm giác. – AMisra

+1

Cảm ơn bạn đã chỉ ra điều đó. Đã sửa câu trả lời. –

Các vấn đề liên quan