1. A non-transitory computer readable medium encoded with instructions executable by a processor of a computing system for performing vector comparison in natural language processing, the instructions comprising instructions for: receiving a target vector and a source vector, the target vector including a first target vector dimension comprising a first word or phrase and a second target vector dimension comprising a second word or phrase; determining a first number of possible magnitudes that are assignable to the first target vector dimension, wherein the magnitudes comprise weights; determining a number of possible features associated with the source vector; assigning a magnitude from the first number of possible magnitudes to the first target vector dimension based on a first feature of the determined number of possible features associated with the source vector; determining a second number of magnitudes that are assignable to the second target vector dimension, wherein the magnitudes comprise weights; assigning a magnitude from the second number of magnitudes to the second target vector dimension based on a second feature of the determined number of features associated with the source vector.