11. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device with one or more processors and memory, cause the electronic device to: generate a decoding network for decoding speech input, the decoding network comprising a primary sub-network and one or more classification sub-networks, wherein: the primary sub-network includes a plurality of classification nodes, each classification node corresponding to a respective classification sub-network of the one or more classification sub-networks, wherein each respective classification sub-network is distinct from the primary sub-network; and each classification sub-network of the one or more classification sub-networks corresponds to a group of uncommon words; receive a speech input; and decode the speech input by: instantiating a token corresponding to the speech input in the primary sub-network; passing the token through the primary sub-network; when the token reaches a respective classification node of the plurality of classification nodes, transferring the token to the corresponding classification sub-network; passing the token through the corresponding classification sub-network; when the token reaches an accept node of the classification sub-network, returning a result of the token passing through the classification sub-network to the primary sub-network, wherein the result includes one or more words in the group of uncommon words corresponding to the classification sub-network; output a string corresponding to the speech input that includes the one or more words.
11. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device with one or more processors and memory, cause the electronic device to: generate a decoding network for decoding speech input, the decoding network comprising a primary sub-network and one or more classification sub-networks, wherein: the primary sub-network includes a plurality of classification nodes, each classification node corresponding to a respective classification sub-network of the one or more classification sub-networks, wherein each respective classification sub-network is distinct from the primary sub-network; and each classification sub-network of the one or more classification sub-networks corresponds to a group of uncommon words; receive a speech input; and decode the speech input by: instantiating a token corresponding to the speech input in the primary sub-network; passing the token through the primary sub-network; when the token reaches a respective classification node of the plurality of classification nodes, transferring the token to the corresponding classification sub-network; passing the token through the corresponding classification sub-network; when the token reaches an accept node of the classification sub-network, returning a result of the token passing through the classification sub-network to the primary sub-network, wherein the result includes one or more words in the group of uncommon words corresponding to the classification sub-network; output a string corresponding to the speech input that includes the one or more words. 14. The non-transitory computer readable storage medium of claim 11 , wherein the decoding network is a weighted finite state transducer.