1. A method for optical character recognition, the method comprising: detecting, by a character recognition device, a presence of a character in an image data; providing, by the character recognition device, the image data to a plurality of customized machine learning algorithms for character recognition, wherein each of the plurality of customized machine learning algorithms is configured to recognize a pre-defined character; in response to a negative character recognition, presenting, by the character recognition device, one or more suggestions for the character to the user, wherein the one or more suggestions comprises characters corresponding to one or more of the plurality of customized machine learning algorithms whose outputs meet a pre-defined threshold criteria for suggestion but does not meet a pre-defined threshold criteria for recognition; in response to the one or more suggestions being rejected by the user, prompting, by the character recognition device, the user to identify the character; determining, by the character recognition device, a presence of the character in a set of pre-defined characters; in response to a positive presence, training, by the character recognition device, a customized machine learning algorithm corresponding to the character; and in response to a negative presence, adding, by the character recognition device, the character in the set of pre-defined characters, and dynamically creating, by the character recognition device, a customized machine learning algorithm corresponding to the character; and in response to one of the one or more suggestions being identified by the user, training, by the character recognition device, a customized machine learning algorithm corresponding to the character.