The platform used to combine the many knowledge sources which contribute to recognition is a stochastic grammar,
and the overall recognition process is an Earley's algorithm parse of the input data. During original expression
input the parse only requires one stroke lookahead, so most of the recognition computation takes place while the
user is writing, and the user gets very fast response.
The same parser serves for original input and most editing operations, for which the input stream is not just a
sequence of strokes, but also includes some known characters and positional constraints.
The language model is the first of the three most important knowledge sources, and is described in my patent on
the subject. Just as for natural languages, certain symbols and certain combinations of symbols are more common than others,
and a linguistic model based on the structure of the mathematical language provides important information for the recognizer.
The character model is the second major source. It uses a neural net first pass, trained with an open source system I brought in and modified heavily.
After the first pass, it uses a multivariate distribution model in sliding windows over the length of the character.
The position model is the third major source, and is quite heterogeneous. Most positional relations involve two elements, but some involve more; and some
features are very useful for some positional distinctions but just noise for others. The model uses neural net and support vector technology.