2017-10-02 5 views
0

私はテキストファイルからNPチャンクを抽出しようとしています。私はそれを行っています。しかし、NPチャンクワードを単独で印刷したいのですが。NPのチャンクワードの印刷

import nltk 
from nltk.tokenize import sent_tokenize 
from nltk.tokenize import word_tokenize 
file =open("l2.txt","r") 
text=file.read() 
tokenized_words = word_tokenize(text) 
pos_list=nltk.pos_tag(tokenized_words) 
grammar = "NP : {<JJ|JJR|JJS> *(<NNP> + <POS> *)?<NN|NNS|NNP|NNPS>+}" 
cp = nltk.RegexpParser(grammar) 
result = cp.parse(pos_list) 
print(result) 

これは私のcode.Iが NPの言葉のように出力したいです。言葉ではなく他のタグとの全体の出力が続いています。

答えて

0

あなたのコードの末尾に以下の行は、トリックを行う必要があります。

for r in result: 
    if type(r) == nltk.tree.Tree: 
     if r.label() == 'NP': 
      print('NP:', ' '.join([x[0] for x in r.leaves()]))