El Procesamiento del Lenguaje Natural (PLN) es el estudio y la aplicación de técnicas y herramientas que permiten a los ordenadores procesar, analizar, interpretar y razonar sobre el lenguaje humano. El PNL es un campo interdisciplinar y combina técnicas establecidas en campos como la lingüística y la informática. Estas técnicas se utilizan junto con la IA para crear chatbots y asistentes digitales como Google Assistant y Alexa de Amazon.
Dediquemos algo de tiempo a explorar la razón de ser del Procesamiento del Lenguaje Natural, algunas de las técnicas utilizadas en PNL y algunos casos de uso comunes para PNL.
¿Por qué es importante el Procesamiento del Lenguaje Natural (PLN)?
Para que los ordenadores puedan interpretar el lenguaje humano, hay que convertirlo en una forma que el ordenador pueda manipular. Sin embargo, esto no es tan sencillo como convertir datos de texto en números. Para obtener el significado del lenguaje humano, hay que extraer patrones de los cientos o miles de palabras que componen un documento de texto. No es una tarea fácil. Hay pocas reglas fijas que puedan aplicarse a la interpretación del lenguaje humano. Por ejemplo, el mismo conjunto de palabras puede significar cosas diferentes según el contexto. El lenguaje humano es algo complejo y a menudo ambiguo, y una afirmación puede ser pronunciada con sinceridad o con sarcasmo.
A pesar de ello, hay algunas pautas generales que pueden utilizarse a la hora de interpretar las palabras y los caracteres, como por ejemplo que el carácter "s" se utilice para denotar que un elemento es plural. Estas pautas generales tienen que utilizarse de forma conjunta para extraer el significado del texto y crear características que un algoritmo de aprendizaje automático pueda interpretar.
El procesamiento del lenguaje natural implica la aplicación de varios algoritmos capaces de tomar datos no estructurados y convertirlos en datos estructurados. Si estos algoritmos se aplican de forma incorrecta, el ordenador a menudo no consigue extraer el significado correcto del texto. Esto puede verse a menudo en la traducción de textos entre idiomas, donde a menudo se pierde el significado preciso de la frase. Aunque la traducción automática ha mejorado sustancialmente en los últimos años, los errores de traducción automática siguen siendo frecuentes.
¿Qué técnicas hay de procesamiento del lenguaje natural (PLN)?
Muchas de las técnicas que se utilizan en el procesamiento del lenguaje natural pueden clasificarse en una de estas dos categorías: sintaxis o semántica. Las técnicas sintácticas son las que se ocupan del ordenamiento de las palabras, mientras que las técnicas semánticas son las que se ocupan del significado de las palabras.
Ejemplos de técnicas de PNL de sintaxis
- Lematización
- Segmentación morfológica
- Etiquetado de parte del discurso
- Análisis sintáctico
- Rotura de oraciones
- Stemming
- Segmentación de palabras
La lematización consiste en reducir las diferentes inflexiones de una palabra a una sola forma. La lematización toma elementos como los tiempos y los plurales y los simplifica, por ejemplo, "pies" puede convertirse en "pie" y "rayas" en "raya". Esta forma simplificada de la palabra facilita a un algoritmo la interpretación de las palabras de un documento.
La segmentación morfológica es el proceso de dividir las palabras en morfemas o unidades básicas de una palabra. Estas unidades son, por ejemplo, morfemas libres (que pueden constituir palabras por sí solos) y prefijos o sufijos.
El etiquetado de la parte del discurso es simplemente el proceso de identificar qué parte del discurso es cada palabra en un documento de entrada.
El análisis sintáctico consiste en analizar todas las palabras de una frase y correlacionarlas con sus etiquetas gramaticales formales o realizar un análisis gramatical de todas las palabras.
La separación de frases, o la segmentación de los límites de la frase, consiste en decidir dónde empieza y termina una frase.
La separación de palabras es el proceso de reducir las palabras a la forma raíz de la palabra. Por ejemplo, "aprendido", "aprendizaje" y "aprendizajes" se reducen a "aprender".
La segmentación de palabras es el proceso de dividir grandes trozos de texto en pequeñas unidades, que pueden ser palabras o unidades stemmed/lemáticas.
Técnicas de PNL semántica
- Reconocimiento de Entidades Nombradas
- Generación de lenguaje natural
- Desambiguación del sentido de la palabra
El reconocimiento de entidades con nombre implica el etiquetado de ciertas partes del texto que pueden colocarse en uno de los diferentes grupos predefinidos. Las categorías predefinidas incluyen cosas como fechas, ciudades, lugares, empresas y personas.
La generación de lenguaje natural es el proceso de utilizar bases de datos para transformar datos estructurados en lenguaje natural. Por ejemplo, las estadísticas sobre el tiempo, como la temperatura y la velocidad del viento, pueden resumirse con lenguaje natural.
La desambiguación del sentido de las palabras es el proceso de asignar un significado a las palabras de un texto basándose en el contexto en el que aparecen.
Modelos de aprendizaje profundo para el PNL
Los perceptrones multicapa normales son incapaces de manejar la interpretación de datos secuenciales, donde el orden de la información es importante. Para hacer frente a la importancia del orden en los datos secuenciales, se utiliza un tipo de red neuronal que conserva la información de los pasos temporales anteriores en el entrenamiento.
Las redes neuronales recurrentes son tipos de redes neuronales que hacen un bucle sobre los datos de los pasos de tiempo anteriores, teniéndolos en cuenta al calcular los pesos del paso de tiempo actual.
Esencialmente, las RNN tienen tres parámetros que se utilizan durante el pase de entrenamiento hacia adelante: una matriz basada en el estado oculto anterior, una matriz basada en la entrada actual y una matriz que está entre el estado oculto y la salida. Dado que las RNN pueden tener en cuenta la información de los pasos anteriores, pueden extraer patrones relevantes de los datos de texto teniendo en cuenta las palabras anteriores de la frase a la hora de interpretar el significado de una palabra.
Otro tipo de arquitectura de aprendizaje profundo que se utiliza para procesar datos de texto es una red de memoria a largo plazo (LSTM). Las redes LSTM son similares a las RNN en cuanto a su estructura, pero debido a algunas diferencias en su arquitectura tienden a funcionar mejor que las RNN. Evitan un problema específico que suele producirse cuando se utilizan las RNN, denominado problema del gradiente explosivo.
Estas redes neuronales profundas pueden ser unidireccionales o bidireccionales. Las redes bidireccionales son capaces de tener en cuenta no sólo las palabras anteriores a la palabra actual, sino también las que vienen después. Si bien esto conduce a una mayor precisión, es más caro desde el punto de vista computacional.
Casos de uso del procesamiento del lenguaje natural (PLN)
Dado que el Procesamiento del Lenguaje Natural implica el análisis y la manipulación de las lenguas humanas, tiene una gama increíblemente amplia de aplicaciones. Entre las posibles aplicaciones del PLN se encuentran los chatbots, los asistentes digitales, el análisisde sentimientos, la organización de documentos, la captación de talentos y la asistencia sanitaria.
Chatbot y asistentes virtuales en PNL
Los chatbots y los asistentes digitales como Alexa de Amazon y Google Assistant son ejemplos de plataformas de reconocimiento y síntesis de voz que utilizan el PNL para interpretar y responder a los comandos vocales. Estos asistentes digitales ayudan a las personas con una amplia variedad de tareas, permitiéndoles descargar algunas de sus tareas cognitivas a otro dispositivo y liberar parte de su capacidad cerebral para otras cosas más importantes. En lugar de buscar la mejor ruta para ir al banco en una mañana ajetreada, podemos pedirle a nuestro asistente digital que lo haga.
Análisis de sentimientos en PNL
El análisis de sentimientos es el uso de técnicas de PNL para estudiar las reacciones y los sentimientos de las personas ante un fenómeno, tal y como se comunican mediante el uso del lenguaje. Captar el sentimiento de una afirmación, como interpretar si una reseña de un producto es buena o mala, puede proporcionar a las empresas información sustancial sobre la acogida de su producto.
La organización automática de documentos de texto es otra aplicación de el PNL. Empresas como Google y Yahoo utilizan algoritmos de PNL para clasificar los documentos de correo electrónico, colocándolos en los apartados adecuados, como "social" o "promociones". También utilizan estas técnicas para identificar el spam y evitar que llegue a la bandeja de entrada.
Los grupos también han desarrollado técnicas de PNL que se utilizan para identificar posibles contrataciones laborales, localizándolas en función de las habilidades pertinentes. Los responsables de la contratación también están utilizando técnicas de PNL para ayudarles a clasificar las listas de solicitantes.
El PNL en el mundo de la salud
Las técnicas de PNL también se utilizan para mejorar la atención sanitaria. el PNL puede utilizarse para mejorar la detección de enfermedades. Los algoritmos de PNL pueden analizar los historiales médicos y extraer los síntomas para sugerir posibles diagnósticos.
Un ejemplo de ello es la plataforma Comprehend Medical de Amazon, que analiza los historiales médicos y extrae enfermedades y tratamientos. Las aplicaciones sanitarias de el PNL se extienden también a la salud mental. Hay aplicaciones como WoeBot, que guía a los usuarios a través de una serie de técnicas de gestión de la ansiedad basadas en la terapia cognitivo-conductual.