Example usage for edu.stanford.nlp.util ScoredObject ScoredObject

List of usage examples for edu.stanford.nlp.util ScoredObject ScoredObject

Introduction

In this page you can find the example usage for edu.stanford.nlp.util ScoredObject ScoredObject.

Prototype

public ScoredObject(T object, double score) 

Source Link

Usage

From source file:conditionalCFG.ConditionalCFGParser.java

License:Open Source License

/** Get the exact k best parses for the sentence.
 *
 *  @param k The number of best parses to return
 *  @return The exact k best parses for the sentence, with
 *         each accompanied by its score (typically a
 *         negative log probability).//from w  ww.j  a  v a2  s  . c  om
 */
public List<ScoredObject<Tree>> getKBestParses(int k) {

    cand = new HashMap<Vertex, PriorityQueue<Derivation>>();
    dHat = new HashMap<Vertex, LinkedList<Derivation>>();

    int start = 0;
    int end = length;
    int goal = stateIndex.indexOf(goalStr);

    Vertex v = new Vertex(goal, start, end);
    List<ScoredObject<Tree>> kBestTrees = new ArrayList<ScoredObject<Tree>>();
    for (int i = 1; i <= k; i++) {
        Tree internalTree = getTree(v, i, k);
        if (internalTree == null) {
            break;
        }
        // restoreUnaries(internalTree);
        kBestTrees.add(new ScoredObject<Tree>(internalTree, dHat.get(v).get(i - 1).score));
        double score = scoreBinarizedTree(internalTree, 0);
        if (Math.abs(score - dHat.get(v).get(i - 1).score) > 1e-1) {
            System.out.println(score + " " + dHat.get(v).get(i - 1).score);
            assert (false);
        }
    }
    return kBestTrees;
}

From source file:conditionalCFG.ConditionalCFGParser.java

License:Open Source License

/** Get a complete set of the maximally scoring parses for a sentence,
 *  rather than one chosen at random.  This set may be of size 1 or larger.
 *
 *  @return All the equal best parses for a sentence, with each
 *         accompanied by its score/*from   ww  w.  j a va2 s .c o m*/
 */
public List<ScoredObject<Tree>> getBestParses() {
    int start = 0;
    int end = length;
    int goal = stateIndex.indexOf(goalStr);
    double bestScore = iScore[start][end][goal];
    List<Tree> internalTrees = extractBestParses(goal, start, end);
    //System.out.println("Got internal best parse...");
    // for (Tree internalTree : internalTrees) {
    //   restoreUnaries(internalTree);
    // }
    //System.out.println("Restored unaries...");
    List<ScoredObject<Tree>> scoredTrees = new ArrayList<ScoredObject<Tree>>(internalTrees.size());
    for (Tree tr : internalTrees) {
        scoredTrees.add(new ScoredObject<Tree>(tr, bestScore));
    }
    return scoredTrees;
    //TreeTransformer debinarizer = BinarizerFactory.getDebinarizer();
    //return debinarizer.transformTree(internalTree);
}