1. A character recognition device comprising: circuitry configured to: receive an image containing characters to be recognized as an input; detect a character region where the characters are present in the image; separate the character region on a character-by-character basis; perform a character-by-character recognition on the characters present in separated regions and output one or more character recognition result candidates for each character; receive the candidates as an input, calculate weights for transitions to the candidates, and create first character string transition data being character string transition data based on a set of the candidates and the weights, wherein: the weights are corrected based on a character size of each of the candidates, and the created first character string transition data contains a first epsilon transition from an initial state of a character string transition to the candidate, a second epsilon transition from the candidate to a final state of the character string transition, and a third epsilon transition for skipping the candidate on a character-by-character basis; and sequentially perform state transitions based on the first character string transition data, accumulate the weights in each state transition and calculate a cumulative weight for each state transition, and output one or more state transition results based on the cumulative weight.
2. The character recognition device according to claim 1 , wherein the circuitry is further configured to: receive a keyword from a user as an input and create second character string transition data being character string transition data of the keyword, and determine whether the keyword is present in the image by performing a composition operation of the first character string transition data and the second character string transition data.