Namespace NOpenNLP.Tools.Ml.Maxent

Provides main functionality of the maxent package including data structures and algorithms for parameter estimation.

Namespaces

NOpenNLP.Tools.Ml.Maxent.Io

Provides the I/O functionality of the maxent package including reading and writing models in several formats.

NOpenNLP.Tools.Ml.Maxent.Quasinewton

Classes

BasicContextGenerator

Generates contexts for maxent decisions, assuming that the input given to the GetContext(string) method is a string containing contextual predicates separated by spaces, e.g.

cp_1 cp_2 ... cp_n

GISModel

A maximum entropy model which has been trained using the Generalized Iterative Scaling procedure (implemented in GIS.java).

GISTrainer

An implementation of Generalized Iterative Scaling. The reference paper for this implementation was Adwait Ratnaparkhi's tech report at the University of Pennsylvania's Institute for Research in Cognitive Science, and is available at ftp://ftp.cis.upenn.edu/pub/ircs/tr/97-08.ps.Z.

The slack parameter used in the above implementation has been removed by default from the computation and a method for updating with Gaussian smoothing has been added per Investigating GIS and Smoothing for Maximum Entropy Taggers, Clark and Curran (2002). http://acl.ldc.upenn.edu/E/E03/E03-1071.pdf Gaussian smoothing can be used by setting useGaussianSmoothing to true.

A prior can be used to train models which converge to the distribution which minimizes the relative entropy between the distribution specified by the empirical constraints of the training data and the specified prior. By default, the uniform distribution is used as the prior.

RealBasicEventStream

An event stream which reads real-valued events from a stream of strings, each holding contextual predicates followed by the outcome.

Interfaces

IContextGenerator<T>

Generates contexts for maxent decisions.

IDataStream

An interface for objects which can deliver a stream of training data to be supplied to an event stream. It is not necessary to use an IDataStream in a maxent application, but it can be used to support a wider variety of formats in which your training data can be held.