We stand with Ukraine

A Practical Guide to Hybrid Natural Language Processing

José Manuel Gómez Pérez: “El libro nos ha ofrecido un vehículo único para desarrollar nuestra investigación, estructurarla y ponerla al servicio de todos”

José Manuel Gómez Pérez, Ronald Denaux y Andrés García-Silva, del Lab de Investigación de Expert System en Madrid acaban de publicar A Practical Guide to Hybrid Natural Language Processing.  El libro, editado por Springer Nature, tiene un claro enfoque técnico-práctico y recoge el trabajo que han venido desarrollando los investigadores de nuestra compañía en los últimos cuatro años y que siguen realizando en la actualidad. Se trata de un trabajo de referencia que aporta información sobre las posibilidades que ofrece el uso inteligente de los métodos y herramientas actuales en el ámbito del procesamiento y la comprensión del lenguaje natural (NLP/U en sus siglas en Inglés), así como sobre los retos a los que se enfrentan  a corto y medio plazo para seguir avanzando en este campo.

¿Qué enfoque tiene vuestro libro?

En la comunidad de NLP/U siempre ha existido un debate de fondo entre los partidarios de métodos basados en aprendizaje automático y aquellos que abogan por un enfoque basado en conocimiento estructurado o simbólico. Unos dirán que el enfoque estadístico es superficial y que realmente no permite entender el significado del texto. Los otros, que el enfoque simbólico es demasiado rígido y que se necesita invertir miles de horas de trabajo para codificar ontologías y sistemas de reglas que abarquen todos los casos posibles. Al final, ambas posturas tienen algo de cierto, pero el verdadero problema es que al centrarnos en las limitaciones de uno u otro enfoque corremos el riesgo de perdernos las oportunidades únicas que cada uno de ellos ofrece.

¿Por qué método se decanta el libro?

A Practical Guide to Hybrid Natural Language Processing no pertenece a ninguno de esos bandos. No dedica ni una sola línea a alimentar guerras pasadas. Al contrario, se enfrenta al problema de la comprensión de lenguaje natural como un niño maravillado ante las enormes posibilidades que ofrece el uso inteligente de los métodos y herramientas disponibles en la actualidad. Tratamos de manera exhaustiva los componentes necesarios para construir sistemas de NLP/U que permitan combinar el poder de los grafos de conocimiento con modernos enfoques neuronales. El libro muestra cómo crear representaciones distribuidas contextuales; ofrece un tratamiento claro sobre word, sense y knowledge graph embeddings; explica lo que son y cómo utilizar language models y transformers; y muestra cómo evaluar la calidad de los sistemas resultantes. Sin embargo, no se trata de una enciclopedia ni de un libro de texto que obligue a un itinerario educativo predeterminado.

¿Cómo se estructura el libro?

En tres grandes bloques: building blocks tanto simbólicos como neuronales; arquitecturas híbridas para combinar ambos; y aplicaciones en el mundo real. En cada uno de esos bloques, cada capítulo se centra en un tema específico con el propósito de ofrecer al lector un acceso fácil y rápido a la información que necesite en cada momento. Todos los capítulos incluyen multitud de experimentos, ejemplos y ejercicios sobre tareas NLP, así como datos reales en dominios y sectores igualmente del mundo real. Incluimos además gran cantidad de código ejecutable, explicado paso a paso. Y por si todo ello no fuera suficiente, permite bajarse todos los Jupyter notebooks incluidos en el libro desde nuestro repositorio en GitHub y ejecutarlos en cualquier ordenador o en Google Colab y, si así se desea, contribuir con actualizaciones sobre nuestro código.

¿Cuál es la principal conclusión que destacarías del trabajo?

A nivel técnico y de investigación, A Practical Guide to Hybrid Natural Language Processing ofrece una metodología de trabajo para resolver problemas NLP/U que integra de manera natural enfoques simbólicos basados en conocimiento estructurado con enfoques neuronales. En el libro mostramos no sólo que esto es posible, sino que además es deseable para resolver con éxito muchos problemas de la vida real, y le mostramos al lector cómo puede hacerlo. Un punto clave que creo que hemos conseguido captar en el libro es la grandísima relevancia de language models y Transformers, que ha supuesto una revolución en la disciplina de NLP/U. Por otro lado, destacaría el camino de aprendizaje que ha supuesto para todos nosotros hacer el esfuerzo de llevar de la teoría a la práctica los conceptos e ideas de los que trata el libro. Esta línea de trabajo nos ha ofrecido un vehículo único para desarrollar nuestra investigación, estructurarla y ponerla al servicio de todos.

El libro es el resultado del trabajo que realiza el departamento de I+D de Expert System ¿Cuánto tiempo se ha invertido para su desarrollo?

Recogemos el trabajo que hemos hecho en el Lab durante los últimos cuatro años aproximadamente, y que seguimos desarrollando. En los últimos dos años los avances se han sucedido a tal velocidad que el libro es de rabiosa actualidad. De hecho, hubo momentos en los que tuvimos que repensar prácticamente su totalidad para que el resultado final en el momento de la publicación fuera el que finalmente hemos conseguido en términos de actualidad y relevancia. No descartamos editar próximas ediciones que incluyan actualizaciones derivadas tanto de nuestra investigación como de toda la comunidad de NLP. De hecho, el libro viene acompañado de un tutorial[1] que actualizamos continuamente, al que los lectores pueden acceder de forma totalmente libre, y cuenta con contribuciones de más de una docena de expertos internacionales.

¿A quién le puede resultar de utilidad vuestro trabajo?

A Practical Guide to Hybrid Natural Language Processing es un libro eminentemente técnico y práctico. Está dirigido a todos aquellos con un background en Inteligencia Artificial de carácter simbólico o basada en conocimiento estructurado que vienen siguiendo desde hace tiempo el tremendo éxito que los enfoques NLP estadísticos (hoy en día, neuronales) han conseguido, pero que aún no se habían atrevido a ponerse al día con técnicas como embeddings, language models o transformers. El libro también está dirigido a todos aquellos que provienen de la tradición de NLP basada en enfoques estadísticos que han sufrido en sus propias carnes los problemas asociados a la escasez o la mala calidad de los datos a la hora de entrenar un modelo. Entre ellos, especialmente aquellos con la intuición de que el uso de conocimiento estructurado en forma de grafos de conocimiento les permitirá entrenar sus modelos con menos ejemplos, pero que hasta ahora no sabían cómo hacerlo. Finalmente, este libro es para todos aquellos que quieren construir algo útil para extraer información del texto, pero a los que no les interesa pasar por un doctorado en NLP e IA o no tienen financiación ilimitada para invertir en GPUs con las que entrenar modelos para resolver complicados problemas de comprensión del lenguaje.

Explícanos alguna aplicación práctica que tenga que ver con el contenido del libro

En el libro hemos incluido varios dominios y problemas que utilizamos para ilustrar el valor práctico de combinar grafos de conocimiento con enfoques neuronales para diversas tareas NLP/U. Entre ellos, destacaría dos en concreto. Uno es la detección y tratamiento de la desinformación online y su propagación. El otro escenario, está relacionado con el análisis de información procedente de literatura científica, como artículos o informes técnicos.

¿A qué problema se enfrentan para la detección de desinformación?

Nos encontramos problemas como identificar que un post en Twitter utiliza un determinado lenguaje con terminología aparentemente convencional, pero que en realidad pretende encubrir comunicaciones entre integrantes de grupos radicales, de forma que codifican un significado distinto del habitual. Por ejemplo, el término “coconut” es utilizado por grupos islamistas radicales para referirse al musulmán que simpatiza con la forma de vida y los valores occidentales. Estos neologismos no están definidos en ningún diccionario ni aparecen etiquetados en un dataset que podamos utilizar directamente para entrenar un modelo que nos permita identificarlos. De hecho, prácticamente no existen datasets públicos suficientemente grandes y con la calidad necesaria en este ámbito, de modo que es necesario entrenar sobre tareas relacionadas para las que existen más datos, como por ejemplo reviews falsas sobre hoteles, restaurantes o celebridades, y luego transferir el modelo aprendido a nuestro dominio. La combinación de las representaciones aprendidas de esta manera con representaciones neuronales de palabras y conceptos extraídas de un grafo de conocimiento mediante las técnicas descritas en el libro, permiten mejorar los resultados notablemente frente a enfoques que no aplican este tipo de data augmentation.

¿Y las fake news?

En un escenario relacionado, otro problema con el que nos encontramos es identificar cuándo una noticia que aparece en prensa online o un post en redes sociales es creíble o por el contrario se trata de desinformación. Ejemplos de este tipo de problemas incluyen detectar cuándo un Tweet ha sido escrito por una persona o por un bot, basándonos únicamente en el contenido del post. Otro ejemplo está relacionado con verificar la información en sí que aparece en el propio post, que es el objetivo de miles de fact checkers distribuidos hoy en día por todo el mundo. En ambos casos, volvemos a tener problemas derivados de la escasez de grandes datasets etiquetados con la calidad suficiente en varios idiomas y temáticas (la mayoría de los existentes son sobre temas políticos y están en Inglés). Además, para poder entender cómo se propaga la desinformación y explicar en qué consiste y por qué nuestro sistema llega a una determinada conclusión necesitamos combinar modelos neuronales de procesamiento de lenguaje, que nos permiten comparar semánticamente ese post con otros ya verificados, con representaciones explicitas de las fuentes de esa información y de los indicadores que nos han llevado a clasificarla como creíble o no.

Y por lo que se refiere a las publicaciones científicas…

En este ámbito un problema clásico en Inteligencia Artificial es el desarrollo de sistemas capaces de leer un artículo científico o un capítulo de un libro de manera análoga a como lo haría una persona, asimilando el contenido que aparece en el texto, pero también en las imágenes, gráficos y diagramas que contiene, de forma que el sistema sea capaz de responder con éxito a preguntas formuladas sobre su contenido. Esto presenta varios retos importantes. Para empezar, la terminología científica es muy amplia, heterogénea y compleja, con gran cantidad de términos formados a menudo por varias palabras. Además, aunque el volumen de publicaciones científicas es virtualmente infinito, los datasets anotados para tareas como question answering relacionadas con la comprensión de textos científicos son escasos. También necesitamos poder representar de forma interoperable la información que aparece en distintas modalidades de datos para poder razonar con ella de manera homogénea. Por ejemplo, un diagrama que representa el proceso de la fotosíntesis, el texto que lo describe y su representación como concepto en un grafo de conocimiento estructurado. Es necesario buscar fuentes de supervisión alternativas, como la correspondencia entre una figura y el texto contenido en su pie. Este tipo de enfoques nos permite aprender características asociadas al texto y a las imágenes que además podemos enriquecer con representaciones de conceptos extraídas de grafos de conocimiento científicos. En el libro mostramos cómo hacer esto con éxito, mejorando los resultados frente a enfoques más convencionales.

¿Cuáles son los próximos retos relacionados con la interpretación del lenguaje natural?

En los últimos dos o tres años la irrupción de los modelos de lenguaje neuronales y, sobre todo, de aquellos basados en la arquitectura Transformer, como BERT, GPT o RoBERTa, han revolucionado el panorama NLP/U, no sólo en el ámbito académico y de investigación, sino también empresarial. La forma de resolver problemas relacionados con la comprensión de texto ha cambiado radicalmente gracias a la capacidad de estos modelos y al ahorro de costes que supone partir de ellos para entrenar tareas NLP/U en un dominio específico sin tener que entrenar desde cero, sino ajustando el modelo sobre un subconjunto de datos de dominio mucho más pequeño de lo que habría sido necesario anteriormente. En muy poco tiempo, la mayoría de los sistemas NLP/U funcionarán sobre la base de modelos de lenguaje pre-entrenados basados en Transformers.

Sin embargo, no deja de ser cierto que aún queda mucho por investigar para que podamos entender exactamente cómo estos modelos representan la información contenida en el lenguaje a nivel léxico, sintáctico y semántico. Sin ese conocimiento, no es posible ofrecer capacidades relacionadas con la explicación, justificación o interpretación de los resultados del modelo, que son críticas en dominios como la medicina, banca o seguros. De hecho, resulta extremadamente complicado para estos modelos interpretar de manera lógica dicho conocimiento, más aún etiquetarlo en base a conceptos o relaciones concretas, que por otro lado resultan ser las principales entidades representadas en un grafo de conocimiento.

Por tanto, ¿hacia dónde hay que dirigir la investigación?

Es necesario potenciar las incipientes capacidades de los modelos de lenguaje para razonar sobre el texto. Por ejemplo, GPT-2 es capaz de inferir que la lengua materna de una persona procedente de Italia es probablemente el italiano o que un madrileño tiene nacionalidad española.  Sin embargo, no puede calcular la raíz cuadrada de 2, ni conoce el efecto pernicioso de la ingesta de ácido clorhídrico. Limitaciones como estas nos impulsan a investigar en cómo fusionar el conocimiento capturado en modelos de lenguaje con el conocimiento simbólico contenido en grafos estructurados. En este sentido, resultan de gran interés grafos de conocimiento como ConceptNet[2] o Atomic[3], centrados en la representación de algo tan humano como el sentido común. También resulta prometedor el avance en el desarrollo de razonadores complejos basados en la composición de distintos modelos más sencillos[4] y la paulatina creación de benchmarks orientados a su evaluación, como DROP[5].

Vuestros próximos retos…

Como apuntaba antes, una de las principales preguntas de investigación que nos hacemos en mi equipo es: Dado un modelo de lenguaje y un grafo de conocimiento, ¿es posible identificar una correspondencia entre las representaciones de uno y otro? Nuestros resultados indican que sí y así lo contamos en el libro. El siguiente paso será cartografiar esas correspondencias para que sea posible explotarlas sistemáticamente y generar modelos híbridos verdaderamente inteligentes que, parafraseando a Hiroaki Kitano, creador de la Robocup, puedan en algún momento hacer por sí solos hallazgos dignos del Premio Nobel.

Puedes adquirir el libro y consultar previamente su contenido aquí

 

[1] Tutorial on Hybrid Techniques on Knowledge-based NLP http://hybridnlp.expertsystemlab.com/tutorial/

[2] http://conceptnet.io

[3] https://mosaickg.apps.allenai.org

[4] Nitish Gupta, Kevin Lin, Dan Roth, Sameer Singh, Matt Gardner. Neural Module Networks for Reasoning over Text (https://arxiv.org/abs/1912.04971).

[5] https://allennlp.org/drop