Example usage for edu.stanford.nlp.simple Sentence text

List of usage examples for edu.stanford.nlp.simple Sentence text

Introduction

In this page you can find the example usage for edu.stanford.nlp.simple Sentence text.

Prototype

public String text() 

Source Link

Document

The raw text of the sentence, as input by, e.g., Sentence#Sentence(String) .

Usage

From source file:io.anserini.qa.RetrieveSentences.java

License:Apache License

public void getRankedPassages(Args args) throws Exception {
    Map<String, Float> scoredDocs = retrieveDocuments(args);
    Map<String, Float> sentencesMap = new LinkedHashMap<>();

    IndexUtils util = new IndexUtils(args.index);

    TokenizerFactory<CoreLabel> tokenizerFactory = PTBTokenizer.factory(new CoreLabelTokenFactory(), "");

    for (Map.Entry<String, Float> doc : scoredDocs.entrySet()) {
        List<Sentence> sentences = util.getSentDocument(doc.getKey());

        for (Sentence sent : sentences) {
            List<CoreLabel> tokens = tokenizerFactory.getTokenizer(new StringReader(sent.text())).tokenize();
            String answerTokens = tokens.stream().map(CoreLabel::toString).collect(Collectors.joining(" "));
            sentencesMap.put(answerTokens, doc.getValue());
        }//from www .j  ava  2 s  . c  o m
    }

    String queryTokens = tokenizerFactory.getTokenizer(new StringReader(args.query)).tokenize().stream()
            .map(CoreLabel::toString).collect(Collectors.joining(" "));
    scorer.score(queryTokens, sentencesMap);

    List<ScoredPassage> topPassages = scorer.extractTopPassages();
    for (ScoredPassage s : topPassages) {
        System.out.println(s.getSentence() + " " + s.getScore());
    }
}