我正在使用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?
发布于 2017-04-26 20:54:05
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']
‘'annotation’是输出变量。这段代码将打印单词及其词性的列表。您可以很容易地修改此代码,使其在找到NP和VP的第一个实例后立即停止。
对您的问题的简单回答是,您可以使用for循环对输出数据进行排序,以找到NP和VP的第一个实例。
https://stackoverflow.com/questions/43581644
复制相似问题