PROBLEM TO BE SOLVED: To facilitate generation and correction of a dictionary used for pattern recognition by updating state variables in the direction where an evaluation function for a recognition result is optimized repeatedly until specific conditions are met. SOLUTION: A preprocessing part 4 performs what is called a preprocessing for an inputted image. An optimization processing part 6 optimizes an evaluation function determined according to various information obtained from a character recognition result and an image analysis result to update state variables featuring the image and to learn parameters from a learning sample. A postprocessing part 10 edits an corrects the recognition result. In this case, a cost or a function for the recognition result regarding an input pattern is determined on the basis of state variables featuring the input pattern, of evaluation functions for the state variables, and of an evaluation function for a group of two different state variables, so that the state variables are updated repeatedly in a direction wherein the evaluation function for the recognition result is optimized until the specific conditions are met.
展开▼