Aplicatiile de inteligenta artificiala se bazeaza pe algoritmi de invatare automata care proceseaza un volum mare de date pentru a identifica eventualitatile, modelele si co-variantele care vor duce la realizarea unor task-uri specifice ale aplicatiei. Aceasta invatare a algoritmilor este realizata folosindu-se atat de modele de invatare supravegheata, cat si de modele de invatare nesupravegheata. Rezultatele sunt apoi integrate in modele stabile de predictie, decizie sau clasificare a unor situatii similare.