1. A computer-implemented method of automatic speech recognition, comprising: propagating, by at least one processor, tokens that are each associated with one or more sounds from a recording of a person talking and that is at least part of a word, through a weighted finite state transducer (WFST) having arcs and words or word identifiers as output labels of the WFST, and comprising placing word sequences into a word lattice; generating, by at least one processor, a word history designation for individual tokens when a word is established at a token propagating along one of the arcs with an output symbol, wherein the word history designation indicates a word sequence; and determining, by at least one processor, whether or not two or more tokens should be combined to form a single token in a state of the WFST by using, at least in part, the word history designations so that the recorded sounds are transformed into data that indicates recognition of an utterance by using, at least in part, the word history designations.
1. A computer-implemented method of automatic speech recognition, comprising: propagating, by at least one processor, tokens that are each associated with one or more sounds from a recording of a person talking and that is at least part of a word, through a weighted finite state transducer (WFST) having arcs and words or word identifiers as output labels of the WFST, and comprising placing word sequences into a word lattice; generating, by at least one processor, a word history designation for individual tokens when a word is established at a token propagating along one of the arcs with an output symbol, wherein the word history designation indicates a word sequence; and determining, by at least one processor, whether or not two or more tokens should be combined to form a single token in a state of the WFST by using, at least in part, the word history designations so that the recorded sounds are transformed into data that indicates recognition of an utterance by using, at least in part, the word history designations. 9. The method of claim 1 comprising recombining two or more tokens in the same node of the WFST when the word history designations of the tokens are the same and avoiding a recombination when the word history designations of two or more tokens are not the same; placing the word established at an arc of the WFST with an output label into a word lattice as the tokens are being propagated; performing an exception update of the word lattice by recombining multiple tokens into a single new active token when the word history designations of the multiple tokens are different, and comprising: placing word lattice node references of the multiple tokens into the new active token when the references are unique to other references from other ones of the multiple tokens, and maintaining the reference with the best score for the new active token when the reference is the same among more than one of the multiple tokens; assigning a different value to individual words in a vocabulary of possible words to be used as output symbols of the WFST, and using multiple values corresponding to multiple words to determine the word history designation; and combining multiple final end tokens into a single utterance end token; wherein the designation is a hash tag formed by using a recursive hash function; and wherein the word history designation is different depending on the order of the words within the word sequence.