El procesamiento del lenguaje natural (NLP) hace referencia a la rama de la informática (y más específicamente, a la rama de la inteligencia artificial o IA encargada de dar a los ordenadores la capacidad de comprender textos y palabras habladas de la misma manera que los seres humanos.
NLP combina la lingüística computacional (modelado basado en reglas del lenguaje humano) con modelos estadísticos, de machine learning y deep learning. Juntas, estas tecnologías permiten a los ordenadores procesar el lenguaje humano en forma de datos de texto o voz y "comprender" su significado completo, junto con la intención y el sentimiento del orador o escritor.
NLP impulsa programas que traducen de un idioma a otro, responden a órdenes habladas y resumen grandes volúmenes de texto rápidamente, incluso en tiempo real. Es muy probable que haya interactuado con NLP en forma de sistemas GPS operados por voz, asistentes digitales, software de dictado de voz a texto, chatbots de servicio al cliente y otros servicios para el consumidor. Sin embargo, NLP también juega un papel cada vez mayor en las soluciones empresariales que permiten optimizar las operaciones de negocio, aumentar productividad de los empleados y simplificar los procesos de negocio de misión crítica.
El lenguaje humano está lleno de ambigüedades que hacen increíblemente difícil escribir software que determine con precisión el significado deseado de los datos de texto o voz. Los homónimos, los homófonos, el sarcasmo, las expresiones idiomáticas, las metáforas, las excepciones de gramática y uso o las variaciones en la estructura de la oración son solo algunas de las irregularidades del lenguaje humano que los humanos tardan años en aprender, pero que los programadores deben enseñar a reconocer y entender con precisión desde el principio a las aplicaciones basadas en el lenguaje natural si quieren ser útiles.
Varias tareas de NLP desglosan los datos de voz y texto humanos de manera que el sistema pueda dar sentido a lo que está ingiriendo. Algunas de estas tareas son:
Consulte la publicación de blog "NLP, NLU o NLG: diferencias entre tres conceptos del procesamiento del lenguaje natural" para profundizar en cómo se relacionan estos conceptos.
El lenguaje de programación Python proporciona una amplia gama de herramientas y bibliotecas para abordar tareas específicas de NLP. Muchas de estas se encuentran en el kit de herramientas de lenguaje natural, o NLTK, una colección de código abierto de bibliotecas, programas y recursos de formación para crear programas de NLP.
NLTK incluye bibliotecas para muchas de las tareas de NLP citadas anteriormente, además de bibliotecas para subtareas como, por ejemplo, análisis de oraciones, segmentación de palabras, radicación y lematización (métodos de recorte de palabras hasta su raíz), y simbolización (para dividir frases, oraciones, párrafos y pasajes en símbolos que ayuden al sistema a comprender mejor el texto). También incluye bibliotecas para implementar prestaciones como el razonamiento semántico, la capacidad de alcanzar conclusiones lógicas basadas en hechos extraídos del texto.
Las primeras aplicaciones de NLP eran sistemas basados en reglas y codificados a mano que podían realizar determinadas tareas de NLP, pero no podían escalarse fácilmente para incluir una secuencia aparentemente interminable de excepciones o los crecientes volúmenes de datos de texto y voz.
Después llega el NLP estadístico, que combina algoritmos del sistema con modelos de machine learning y deep learning para extraer, clasificar y etiquetar automáticamente elementos de datos de texto y voz, y luego asignar una probabilidad estadística a cada posible significado de estos elementos. Hoy en día, los modelos de deep learning y las técnicas de aprendizaje basadas en redes neuronales convolucionales (CNN) y redes neuronales recurrentes (RNN) permiten a los sistemas NLP "aprender" a medida que trabajan y extraer un significado cada vez más preciso de enormes volúmenes de conjuntos de datos voz y texto sin procesar, sin estructurar y sin etiquetas.
Para profundizar en los matices entre estas tecnologías y sus enfoques de aprendizaje, consulte "IA, machine learning, deep learning y redes neuronales: ¿en qué se diferencian?"
El procesamiento del lenguaje natural es el motor detrás de la inteligencia de la máquina en muchas aplicaciones modernas del mundo real. Estos son algunos ejemplos:
Encuentre respuestas e información útil en sus datos empresariales utilizando una tecnología de búsqueda empresarial basada en IA.
El servicio de procesamiento del lenguaje natural (NLP) para el análisis de texto avanzado.
Resuelva los problemas del cliente a la primera, en cualquier canal.