Kit de herramientas de lenguaje natural: introducción
¿Qué es el procesamiento del lenguaje natural (PNL)?
El método de comunicación con la ayuda del cual los humanos pueden hablar, leer y escribir es el lenguaje. En otras palabras, los humanos podemos pensar, hacer planes, tomar decisiones en nuestro lenguaje natural. Aquí la gran pregunta es, en la era de la inteligencia artificial, el aprendizaje automático y el aprendizaje profundo, ¿pueden los humanos comunicarse en lenguaje natural con computadoras / máquinas? Desarrollar aplicaciones de PNL es un gran desafío para nosotros porque las computadoras requieren datos estructurados, pero por otro lado, el habla humana no está estructurada y, a menudo, es de naturaleza ambigua.
El lenguaje natural es ese subcampo de la informática, más específicamente de la IA, que permite a las computadoras / máquinas comprender, procesar y manipular el lenguaje humano. En palabras simples, la PNL es una forma en que las máquinas analizan, comprenden y derivan el significado de los lenguajes naturales humanos como el hindi, inglés, francés, holandés, etc.
¿Como funciona?
Antes de profundizar en el funcionamiento de la PNL, debemos comprender cómo los seres humanos usan el lenguaje. Todos los días, los humanos usamos cientos o miles de palabras y otros humanos las interpretan y responden en consecuencia. Es una comunicación simple para humanos, ¿no? Pero sabemos que las palabras son mucho más profundas que eso y siempre derivamos un contexto de lo que decimos y cómo lo decimos. Es por eso que podemos decir que en lugar de centrarse en la modulación de voz, NLP se basa en patrones contextuales.
Entendamos con un ejemplo:
Man is to woman as king is to what?
We can interpret it easily and answer as follows:
Man relates to king, so woman can relate to queen.
Hence the answer is Queen.
¿Cómo saben los humanos qué palabra significa qué? La respuesta a esta pregunta es que aprendemos a través de nuestra experiencia. Pero, ¿cómo aprenden lo mismo las máquinas / computadoras?
Vamos a entenderlo siguiendo unos sencillos pasos:
Primero, necesitamos alimentar las máquinas con suficientes datos para que las máquinas puedan aprender de la experiencia.
Luego, la máquina creará vectores de palabras, mediante el uso de algoritmos de aprendizaje profundo, a partir de los datos que alimentamos anteriormente y de los datos circundantes.
Luego, al realizar operaciones algebraicas simples en estos vectores de palabras, la máquina podría proporcionar las respuestas como seres humanos.
Componentes de la PNL
El siguiente diagrama representa los componentes del procesamiento del lenguaje natural (NLP):
Procesamiento morfológico
El procesamiento morfológico es el primer componente de la PNL. Incluye la división de fragmentos de entrada de lenguaje en conjuntos de fichas correspondientes a párrafos, oraciones y palabras. Por ejemplo, una palabra como“everyday” se puede dividir en dos tokens de subpalabras como “every-day”.
Análisis de sintaxis
El análisis de sintaxis, el segundo componente, es uno de los componentes más importantes de la PNL. Los propósitos de este componente son los siguientes:
Para comprobar que una oración está bien formada o no.
Para dividirlo en una estructura que muestre las relaciones sintácticas entre las diferentes palabras.
Por ejemplo, las oraciones como “The school goes to the student” sería rechazado por el analizador de sintaxis.
Análisis semántico
El análisis semántico es el tercer componente de la PNL que se utiliza para comprobar la significación del texto. Incluye dibujar el significado exacto, o podemos decir el significado del diccionario del texto. Por ejemplo, frases como "Es un helado caliente". sería descartado por el analizador semántico.
Análisis pragmático
El análisis pragmático es el cuarto componente de la PNL. Incluye ajustar los objetos o eventos reales que existen en cada contexto con las referencias de objetos obtenidas por el componente anterior, es decir, el análisis semántico. Por ejemplo, las oraciones como“Put the fruits in the basket on the table” puede tener dos interpretaciones semánticas, por tanto, el analizador pragmático elegirá entre estas dos posibilidades.
Ejemplos de aplicaciones de PNL
La PNL, una tecnología emergente, deriva varias formas de IA que solíamos ver en estos días. Para las aplicaciones cada vez más cognitivas de hoy y de mañana, el uso de la PNL en la creación de una interfaz fluida e interactiva entre humanos y máquinas seguirá siendo una de las principales prioridades. A continuación se presentan algunas de las aplicaciones muy útiles de la PNL.
Máquina traductora
La traducción automática (MT) es una de las aplicaciones más importantes del procesamiento del lenguaje natural. MT es básicamente un proceso de traducción de un idioma o texto de origen a otro idioma. El sistema de traducción automática puede ser bilingüe o multilingüe.
Lucha contra el spam
Debido al enorme aumento de correos electrónicos no deseados, los filtros de correo no deseado se han vuelto importantes porque son la primera línea de defensa contra este problema. Al considerar sus problemas de falsos positivos y falsos negativos como los problemas principales, la funcionalidad de NLP se puede utilizar para desarrollar un sistema de filtrado de spam.
El modelado de N-gramas, la derivación de palabras y la clasificación bayesiana son algunos de los modelos de PNL existentes que se pueden utilizar para el filtrado de spam.
Recuperación de información y búsqueda web
La mayoría de los motores de búsqueda como Google, Yahoo, Bing, WolframAlpha, etc. basan su tecnología de traducción automática (MT) en modelos de aprendizaje profundo de PNL. Estos modelos de aprendizaje profundo permiten a los algoritmos leer texto en una página web, interpretar su significado y traducirlo a otro idioma.
Resumen de texto automático
El resumen de texto automático es una técnica que crea un resumen breve y preciso de documentos de texto más largos. Por lo tanto, nos ayuda a obtener información relevante en menos tiempo. En esta era digital, tenemos una gran necesidad de resúmenes de texto automáticos porque tenemos una avalancha de información en Internet que no se detendrá. La PNL y sus funcionalidades juegan un papel importante en el desarrollo de un resumen de texto automático.
Corrección gramatical
La corrección ortográfica y gramatical es una característica muy útil del software de procesador de texto como Microsoft Word. El procesamiento del lenguaje natural (NLP) se usa ampliamente para este propósito.
Respuesta a preguntas
La respuesta a preguntas, otra aplicación principal del procesamiento del lenguaje natural (PNL), se centra en la construcción de sistemas que responden automáticamente a la pregunta publicada por el usuario en su lenguaje natural.
Análisis de los sentimientos
El análisis de sentimientos se encuentra entre otras aplicaciones importantes del procesamiento del lenguaje natural (NLP). Como su nombre lo indica, el análisis de sentimiento se utiliza para:
Identificar los sentimientos entre varias publicaciones y
Identifique el sentimiento donde las emociones no se expresan explícitamente.
Las empresas de comercio electrónico en línea como Amazon, eBay, etc., utilizan el análisis de sentimiento para identificar la opinión y el sentimiento de sus clientes en línea. Les ayudará a comprender lo que piensan sus clientes sobre sus productos y servicios.
Motores de voz
Los motores de voz como Siri, Google Voice, Alexa se basan en NLP para que podamos comunicarnos con ellos en nuestro lenguaje natural.
Implementación de PNL
Para construir las aplicaciones mencionadas anteriormente, necesitamos tener un conjunto de habilidades específicas con una gran comprensión del lenguaje y herramientas para procesar el lenguaje de manera eficiente. Para lograr esto, tenemos varias herramientas de código abierto disponibles. Algunos de ellos son de código abierto, mientras que otros son desarrollados por organizaciones para crear sus propias aplicaciones de PNL. A continuación se muestra la lista de algunas herramientas de PNL:
Kit de herramientas de lenguaje natural (NLTK)
Mallet
GATE
Abrir PNL
UIMA
Genism
Kit de herramientas de Stanford
La mayoría de estas herramientas están escritas en Java.
Kit de herramientas de lenguaje natural (NLTK)
Entre la herramienta de PNL mencionada anteriormente, NLTK obtiene una puntuación muy alta en lo que respecta a la facilidad de uso y la explicación del concepto. La curva de aprendizaje de Python es muy rápida y NLTK está escrito en Python, por lo que NLTK también tiene un muy buen kit de aprendizaje. NLTK ha incorporado la mayoría de las tareas como tokenización, lematización, lematización, puntuación, recuento de caracteres y recuento de palabras. Es muy elegante y fácil de trabajar.