Стэнфордский НЛП. Проблема перевода метода Java - PullRequest
0 голосов
/ 27 июня 2019

Я использую инструменты Stanford NLP в C # через интерфейс IKVM Java. Также получаю идеи от https://sergey -tihon.github.io / Stanford.NLP.NET / StanfordCoreNLP.html

String text = "This is a test sentence.";
var props = new Properties();
props.setProperty("annotators", "tokenize, ssplit, pos, parse");
var curDir = Environment.CurrentDirectory;
Directory.SetCurrentDirectory(modelsDirectory);
var pipeline = new StanfordCoreNLP(props);
Directory.SetCurrentDirectory(curDir);
var annotation = new Annotation(text);
pipeline.annotate(annotation);

Этот код отлично работает, чтобы получить мой Annotation. Однако, когда я пытаюсь получить доступ к аннотации для извлечения различных сущностей в аннотации, у меня возникают проблемы. Используя код из этого: Как я могу разбить текст на предложения, используя синтаксический анализатор Стэнфорда?

List<CoreMap> sentences = annotation.get(SentencesAnnotation.class);

Не ясно, как перевести SentencesAnnotation.class во что-то, что примет C #.

1 Ответ

1 голос
/ 27 июня 2019

В общем случае Java Foo.class переводится в C # typeof (Foo), поэтому C # должен принимать следующее:

IList<CoreMap> sentences = annotation.get(typeof(SentencesAnnotation));
...