Я использую приведенный ниже пример кода, чтобы попробовать анализ настроений, однако он возвращает ошибку, показанную ниже.Аннотатор tokenize работает, но когда я добавляю аннотатор sentiment, он возвращает мне ошибку.
Я уже пробовал использовать другие версии моделей, такие как 3.8 и 3.9, но проблема все еще существует.Я также попытался изменить версии, которые я установил из NuGet.Пожалуйста, помогите мне решить эту проблему или дайте мне любую ссылку, где обсуждается, как шаг за шагом установить пакеты правильно. Спасибо
using System;
using System.IO;
using java.util;
using java.io;
using edu.stanford.nlp.pipeline;
using Console = System.Console;
namespace Stanford.NLP.CoreNLP.CSharp
{
class Program
{
static void Main()
{
// Path to the folder with models extracted from `stanford-corenlp-3.7.0-models.jar`
var jarRoot = @"C:\Users\CarloDp\Documents\NLP\Core\stanford-corenlp-full-2016-10-31\edu\stanford\nlp\models";
// Text for processing
var text = "Kosgi Santosh sent an email to Stanford University. He didn't get a reply.";
// Annotation pipeline configuration
var props = new Properties();
props.setProperty("annotators", "tokenize, sentiment");
props.setProperty("ner.useSUTime", "0");
// We should change current directory, so StanfordCoreNLP could find all the model files automatically
var curDir = Environment.CurrentDirectory;
Directory.SetCurrentDirectory(jarRoot);
var pipeline = new StanfordCoreNLP(props);
Directory.SetCurrentDirectory(curDir);
// Annotation
var annotation = new Annotation(text);
pipeline.annotate(annotation);
// Result - Pretty Print
using (var stream = new ByteArrayOutputStream())
{
pipeline.prettyPrint(annotation, new PrintWriter(stream));
Console.WriteLine(stream.toString());
stream.close();
}
}
}
}
SLF4J: Не удалось загрузить класс "org.slf4j.impl.StaticLoggerBinder».SLF4J: По умолчанию используется логгер без операций (NOP). SLF4J: Подробнее см. http://www.slf4j.org/codes.html#StaticLoggerBinder.
Необработанное исключение: edu.stanford.nlp.io.RuntimeIOException: java.io.IOException: Невозможно открыть "edu / stanford / nlp / models / sentiment / sentiment.ser.gz" как класс p ath, имя файла или URL ---> java.io.IOException: Невозможно открыть "edu / stanford / nlp / models/sentiment/sentiment.ser.gz "в качестве пути к классу, имени файла или URL-адреса по адресу edu.stanford.nlp.io.IOUtils.getInputStreamFromURLOrClasspathOrFileSystem (строка textFileOrUrl) по адресу edu.stanford.nlp.io.IOUtils.readObjectFilepOrgFileSystemOrGr_SystemRolrrSrgrSricerSrofrSrgrSrFrrSrgrSrFrrrSrFrrSrFrFrrrSrFRв edu.stanford.nlp.sentiment.SentimentModel.loadSerialized (String path) --- Конец внутренней трассировки стека исключений --- в edu.stanford.nlp.sentiment.SentimentModel.loadSerialized (String path) в edu.stanford.nlp.pipeline.SentimentAnnotator..ctor (имя строки, свойства реквизиты) в edu.stanford.nlp.pipeline.AnnotatorImplementations.sentiment (свойства свойств, имя строки) в edu.stanford.nlp.pipeline.StanfordCoreNLP.lambda $ getNamedAnnotators $ 55 (свойства, аннотаторные имплементации) в edu.stanford.nlp.pipeline.StanfordCoreNLP. <> Anon17.apply (объект, объект) в edu.stanpline.pl.StanfordCoreNLP.lambda $ null $ 69 (Entry, Property s, AnnotatorImplementations) в edu.stanford.nlp.pipeline.StanfordCoreNLP. <> Anon38.get () в edu.stanford.nlp.util.Lazy.3.compute() в edu.stanford.nlp.util.Lazy.get () в edu.stanford.nlp.pipeline.AnnotatorPool.get (имя строки) в edu.stanford.nlp.pipeline.StanfordCoreNLP.construct (свойства, логические значения, аннотаторImplementations) в edu.stanford.nlp.pipeline.StanfordCoreNLP..ctor (свойства реквизиты, булевские принудительные требования, AnnotatorPool annotatorPool) в edu.stanford.nlp.pipeline.StanfordCoreNLP..ctor (свойства реквизиты, логические принудительные требования) в edu..pipeline.StanfordCoreNLP..ctor (Свойства реквизита)
в Stanford.NLP.CoreNLP.CSharp.Program.Main () в C: \ Users \ CarloDp \ Documents \ V isual Studio2015 \ Projects \ coreNLP \ coreNLP \ Program.cs: строка 28