crf-chain1-constrained-0.1.1: First-order, constrained, linear-chain conditional random fields

Safe HaskellNone

Data.CRF.Chain1.Constrained.Train

Synopsis

Documentation

data CRF a b Source

A conditional random field model with additional codec used for data encoding.

Constructors

CRF 

Fields

codec :: Codec a b

The codec is used to transform data into internal representation, where each observation and each label is represented by a unique integer number.

model :: Model

The actual model, which is a map from Features to potentials.

Instances

(Ord a, Ord b, Binary a, Binary b) => Binary (CRF a b) 

trainSource

Arguments

:: (Ord a, Ord b) 
=> SgdArgs

Args for SGD

-> IO [SentL a b]

Training data IO action

-> Maybe (IO [SentL a b])

Maybe evalation data

-> (AVec Lb -> [(Xs, Ys)] -> [Feature])

Feature selection

-> IO (CRF a b)

Resulting model

Train the CRF using the stochastic gradient descent method. The resulting model will contain features extracted with the user supplied extraction function. You can use the functions provided by the Data.CRF.Chain1.Feature.Present and Data.CRF.Chain1.Feature.Hidden modules for this purpose. When the evaluation data IO action is Just, the iterative training process will notify the user about the current accuracy on the evaluation part every full iteration over the training part. TODO: Accept custom r0 construction function.