1. A method comprising: determining one or more semantic efficiency values of a semantic network, wherein the semantic network includes a plurality of context nodes defining a stored natural language context, and wherein the semantic network is represented by data stored in a memory of a computer system; rearranging a topology of the semantic network to improve at least one of the one or more semantic efficiency values; receiving a voice input at the computer system, wherein the voice input includes a plurality of words; analyzing one or more of the plurality of words of the voice input using the rearranged semantic network; determining 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 in response to determining the contextual meaning for the voice input, causing a device to perform a function corresponding to the determined contextual meaning.