El pasado mes de marzo, la vicepresidenta primera del Gobierno y ministra de Asuntos Económicos y Transformación Digital, Nadia Calviño, presentó el Proyecto Estratégico para la Recuperación y Transformación Económica (PERTE), que fue aprobado por el Gobierno en Consejo de Ministros.
Este proyecto cuenta con un presupuesto de 1.100 millones de euros públicos dirigidos a hacer del idioma español y las lenguas cooficiales un componente de desarrollo económico y potencial competitivo internacional en áreas como la inteligencia artificial, haciendo uso del idioma español como lenguaje natural, sin necesidad de traducciones, ya que, a día de hoy, por defecto, el inglés es el idioma de cualquier desarrollo tecnológico. Y cuyos principios se basan en el carácter integrado, la colaboración público-privada, la vertebración territorial, el panhispanismo, la participación de las pymes y startups, y la digitalización integradora, basada en el humanismo tecnológico y la igualdad de género.
Su desarrollo se llevará a cabo mediante una alianza estratégica que impulse las inversiones públicas y privadas mediante la acción coordinada de las Administraciones públicas, las universidades, los centros de investigación y las empresas e industrias, a través de 14 proyectos tractores integrados en los siguientes cinco ejes:
PERTE de la Lengua e Inteligencia Artificial
Una de las claves del PERTE del idioma español tiene que ver con la inteligencia artificial. Nadia Calviño, vicepresidenta del Gobierno, asegura que «se trata de que España sea el nodo central de la inteligencia artificial en español´´.
Esta afirmación está consolidada según los objetivos que tiene el PERTE, el cual busca:
Además, uno de los cinco ejes del proyecto para su desarrollo, relacionado con la IA en español, tiene como finalidad la de hacer a las empresas y productos en español ser competitivas en la actual revolución tecnológica, fomentando el desarrollo de una industria basada en el procesamiento del lenguaje natural, traducción automática y sistemas conversacionales, así como estimular proyectos de I+D+i en dicho lenguaje natural.
Presentación del PERTE de la Lengua en AMETIC
Para poder llevar a cabo el desarrollo conjunto del proyecto, tuvo lugar la presentación del mismo a AMETIC, la asociación de empresas de electrónica, tecnologías de la información, telecomunicaciones y contenidos digitales que engloban gran parte de la industria digital en España.
Esta reunión celebrada a finales de junio se desarrolló con el principal objetivo de cooperar conjuntamente para llevar a cabo el proyecto estratégico, que se plantea como una oportunidad para potenciar el idioma español en el área de la Inteligencia Artificial y la digitalización, de la mano de multitud de empresas capacitadas para impulsar ese potencial.
Entre estas empresas, se encuentra ITELLIGENT como miembro de AMETIC y experta en áreas de la Inteligencia Artificial y el Procesamiento del Lenguaje Natural, entre otras especialidades.
En un post anterior, nos adentrábamos en la historia del Procesamiento del Lenguaje Natural y su evolución a lo largo de las décadas de los 50 hasta el 2010. Ésta última, con la llegada del Deep Learning supuso un cambio extraordinario, ya que estas nuevas técnicas de redes neuronales profundas revolucionan el procesamiento de imágenes que influyen en las técnicas del Procesamiento del Lenguaje Natural (PLN).
Uno de los elementos fundamentales fue la aparición de Word2Vec (Mikolov et al., 2013). La intuición básica de Word2Vec, está basada en una idea introducida por Firth en 1957:
“el significado de las palabras esta asociado a las palabras que le acompañan (contexto)”
Word2Vec se trata de una técnica de “word embedding” que permite representar las palabras de un texto como vectores, con unas propiedades muy interesantes. Word2vec representó la introducción de un nuevo paradigma en el Procesamiento del Lenguaje Natural, que comienza a abordar con éxito tareas hasta entonces consideradas extremadamente complicadas. Word2Vec se basa en entrenar una red neuronal, para que dada una palabra (ej. turismo) devuelva palabras de su contexto (ej. viajes). Para ello se le pasa un gran número de textos (ej. la wikipedia entera) y a partir de ellos Word2Vec se entrena.
Para entenderlo mejor, supongamos que tenemos un conjunto de textos (corpus) con 10.000 palabras diferentes (vocabulario). Iremos tomando cada palabra del cada texto y viendo las palabras que la rodean (ej. a todas las palabras en una ventana de 4 palabras de la elegida).
En esta frase, la palabra «turismo» estaría rodeada de: sector, de, viajes, y, a, nivel, mundial, se. El objetivo es que el sistema aprenda, mediante ejemplos, el contexto de una palabra. Los ejemplos serán, por tanto: (turismo, sector), (turismo, de), (turismo, viajes), … como esto lo podemos hacer con cada palabra del corpus tendremos millones de ejemplos para entrenar al modelo. Si a la red neuronal le introducimos la palabra “turismo” esperamos que nos devuelva una probabilidad alta de que “sector” esté en su contexto:
Referencia: MC CORMICK
Una vez entrenado Word2Vec, es posible obtener una representación vectorial de cada palabra. Lo interesante es que dicha representación vectorial tiene “embebida” el significado (semántica) de la palabra además de características sintácticas.
Otro ejemplo. si buscamos aquellas palabras con vectores mas cercanos a la palabra “frog” vemos que nos salen palabras muy relacionadas con “frog”, esto son traducciones de la palabra (rana) o palabra en plural (frogs), nombres científicos de ranas (litoria), etc.
Referencia: GLOVE STANFORD
Uno de los resultados más sorprendentes de Word2Vec es su capacidad de generar analogías, así por ejemplo podemos hacer:
Vector(Madrid) – Vector(España) + Vector(Senegal) nos devuelve la palabra Dakar.
Básicamente: “Madrid es a España como Dakar es a Senegal”.
La representación que consigue Word2Vec mantiene las relaciones semánticas y sintácticas de las palabras, lo que permite operar con ellos (sumas y resta) y obtener resultados como los de la analogía anterior. La aplicación directa de los word embedding obtenidos por Word2Vec a distintas tareas de Procesamiento del Lenguaje Natural (ej. clasificación de documentos, análisis del sentimiento,…) hizo que automáticamente se mejorasen los resultados alcanzados hasta ese momento. Esto ha despertado un extraordinario interés de la comunidad científica por estas técnicas que actualmente son preponderantes en el PLN, con una gran multitud de nuevos modelos (ej. Google Bert) y mejoras en los resultados.
En cierta forma, estos resultados nos acercan un poco al objetivo final del Procesamiento del Lenguaje Natural, que no es otro que:
«las máquinas entiendan realmente el lenguaje»
Del procesamiento conjunto de la ciencia computacional y la lingüística aplicada, nace el Procesamiento de Lenguaje Natural (PLN o NLP en inglés), cuyo objetivo no es otro que el de hacer posible la compresión y procesamiento asistidos por ordenador de información expresada en lenguaje humano, o lo que es lo mismo, hacer posible la comunicación entre personas y máquinas.
Existen distintos programas que exhiben diferente grado del procesamiento inteligente del lenguaje. Por ejemplo, un buscador de documentos puede buscar simplemente los documentos que contienen la cadena de caracteres especificada por el usuario, sin importar que dicha cadena tenga o no un significado en un lenguaje o idioma. En este caso no sería una aplicación del PLN. Sin embargo, el mismo buscador podría buscar los documentos que comuniquen la idea especificada por el usuario, sin importar las letras que la comunican, y en este caso, sin duda, sería una excelente aplicación de PLN, ya que entendería la idea comunicada en la petición del usuario, la idea comunicada en cada uno de los documentos, y sería capaz de compararlas.
Por este motivo, para profundizar más en esta temática, os exponemos algunas tareas y aplicaciones del Procesamiento del Lenguaje Natural:
1.Speech To Text / Text To Speech
Speech to text o STT se basa en la conversión de audio a texto y se trata de una tarea para poner en valor los audios, que una vez convertidos en textos, pueden ser procesados con otras técnicas de PLN. Una vez procesado es posible devolver un audio utilizando la conversión de texto a audio (Text To Speech o TTS). Ambas tareas, STT y TTS, han cobrado mucha relevancia con los sistemas conversacionales con un alto nivel de calidad, como pueden ser los sistemas de Siri, Alexa, OK Google, Cortana, etc.
2.Preguntas y Respuestas (Questioning and Answering, Q&A)
Q&A es la tarea de responder preguntas a partir de información obtenidas de distintos recursos. Es una tarea importante para los sistemas de diálogo como los chatbots y para la mejora de los sistemas de búsqueda (Information Retrieval). Los nuevos sistemas de Deep Learning están permitiendo una mejora sustancial en esta tarea. En un proyecto realizado por ITELLIGENT sobre Turismo Inteligente, se desarrolló un sistema de Questioning and Answering entrenado con comentarios sobre recursos turísticos de Andalucía (hoteles, restaurantes, playas, museos,…) y que permitía localizar recursos turísticos a partir de muchas preguntas variadas.
Antes, mencionamos los sistemas de Information Retrieval, estos sistemas de búsqueda fueron uno de los primeros sistemas de Procesamiento de Lenguaje Natural que se adoptaron de forma generalizada. Hay dos pasos fundamentales en un buscador:
3.Traducción Automática
La traducción automática, permite traducir un texto de un idioma a otro. Esta tarea cobró un importante impulso gracias a los corpus de textos traducidos entre dos idiomas (denominados “corpus paralelos”), facilitados por el parlamento de la Unión Europea. Frente a los primeros sistemas de los años 50s, actualmente la traducción automática es una tarea de Procesamiento de Lenguaje Natural que ha conseguido un alto nivel de calidad. Ejemplo de ello, aplicaciones como iTranslate Converse para iOS o Microsoft Translator App.
4.Extracción de Información (Information Extraction)
La extracción de información es la obtención de conjunto predefinido de campos de un texto en formato libre. Se puede ver como la generación de una base de datos a partir de documentos poco estructurados. Por ejemplo, obtener distintos datos de un PDF de sobre inspecciones de soldadura, extraer: nombre soldador, características de la soldadura, etc.
5.Clasificación de Documentos: cómo funciona
La tarea de clasificación de documentos (document classification) consiste en entrenar un sistema para que sea capaz de aprender a clasificar textos a partir de un conjunto de textos ya clasificados. En la mayoría de los casos estos sistemas suelen funcionar bastante bien, consiguiéndose calidades de clasificación (ej. accuracy) superiores al 95%. En un post anterior, explicábamos cómo funciona un clasificador automático de documentos utilizando técnicas de PLN y Machine Learning sobre un conjunto de elementos para ordenarlos por clases o categorías.