
Lenguaje Natural: Definición de la tecnología
Sobre el concepto
El lenguaje natural se entiende como la lengua que usan los individuos para interactuar a través de alguna forma de comunicación sea escrita, oral o no verbal. Una base para comprender el lenguaje natural es el idioma que empleamos cuando hablamos (castellano, inglés, chino, entre otros).
Con el desarrollo de las ciencias exactas, sugieron otros modos de interacción, donde no solo existe el lenguaje en su forma gramatical y lingüística, sino que se emplean otras formas de lenguaje denominados «lenguajes formales» centrados en las matemáticas y otras disciplinas como la robótica o la computación. Por ejemplo, siglas como XML, SQL y PHP refieren a lenguajes de programación que tienen relación con el funcionamiento adecuado de un un sitio web. En esta dinámica surgen muchos lenguajes que han permitido el desarrollo tecnológico y su constante innovación, así como el procesamiento de nuevas formas de lenguaje.
Uno de los términos vinculados en esta lógica* es el concepto de Procesamiento del Lenguaje Natural (conocido como PLN por sus siglas en español). Este término hace referencia a los procesos, investigaciones y avances para descubrir mecanismos eficaces computacionalmente para la comunicación entre personas y máquinas por medio del lenguaje natural. Este campo es estudiado principalmente por las ciencias de la computación, la inteligencia artificial y la lingüística y se configura como uno de los escenarios de mayor interés en el mundo tecnológico.
Índice
- ¿Qué es y cómo funciona la tecnología de Lenguaje Natural?
- Conceptos del procesamiento de lenguaje natural
- Clasificación, categorización y etiquetado
- Algoritmos de clasificación
- Otras herramientas de las nuevas plataformas digitales asociadas a Lenguaje Natural: Cloud, API y Big Data
1. ¿Qué es y cómo funciona la tecnología de Lenguaje Natural?
La tecnología en el Lenguaje Natural funciona de manera distinta en relación con la lengua que utilizamos para comunicarnos entre individuos. Como mencionamos anteriormente el Procesamiento del Lenguaje Natural (PNL) va de la mano con los desarrollos tecnológicos en Inteligencia Artificial (IA) y están pensados para generar un proceso comunicativo eficiente entre máquinas (ordenadores) y humanos. Con esta tecnología la Inteligencia Artificial (IA) puede entender, procesar y aprender el lenguaje humano para crear un proceso comunicacional auténtico.
En el PNL se busca que la máquina genere conocimiento propio para establecer una comunicación con el humano. Para entenderlo mejor lo asociamos a los famosos Chats Bots, que son canales interactivos comunicacionales donde el humano habla con un robot para saber sobre algo o alguien.
Los ejemplos que todos conocemos son las frases «Ok Google» o «Hey Siri». Al preguntar a estos sistemas las millas de distancia entre un destino u otro o las condiciones climáticas para hoy en Chile, responderá de forma sencilla, entregando datos concretos.
Entender a fondo el procesamiento del lenguaje natural requiere varios conceptos que nos guían. Entre ellos están:
- Recuperación y extracción de información (RI).
- Minería de datos (Data Mining).
- Traducción Automática (Machine Translation),
- Sistema de búsquedas de respuesta
- Generación de resúmenes automáticos y Análisis de sentimientos.
2. Conceptos de procesamiento de Lenguaje Natural
a) Recuperación y extracción de información
La recuperación de información se expresa como un sitio web que concentra toda la información posible de algún texto para que de esta manera se pueda procesar y pueda encontrar palabras claves con base en qué se busca.
¿Cómo se ve en el PLN? (Procesamiento de Lenguaje Natural)
Todo esto se concentra en la complejidad que ocurre en el lenguaje natural a la hora de recuperar cierta información o una palabra específica para que así el usuario experimente una búsqueda más precisa que arroje resultados satisfactorios. En relación con esta definición, el procesamiento del lenguaje natural tiene que ver con la recuperación de información, porque facilita la búsqueda de algún texto en específico, pero no solo logra mostrar al usuario una única sugerencia de búsqueda, sino varias, a través de diferentes palabras clave que tengan relación con el documento buscado.
Etapas en la recuperación de información
Este método de recuperación tiene cuatro fases para lograr satisfacer al usuario en sus búsquedas concretas.
- Preparar una serie de los documentos/textos existentes; acá se aplicará la técnica de recolección de información para encontrar todas las descripciones de estos libros, se los ordena de una manera en la que presente el mejor contenido posible.
- En el momento en el que el usuario consulta este medio, el sistema analiza toda la base de datos para lograr representar de una mejor forma la información buscada.
- Al tener la descripción de cada texto, compara las busquedas del usuario al momento de hacer clic, para así presentar en una sola página los documentos con mayor validez.
- Los documentos que se van presentando en la página están ordenados según su importancia, en otras palabras, su orden se determina con base en la similitud que exista entre los descriptores y la búsqueda planteada.
- Al tratar con este concepto, no debemos olvidar su opuesto. La extracción de información, que consiste en identificar las relaciones o eventos que existen entre los documentos/textos, buscados por el mismo usuario. También se entiende como un acceso directo a estos documentos, que con pequeños párrafos de escritos muestran de mejor manera su contenido.
Para explicarlo y entenderlo de una mejor forma veámoslo como una aplicación que obtiene información de alguna sección en específico,extrae ciertos pasajes relevantes relacionados con diversas temáticas de orden administrativo, económico, científico, sanitario, entre otras cuestiones relacionadas con nuestor intereses particulares.
b) Minería de datos
Minería de datos o Data Mining hace un énfasis en las metodologías usadas para descubrir información nueva en un sistema de datos de mayor escala; tienen la habilidad de detectar ciertas fallas en el interior de la red y la habilidad de hacer alguna predicción acerca de la información que se busca.
En relación con el Procesamiento Natural del Lenguaje, la minería de datos construye un nuevo lenguaje digital que toma el nombre de Lenguaje Formal, una lengua matemática de programación expresadas en siglas XML, SQL y PHP. Además de encontrar esas palabras, se encuentran los comandos para desarrollar un sitio web, todo esto a través de un computador.
c) Traducción automática
Conocida como Machine Translation, se centra en la profundización de investigación dentro del mundo de la lingüística computacional que logra aprender, decodificando los sistemas que pueden llegar a traducir ciertos mensajes de diferentes lenguas o idiomas. En un principio el proceso para crear estos programas de traducción automática no fue tan sencillo, pues debía encontrarse las diferencias de cada idioma, cada uno con sus particularidades en cuanto a formas, expresión y significación, con lo que se planteó 3 fases para decodificar este nuevo sistema.
- El texto que se crea dentro del orden lingüístico de la lengua se va a transformar en una representación intermedia de lo que se quiere traducir.
- Al momento de tener el texto puede o no ser necesario cambiar parcialmente esta traducción.
- Con las palabras que se quieren traduci,r ya sin cambios, empieza el proceso de traducción final.
Al momento de establecer este proceso, se logra obtener algunas características para la traducción de cierto idioma, pero no solo se enfoca en ello, sino también en el sistema de corrección de palabras. Un ejemplo claro de ello es el texto predictivo que arroja google durante una búsqueda o la sugerencia de palabras y correcciones en aplicaciones de chat.
d) Sistemas de búsquedas de respuestas
Es la recuperación de ciertas palabras clave en un documento, la operación consiste en rescatar estas palabras en un lenguaje neutro, lo que asegura la entrega de un buen resultado. Además puede ser utilizado como una forma de evaluar las capacidades de lectura y comprensión de un sistema cualquiera.
Existe una mejor manera de entender este concepto y es a través del tándem Sistema-Usuario, donde se tiene que mantener una conversación entre ambos. El usuario hace una pregunta sobre cualquier tópico y el sistema le entrega una respuesta precisa de forma automática. El objetivo práctico de este sistema es mantener la conversación como si fuese una charla de humano a humano, y gracias a esto se puede lograr encontrar mejores respuestas a medida que se experimenta con distintas personas y planteamientos.
Los sistemas de búsqueda de respuesta tienen una única tarea: responder preguntas sencillas sobre cosas específicas, mediante algún artículo científico o un mismo documento con el fin de satisfacer al usuario que busca esa respuesta. Con este sistema se pueden encontrar miles de respuestas, un ejemplo claro de aplicación es el mismo Google.
Mediante una serie de palabras se decide buscar el nombre del presidente de cierto país, el nombre del un lugar específico que aparece una peícula o bien los días festivos de una nación ; es decir, se plantea una serie de preguntas que para el sistema de Google tiene una variedad de respuestas complejas, esto simplifica nuestra vida en términos de tiempo dado que al obtener respuestas concretas a cuestiones específicas nos evitamos la lectura de documentos científicos más extensos y extraemos únicamente el contenido que nos resulta relevante.
e) Generación de resúmenes automáticos
Es la técnica que usamos para resumir ciertos textos que usan palabras innecesarias, quedándonos solo con la información precisa. Una búsqueda puede arrojar miles de resultados relevantes en documentos que requieren una lectura profusa, sin embargo, un resumen automático complementa la búsqueda ponderando palabras clave específicas. Dentro de este modelo, existen dos estrategias para resumir los textos que se encuentran en el sistema:
- Extracción, centrada en identificar la originalidad del texto que se quiere resumir, pero con la diferencia de que se obtiene lo justo sin cambiar el texto. Para entenderlo de una mejor forma, lo que hace este sistema es sacar las palabras clave de cada documento para simplificar de una mejor manera lo que se quiere asimilar y buscar para ofrecer una mejor respuesta al usuario.
- Abstracción, Lo opuesto del primer punto, aquí se junta todo lo importante del texto y se genera un documento con base en esa importancia, dándole énfasis a lo esencial, y no solo centrándose en una palabra clave, en el lenguaje lingüístico. Se entiende como un parafraseo de lo que dice una persona, página o artículo científico.
El sistema de resumen automático es un proceso que se basa en dos criterios, el de extracción que genera un resumen de una palabra clave en concreto y el de abstracción que se expresa en un resumen relevante con respecto al texto objeto de nuestra búsqueda.
f) Análisis de sentimientos
Dentro del procesamiento del Lenguaje Natural se considera como nuevo encontrar algún sentimiento o emoción con respecto a la relación de sistema-usuario, ya que se centra en un análisis profundo dentro de esta relación. La mayor parte de las empresas de marketing comenzaron a utilizar este nuevo método con la finalidad de intentar saber el sentimiento que tienen las personas acerca de un producto, marca o servicio que ha sido utilizado dentro de la página web. Para entenderlo de una mejor forma, nos centramos en el caso de Mercado Libre, al momento de la entrega de tu producto,esta aplicación envía un sistema de calificación, en donde puede demostrar si se siente conforme o no con su pedido, así el sitio web correspondiente puede analizar esta reacción y mejorar el producto.
3. Clasificación, categorización y etiquetado
a) Algoritmos de clasificación
Si lo vemos desde una perspectiva más matemática, el término de algoritmo de clasificación se entiende como estos códigos binarios que indican si un objetivo en particular es parte o no de una clase, como por ejemplo la clasificación de familias de números. hay una infinidad de números y lo que hace este algoritmo es clasificarlos dependiendo de la clase que tengan, está por ejemplo, la familia del 1, 2, 3 hasta llegar al 100.
También lo podemos entender si aplicamos el concepto a un árbol genealógico, el algoritmo de clasificación lo que hace es crear una cantidad enorme de códigos para descifrar si la persona tiene más familiares por lado paterno o materno, no solo va a encontrar esos códigos, sino que también mostrará cuántos hijos tiene el padre o cuántos hermanos. Sin embargo, para llegar al inicio de este algoritmo a través del árbol genealógico tendríamos que ir descifrando familia por familia, y hacer comparaciones entre parientes para identificar el inicio de todo.
Existe una variedad de definiciones con respecto a la clasificación de algoritmos, entre ellas tenemos las de clasificación Binaria y Multi-clase.
- Clasificación Binaria: Se entiende por la clasificación de dos clases diferentes, la 0 o 1, la primera toma como el nombre de sí, y la otra no. Es un sistema cuyo objetivo es identificar lo que realmente sirve y que no. Un ejemplo práctico ocurre con los mensajes que llegan a nuestro teléfono, en específico los mensajes de códigos de descuento para una u otra aplicación, que son conocidos como mensajes de spam. Lo que hace este buzón de mensaje es marcar los mensajes con un 1 para identificarlos como spam y con un 0 para lo que no lo es.
- Clasificación Multi-clase: completamente diferente mediante los códigos binarios se centra en adaptar diversas categorías para los puntos a tratar. Un ejemplo clave para esta clasificación, es el mismo abecedario, en el que las palabras claves comienzan con A hasta la Z, asignando una categoría diferente para cada letra, considerando por ejemplo su forma de escritura y pronunciación
b) Proceso de clasificación
El proceso de clasificación tiene como función reunir toda la información posible para crear un buen contenido, tiene tres formas de arrojar un buen resultado: la preparación, el entrenamiento, prueba y producción. fases que se repiten constantemente a fin de probar el algoritmo.
Nos encontramos con el primer proceso para lograr esta clasificación, el de de preparación, donde los datos comienzan aser objeto de un análisis profundo para obtener ciertas características que les permitan adaptarse al algoritmo del entrenamiento.
Al tener los datos procesados, se comienza con la segunda etapa, la de entrenamiento, donde cada característica encontrada en la fase uno se relaciona con alguna etiqueta del documento y gracias a este algoritmo de clasificación, logrará identificar cuál tiene mayor relevancia, lo que crea una nueva clasificación pero de diferente tipo.
Al seleccionar cada documento con su respectiva clase, la fase de prueba se pone en marcha, en donde el sistema tiene como objetivo evaluar si estos documentos corresponden a las clases propuestas por la base de datos, donde tiene el derecho de cambiar de lugar si encuentra alguna falla. Aun así, este proceso puede variar infinitas veces, donde la fase de prueba puede corregir algún error encontrado y cambiarlo, y si vuelve a encontrar otro, repite el proceso hasta conseguir el algoritmo perfecto.
La fase de producción se logra apreciar en el momento en el que tenemos todos los datos corregidos, y al no tener ninguna falla, comienza a producir estos códigos de una manera para luego encontrar nuevas clases para estos códigos.
c) Identificación de características
Para el clasificador es esencial identificar las características de las palabras del documento ya procesado, ya que al momento de encontrar y analizar todas las palabras, lo que hace el clasificador es agregarle a cada una su característica diferente, cada frase que aparece, tiene una característica, ya sea una muy obvia o una más complicada de entender. Esto se ve demostrado la característica natural que se encuentra del texto, es la misma sección donde aparece el autor o hasta la fuente de información de la que se obtuvo todos los datos.
Existe otro método de identificar estas características, y es la función que tiene la N-Grams que se utiliza para encontrar diferentes palabras que se identifican con el mismo significado, para que de esta manera se puedan simplificar todas las palabras encontradas asociadas a un solo significado.
d) La importancia de los datos de entrenamiento
La importancia de los datos durante la fase de entrenamiento tiene que ver con que logra relacionar las características que tiene un documento en el proceso de clasificación. Al tener este resultado, sus funciones se diversificarán puede que solo tenga una o varias, todo depende de la complejidad de la clasificación. Sin embargo, se puede entender de una manera más lingüística y es que los datos de entrenamiento son básicamente cómo el algoritmo va formando experiencias para así aprender más sobre una categoría y al momento de entrar en ese aprendizaje, el sistema observa cada variable , ya sea solo una o más de una.
4. Algoritmos de clasificación
a) K. Nearest Neighbor
El algoritmo de K.Nearest Neighbor es un algoritmo de aprendizaje automático, o también conocido como Machine Learning que se centra en supervisar los problemas que tenga la clasificación de algoritmos. El KNN conocido por sus siglas, tiene como objetivo asumir la similitud entre diversas cosas que estén cerca para así colocarlos en ciertas categorías. Este no solo tiene que llevar a cabo una similitud, sino que también tiene que almacenar todos los datos que encuentra y clasificarlos para tener un parecido entre los datos. Este se puede utilizar tanto como para la regresión y la clasificación de problemas, cuyas definiciones son las siguientes:
- Regresión Es un trabajo de predicción en el que la variable tiene el derecho de ser respondida numéricamente.
- Clasificación, al igual que la regresión actúan con base en la predicción de una variable, pero esta tiene el objetivo de dar un resultado más categórico, para así lograr que los modelos de clasificación aprendan a categorizar a medida que van conociendo nuevas observaciones.
Un ejemplo más sencillo para entender este algoritmo es el siguiente:
Tenemos el trabajo de encontrar la imagen de una criatura que se parece a un conejo y una ardilla, pero queremos identificar a una de esas dos especies. Entonces este algoritmo encuentra su funcionalidad y opera mediante a la similitud de las cosas, lo que nos dará como resultado las características más esenciales que tengan en relación con alguna imagen de algún conejo o ardilla y con base en lo hallado tendremos una lista en base a las características del conejo o la ardilla.
b) Algoritmo de Rocchio
Este algoritmo se usa para determinar la construcción de patrones de cada tipo, y ya al momento de tener seleccionados estos patrones, se comienza con uno de los procesos de clasificación, que es el entrenamiento, para demostrar qué patrón tiene una mayor relevancia a diferencia de los demás. Este algoritmo se usa para la retroalimentación de consultas, en la cual el usuario propone la consulta deseada, le entregan una serie de documentos y va determinando cuáles son los más relevantes; cuyo proceso se asemeja a la relevación de patrones en la definición anterior.
Al tener todos estos datos ya determinados y procesados el sistema crea crea automáticamente una consulta, relacionando todos los documentos en los que que el usuario fue etiquetado de mayor a menor relevancia.
El Algoritmo de Rocchio tiene una conexión con la caracterización de documentos, puesto que prepara un sistema para el desarrollo de patrones para cada una de las categorías de estos documentos; para entregar dos versiones del documento a desarrollar, el lado positivo y negativo de los textos.
c) Árboles de decisión
Los Árboles de decisión se caracterizan por ser mapas con resultados producto de ciertas decisiones, que permiten tanto al individuo como a una organización entera crear similitudes en base a sus beneficios, aptitudes, logros, entre otras cosas. Además, este árbol sirve también para desarrollar las ideas de una mejor forma, o si lo vemos desde una perspectiva más matemática, logra establecer un algoritmo que prepare una opción más conveniente.
Planteado desde un punto de vista más práctico, este árbol se complementa por tener diferentes puntos en común, diferentes esquemas, y al nombrar esquemas, lo relacionamos con otro esquema de probabilidad, o un esquema que tenga un parecido a un árbol genealógico donde se presente ciertos resultados de A y B, creando a C, que en una forma más lingüística, sería mamá y papá, un hijo es la extensión de este arbol genealógico.
Sin embargo, plantear los Árboles de decisión tienen ciertas ventajas como desventajas al momento de plantearlo. Una de sus ventajas es que son sencillos de planificar, donde se pueden seleccionar las variables más importantes; y si en algún momento en el esquema nos hace falta algún dato, no será un problema difícil, ya que se podrá hacer predicciones a medida que se hace una comparación y un desarrollo con el árbol previamente elaborado.
Las desventajas son muy pocas, entre ellas tenemos que, si llegamos a tener un árbol de decisión sumamente extenso, se pueden crear otros árboles más sencillos; al utilizar una variable de numeración continua, se va perdiendo la información de estos árboles que se quiere caracterizar. A medida que se van creando árboles muy extensos, no logran predecir adecuadamente el resultado que se quiere obtener.
d) Algoritmo Iterativo de Naïve Bayes
Se define como un simple algoritmo de aprendizaje automático,que como fuente el teorema de Bayes, cuyo presupuesto le permite identificar ciertas características para obtener los mejores resultados. El algoritmo solo asume que cada una de las variables, será completamente independiente a diferencia de las otras. Este sistema es capaz de resolver todos los problemas complejos de una manera más efectiva, por ejemplo, se puede lograr construir un texto de una manera más fácil con el algoritmo de Naive Bayes que con un algoritmo de clasificación. Este algoritmo tiene una facilidad, puede trabajar con todos los tipos de datos, ya sea un dato catalogado como bueno, o malo.
El modelo de Bayes es sencillo de desarrollar y muy útil al momento de juntar todos los datos que son extremadamente grandes pues lograr simplificar los resultados de manera que ofrezcan los mejores resultados al usuario.
e) Back Propagation Networks
Es un algoritmo centrado en un aprendizaje supervisado para lograr obtener redes neuronales artificiales, Establecer una red neuronal requiere algunos valores aleatorios. Para este tipo de algoritmo, no existe un valor predeterminado. Cabe mencionar que este algoritmo es considerado como una fase de funcionamiento, en la cual se desarrolla como primer paso, un patrón de entrada y al lograr establecer este primer patrón, abre paso a múltiples secciones hasta llegar a la salida, para que así, luego de obtener toda esa experiencia desde la entrada hasta la salida, se logre modificar los datos de la red para tener una relación con la salida deseada por la misma página.
Sin embargo, al plantear todos estos conceptos, ¿Qué es realmente el backpropagation?, o más bien, que busca este nuevo “algoritmo”, y lo que busca es el valor mínimo de la función que existe en el espacio del peso, o más bien datos. También se denomina, como un simple método para calcular el derivado de la función para cada uno de los parámetros planificados.
5. Otras herramientas de las nuevas plataformas digitales asociadas a Lenguaje Natural; Cloud, API y Big Data
Cloud se entiende como la nube de cada sistema operativo, y lo que logra hacer esta “nube” es ofrecer ciertos servicios a través de alguna red,es a día de hoy lo que conocemos como internet. Entre ellas, tenemos sistemas ya conocidos, por ejemplo, Google, WhatsApp, Messenger, Instagram, entre otras. Todas estas plataformas están conectadas a un servidor en específico para que el usuario tenga la posibilidad de usarlos. Al momento de entrar a una plataforma, el requisito mínimo de accesos es contar con una conexión a interne para acceder a los servidores de cada compania.
API tiene como definición la creación de algún software para que de esta manera se desarrolle una conexión o conversación con dos softwares. API tiene una relación con el procesamiento de Lenguaje Natural, ya que permite crear un reconocimiento de todos los objetos buscados dentro de la red, vinculando el lenguaje matemático con el lenguaje normal, que usamos día a día. Uno de los ejemplos más comunes, , es Google Traductor,
Otro ejemplo para entender mejor este concepto de es al plantearlo en relación con nuestra empresa. Elipse con un un servicio de asignación de citas médicas a través de WhatsApp, nosotros como empresa necesitamos conocer la disponibilidad de cada uno de los doctores en las clínicas, y la usamos, con base a una agenda médica que tiene cada clínica. A través de API, logra establecer una comunicación con el doctor o doctora para notificarle el agendamiento de una cita por medio de un software.
Big Data usa grandes cantidades de datos para lograr aprender información importante y de esta manera crear modelos, cuya finalidad es crear predicciones para mejorar cada una de las organizaciones.
¿Para qué sirve Big Data?
Este concepto es bastante útil en la mayoría de las empresas que buscan una clasificación de respuestas para muchas preguntas sobre la compañía en general. Logra establecer referencias, con puntos de información que les ayuda a desarrollar estas respuestas, de esta manera la interacción entre usuario-computadora o usuario-operadora sea sastisfactoria. Uno de los ejemplos que explican el Big Data, es la información que sacamos de un Call Center. El cúmulo de preguntas y la interacción constante mejorará la experiencia del usuario.