Por Daniela Collaguazo del Departamento de Conocimiento y Aprendizaje del Banco Interamericano de Desarrollo
¡Eh Google, toca música de Sia! Fue la orden que escuché pronunciar a mi amiga cuando entrábamos a su departamento en San Francisco California, la ciudad cuna de la innovación tecnológica. Inmediatamente, al otro extremo de la habitación, la voz de un autómata respondió amigablemente con una frase de consentimiento y a continuación reprodujo una canción de la famosa cantante. El aparato que se encargó de procesar la orden y traducirla en una acción fue Google Home. Este producto, y otros similares como Siri de Apple o Alexa de Amazon, son capaces de funcionar gracias a los avances en el Procesamiento del Lenguaje Natural.
A continuación, explicaremos qué es esta ciencia, sus aplicaciones y cómo se puede saber más sobre ella a través de recursos abiertos:
1 ¿Qué es el Procesamiento de Lenguaje Natural?
El Procesamiento del Lenguaje Natural (PLN), en inglés Natural Language Processing, es un campo de las ciencias de la computación e ingeniería que se ocupa de facilitar la interacción humana con las máquinas a través del uso del lenguaje natural o lenguaje humano. El Procesamiento del Lenguaje Natural ocurre es a través de un proceso en el cual la máquina, que solamente entiende un lenguaje binario de ceros y unos, es entrenada para entender el lenguaje humano.
Por medio de esta fase, algoritmos o procesos matemáticos traducen datos (lenguaje natural) en el cerebro de la máquina para que éste determine patrones y pueda generar una respuesta. Mucho dependerá del tipo, calidad y cantidad de datos de entrenamiento para determinar el éxito de respuesta de la máquina. Por ejemplo, para entrenar a Google Home, el tipo de datos que se utilizó fue la voz humana y seguramente con una extensa variedad de tonalidades y registros de voz (calidad y cantidad) provenientes de hombres, mujeres, niños, adultos, extranjeros y locales.
2 Algunas aplicaciones del Procesamiento de Lenguaje Natural
En la actualidad, existen algunas aplicaciones de esta ciencia en el mercado. Por ejemplo, a través del Procesamiento del Lenguaje Natural se puede realizar análisis de opinión o de sentimientos acerca de las reseñas escritas a un producto. También se le atribuye a esta ciencia la traducción automática de Google, los diálogos automáticos para hacer chatbots, el reconocimiento del habla en productos como Siri, Alexa y Google Home, y finalmente, la clasificación automática de documentos.
Esta ciencia también se encuentra generando impacto en gobiernos de la región, a través de la clasificación automática de contenido. La Jefatura de Gabinete de la Nación Argentina, por ejemplo, utiliza técnicas de Procesamiento de Lenguaje Natural para clasificar y redirigir automáticamente todas las preguntas que los legisladores del Congreso realizan, a la persona más adecuada dentro de la Administración Pública Nacional.
3 Recursos abiertos para aplicar el Procesamiento de Lenguaje Natural
Hoy en día, existe una infinidad de recursos abiertos para implementar las técnicas de Procesamiento de Lenguaje Natural. Por ejemplo, el Natural Language Toolkit de Python es una plataforma para construir programas que permiten manipular lenguaje natural, además de proporcionar más de 50 recursos que pueden ser utilizados en la fase de entrenamiento. En este mismo sentido, se encuentra disponible de manera gratuita el set de herramientas para el análisis de lenguaje natural de Stanford, CoreNLP. Adicionalmente, se han puesto a disposición otros modelos más complejos como TextSum de TensorFlow, que a través del uso de redes neuronales genera un titular tomando como insumo el primer párrafo de una noticia.
Finalmente, para las personas que quieran ahondar en este tema, existen cursos abiertos de Procesamiento de Lenguaje Natural. Uno de los cursos más famosos para un público con conocimiento avanzado en matemáticas, es el curso en inglés de la Universidad de Stanford sobre Aprendizaje Profundo aplicado al Procesamiento de Lenguaje Natural.
Kevin Lopez Dice
Buenas, disculpe quisiera saber si se puede integrar un Procesamiento del Lenguaje Natural en un sistema web, digamos quisiera que pueda realizar busquedas con PLN de paginas web dentro de mi sistema web.