Safe Haskell | None |
---|---|
Language | Haskell98 |
Synopsis
- type CodecM a b c = Codec (Codec a b) c
- type Codec a b = (AtomCodec a, Vector (AtomCodec (Maybe b)))
- obMax :: Codec a b -> Ob
- lbMax :: Codec a b -> [Lb]
- empty :: Ord b => Int -> Codec a b
- encodeWordL'Cu :: (Ord a, Ord b) => WordL a b -> CodecM a b (X, Y)
- encodeWordL'Cn :: (Ord a, Ord b) => WordL a b -> CodecM a b (X, Y)
- encodeWord'Cu :: (Ord a, Ord b) => Word a b -> CodecM a b X
- encodeWord'Cn :: (Ord a, Ord b) => Word a b -> CodecM a b X
- decodeLabel :: Ord b => Codec a b -> Cb -> Maybe [b]
- decodeLabels :: Ord b => Codec a b -> [Cb] -> [Maybe [b]]
- unJust :: Ord b => Codec a b -> Word a b -> Maybe [b] -> [b]
- type Xs = DAG () X
- type XYs = DAG () (X, Y)
- encodeSent'Cu :: (Ord a, Ord b) => Sent a b -> CodecM a b Xs
- encodeSent'Cn :: (Ord a, Ord b) => Sent a b -> CodecM a b Xs
- encodeSent :: (Ord a, Ord b) => Codec a b -> Sent a b -> Xs
- encodeData :: (Ord a, Ord b) => Codec a b -> [Sent a b] -> [Xs]
- encodeDataL :: (Ord a, Ord b) => Codec a b -> [SentL a b] -> [XYs]
- mkCodec :: (Ord a, Ord b) => Int -> [SentL a b] -> Codec a b
Documentation
type Codec a b = (AtomCodec a, Vector (AtomCodec (Maybe b))) Source #
Codec internal data. The first component is used to encode observations of type a, the second one is used to encode labels of type [b].
empty :: Ord b => Int -> Codec a b Source #
The empty codec. The label parts are initialized with Nothing
members, which represent unknown labels. It is taken in the model
implementation into account because it is assigned to the
lowest label code and the model assumes that the set of labels
is of the {0, ..., lbMax
} form.
Codec depends on the number of layers.
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.
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.
encodeData :: (Ord a, Ord b) => Codec a b -> [Sent a b] -> [Xs] Source #
Encode the dataset with the codec.