2016-05-11 6 views
0

Ich bin neu zu Stanford CoreNLP. Ich habe einige Sätze, die ich Typ zu Liste diese String Sätze werfen wollen und setzen Sie ihn auf annotation.set(CoreAnnotations.SentencesAnnotation.class, sentences);Wie setze ich Sätze zu SentencesAnnotation.class

irgendeiner Weise die oben genannten Aufgaben zu tun?

Antwort

0

Sie müssen ein List<CoreMap> Objekt füllen, der folgende Code gibt Ihnen einen Hinweis, wie Sie es Satz für Satz tun. Aber es andere Feld zu füllen, können Sie einen vollständigen Code finden here

List<String> yourSentences = ...; 
int tokenOffset = 0; 
List<CoreMap> sentences = new ArrayList<CoreMap>(); 
for(String s: yourSentences){ 
    List<CoreLabel> tokenizedSentence = tokenizerFactory.getTokenizer(
      new StringReader(s)).tokenize(); 
    Annotation sentence = new Annotation(text.trim()); 
    sentence.set(CoreAnnotations.TokensAnnotation.class, tokenizedSentence); 
tokenOffset += sentenceTokens.size(); 
      sentence.set(CoreAnnotations.TokenEndAnnotation.class, tokenOffset); 
      sentence.set(CoreAnnotations.SentenceIndexAnnotation.class, sentences.size()); 
    sentences.add(sentence); 
} 
+0

ich den gleichen Link gefolgt sind, die Sie in Ihrer Antwort gegeben haben. Ich muss Parse-Baum mit String-Satz oder mithilfe von Liste Sätze festlegen. – iNikkz