The subject disclosure pertains to systems and methods for performing
natural language processing in which tokens are mapped to task slots. The
system includes a mapper component that generates a lattice representing
possible interpretations of the tokens, a decoder component that creates
a ranked list of paths traversing the lattice, a scorer component that
generates scores used to rank paths and post-processing components that
format the paths for use by other software. Each of these components may
be independent, such that the component may be modified or replaced
without affecting the remaining components. This allows a variety of
different mathematical models and algorithms to be tested or deployed
without requiring changes to the remainder of the system.