0
NLTK 트리를 사용하는 단어를 기반으로 POS 태그를 검색하려고합니다.NLTK 트리에서 노드 내용에 어떻게 액세스합니까?
트리에서 단어 (여기서는 : 다른 단어)를 찾고 (이 단어가 트리에 확실히 있음) 노드에서이 단어가 들어있는 노드의 하위에 지정된 레이블이 있는지 확인하고 싶습니다 (여기서는 NN).
from nltk.tree import Tree
input_string = '(ROOT (SBARQ (WHADVP (WRB How)) (SQ (VBZ is) (NP (PRP it)) (ADJP (JJ different) (PP (IN from) (NP (DT the) (JJ dishonest) (NNS businessmen))))) (. ?)))'
for t in Tree.fromstring(input_string, read_node=lambda s: '<%s>' % s, read_leaf=lambda s: '"%s"' % s):
print (t)
설명서를 읽으려고했지만 그 이상을 얻을 수 없습니다. 내가 뭘하려고 오전
이다 : 당신은 트리의 모든 하위 트리를 통해 걸을 수
if t.leaves() in ["different"]:
if content_of_t (I don't know how to access that) in ["NN"]:
return "yes"
이것은 출력이 없지만'set (sub_tree.leaves()) '덕분입니다. 이제 노드의 내용에 액세스 할 수 있습니다. – user110327
'read_leaf = lambda s :' "% s" '% s' 단어에 여전히 따옴표를 적용하면 아무 출력도 표시되지 않습니다. 따옴표를 지우고'예'라고 출력했습니다. –