0
NLTKツリーを使用している単語に基づいてPOSタグを検索しようとしています。NLTKツリーのノードの内容にアクセスするにはどうすればよいですか?
ツリー内に単語(ここではdifferent)を置いて(この単語はツリーに確実に存在します)、この単語を含むノードの子のいずれかに所定のラベル(ここでは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'という単語に引用符を適用している場合は出力されません。私は引用符を削除し、 'Yes'を印刷しました –