  Human vision is able to compensate imperfections in sensory inputs from the
real world by reasoning based on prior knowledge about the world. Machine
learning has had a significant impact on computer vision due to its inherent
ability in handling imprecision, but the absence of a reasoning framework based
on domain knowledge limits its ability to interpret complex scenarios. We
propose semi-lexical languages as a formal basis for dealing with imperfect
tokens provided by the real world. The power of machine learning is used to map
the imperfect tokens into the alphabet of the language and symbolic reasoning
is used to determine the membership of input in the language. Semi-lexical
languages also have bindings that prevent the variations in which a
semi-lexical token is interpreted in different parts of the input, thereby
leaning on deduction to enhance the quality of recognition of individual
tokens. We present case studies that demonstrate the advantage of using such a
framework over pure machine learning and pure symbolic methods.
