35. A system comprising: a processor configured to execute instructions; and a memory coupled to the processor, wherein the memory stores data representing a semantic network, wherein the semantic network includes a plurality of context nodes defining a stored natural language context, and wherein the memory stores program instructions executable by the processor to: determine one or more semantic efficiency values of the semantic network; rearrange a topology of the semantic network to improve at least one of the one or more semantic efficiency values; receive a voice input at the system, wherein the voice input includes a plurality of words; analyze individual ones of the plurality of words of the voice input using the rearranged semantic network; determine a contextual meaning for the voice input using one or more of the analyzed words, wherein the contextual meaning for the voice input is based on the plurality of context nodes in the rearranged semantic network; and generate text corresponding to the determined contextual meaning.
36. The system of claim 35 , wherein at least one of the one or more semantic efficiency values relates to a balance of a subtree of the semantic network.