1. A non-transitory computer readable medium comprising program code executable by a processor for causing the processor to: receive an electronic representation of a noncanonical communication; feed a vector that is representative of the noncanonical communication as input to a normalizer, wherein the normalizer is operable for implementing a first neural network to: receive the vector at an input layer of the first neural network, perform matrix operations on the vector using a plurality of hidden layers to generate hidden values, provide hidden values from a final hidden layer of the plurality of hidden layers to an output layer of the first neural network, perform, at the output layer, a softmax operation on the hidden values to generate a plurality of values representing probabilities of particular characters being in particular positions in a normalized version of the noncanonical communication, and determine the normalized version of the noncanonical communication based on the plurality of values, wherein the normalized version of the noncanonical communication is different from the noncanonical communication; feed the vector as input to a flagger for operating a second neural network that is trained separately from the first neural network; determine, based on a result from the flagger, that the normalized version of the noncanonical communication should be outputted; and output the normalized version of the noncanonical communication or a corrected version of the normalized version of the noncanonical communication, wherein the corrected version of the noncanonical communication is different from the noncanonical communication.