1

我有一个解析树,它是Parseopennlp中类的一个对象。我想打印解析树中的文本。例如考虑以下句子:Wikipedia is a collaboratively edited, multilingual, free Internet encyclopedia supported by the non-profit Wikimedia Foundation.. 我已经确定了句子中的名词短语:

 (NP (NNP Wikipedia))
 (NP (NP (DT a) (RB collaboratively) (JJ edited,) (JJ multilingual,) (JJ free) (NNP    Internet) (NN encyclopedia)) (VP (VBN supported) (PP (IN by) (NP (DT the) (JJ non-profit) (NNP Wikimedia) (NNP Foundation.)))))
 (NP (DT a) (RB collaboratively) (JJ edited,) (JJ multilingual,) (JJ free) (NNP Internet)  (NN encyclopedia))
 (NP (DT the) (JJ non-profit) (NNP Wikimedia) (NNP Foundation.))

我想输出列表["Wikipedia", "collaboratively edited...", "non profit wikimedia foundation"]。中的getText方法Parse返回整个句子,而不仅仅是与解析树关联的字符串。有没有办法直接在 OpenNLP 中做到这一点?

4

2 回答 2

4

我找到了解决方案,功能是:Parse.getCoveredText().

于 2013-04-25T19:23:41.657 回答
1

您是否尝试过使用该方法Parse.getChildren()Parse这将返回一个包含所有孩子的数组。您可以从那里getLabel()找到Parse要打印的对象。

于 2013-04-25T03:34:18.640 回答