2012-08-15 3 views
0

NLTK가 모든 Treebank 절 및 Treebank 절의 경계 (또는 이에 상응하는, Treebank가 아니어야 함)로 완전히 표시된 텍스트를 반환하는 방법이 있습니까? 나는 절과 절을 모두 돌려 줄 수 있어야한다. 내가 발견 한 유일한 것은 제 7 장에있는 NLTK Bird/Klein/Loper 책에 나와 있습니다.이 책에서는 명사구와 동사구를 동시에 처리 할 수 ​​없다고 말하지만 그 이상을하고 싶습니다! 스탠포드 POS 파서가이 작업을 수행하지만 클라이언트가 NLTK 만 사용하려고한다고 생각합니다. 감사.NLTK 절 및 구문 분석

답변

1

아직 8 장을 보셨습니까? 이미 알게 된 청킹 리소스 외에도

>>> from nltk.corpus import treebank 
>>> t = treebank.parsed_sents('wsj_0001.mrg')[0] 
>>> print t 
(S 
    (NP-SBJ 
    (NP (NNP Pierre) (NNP Vinken)) 
    (, ,) 
    (ADJP (NP (CD 61) (NNS years)) (JJ old)) 
    (, ,)) 
    (VP 
    (MD will) 
    (VP 
     (VB join) 
     (NP (DT the) (NN board)) 
     (PP-CLR 
     (IN as) 
     (NP (DT a) (JJ nonexecutive) (NN director))) 
     (NP-TMP (NNP Nov.) (CD 29)))) 
    (. .)) 

외에도 원하는 것 같습니다. 당신은 당신이 제공 텍스트를 구문 분석 할 것을 의미하지만,이 또한 같은 옵션입니다

>>> sr_parse = nltk.ShiftReduceParser(grammar1) 
>>> sent = 'Mary saw a dog'.split() 
>>> print sr_parse.parse(sent) 
(S (NP Mary) (VP (V saw) (NP (Det a) (N dog)))) 

하지만 수동으로 사전에 채워지 grammar1에 의존합니다. 청킹은 구문 분석보다 쉽습니다.