1
NLTK 서적에 따르면, 먼저 문법을 적용하고 구문 분석합니다.이 정보는 어떻게 Python에서 사용합니까? 이 데이터 형식을 사용하는 방법을 모르겠습니다.
grammar = r"""
NP: {<DT|PP\$>?<JJ>*<NN>}
{<NNP>+}
"""
cp = nltk.RegexpParser(grammar)
chunked_sent = cp.parse(sentence)
나는 인쇄 chunked_sent,이 얻을 때 :
(S
i/PRP
use/VBP
to/TO
work/VB
with/IN
you/PRP
at/IN
(NP match/NN)
./.)
난 그냥보고 싶지 않아요. 실제로 "NP"명사구를 꺼내고 싶습니다.
"일치"를 어떻게 인쇄 할 수 있습니까? 명사구는 무엇입니까? 그 모든 chunked_sent에서 "NP"를 얻고 싶습니다.
for k in chunked_sents:
print k
(u'i', 'PRP')
(u'use', 'VBP')
(u'to', 'TO')
(u'work', 'VB')
(u'with', 'IN')
(u'you', 'PRP')
(u'at', 'IN')
(NP match/NN)
(u'.', '.')
for k in chunked_sents:
print k[0]
i
use
to
work
with
you
at
(u'match', 'NN')
"NP"를 잃어 버렸습니다.
또한 k [0]이 문자열 또는 튜플인지 (위의 경우처럼) 결정할 수 있습니까?
참고 : (NP 경기/NN)는 <클래스 'nltk.tree.Tree'>는 – TIMEX
는 구문 분석 정보가없는 명사구의 목록을 얻을 수 있었습니까? 궁극적으로 당신은 무엇을 했습니까? – MyopicVisage