我正在使用pycornlp
库。该库为stanford corenlp提供了一个python包装器。
我能够得到一个下面给出的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?
是否有其他可用的API可用于提取所有NP或所有VP?
答案 0 :(得分: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的第一个实例。