线程“主”中的异常,位于opennlp.tools.postag.POSTaggerME.train()处的java.lang.NullPointerException >> [

问题描述 投票:0回答:2
有同样的问题!我得到

InputSteram = null

,我使用了IntelliJ IDEA,OpenNLP 1.9.1。在Ubuntu 18.04上 public void makeDataTrainingModel() { model = null; System.out.println("POS model started"); //InputStream dataIn = null; InputStreamFactory dataIn = null; try { dataIn = new InputStreamFactory() { public InputStream createInputStream() throws IOException { return NLPClassifier.class.getResourceAsStream("/home/int/src /main/resources/en-pos.txt"); } }; //I get null pointer here in dataIn ObjectStream<String> lineStream = new PlainTextByLineStream((InputStreamFactory) , "UTF-8"); ObjectStream<POSSample> sampleStream = new WordTagSampleStream(lineStream); //This train part IS NOT WORK ? model = POSTaggerME.train("en", sampleStream, TrainingParameters.defaultParams(), null); } catch (IOException e) { // Failed to read or parse training data, training failed e.printStackTrace(); } finally { if (dataIn != null) { // dataIn.close(); System.out.println("InputStreamFactory was not created!"); } } System.out.println("POS model done..."); System.out.println("Success generate model..."); //write Data model OutputStream modelOut = null; try { String currentDir = new File("").getAbsolutePath(); modelOut = new BufferedOutputStream(new FileOutputStream(currentDir + "//src//main//resources//example-bad-model.dat")); model.serialize(modelOut); } catch (IOException e) { // Failed to save model e.printStackTrace(); } finally { if (modelOut != null) { try { modelOut.close(); } catch (IOException e) { // Failed to correctly save model. // Written model might be invalid. e.printStackTrace(); } } } System.out.println("Model generated and treated successfully..."); }
我在inputStream中得到了空指针,并且出现了错误...未创建InputStreamFactory!

Exception in thread "main" java.lang.NullPointerException at java.io.Reader.<init>(Reader.java:78) at java.io.InputStreamReader.<init>(InputStreamReader.java:113) at opennlp.tools.util.PlainTextByLineStream.reset(PlainTextByLineStream.java:57) at opennlp.tools.util.PlainTextByLineStream.<init> (PlainTextByLineStream.java:48) at opennlp.tools.util.PlainTextByLineStream.<init> (PlainTextByLineStream.java:39) at NLPClassifier.makeDataTrainingModel(NLPClassifier.java:98) at NlpProductClassifier.main(NlpProductClassifier.java:39)

数据如下所示:profit_profit shell_environment 384912_CD bucks_currency工资_利润finger_body 913964_CD usd_currencyprofit_profit faith_law 3726_CD rur_currencyProfit_Profit Game_Entertainment 897444_CD Dollar_currencygot_buy gift_jewelery 534841_CD rub_currency

为什么线程无法打开并引发异常?

有同样的问题!我得到InputSteram = null,我使用了IntelliJ IDEA,OpenNLP 1.9.1。在Ubuntu 18.04上,public void makeDataTrainingModel(){model = null; System.out.println(“ POS模型...
java nullpointerexception inputstream opennlp pos-tagger
2个回答
0
投票
如果getResourceAsStream返回null,则表示未找到资源。

0
投票
我更改了我的代码,就像欧文·博威特所说的:
© www.soinside.com 2019 - 2024. All rights reserved.