Конструктор PlainTextByLineStream (StringReader) не определен - PullRequest
0 голосов
/ 03 июня 2018

Любая идея, почему это происходит, я использую 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");
        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();
}

во время компиляции вышеуказанной программы, я получаю и ошибка, как это

Конструктор PlainTextByLineStream (StringReader) не определен.

В чем причина сообщения и как его можно устранить?

1 Ответ

0 голосов
/ 15 июня 2018

Согласно официальному OpenNLP JavaDoc класса PlainTextByLineStream существует два конструктора.

  1. PlainTextByLineStream(InputStreamFactory inputStreamFactory, Charset charset)
  2. PlainTextByLineStream(InputStreamFactory inputStreamFactory, String charsetName)

Как видно, существует нет конструктора, такого как PlainTextByLineStream(StringReader reader).

Однако в вашем коде вы можете использовать один из существующих конструкторов следующим образом:

// ...
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
}

Обратите внимание, что вы должны предоставить ссылку на File (здесь: "mytext.txt"), предоставляющего текстовое содержимое.

Надеюсь, это поможет.

...