2016-10-16 6 views
0

Я пытаюсь настроить свой парсер NLP с помощью библиотеки stanford. На сайте я скачалStanford CoreNLP - Как настроить другой язык

  • stanford-corenlp-full-2015-12-09.zip
  • Standford-французский-corenlp-2016-01-14-models.jar

сейчас Я столкнулся с проблемой, как я могу указать свое приложение, чтобы использовать французскую модель для анализа моего предложения.

Я на самом деле этот код (рабочий для английских предложений)

String text = "I am very sad"; 
    Properties props = new Properties(); 
    props.setProperty("annotators", "tokenize, ssplit, pos, lemma, parse, sentiment"); 
    StanfordCoreNLP pipeline = new StanfordCoreNLP(props); 

    Annotation annotation = pipeline.process(text); 
    List<CoreMap> sentences = annotation.get(CoreAnnotations.SentencesAnnotation.class); 
    for (CoreMap sentence : sentences) { 
     String sentiment = sentence.get(SentimentCoreAnnotations.SentimentClass.class); 
     System.out.println(sentiment + "\t" + sentence); 
    } 

Есть ли способ указать в коде, который я хочу французскую модель (и попытаться разобрать фразу, как «Bonjour, Je м «Appelle Jean».

Спасибо, Alexi

ответ

0

решение добавить Standford французский .jar файл в пути к классам.

Работает следующий код

String sampleFrenchText = "Le chat mange la souris"; 
Annotation frenchAnnotation = new Annotation(sampleFrenchText); 
Properties frenchProperties = StringUtils.argsToProperties(new String[]{"-props", "StanfordCoreNLP-french.properties"}); 
StanfordCoreNLP pipeline = new StanfordCoreNLP(frenchProperties); 
pipeline.annotate(frenchAnnotation); 
for (CoreMap sentence : frenchAnnotation.get(CoreAnnotations.SentencesAnnotation.class)) { 
    Tree sentenceTree = sentence.get(TreeCoreAnnotations.TreeAnnotation.class); 
    System.out.println(sentenceTree); 
}