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

  1. Use one of the class's defined prior constants
  2. Check for accidentally passed sigma or epsilon values in the prior argument slot
  3. 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)