Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法转换opennlp分析的结果_Java_Parsing_Stanford Nlp_Opennlp - Fatal编程技术网

Java 无法转换opennlp分析的结果

Java 无法转换opennlp分析的结果,java,parsing,stanford-nlp,opennlp,Java,Parsing,Stanford Nlp,Opennlp,Im使用opennlp的解析模型解析一行输入,我的代码: public void parse(String input){ InputStream modelIn = null; try { modelIn = new FileInputStream("en-parser-chunking.bin"); ParserModel model = new ParserModel(modelIn); opennlp.tools.parser.Parser parser = Pars

Im使用opennlp的解析模型解析一行输入,我的代码:

public void parse(String input){
InputStream modelIn = null;
try {
    modelIn = new FileInputStream("en-parser-chunking.bin");
  ParserModel model = new ParserModel(modelIn);
    opennlp.tools.parser.Parser parser = ParserFactory.create(model);
    opennlp.tools.parser.Parse topParses[] = ParserTool.parseLine(input, parser, 1);
for (opennlp.tools.parser.Parse p : topParses){
            p.show();

                         }
}catch (IOException e) {
  e.printStackTrace();
}finally {
  if (modelIn != null) {
    try {
      modelIn.close();
    }
    catch (IOException e) {
    }
  }
}
    }
如果我的输入是
,这是一条测试线
p、 显示显示<代码>(顶部(NP(DT)此))(VP(VBZ为)(NP(DT a)(NN测试)(NN行е)')) 但是p.toString显示
这是一条测试线


我怎样才能使它与p.show相同?

这对我来说很有用。。。您必须使用重载的show,它在内部更新传入的StringBuffer引用

public void parse(String input){
InputStream modelIn = null;
try {
    modelIn = new FileInputStream("en-parser-chunking.bin");
  ParserModel model = new ParserModel(modelIn);
    opennlp.tools.parser.Parser parser = ParserFactory.create(model);
    opennlp.tools.parser.Parse topParses[] = ParserTool.parseLine(input, parser, 1);
    for (opennlp.tools.parser.Parse p : topParses){

      StringBuilder sb = new StringBuilder(input.length() * 4);
      p.show(sb);
      //sb now contains all the tags
      System.out.println(sb);

    }
}catch (IOException e) {
  e.printStackTrace();
}finally {
  if (modelIn != null) {
    try {
      modelIn.close();
    }
    catch (IOException e) {
    }
  }
}
} 

谢谢你的回复,迟做总比不做好:)虽然它对我来说仍然不起作用,但我已经开始使用斯坦福nlp解析器,它更适合我的需要