semiring-0.2: Semirings, ring-like structures used for dynamic programming applicationsSource codeContentsIndex
NLP.Semiring.ViterbiNBest
Synopsis
class N a where
mkN :: a
n :: a -> Int
data ViterbiNBest n semi = ViterbiNBest [semi]
data Ten = Ten
type Viterbi10Best semi = ViterbiNBest Ten semi
Documentation
class N a whereSource
Methods
mkN :: aSource
n :: a -> IntSource
show/hide Instances
data ViterbiNBest n semi Source

The ViterbiNBest semiring keeps track of the n best scoring path to a known output. This score is determined by a user defined WeightedSemiring.

The value of n (the number of of values to rank) is included in the type to prevent combining mismatching values. To create a new n, make a new unary type and an instance of N.

   data Ten = Ten  
   instance N Ten where 
    mkN = Ten
    n _ = 10
Constructors
ViterbiNBest [semi]
show/hide Instances
Eq semi => Eq (ViterbiNBest n semi)
Show semi => Show (ViterbiNBest n semi)
(N n, WeightedSemiring semi, Ord semi) => Monoid (ViterbiNBest n semi)
(N n, Ord semi, WeightedSemiring semi) => Multiplicative (ViterbiNBest n semi)
(N n, WeightedSemiring semi, Ord semi) => Semiring (ViterbiNBest n semi)
data Ten Source
Constructors
Ten
show/hide Instances
type Viterbi10Best semi = ViterbiNBest Ten semiSource
Produced by Haddock version 2.4.2