0

嗨,我使用了 openNLP 分块解析器并解析了一些文本,并在下面的堆栈溢出问题的帮助下,我尝试仅提取名词短语

如何使用 Open nlp 的分块解析器提取名词短语

但我无法提取名词短语,下面是我的代码

public class keywords {
    List<Parse> nounPhrases;
    public static void main(String args[])throws InvalidFormatException, IOException {
        InputStream is = new FileInputStream("en-parser-chunking.bin");

        ParserModel model = new ParserModel(is);

        opennlp.tools.parser.Parser parser = ParserFactory.create(model);

        String sentence = "Programcreek is a very huge and useful website";
        Parse topParses[] = ParserTool.parseLine(sentence, parser, 1);

        for (Parse p : topParses)
        {
            p.show();
            p.toString();
        }
        is.close();

    }
    public void getNounPhrases(Parse p) {
        if (p.getType().equals("NP")) {
             nounPhrases.add(p);
        }
        for (Parse child : p.getChildren()) {
             getNounPhrases(child);
        }
    }

}

请建议我从解析的内容中提取 NP

谢谢

4

1 回答 1

0

您应该以令牌格式传递字符串,如下所示:

new String[]{"Programcreek ",
             "is",
             "a",
             "very",
             "huge",
             };
于 2013-08-19T07:37:39.207 回答