¿Qué es el procesamiento del lenguaje natural (PNL)?
Procesamiento del lenguaje natural (PNL) es el estudio y la aplicación de técnicas y herramientas que permiten a las computadoras procesar, analizar, interpretar y razonar sobre el lenguaje humano. La PNL es un campo interdisciplinario 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 Amazon’s Alexa.
Tomemos un tiempo para explorar la lógica detrás del procesamiento del lenguaje natural, algunas de las técnicas utilizadas en la PNL y algunos casos de uso común de la PNL.
Por qué es importante el procesamiento del lenguaje natural (PNL)
Para que las computadoras interpreten el lenguaje humano, deben convertirse a una forma que una computadora pueda manipular. Sin embargo, esto no es tan simple como convertir datos de texto en números. Para derivar el significado del lenguaje humano, se deben extraer patrones de los cientos o miles de palabras que componen un documento de texto. Esta no es una tarea fácil. Hay pocas reglas estrictas y rápidas que se pueden aplicar a la interpretación del lenguaje humano. Por ejemplo, exactamente 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 declaración se puede pronunciar con sinceridad o sarcasmo.
A pesar de esto, hay algunas pautas generales que se pueden usar al interpretar palabras y caracteres, como el uso del carácter «s» para indicar que un elemento es plural. Estas pautas generales deben usarse en conjunto para extraer el significado del texto, para 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 manera incorrecta, la computadora a menudo no obtendrá el significado correcto del texto. Esto a menudo se puede ver en la traducción de texto entre idiomas, donde a menudo se pierde el significado preciso de la oración. Si bien la traducción automática ha mejorado sustancialmente en los últimos años, los errores de traducción automática aún ocurren con frecuencia.
Técnicas de Procesamiento del Lenguaje Natural (PNL)
Foto: Tamur a través de WikiMedia Commons, dominio público (https://commons.wikimedia.org/wiki/File:ParseTree.svg)
Mucho de tecnicas que se utilizan en el procesamiento del lenguaje natural se pueden colocar en una de dos categorías: sintaxis o semántica. Las técnicas sintácticas son aquellas que se ocupan del ordenamiento de las palabras, mientras que las técnicas semánticas son las técnicas que involucran el significado de las palabras.
Técnicas de PNL de sintaxis
Ejemplos de sintaxis incluyen:
- lematización
- Segmentación Morfológica
- Etiquetado de parte del discurso
- análisis
- Fragmentación de oraciones
- derivación
- Segmentación de palabras
lematización se refiere a destilar las diferentes inflexiones de una palabra en una sola forma. La lematización toma cosas como los tiempos verbales y los plurales y los simplifica, por ejemplo, «pies» podría convertirse en «pie» y «rayas» podría convertirse en «raya». Esta forma de palabra simplificada facilita que un algoritmo interprete las palabras en un documento.
La segmentación morfológica es el proceso de dividir palabras en morfemas o las unidades base de una palabra. Estas unidades son cosas como gratis morfemas (que pueden estar solos como palabras) y prefijos o sufijos.
Etiquetado de parte del discurso es simplemente el proceso de identificar qué parte del discurso es cada palabra en un documento de entrada.
análisis se refiere a analizar todas las palabras en una oración y correlacionarlas con sus etiquetas gramaticales formales o hacer un análisis gramatical de todas las palabras.
Fragmentación de oraciones, o segmentación de límites de oraciones, Se refiere a decidir dónde comienza y termina una oración.
derivación es el proceso de reducir las palabras a la raíz de la palabra. Por ejemplo, conectado, conexión y conexiones se derivarían de «conectar».
Segmentación de palabras es el proceso de dividir grandes fragmentos de texto en pequeñas unidades, que pueden ser palabras o unidades derivadas/lematizadas.
Técnicas de PNL Semántica
Las técnicas de PNL semántica incluyen técnicas como:
- Reconocimiento de entidad nombrada
- Generación de lenguaje natural
- Desambiguación del sentido de las palabras
Reconocimiento de entidad nombrada implica etiquetar ciertas porciones de texto que se pueden colocar en uno de varios grupos preestablecidos diferentes. Las categorías predefinidas incluyen cosas como fechas, ciudades, lugares, empresas e individuos.
Generación de lenguaje natural es el proceso de usar bases de datos para transformar datos estructurados en lenguaje natural. Por ejemplo, las estadísticas sobre el clima, como la temperatura y la velocidad del viento, se pueden resumir con lenguaje natural.
La desambiguación del sentido de las palabras es el proceso de asignar significado a las palabras dentro de un texto en función del contexto en el que aparecen las palabras.
Modelos de aprendizaje profundo para PNL
Los perceptrones multicapa regulares no pueden manejar la interpretación de datos secuenciales, donde el orden de la información es importante. Para tratar la importancia del orden en los datos secuenciales, se utiliza un tipo de red neuronal que conserva información de pasos de tiempo anteriores en el entrenamiento.
Las redes neuronales recurrentes son tipos de redes neuronales que bucle sobre datos de pasos de tiempo anteriores, tomándolos en cuenta a la hora de calcular los pesos del timestep actual. Esencialmente, los RNN tienen tres parámetros que se utilizan durante el pase de entrenamiento directo: una matriz basada en el estado oculto anterior, una matriz basada en la entrada actual y una matriz que se encuentra entre el estado oculto y la salida. Debido a que las RNN pueden tener en cuenta la información de períodos de tiempo anteriores, pueden extraer patrones relevantes de los datos de texto al tener en cuenta las palabras anteriores de la oración al 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 corto plazo (LSTM). Las redes LSTM son similares a las RNN en estructura, pero debido a algunas diferencias en su arquitectura, tienden a funcionar mejor que las RNN. Evitan un problema específico que ocurre a menudo cuando se usan RNN llamados problema del gradiente explosivo.
Estas redes neuronales profundas pueden ser unidireccionales o bidireccionales. Las redes bidireccionales son capaces de tomar en cuenta no solo las palabras que preceden a la palabra actual, sino también las que la siguen. Si bien esto conduce a una mayor precisión, es más costoso computacionalmente.
Casos de uso para el procesamiento del lenguaje natural (NLP)
Foto: mohammed_hassan a través de Pixabay, licencia de Pixabay (https://pixabay.com/illustrations/chatbot-chat-application-artificial-3589528/)
Dado que el procesamiento del lenguaje natural implica el análisis y la manipulación de los lenguajes humanos, tiene una gama de aplicaciones increíblemente amplia. Las posibles aplicaciones para NLP incluyen chatbots, asistentes digitales, análisis de sentimientos, organización de documentos, reclutamiento de talentos y atención médica.
Los chatbots y los asistentes digitales como Alexa de Amazon y Google Assistant son ejemplos de plataformas de síntesis y reconocimiento de voz que utilizan NLP para interpretar y responder a 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 intelectual para otras cosas más importantes. En lugar de buscar la mejor ruta al banco en una mañana ocupada, podemos hacer que nuestro asistente digital lo haga.
Análisis de los sentimientos es el uso de técnicas de PNL para estudiar las reacciones y los sentimientos de las personas ante un fenómeno, tal como se comunican mediante el uso del lenguaje. Captar el sentimiento de una declaración, como interpretar si una reseña de un producto es buena o mala, puede proporcionar a las empresas información sustancial sobre cómo se recibe su producto.
La organización automática de documentos de texto es otra aplicación de NLP. Compañías como Google y Yahoo usan algoritmos NLP para clasificar documentos de correo electrónico, colocándolos en los contenedores apropiados, como «social» o «promociones». También utilizan estas técnicas para identificar correo no deseado y evita que llegue a tu bandeja de entrada.
Los grupos también han desarrollado técnicas de PNL que se utilizan para identificar posibles contrataciones de trabajo, encontrándolas en función de las habilidades relevantes. Los gerentes de contratación también están utilizando técnicas de PNL para ayudarlos a clasificar las listas de solicitantes.
Las técnicas de PNL también se están utilizando para mejorar la atención médica. La PNL se puede utilizar para mejorar la detección de enfermedades. Los registros de salud se pueden analizar y los síntomas se pueden extraer mediante algoritmos de PNL, que luego se pueden usar para sugerir posibles diagnósticos. Un ejemplo de esto es la plataforma Comprehend Medical de Amazon, que analiza registros de salud y extrae enfermedades y tratamientos. Las aplicaciones sanitarias de la PNL también se extienden a la salud mental. hay aplicaciones como WoeBot, que habla a los usuarios a través de una variedad de técnicas de manejo de la ansiedad basadas en la Terapia Cognitiva Conductual.