stanford core nlp java output

前端 未结 1 1329
梦毁少年i
梦毁少年i 2020-12-13 05:10

I\'m a newbie with Java and Stanford NLP toolkit and trying to use them for a project. Specifically, I\'m trying to use Stanford Corenlp toolkit to annotate a text (with Net

相关标签:
1条回答
  • 2020-12-13 05:30

    Once you have any or all of the natural language analyses shown in your code example, all you need to do is send them to a file in the normal Java fashion, e.g., with a FileWriter for text format output. Concretely, here's a simple complete example that shows output sent to files (if you give it appropriate command-line arguments):

    import java.io.*;
    import java.util.*;
    
    import edu.stanford.nlp.io.*;
    import edu.stanford.nlp.ling.*;
    import edu.stanford.nlp.pipeline.*;
    import edu.stanford.nlp.trees.*;
    import edu.stanford.nlp.util.*;
    
    public class StanfordCoreNlpDemo {
    
      public static void main(String[] args) throws IOException {
        PrintWriter out;
        if (args.length > 1) {
          out = new PrintWriter(args[1]);
        } else {
          out = new PrintWriter(System.out);
        }
        PrintWriter xmlOut = null;
        if (args.length > 2) {
          xmlOut = new PrintWriter(args[2]);
        }
    
        StanfordCoreNLP pipeline = new StanfordCoreNLP();
        Annotation annotation;
        if (args.length > 0) {
          annotation = new Annotation(IOUtils.slurpFileNoExceptions(args[0]));
        } else {
          annotation = new Annotation("Kosgi Santosh sent an email to Stanford University. He didn't get a reply.");
        }
    
        pipeline.annotate(annotation);
        pipeline.prettyPrint(annotation, out);
        if (xmlOut != null) {
          pipeline.xmlPrint(annotation, xmlOut);
        }
        // An Annotation is a Map and you can get and use the various analyses individually.
        // For instance, this gets the parse tree of the first sentence in the text.
        List<CoreMap> sentences = annotation.get(CoreAnnotations.SentencesAnnotation.class);
        if (sentences != null && sentences.size() > 0) {
          CoreMap sentence = sentences.get(0);
          Tree tree = sentence.get(TreeCoreAnnotations.TreeAnnotation.class);
          out.println();
          out.println("The first sentence parsed is:");
          tree.pennPrint(out);
        }
      }
    
    }
    
    0 讨论(0)
提交回复
热议问题