stanfordnlp/CoreNLP · error · IllegalArgumentException
Invalid prior
Error message
Invalid prior: ${prior} What it means
Thrown by LogConditionalEqConstraintFunction when the prior argument is not one of the supported priors (e.g., QUADRATIC_PRIOR, HUBER_PRIOR, L1_PRIOR). Regularization type selection failed the allowed-value check.
Solutions
- Use one of the class's defined prior constants
- Check for accidentally passed sigma or epsilon values in the prior argument slot
- Default to QUADRATIC_PRIOR
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/edu/stanford/nlp/classify/LogConditionalEqConstraintFunction.java:274 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of stanfordnlp/CoreNLP@1b7edd19c4 (2026-09-10).
Data as JSON: /api/errors/18679baa80a395bf.
Report an issue: GitHub.
Appendix: source
Thrown at src/edu/stanford/nlp/classify/LogConditionalEqConstraintFunction.java:274
public LogConditionalEqConstraintFunction(int numFeatures, int numClasses, int[][] data, int[] labels) {
this(numFeatures, numClasses, data, labels, 1.0);
}
public LogConditionalEqConstraintFunction(int numFeatures, int numClasses, int[][] data, int[] labels, double sigma) {
this(numFeatures, numClasses, data, labels, QUADRATIC_PRIOR, sigma, 0.0);
}
public LogConditionalEqConstraintFunction(int numFeatures, int numClasses, int[][] data, int[] labels, int prior, double sigma, double epsilon) {
this.numFeatures = numFeatures;
this.numClasses = numClasses;
this.data = data;
this.labels = labels;
if (prior >= 0 && prior <= QUARTIC_PRIOR) {
this.prior = prior;
} else {
throw new IllegalArgumentException("Invalid prior: " + prior);
}
this.epsilon = epsilon;
this.sigma = sigma;
numValues = NaiveBayesClassifierFactory.numberValues(data, numFeatures);
for (int i = 0; i < numValues.length; i++) {
System.out.println("numValues " + i + " " + numValues[i]);
}
featureIndex = createIndex();
}
/**
* use a random starting point uniform -1 1
*
*/
@Override
public double[] initial() {
double[] initial = new double[domainDimension()];
for (int i = 0; i < initial.length; i++) {View on GitHub (pinned to 1b7edd19c4)