GenI-0.23.20130212: A natural language generator (specifically, an FB-LTAG surface realiser)

Safe HaskellSafe-Infered





Entry point

type PolAut = NFA PolState PolTrans

data PolState


PolSt Int [Literal GeniVal] [(Int, Int)]

position in the input semantics, extra semantics, polarity interval

data PolResult

intermediate auts, seed aut, final aut, potentially modified sem





:: Set PolarityAttr

polarities to detect (eg. cat)

-> FeatStruct GeniVal

root features to compensate for

-> PolMap

explicit extra polarities

-> SemInput

input semantics

-> [TagElem]

lexical selection

-> PolResult 

Constructs a polarity automaton. For debugging purposes, it returns all the intermediate automata produced by the construction algorithm.

Inner stuff (exported for debugging?)

fixPronouns :: (Sem, [TagElem]) -> (Sem, [TagElem])

Returns a modified input semantics and lexical selection in which pronouns are properly accounted for.

detectPolPaths :: [[TagElem]] -> [(TagElem, BitVector)]

Given a list of paths (i.e. a list of list of trees) return a list of trees such that each tree is annotated with the paths it belongs to.

prettyPolPaths :: BitVector -> Text

Render the list of polarity automaton paths as a string

automatonPaths :: (Ord st, Ord ab) => NFA st ab -> [[ab]]

Returns all possible paths through an automaton from the start state to any dead-end.

Each path is represented as a list of labels.

We assume that the automaton does not have any loops in it.

finalSt :: NFA st ab -> [st]

finalSt returns all the final states of an automaton

data NFA st ab

Note: you can define the final state either by setting isFinalSt to Just f where f is some function or by putting them in finalStList