Es un campo multidisciplinar, que depende de (y en algunos casos afecta a) las matemáticas, la ingeniería del software, la lingüística, e incluso las ciencias cognitivas.