Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.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_Opennlp_Text Chunking - Fatal编程技术网

Java OpenNLP如何创建用于解析器分块的模型

Java OpenNLP如何创建用于解析器分块的模型,java,parsing,opennlp,text-chunking,Java,Parsing,Opennlp,Text Chunking,我正在尝试用OpenNLP用葡萄牙语创建解析器分块。但我没有成功 我认为创建模型需要两个文件: 一个扩展名为train.all的培训文件,格式为: (TOP (S (NP-SBJ (DT Some) )(VP (VBP say) (NP (NNP November) ))(. .) )) (TOP (S (NP-SBJ (PRP I) )(VP (VBP say) (NP (CD 1992) ))(. .) ('' '') )) 一个具有头规则名称的规则文件。我的文件包含这些来自互联网的规

我正在尝试用OpenNLP用葡萄牙语创建解析器分块。但我没有成功
我认为创建模型需要两个文件:

  • 一个扩展名为train.all的培训文件,格式为:

    (TOP (S (NP-SBJ (DT Some) )(VP (VBP say) (NP (NNP November) ))(. .) ))
    (TOP (S (NP-SBJ (PRP I) )(VP (VBP say) (NP (CD 1992) ))(. .) ('' '') ))
    
  • 一个具有头规则名称的规则文件。我的文件包含这些来自互联网的规则

    20 ADJP 0 NNS QP NN $ ADVP JJ VBN VBG ADJP JJR NP JJS DT FW RBR RBS SBAR RB 
    15 ADVP 1 RB RBR RBS FW ADVP TO CD JJR JJ IN NP JJS NN
    5 CONJP 1 CC RB IN
    2 FRAG 1 
    2 INTJ 0 
    4 LST 1 LS :
    19 NAC 0 NN NNS NNP NNPS NP NAC EX $ CD QP PRP VBG JJ JJS JJR ADJP FW
    8 PP 1 IN TO VBG VBN RP FW
    2 PRN 1 
    3 PRT 1 RP
    
我使用此命令生成模型en-parser-chunking.bin

$ Bin / OpenNLP ParserTrainer -encoding ISO-8859-1 -lang en -parserType CHUNKING -headRules head_rules -data train.all -model en-parser-chunking.bin
因此,我使用这个模型en-parser-chunking.bin来处理解析器。遵守守则:

ParserModel modelParse = new ParserModel(parserStream);
Parser parser = ParserFactory.create(modelParse);
Parse Parses [] = ParserTool.parseLine ("Some say Novembro", parser, 1);
运行代码时,出现以下错误:

SEVERE: Servlet.service() for servlet [DispatcherServlet] in context with path [/ProjetoCMBuilder] threw exception [Request processing failed; nested exception is java.lang.ArrayIndexOutOfBoundsException: -1] with root cause
java.lang.ArrayIndexOutOfBoundsException: -1
    at opennlp.tools.parser.treeinsert.Parser.advanceParses(Parser.java:346)
    at opennlp.tools.parser.AbstractBottomUpParser.parse(AbstractBottomUpParser.java:311)
    at opennlp.tools.parser.AbstractBottomUpParser.parse(AbstractBottomUpParser.java:365)
    at opennlp.tools.cmdline.parser.ParserTool.parseLine(ParserTool.java:77)
    at ProjetoCMBuilder.service.LibOpenNLPServiceBean.processarTexto(LibOpenNLPServiceBean.java:78)
    at ProjetoCMBuilder.controller.ProcessController.getAllPropositionPt(ProcessController.java:142)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
如何创建一个模型解析器-chunking.bin