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; 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.