El procesamiento del lenguaje natural (PNL) es una forma de traducir entre lenguajes informáticos y lenguajes humanos. El objetivo de este campo es permitir que las computadoras comprendan lo que dice un texto sin que se les den valores y ecuaciones precisas para los datos que contiene el texto. En esencia, el procesamiento del lenguaje natural automatiza el proceso de traducción entre el lenguaje humano y el informático. Si bien gran parte de este campo se basa en estadísticas y modelos para determinar los posibles significados de una frase, existen y han existido muchos enfoques diferentes para este problema. Los hallazgos en este campo tienen aplicaciones en las áreas de reconocimiento de voz, traducción del lenguaje humano, recuperación de información e incluso inteligencia artificial.
El procesamiento del lenguaje natural, derivado de una formación en informática y lingüística, se enfrenta a muchos problemas porque el lenguaje no siempre es coherente y no todas las pistas sobre el significado están contenidas en el lenguaje mismo. Incluso una descripción completa de la gramática completa de un idioma, incluidas todas las excepciones, no siempre permite que una computadora analice la información contenida en un texto. Algunas oraciones son sintácticamente ambiguas, las palabras a menudo tienen más de un significado y algunas combinaciones de sonidos o símbolos cambian su significado según los límites de las palabras, todo lo cual puede ser un problema para una computadora que no entiende el contexto. Más importante aún, gran parte del lenguaje depende de una conexión con el universo físico y social: algunas oraciones, como los actos de habla, no transmiten información tanto como actúan sobre el mundo. Incluso si una computadora tiene una comprensión perfecta de la sintaxis y la semántica del lenguaje humano, el texto que se analizará debe estar libre de dispositivos humanos, como el sarcasmo o la agresión pasiva, para que la computadora pueda determinar correctamente lo que significa el texto.
Ideológicamente, el procesamiento del lenguaje natural es un sistema de interacción humano-computadora que se rige por la idea de que la mayoría de los usuarios de computadoras se sienten más cómodos trabajando con computadoras en un lenguaje humano que ya conocen que adaptándose al lenguaje de una computadora. También aprovecha el hecho de que gran parte del conocimiento humano ya está codificado en el lenguaje humano, y los textos que contienen ese conocimiento pueden traducirse en estructuras lógicas que pueden simplificarse para una computadora. Si bien muchos proyectos en este campo trabajan para extraer datos legibles por computadora de textos en lenguaje humano, el procesamiento del lenguaje natural también se utiliza para generar textos legibles por humanos a partir de datos informáticos. Tanto estas facilidades de comprensión como de generación pueden ser utilizadas por la misma tecnología, como en el caso de aplicaciones que traducen de un lenguaje humano a otro descodificando primero el texto en un lenguaje de computadora y luego codificándolo en otro lenguaje humano. Las innovaciones obtenidas en los esfuerzos de procesamiento del lenguaje natural también son sorprendentemente aplicables a los proyectos de inteligencia artificial debido al grado en que la inteligencia humana se define por el dominio de las complejidades del lenguaje humano.