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

Safe HaskellNone
LanguageHaskell98

Data.CRF.Chain1.Constrained.DAG.Dataset.Codec

Synopsis

Documentation

type CodecM a b c = Codec (Codec a b) c Source #

Type synonym for the codec monad. It is important to notice that by a codec we denote here a structure of two AtomCodecs while in the monad-codec package it denotes a monad.

type Codec a b = (AtomCodec a, AtomCodec (Maybe b)) Source #

A codec. The first component is used to encode observations of type a, the second one is used to encode labels of type b.

obMax :: Codec a b -> Ob Source #

The maximum internal observation included in the codec.

lbMax :: Codec a b -> Lb Source #

The maximum internal label included in the codec.

empty :: Ord b => Codec a b Source #

The empty codec. The label part is initialized with Nothing member, which represents unknown labels. It is taken on account in the model implementation because it is assigned to the lowest label code and the model assumes that the set of labels is of the {0, ..., lbMax} form.

encodeWordL'Cu :: (Ord a, Ord b) => WordL a b -> CodecM a b (X, Y) Source #

Encode the labeled word and update the codec.

encodeWordL'Cn :: (Ord a, Ord b) => WordL a b -> CodecM a b (X, Y) Source #

Encodec the labeled word and do *not* update the codec.

encodeWord'Cu :: (Ord a, Ord b) => Word a b -> CodecM a b X Source #

Encode the word and update the codec.

encodeWord'Cn :: (Ord a, Ord b) => Word a b -> CodecM a b X Source #

Encode the word and do *not* update the codec.

encodeLabels :: Ord b => Codec a b -> [b] -> AVec Lb Source #

Encode labels into an ascending vector of distinct label codes.

encodeLabel :: Ord b => Codec a b -> b -> Lb Source #

Encode the label.

decodeLabel :: Ord b => Codec a b -> Lb -> Maybe b Source #

Decode the label.

decodeLabels :: Ord b => Codec a b -> [Lb] -> [Maybe b] Source #

Decode the sequence of labels.

unJust :: Ord b => Codec a b -> Word a b -> Maybe b -> b Source #

Return the label when Just or one of the unknown values when Nothing.

unJusts :: Ord b => Codec a b -> Word a b -> [Maybe b] -> [b] Source #

Replace Nothing labels with all unknown labels from the set of potential interpretations.

type Xs = DAG () X Source #

Utility types.

type XYs = DAG () (X, Y) Source #

encodeSent'Cu :: (Ord a, Ord b) => Sent a b -> CodecM a b Xs Source #

Encode the sentence and update the codec.

encodeSent'Cn :: (Ord a, Ord b) => Sent a b -> CodecM a b Xs Source #

Encode the sentence and do *not* update the codec.

encodeSent :: (Ord a, Ord b) => Codec a b -> Sent a b -> Xs Source #

Encode the sentence using the given codec.

encodeSentL'Cu :: (Ord a, Ord b) => SentL a b -> CodecM a b XYs Source #

Encode the labeled sentence and update the codec.

encodeSentL'Cn :: (Ord a, Ord b) => SentL a b -> CodecM a b XYs Source #

Encode the labeled sentence and do *not* update the codec. Substitute the default label for any label not present in the codec.

encodeSentL :: (Ord a, Ord b) => Codec a b -> SentL a b -> XYs Source #

Encode the labeled sentence with the given codec. Substitute the default label for any label not present in the codec.

encodeData :: (Ord a, Ord b) => Codec a b -> [Sent a b] -> [Xs] Source #

Encode the dataset with the codec.

encodeDataL :: (Ord a, Ord b) => Codec a b -> [SentL a b] -> [XYs] Source #

Encode the labeled dataset using the codec. Substitute the default label for any label not present in the codec.

mkCodec :: (Ord a, Ord b) => [SentL a b] -> Codec a b Source #

Create codec on the basis of the labeled dataset.