protected double expectedCountsAndValueForADoc(double[][] E, int docIndex, boolean doExpectedCountCalc, boolean doValueCalc) { int[][][] docData = data[docIndex]; double[][][] featureVal3DArr = null; if (featureVal != null) { featureVal3DArr = featureVal[docIndex]; } // make a clique tree for this document CRFCliqueTree<String> cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(docData, labelIndices, numClasses, classIndex, backgroundSymbol, cliquePotentialFunc, featureVal3DArr); double prob = 0.0; if (doValueCalc) { prob = documentLogProbability(docData, docIndex, cliqueTree); } if (doExpectedCountCalc) { documentExpectedCounts(E, docData, featureVal3DArr, cliqueTree); } return prob; }
@Override protected double expectedAndEmpiricalCountsAndValueForADoc(double[][] E, double[][] Ehat, int docIndex) { int[][][] docData = data[docIndex]; double[][][] featureVal3DArr = null; if (featureVal != null) { featureVal3DArr = featureVal[docIndex]; } // make a clique tree for this document CRFCliqueTree<String> cliqueTreeNoisyLabel = CRFCliqueTree.getCalibratedCliqueTree(docData, labelIndices, numClasses, classIndex, backgroundSymbol, getFunc(docIndex), featureVal3DArr); CRFCliqueTree<String> cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(docData, labelIndices, numClasses, classIndex, backgroundSymbol, cliquePotentialFunc, featureVal3DArr); double prob = cliqueTreeNoisyLabel.totalMass() - cliqueTree.totalMass(); documentExpectedCounts(E, docData, featureVal3DArr, cliqueTree); documentExpectedCounts(Ehat, docData, featureVal3DArr, cliqueTreeNoisyLabel); return prob; }
public CRFCliqueTree<String> getCliqueTree(Triple<int[][][], int[], double[][][]> p) { int[][][] data = p.first(); double[][][] featureVal = p.third(); return CRFCliqueTree.getCalibratedCliqueTree(data, labelIndices, classIndex.size(), classIndex, flags.backgroundSymbol, getCliquePotentialFunctionForTest(), featureVal); }
CRFCliqueTree<String> cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(docData, labelIndices, numClasses, classIndex, backgroundSymbol, cliquePotentialFunc, featureVal3DArr);
CRFCliqueTree<String> cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(docData, labelIndices, numClasses, classIndex, backgroundSymbol, cliquePotentialFunc, null);
CRFCliqueTree<String> cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(docData, labelIndices, numClasses, classIndex, backgroundSymbol, cliquePotentialFunction, featureVal3DArr);
CRFCliqueTree<String> cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(docData, labelIndices, numClasses, classIndex, backgroundSymbol, cliquePotentialFunction, null);
protected double expectedCountsAndValueForADoc(double[][] E, int docIndex, boolean doExpectedCountCalc, boolean doValueCalc) { int[][][] docData = data[docIndex]; double[][][] featureVal3DArr = null; if (featureVal != null) { featureVal3DArr = featureVal[docIndex]; } // make a clique tree for this document CRFCliqueTree<String> cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(docData, labelIndices, numClasses, classIndex, backgroundSymbol, cliquePotentialFunc, featureVal3DArr); double prob = 0.0; if (doValueCalc) { prob = documentLogProbability(docData, docIndex, cliqueTree); } if (doExpectedCountCalc) { documentExpectedCounts(E, docData, featureVal3DArr, cliqueTree); } return prob; }
protected double expectedCountsAndValueForADoc(double[][] E, int docIndex, boolean doExpectedCountCalc, boolean doValueCalc) { int[][][] docData = data[docIndex]; double[][][] featureVal3DArr = null; if (featureVal != null) { featureVal3DArr = featureVal[docIndex]; } // make a clique tree for this document CRFCliqueTree cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(docData, labelIndices, numClasses, classIndex, backgroundSymbol, cliquePotentialFunc, featureVal3DArr); double prob = 0.0; if (doValueCalc) { prob = documentLogProbability(docData, docIndex, cliqueTree); } if (doExpectedCountCalc) { documentExpectedCounts(E, docData, featureVal3DArr, cliqueTree); } return prob; }
@Override protected double expectedAndEmpiricalCountsAndValueForADoc(double[][] E, double[][] Ehat, int docIndex) { int[][][] docData = data[docIndex]; double[][][] featureVal3DArr = null; if (featureVal != null) { featureVal3DArr = featureVal[docIndex]; } // make a clique tree for this document CRFCliqueTree<String> cliqueTreeNoisyLabel = CRFCliqueTree.getCalibratedCliqueTree(docData, labelIndices, numClasses, classIndex, backgroundSymbol, getFunc(docIndex), featureVal3DArr); CRFCliqueTree<String> cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(docData, labelIndices, numClasses, classIndex, backgroundSymbol, cliquePotentialFunc, featureVal3DArr); double prob = cliqueTreeNoisyLabel.totalMass() - cliqueTree.totalMass(); documentExpectedCounts(E, docData, featureVal3DArr, cliqueTree); documentExpectedCounts(Ehat, docData, featureVal3DArr, cliqueTreeNoisyLabel); return prob; }
public SequenceModel getSequenceModel(List<IN> doc, Pair<int[][][], int[]> documentDataAndLabels) { Pair<int[][][],int[]> p = documentDataAndLabels; int[][][] data = p.first(); CRFCliqueTree cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(weights, data, labelIndices, classIndex.size(), classIndex, flags.backgroundSymbol); //Scorer scorer = new Scorer(factorTables); return new TestSequenceModel(cliqueTree); }
private CRFCliqueTree getCliqueTree(List<IN> document) { Pair<int[][][],int[]> p = documentToDataAndLabels(document); int[][][] data = p.first(); //FactorTable[] factorTables = CRFLogConditionalObjectiveFunction.getCalibratedCliqueTree(weights, data, labelIndices, classIndex.size()); return CRFCliqueTree.getCalibratedCliqueTree(weights, data, labelIndices, classIndex.size(), classIndex, flags.backgroundSymbol); }
@Override protected double expectedAndEmpiricalCountsAndValueForADoc(double[][] E, double[][] Ehat, int docIndex) { int[][][] docData = data[docIndex]; double[][][] featureVal3DArr = null; if (featureVal != null) { featureVal3DArr = featureVal[docIndex]; } // make a clique tree for this document CRFCliqueTree cliqueTreeNoisyLabel = CRFCliqueTree.getCalibratedCliqueTree(docData, labelIndices, numClasses, classIndex, backgroundSymbol, getFunc(docIndex), featureVal3DArr); CRFCliqueTree cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(docData, labelIndices, numClasses, classIndex, backgroundSymbol, cliquePotentialFunc, featureVal3DArr); double prob = 0.0; prob = cliqueTreeNoisyLabel.totalMass() - cliqueTree.totalMass(); documentExpectedCounts(E, docData, featureVal3DArr, cliqueTree); documentExpectedCounts(Ehat, docData, featureVal3DArr, cliqueTreeNoisyLabel); return prob; }
CRFCliqueTree cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(weights, xscale, wis, docData, labelIndices, numClasses, classIndex, backgroundSymbol);
public CRFCliqueTree<String> getCliqueTree(Triple<int[][][], int[], double[][][]> p) { int[][][] data = p.first(); double[][][] featureVal = p.third(); return CRFCliqueTree.getCalibratedCliqueTree(data, labelIndices, classIndex.size(), classIndex, flags.backgroundSymbol, getCliquePotentialFunctionForTest(), featureVal); }
/** * Takes a {@link List} of something that extends {@link CoreMap} and prints the likelihood * of each possible label at each point. * * @param document A {@link List} of something that extends CoreMap. */ @Override public void printProbsDocument(List<IN> document) { Pair<int[][][],int[]> p = documentToDataAndLabels(document); int[][][] data = p.first(); //FactorTable[] factorTables = CRFLogConditionalObjectiveFunction.getCalibratedCliqueTree(weights, data, labelIndices, classIndex.size()); CRFCliqueTree cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(weights, data, labelIndices, classIndex.size(), classIndex, flags.backgroundSymbol); // for (int i = 0; i < factorTables.length; i++) { for (int i = 0; i < cliqueTree.length(); i++) { IN wi = document.get(i); System.out.print(wi.get(CoreAnnotations.TextAnnotation.class) + '\t'); for (Iterator<String> iter = classIndex.iterator(); iter.hasNext();) { String label = iter.next(); int index = classIndex.indexOf(label); // double prob = Math.pow(Math.E, factorTables[i].logProbEnd(index)); double prob = cliqueTree.prob(i, index); System.out.print(label + '=' + prob); if (iter.hasNext()) { System.out.print("\t"); } else { System.out.print("\n"); } } } }
public CRFCliqueTree<String> getCliqueTree(Triple<int[][][], int[], double[][][]> p) { int[][][] data = p.first(); double[][][] featureVal = p.third(); return CRFCliqueTree.getCalibratedCliqueTree(data, labelIndices, classIndex.size(), classIndex, flags.backgroundSymbol, getCliquePotentialFunctionForTest(), featureVal); }
CRFCliqueTree cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(weights, data, labelIndices, classIndex.size(), classIndex, flags.backgroundSymbol);
CRFCliqueTree cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(weights, data, labelIndices, classIndex.size(), classIndex, flags.backgroundSymbol);
CRFCliqueTree cliqueTree = CRFCliqueTree.getCalibratedCliqueTree(weights, data, labelIndices, classIndex.size(), classIndex, flags.backgroundSymbol);