En la actualidad se ha logrado un gran avance en la tecnología, al punto que las máquinas han logrado ejecutar tareas que considerábamos que solo los seres humanos podían realizar. Por ejemplo, que una computadora interprete el habla humana era ciencia-ficción hace unos 20 años, pero hoy es una realidad. Esta tecnología está presente en nuestra rutina diaria. Utilizando únicamente la voz, se pueden enviar comandos al teléfono móvil o controlar los dispositivos de una casa inteligente.
Hoy en día, las personas utilizan un teléfono inteligente que contiene una aplicación como Alexa, Siri, Bixie, entre otros, que facilitan realizar tareas diarias como agendar actividades o buscar un contacto. Todo este tipo de aplicaciones utilizan procesamiento del lenguaje natural y machine learning.
¿En qué consiste el Procesamiento del Lenguaje Natural?
El procesamiento del lenguaje natural (NLP, por su siglas en inglés) es la interpretación del lenguaje humano por parte de una máquina.
Todo idioma tiene reglas gramaticales y semánticas, sin embargo también existen excepciones. Incluso la misma palabra, en el mismo idioma, pueden significar algo completamente distinto en diferentes países o contextos. Entonces, si es complicado para alguien que habla, por ejemplo inglés, interpretar español, para una máquina también lo es. Aquí es donde entra en juego machine learning como herramienta para solucionar dicho problema.
Machine learning es el proceso de la extracción de conocimiento a partir de los datos. Apoyándose en machine learning, es posible mejorar el desempeño del NLP.
Como se puede ver en la Figura 1, tanto NLP como machine learning son parte de la inteligencia artificial y ambas ramas comparten técnicas, algoritmos y conocimientos en común.
Figura 1. AthenaTech LLC, 2019. AI, Machine Learning (ML) and Natural Language Processing (NLP). Recuperado de: https://athenatech.tech/f/ai-machine-learning-ml-and-natural-language-processing-nlp
Campos de Aplicación del NLP
Actualmente existen diferentes campos en los que se puede utilizar NLP. Entre los que se pueden mencionar:
Traducción: es la búsqueda de la forma más adecuada de expresar una frase o palabra en un idioma diferente. Quizás el mejor ejemplo sea el traductor de Google, que con el pasar de los años ha mejorado de manera gradual. Pero en un principio, su desempeño era realmente deficiente ya que utilizaba lo que se llama ‘Phrase-Based Machine Translation’ (PBMT). El PBMT buscaba frases similares entre los diferentes idiomas, lo que causaba que no siempre se encontraran frases con el mismo significado entre los idiomas; incluso al haber palabras inexistentes en ciertos idiomas se veía imposibilitado de traducir correctamente. Google actualmente utiliza el Google Neural Machine Translation (GNMT) que a su vez emplea Machine Learning con NLP para buscar diferentes patrones entre los idiomas.
- Reconocimiento del habla: es la habilidad de una máquina para interpretar frases o palabras de un lenguaje. Esta aplicación de NLP se puede encontrar en teléfonos móviles y hasta en casas inteligentes. Simplemente con decir “Llamar a John”, el dispositivo reconoce lo que esta frase significa y automáticamente empieza a llamar a John. Aquí se puede mencionar el caso de Alexa o Siri que son bastante populares.
- Análisis de sentimientos: es la determinación del tono emocional implícito en una frase. Por ejemplo, si un texto anuncia una caída de las acciones en la bolsa, el programa va a predecir que posiblemente es un texto negativo. Por otra parte, si un texto se refiere a una fiesta y todos están invitados a asistir, se puede decir que su significado es positivo.
- Sistemas de Preguntas y Respuestas: consiste en responder de forma automática a preguntas por medio de un programa. Esta aplicación se puede encontrar fácilmente en chats de redes sociales, llamadas o herramientas como Siri o IBM Watson.
- Generación automática de resúmenes: dado un texto, el programa va a obtener las ideas principales del mismo y producir un resumen coherente. Por ejemplo, si una persona tiene que leer Don Quijote, un programa puede extraer las ideas principales del libro.
- Chatbots: son programas que entablan conversaciones con humanos. Por ejemplo: cuando una persona necesita comprar algo en una tienda virtual y tiene ciertas preguntas sobre un producto, es muy probable que esta reciba respuestas automáticas generadas por una máquina.
- Inteligencia de mercado: con base a lo que una persona ha buscado en internet, automáticamente se empieza a buscar anuncios relacionados. Un buen ejemplo sería cuando se busca un producto específico y automáticamente en redes sociales nos aparecen anuncios relacionados con dicho producto.
- Clasificación automática de textos: se define como la asignación de una etiqueta a un texto según su contenido y semántica. Por ejemplo, cuando se recibe un correo se puede decir si es spam o no basado en su contenido.
- Revisión automática de gramática: el computador reconoce los diferentes errores gramaticales o de ortografía de un texto según el contexto.
Ventajas y Desventajas
Exploramos el procesamiento del lenguaje natural, dándole un vistazo a sus usos así como a sus ventajas/desventajas.
Entre las ventajas que se pueden mencionar en la utilización de NLP son:
- Es más económico la utilización de un programa que una persona. Ya que la persona puede durar el doble o el triple en tareas como las que se mencionó anteriormente.
- Tiempo de respuesta es rápido. Normalmente cuando se emplea NLP el tiempo de respuesta, ya sea en chatbots o llamadas es bastante rápido. Usualmente, los call centers tienen personal limitado lo que restringe el número de llamadas que pueden ser atendidas. Con la utilización de NLP se puede atender más llamadas por lo que el tiempo de espera se reduce.
- Fácil de implementar. En el pasado muchas veces para utilizar NLP se tenía que realizar una ardua investigación con respecto al idioma e implementar muchas tareas de manera manual. En muchos casos, para traducir, se tenía que crear una especie de diccionario que tuviera un conjunto de palabras que literalmente significan lo mismo en otro idioma. Por lo tanto, se tomaba mucho tiempo de desarrollo. Pero actualmente es muy fácil encontrar modelos de machine learning pre-entrenados que facilitan a los desarrolladores utilizar NLP en diferentes aplicaciones.
Entre las desventajas se pueden encontrar que:
- El entrenamiento puede tomar tiempo: en el caso de que se quiera desarrollar un modelo con un conjunto de datos nuevos, sin utilizar un modelo pre-entrenado, dependiendo de la cantidad de datos puede tomar semanas para obtener un buen desempeño.
- Su confiabilidad no es del 100%: una de las desventajas que siempre se encuentran en machine learning es que nunca se puede asegurar un 100% de fiabilidad. Por lo tanto, pueden existir errores en sus predicciones o resultados.
Conclusión
El procesamiento del lenguaje natural basado en machine learning se puede utilizar en múltiples campos de manera eficiente. Incluso, conforme pasan los años se puede notar que desde que se empezaron a utilizar ambas ramas en conjunto se obtienen mejores resultados en comparación a los algoritmos que empleaban NLP “clásico”.
Puntos Clave
|