Visual Studio, C# и проблема StanfordCoreNLP - PullRequest
0 голосов
/ 13 января 2020

Моя цель - протестировать этот код, чтобы убедиться, что Stanford Core NLP установлен правильно. Сначала я установил пакет StanfordCOreNLP с помощью диспетчера пакетов NuGet, а затем я скачал zip-файл, содержащий файл jar, который необходимо установить с помощью команды jar -xf, а затем запустил код.

В (var pipeline = new StanfordCoreNLP(props);) I получаю сообщение об ошибке:

edu.stanford.nlp.io.RuntimeIOException: Ошибка при загрузке модели тегера (возможно, отсутствует файл модели) "

Внутреннее исключение IOException: Невозможно открыть "edu / stanford / nlp / models / pos-tagger / engli sh -left3words / engli sh -left3words-distsim.tagger" в качестве пути к классу, имени файла или URL-адреса

var jarRoot = @"D:/VisualStudioProjects/C#MachineLearningProjects/Chapter3TwiterSentiment/CoreNLPTest2/CoreNLPTest2/edu/stanford/nlp/models/pos-tagger"; 
var text = "We're going to test our CoreNLP instalation!!";
Properties  props = new Properties();
props.setProperty("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref");
props.setProperty("ner.useSUTime", "0");
var curDir = Environment.CurrentDirectory;
Directory.SetCurrentDirectory(jarRoot);
var pipeline = new StanfordCoreNLP(props);
Directory.SetCurrentDirectory(curDir);
var annotation = new Annotation(text);
pipeline.annotate(annotation);
using (var stream = new ByteArrayOutputStream())
{
    pipeline.prettyPrint(annotation, new PrintWriter(stream));
    Console.WriteLine(stream.toString());
    stream.close();
}
Console.ReadKey();

1 Ответ

1 голос
/ 13 января 2020

Пожалуйста, выполните следующие шаги:

Шаг 1: Загрузите Core NLP
Шаг 2: Распакуйте d: \ stanford-corenlp-full-2018-10-05
Шаг 3: Распакуйте d: \ stanford-corenlp-full-2018-10-05 \ stanford-corenlp-3.9.2-models.jar
Шаг 4: Измените var jar Root = @ "d: / stanford -corenlp-full-2018-10-05 / stanford-corenlp-3.9.2-models ";
Шаг 5: Изменить props.setProperty (" ner.useSUTime "," 0 "); в props.setProperty ("sutime.binders", "0")

...