2017-04-24 542 views
0

我正在使用pycornlp库。这个库为stanford corenlp提供了一个python包装器。如何使用python库提取NP(名词短语)和VP(动词短语)pycorenlp

我能够得到下面给出的分析树。

(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可用?

是否有其他可用的API可用于提取所有NP或全部VP?

回答

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的第一个实例。

相关问题