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

Data.CRF.Chain1.Dataset.Codec

Synopsis

Documentation

type Codec a b = (AtomCodec a, AtomCodec 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.

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.

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

Encode the word and update the codec.

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

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

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

Encode the sentence and update the codec.

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

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

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

Encode the sentence using the given codec.

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) => Int -> WordL a b -> CodecM a b (X, Y) Source #

Encodec the labeled word and do *not* update the codec. If the label is not in the codec, use the default value.

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

Encode the labeled sentence and update the codec.

encodeSentL'Cn :: (Ord a, Ord b) => b -> SentL a b -> CodecM a b (Xs, Ys) 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) => b -> Codec a b -> SentL a b -> (Xs, Ys) Source #

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

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

Decode the label.

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

Decode the sequence of labels.

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

Create the codec on the basis of the labeled dataset, return the resultant codec and the encoded dataset.

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

Encode the dataset with the codec.

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

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