2016-10-06 18 views
0

저는 Spacy in Python을 사용하여 문장의 구문 분석 트리 결과를 작성하고 해석하려고합니다. 나는 같은 위해 아래의 코드를 사용했습니다 :Spacy를 사용하여 작성된 문장의 구문 분석 트리 결과를 어떻게 해석합니까?

from spacy.en import English 
nlp=English() 
example = "The angry bear chased the frightened little squirrel" 
parsedEx = nlp(unicode(example)) 
for token in parsedEx: 
    print("Head:", token.head, " Left:",token.left_edge, " Right:",token.right_edge ," Relationship:",token.dep_) 

코드는 result.Can 누군가 아래의 방법을 해석하는 방법을 가르쳐 준? 미리 감사드립니다! 아래 그림과 같이

('Head:', bear, ' Left:', The, ' Right:', The, ' Relationship:', u'det') 
    ('Head:', bear, ' Left:', angry, ' Right:', angry, ' Relationship:', u'amod') 
    ('Head:', chased, ' Left:', The, ' Right:', bear, ' Relationship:', u'nsubj') 
    ('Head:', chased, ' Left:', The, ' Right:', squirrel, ' Relationship:', u'ROOT') 
    ('Head:', squirrel, ' Left:', the, ' Right:', the, ' Relationship:', u'det') 
    ('Head:', squirrel, ' Left:', frightened, ' Right:', frightened, ' Relationship:', u'amod') 
    ('Head:', squirrel, ' Left:', little, ' Right:', little, ' Relationship:', u'amod') 
    ('Head:', chased, ' Left:', the, ' Right:', squirrel, ' Relationship:', u'dobj') 
+0

그것은 종속성입니다 주어진 문장의 구문 분석. 다음과 같은 것을 그릴 수 있어야합니다 (즉, 관계는 호의 레이블입니다) : https://upload.wikimedia.org/wikipedia/commons/6/61/Latex-dependency-parse-example-with-tikz -dependency.png – user3639557

답변

1

당신은 그것의 가장자리를 나열하여 종속성 트리를 해석 할 수 :

import spacy 
nlp = spacy.load('en') 
doc = nlp(u'The world has enough for everyone\'s need, not for everyone\'s greed') 
for tok in doc: 
    print('{}({}-{}, {}-{})'.format(tok.dep_, tok.head.text, tok.head.i, tok.text, tok.i)) 

위의 코드의 결과를 다음과 같이 표시됩니다

det(world-1, The-0) 
nsubj(has-2, world-1) 
ROOT(has-2, has-2) 
dobj(has-2, enough-3) 
prep(enough-3, for-4) 
poss(need-7, everyone-5) 
case(everyone-5, 's-6) 
pobj(for-4, need-7) 
punct(need-7, ,-8) 
neg(for-10, not-9) 
prep(need-7, for-10) 
poss(greed-13, everyone-11) 
case(everyone-11, 's-12) 
pobj(for-10, greed-13)