Safe Haskell | None |
---|

- data Word a b
- mkWord :: Set a -> Set b -> Word a b
- type Sent a b = [Word a b]
- data Dist a
- mkDist :: Ord a => [(a, Double)] -> Dist a
- type WordL a b = (Word a b, Dist b)
- type SentL a b = [WordL a b]
- data CRF a b c = CRF {}
- train :: (Ord a, Ord b, Ord c) => SgdArgs -> IO [SentL a (b, c)] -> Maybe (IO [SentL a (b, c)]) -> IO (CRF a b c)
- tag :: (Ord a, Ord b, Ord c) => CRF a b c -> Sent a (b, c) -> [(b, c)]

# Data types

A word with `a`

representing the observation type and `b`

representing
the compound label type.

mkWord :: Set a -> Set b -> Word a bSource

A word constructor which checks non-emptiness of the potential set of labels.

A probability distribution defined over elements of type a. All elements not included in the map have probability equal to 0.

type WordL a b = (Word a b, Dist b)Source

A WordL is a labeled word, i.e. a word with probability distribution defined over labels. We assume that every label from the distribution domain is a member of the set of potential labels corresponding to the word. TODO: Ensure the assumption using the smart constructor.