Package opennlp.tools.ml.perceptron

# Class PerceptronModel

java.lang.Object
opennlp.tools.ml.model.AbstractModel
opennlp.tools.ml.perceptron.PerceptronModel

All Implemented Interfaces:
  `MaxentModel`

public class PerceptronModel extends AbstractModel
A `model` implementation based one the perceptron algorithm.

Each outcome is represented as a binary perceptron classifier. This supports standard (integer) weighting as well average weighting as described in: Discriminative Training Methods for Hidden Markov Models: Theory and Experiments with the Perceptron Algorithm. Michael Collins, EMNLP 2002.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class opennlp.tools.ml.model.AbstractModel

  `AbstractModel.ModelType`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PerceptronModel(Context[] params, String[] predLabels, String[] outcomeNames)`
  Initializes a `PerceptronModel`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  `static double[]`
  `eval(int[] context, double[] prior, EvalParameters model)`
  Evaluates a `PerceptronModel`.
  `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`.
  `double[]`
  `eval(String[] context, float[] values, double[] outsums)`
  `int`
  `hashCode()`

  ### Methods inherited from class opennlp.tools.ml.model.AbstractModel

  `getAllOutcomes, getBestOutcome, getDataStructures, getIndex, getModelType, getNumOutcomes, getOutcome`

  ### Methods inherited from class java.lang.Object

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

- ## Constructor Details

  - ### PerceptronModel

    public PerceptronModel(Context[] params, String[] predLabels, String[] outcomeNames)
    Initializes a `PerceptronModel`.
    Parameters:
      `params` - The `parameters` to set.
      `predLabels` - The predicted labels.
      `outcomeNames` - The names of the outcomes.

- ## Method Details

  - ### 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, 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`.

  - ### 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, double[] outsums)

  - ### eval

    public static double[] eval(int[] context, double[] prior, EvalParameters model)
    Evaluates a `PerceptronModel`.
    Parameters:
      `context` - The context parameters as `int[]`.
      `prior` - The data prior to the evaluation as `double[]`.
      `model` - The `EvalParameters` used for evaluation.
    Returns:
      The resulting evaluation data as `double[]`.

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `AbstractModel`

  - ### equals

    public boolean equals(Object obj)
    Overrides:
      `equals` in class `AbstractModel`