package mstparser;
public abstract class ConfidenceEstimator {
public static ConfidenceEstimator resolveByName(
String confEstimatorName,
DependencyParser depParser) {
// Expected name format: Type*param1*param2*...
String[] params = confEstimatorName.split("\\*");
String type = params[0];
if (type.equals("KDFix")) {
// Expected format: KDFix*stddev*K
double stddev = Double.parseDouble(params[1]);
int K = Integer.parseInt(params[2]);
return new ConfidenceEstimatorKDFix(stddev, K, depParser);
}
throw new RuntimeException("Unknown confidence estimator: "
+ confEstimatorName);
}
// Compute the confidence score for each predicted edge.
public abstract double[] estimateConfidence(DependencyInstance inst);
}