Java 构造函数PlainTextByLineStream(StringReader)未定义
知道为什么会这样吗,我使用的是java版本10.0.1Java 构造函数PlainTextByLineStream(StringReader)未定义,java,opennlp,Java,Opennlp,知道为什么会这样吗,我使用的是java版本10.0.1 public void POSTag() throws IOException { POSModel model = new POSModelLoader().load(new File("lib/en-pos-maxent.bin")); PerformanceMonitor perfMon = new PerformanceMonitor(System.err, "sent"); POST
public void POSTag() throws IOException {
POSModel model = new POSModelLoader().load(new File("lib/en-pos-maxent.bin"));
PerformanceMonitor perfMon = new PerformanceMonitor(System.err, "sent");
POSTaggerME tagger = new POSTaggerME(model);
String input = "Hi. How are you? This is Mike.";
ObjectStream<String> lineStream = new PlainTextByLineStream(new StringReader(input));
perfMon.start();
String line;
while ((line = lineStream.read()) != null) {
String whitespaceTokenizerLine[] = WhitespaceTokenizer.INSTANCE
.tokenize(line);
String[] tags = tagger.tag(whitespaceTokenizerLine);
POSSample sample = new POSSample(whitespaceTokenizerLine, tags);
System.out.println(sample.toString());
perfMon.incrementCounter();
}
perfMon.stopAndPrintFinalResult();
}
public void POSTag()引发IOException{
POSModel model=new POSModelLoader().load(新文件(“lib/en pos maxent.bin”);
PerformanceMonitor perfMon=新的PerformanceMonitor(System.err,“已发送”);
POSTaggerME tagger=新的POSTaggerME(型号);
String input=“嗨,你好吗?我是迈克。”;
ObjectStream lineStream=新的明文ByLineStream(新的StringReader(输入));
perfMon.start();
弦线;
而((line=lineStream.read())!=null){
字符串whitespaceTokenizerLine[]=WhitespaceTokenizer.INSTANCE
.标记化(行);
String[]tags=tagger.tag(whitespaceTokenizerLine);
POSSample sample=新的POSSample(whitespaceTokenizerLine,tags);
System.out.println(sample.toString());
perfMon.incrementCounter();
}
perfMon.stop和printfinalResult();
}
在编译上述程序时,我发现了一个错误
像这样
构造函数PlainTextByLineStream(StringReader)未定义
该消息的原因是什么?如何解决?根据官方OpenNLP JavaDoc,二级构造函数是存在的
PlainTextByLineStream(InputStreamFactory InputStreamFactory,Charset Charset)
PlainTextByLineStream(InputStreamFactory InputStreamFactory,字符串charsetName)
PlainTextByLineStream(StringReader阅读器)
但是,在代码中,您可以使用现有构造函数之一,如下所示:
// ...
Charset charset = Charset.forName("UTF-8");
InputStreamFactory isf = new MarkableFileInputStreamFactory(new File("myText.txt"));
ObjectStream<String> lineStream = new PlainTextByLineStream(isf, charset);
// ...
while ((line = lineStream.read()) != null) {
// process
}
/。。。
Charset Charset=Charset.forName(“UTF-8”);
InputStreamFactory isf=新的标记文件InputStreamFactory(新文件(“myText.txt”);
ObjectStream lineStream=新的明文ByLineStream(isf,字符集);
// ...
而((line=lineStream.read())!=null){
//过程
}
请注意,您必须提供对提供文本内容的文件的引用(此处为:“mytext.txt”)
希望有帮助。你检查过我的答案了吗?这对你解决问题有帮助吗?