I am trying to extract the noun phrases from sentences. I am using opennlp librari "en-parser-chunking.bin".
code example:
ArrayList<opennlp.tools.parser.Parse> nounPhrases = new ArrayList<>();
searchmethod("what is the nickname of the British flag?");
for(int t =0; t<50; t++)
{
str= text.get(t);
InputStream is = new FileInputStream("en-parser-chunking.bin");
ParserModel model = new ParserModel(is);
opennlp.tools.parser.Parser parser = ParserFactory.create(model);
opennlp.tools.parser.Parse[] topParses = ParserTool.parseLine(str, parser, 1);
for (opennlp.tools.parser.Parse p : topParses){
p.show();
if (p.getType().equals("NP")) {
nounPhrases.add(p);
}
}
}
With this code i get the following result:
(TOP (S (NP (NP (DT The) (NN nickname)) (PP (IN for) (NP (DT the) (JJ British) (NN flag)))) (VP (VBZ is) (NP (NP (DT the) (NNP Union) (NNP Jack.)) (SBAR (IN Although) (S (NP (PRP it)) (VP (VBZ is) (ADVP (RB only) (RB correctly)) (VP (VBN known) (PP (IN as) (NP (DT this) (NN when) (NN flown))) (PP (IN on) (NP (DT a) (NN ship.)))))))))))
How can i extract from that result the noun phrases?
Any help would be greatly appreciated.