2017-04-24 12 views
0

私はpycornlpライブラリを使用しています。このライブラリは、スタンフォードcorenlp用のPythonラッパーを提供します。pycorenlpというPythonのライブラリを使ってNP(名詞句)とVP(動詞句)を抽出する方法

私は以下に示すparsetreeを得ることができます。

(ROOT 
(S 
(NP (PRP He)) 
(VP (VBP drink) 
    (NP 
    (NP (NN tomato) (NN soup)) 
    (PP (IN in) 
     (NP (DT the) (NN morning))))))) 

ここで最初のNPとVPを抽出します。

(NP (PRP He)) 
(VP (VBP drink) 

pycorenlpで使用できるAPIはありますか?

すべてのNPまたはすべてのVPを抽出するために使用できる他のAPIはありますか?

答えて

0

CoreNLPの出力は、通常、必要なものを簡単に選別できるJSON(リストと辞書の組み合わせ)です。

以下のリンクは、サーバーへの接続方法を示す良い例ですが、出力ファイルを移動して必要なものを取り出す方法を示す小さなコード行を示しています。リンクがある:あなたの出力ファイルを使用して選別しhttp://stanza.readthedocs.io/en/latest/example.text_classification.html#annotating-using-corenlp

のコード例は次のとおりです。

for token in annotation['sentences'][0]['tokens']: print token['word'], token['pos']

は、「注釈」は出力変数です。このコードは、単語とその品詞のリストを出力します。 NPとVPの最初のインスタンスが見つかったら、このコードを簡単に修正して停止することができます。

あなたの質問に対する簡単な答えは、forループが出力データをソートしてNPとVPの最初のインスタンスを見つけることができるということです。

関連する問題