Procesarea limbajului natural (NLP) este o modalitate de traducere între limbaje computerizate și limbajele umane. Scopul acestui câmp este de a permite computerelor să înțeleagă ceea ce spune un text fără a li se da valori și ecuații precise pentru datele pe care le conține textul. În esență, procesarea limbajului natural automatizează procesul de traducere între limbajul uman și cel informatic. Deși o mare parte din acest domeniu se bazează pe statistici și modele pentru a determina semnificațiile probabile ale unei fraze, există și au existat multe abordări diferite ale acestei probleme. Descoperirile din acest domeniu au aplicații în domeniile recunoașterii vorbirii, traducerea limbajului uman, regăsirea informațiilor și chiar inteligența artificială.
Evoluând dintr-un fundal în informatică și lingvistică, procesarea limbajului natural se confruntă cu multe probleme, deoarece limbajul nu este întotdeauna consecvent și nu toate indicii privind sensul sunt conținute în limbajul în sine. Chiar și o relatare completă a întregii gramatici a unei limbi, inclusiv toate excepțiile, nu permite întotdeauna unui computer să analizeze informațiile conținute într-un text. Unele propoziții sunt ambigue din punct de vedere sintactic, cuvintele au adesea mai multe semnificații, iar unele combinații de sunete sau simboluri își schimbă sensul în funcție de limitele cuvintelor – toate acestea pot fi probleme pentru un computer care nu înțelege contextul. Mai important, o mare parte din limbaj depinde de o conexiune cu universul fizic și social – unele propoziții, cum ar fi actele de vorbire, nu transmit informații la fel de mult decât acționează asupra lumii. Chiar dacă un computer are o înțelegere perfectă a sintaxei și semanticii limbajului uman, textul de analizat trebuie să fie lipsit de dispozitive umane, cum ar fi sarcasmul sau agresivitatea pasivă, pentru ca computerul să constate corect ce înseamnă textul.
Din punct de vedere ideologic, procesarea limbajului natural este un sistem de interacțiune om-calculator care este guvernat de ideea că majoritatea utilizatorilor de computere sunt mai confortabil să lucreze cu computerele într-o limbă umană pe care o cunosc deja decât să se adapteze la limbajul unui computer. De asemenea, valorifică faptul că o mare parte din cunoștințele umane sunt deja codificate în limbajul uman, iar textele care conțin acele cunoștințe pot fi traduse în structuri logice care pot fi simplificate pentru un computer. În timp ce multe proiecte din acest domeniu lucrează pentru a extrage date care pot fi citite de computer din textele în limbajul uman, procesarea limbajului natural este, de asemenea, utilizată pentru a genera texte care pot fi citite de oameni din datele computerizate. Atât aceste facilități de înțelegere, cât și de generare pot fi utilizate de aceeași tehnologie, cum ar fi în cazul aplicațiilor care traduc dintr-o limbă umană în alta prin decodificarea mai întâi a textului într-un limbaj de calculator, apoi codificarea acestuia într-o altă limbă umană. Inovațiile obținute în eforturile de procesare a limbajului natural sunt, de asemenea, aplicabile în mod izbitor proiectelor de inteligență artificială, datorită gradului în care inteligența asemănătoare omului este definită de o stăpânire a complexităților limbajului uman.