QNModel (Apache OpenNLP Tools 2.5.9 API)
Description: declaration: package: opennlp.tools.ml.maxent.quasinewton, class: QNModel

# Class QNModel

java.lang.Object
opennlp.tools.ml.model.AbstractModel
opennlp.tools.ml.maxent.quasinewton.QNModel

All Implemented Interfaces:
  `MaxentModel`

public class QNModel extends AbstractModel
A `maximum entropy model` which has been trained via the L-BFGS algorithm , which belongs to the group of Quasi Newton (QN) algorithms.

See Also:
  - `AbstractModel`
  - `MaxentModel`
  - `QNTrainer`

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class AbstractModel

  `AbstractModel.ModelType`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `QNModel(Context[] params, String[] predLabels, String[] outcomeNames)`
  Initializes a `QNModel` with the specified parameters, predicate/feature labels, and outcome names.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `double[]`
  `eval(String[] context)`
  Evaluates a `context`.
  `double[]`
  `eval(String[] context, double[] probs)`
  Evaluates a `context`.
  `double[]`
  `eval(String[] context, float[] values)`
  Evaluates a `context` with the specified context `values`.
  `int`
  `getNumOutcomes()`

  ### Methods inherited from class AbstractModel

  `equals, getAllOutcomes, getBestOutcome, getDataStructures, getIndex, getModelType, getOutcome, hashCode`

  ### Methods inherited from class Object

  `getClass, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### QNModel

    public QNModel(Context[] params, String[] predLabels, String[] outcomeNames)
    Initializes a `QNModel` with the specified parameters, predicate/feature labels, and outcome names.
    Parameters:
      `params` - The `parameters` of the model.
      `predLabels` - The names of the predicates used in this model.
      `outcomeNames` - The names of the outcomes this model predicts.

- ## Method Details

  - ### getNumOutcomes

    public int getNumOutcomes()
    Specified by:
      `getNumOutcomes` in interface `MaxentModel`
    Overrides:
      `getNumOutcomes` in class `AbstractModel`
    Returns:
      Retrieves the number of outcomes for this model.

  - ### eval

    public double[] eval(String[] context)
    Evaluates a `context`.
    Parameters:
      `context` - An array of String names of the contextual predicates which are to be evaluated together.
    Returns:
      An array of the probabilities for each of the different outcomes, all of which sum to `1`.

  - ### eval

    public double[] eval(String[] context, double[] probs)
    Evaluates a `context`.
    Parameters:
      `context` - An array of String names of the contextual predicates which are to be evaluated together.
      `probs` - An array which is populated with the probabilities for each of the different outcomes, all of which sum to 1.
    Returns:
      An array of the probabilities for each of the different outcomes, all of which sum to `1`.

  - ### eval

    public double[] eval(String[] context, float[] values)
    Evaluates a `context` with the specified context `values`.
    Parameters:
      `context` - An array of String names of the contextual predicates which are to be evaluated together.
      `values` - The values associated with each context.
    Returns:
      An array of the probabilities for each of the different outcomes, all of which sum to `1`.