<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Plataforma de exploración de la Composición Semántica a partir de Modelos de Lenguaje pre-entrenados y embeddings estáticos</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Adrián Ghajari</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Víctor Fresno</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Enrique Amigó</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universidad Nacional de Educación a Distancia (UNED)</institution>
          ,
          <country>España</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <fpage>52</fpage>
      <lpage>56</lpage>
      <abstract>
        <p>El crecimiento de la capacidad de procesamiento y el advenimiento del modelo Transformer han modificado el panorama del PLN. El proceso conocido como Transferencia de Aprendizaje ha facilitado la consecución de resultados cercanos al estado-del-arte a una fracción del coste computacional. En este ámbito, este artículo presenta una aplicación cliente-servidor capaz de obtener vectores contextualizados (o estáticos) de palabras dentro de textos y a partir de una gran cantidad de modelos pre-entrenados, realizar composición semántica para, finalmente, visualizar en un espacio tridimensional las representaciones obtenidas y estimar su similitud semántica; todo esto, explotando los recursos hardware disponibles. English translation. The computing power growth and the advent of the Transformer model have changed the NLP landscape. Transfer Learning has allowed the posibility of achieving state-of-the-art results at a fraction of the computational cost. In this scope, this work presents the development of a server-client application capable of obtaining contextual and static word vectors from a wide variety of models, operate with them to achieve semantic composition to, lastly, visualize them in a 3-dimensional space and obtain semantic similarity; all of this, while exploiting the hardware resources available.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Composición semántica</kwd>
        <kwd>Vectores de frases</kwd>
        <kwd>Transformers</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introducción</title>
      <p>
        del contexto en el que se usan. Se conoce como
Composición semántica al proceso por el que se
La llegada del modelo Transformer [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] ha revolu- generan representaciones vectoriales de frases a
parcionado el área del NLP, fundamentalmente por su tir de los significados individuales de sus palabras
capacidad de aplicar patrones aprendidos durante su constituyentes y de cómo estas se combinan.
entrenamiento sobre distintas tareas nuevas, aunque En este artículo se presenta una plataforma
softrelacionadas, lo que se conoce como Transferencia de ware1 que realiza composición semántica a partir
Aprendizaje (TA). Este modelo captura información de modelos pre-entrenados de los repositorios de
sobre el contexto en el que se encuentra cada palabra HuggingFace2 (contextuales) y Gensim3 (estáticos),
dentro de una frase, generando representaciones vec- utilizando textos facilitados por el usuario, siendo
toriales de las mismas como paso intermedio antes capaz de representar los resultados en el espacio
de un proceso de ajuste fino (fine tuning). Estas rep- tridimensional, permitiendo así la comparación de
resentaciones de palabras se pueden procesar para embeddings en diferentes tareas de similitud
semánrealizar Composición Semántica. El Principio de tica (STS), o estudiar el efecto de la contextualidad
Composicionalidad está basado en que el significado en este tipo de problemas, al permitir trabajar con
del todo es una función del significado de sus partes representación a diferentes capas internas de la red.
y de cómo están sintácticamente combinadas; por
su parte, el Principio de Contextualidad afirma que
el significado de las unidades lingüísticas emerge 2. Motivación
Se han desarrollado numerosos marcos de
evaluación, nacidos de la necesidad de cuantificar el éxito
de los modelos, sin embargo, todos estos marcos
están orientados a asignar un valor de rendimiento
o precisión en un marco de referencia arbitrario. El
1https://github.com/adriangh-ai/AllSpark
2https://huggingface.co
3https://radimrehurek.com/gensim/
problema que presentan es que esta información no en otra tarea.
nos permite comprender el funcionamiento del
modelo a evaluar o cómo consigue capturar el lenguaje Recuperación de sesión anterior. Volver a cargar
para el que se ha entrenado. una o varias sesiones anteriores para su visualización
      </p>
      <p>
        El éxito de la TA ha traído consigo una sobrecarga y comparación.
de modelos; sólo en el repositorio de HuggingFace
hay más de 34 mil almacenados. Asimismo, la
composición semántica sobre la salida de los modelos 4. Arquitectura general
de lenguaje se enfrenta a problemas tales como la
degradación de representación [
        <xref ref-type="bibr" rid="ref2 ref3 ref4">2, 3, 4</xref>
        ], o si real- Modelo cliente-servidor multi-plataforma, con
backmente capturan la información semántica del texto end escrito en Python y front-end en ElectronJS4 y
de entrada. Esto hace abstrusa la evaluación y es- Plotly DASH5 con comunicación remota basada en
tablecimiento de métricas, más allá de la inspección gRPC protobuf6.
supervisada del resultado. Los objetivos de este
trabajo son el análisis e implementación de mecanis- 4.1. Servidor
mos de composición semántica, con una interfaz que
sirva como capa de abstracción para la búsqueda, El servidor contiene la lógica relacionada con la
obtención y almacenamiento de diversos modelos de gestión de modelos y el procesamiento de la
evalurepresentación basados en RNA como un marco de ación, así como la composición semántica, pudiendo
trabajo para el control y visualización de los difer- ejecutarse en una máquina remota. Es quien
impleentes modelos. Lo anterior provee de un mecanismo menta la definición de la interfaz gRPC para ofrecer
para el estudio de la estructura interna de modelos servicios a clientes, gestiona el almacenamiento de
de lenguaje, al permitir observar representaciones modelos y mantiene la relación hardware del sistema.
provenientes de la salida de capas intermedias con Por último, procesa la entrada de texto, inferencia
las herramientas de reducción dimensional imple- y composición semántica.
mentadas para la visualización 3D de embeddings
n-dimensionales; así como el estudio comparativo de
modelos pre-entrenados y métodos de composición
mediante métricas de similitud semántica.
      </p>
      <p>
        Módulo de sesión Realiza las tareas de inferencia
y composición individuales mediante
multiprocesamiento, haciendo uso de los módulos de modelos
y composición. Se ha implementado paralelismo de
datos instanciando el modelo en cada dispositivo con
3. Funcionalidad y Caso de Uso hilo exclusivo y dividiendo la carga a partes iguales
entre dispositivos, mostrando mejor rendimiento
Su función principal es la obtención de representa- frente a Pytorch DataParallel. A su vez, la técnica
ciones vectoriales a partir del modelo de lenguaje de Uniform Length Batching evita el procesamiento
neuronal descargado desde un repositorio. La se- de tokens [PAD] innecesarios mediante ordenación
lección de capas internas del modelo a partir de y agrupación en batches de frases según longitud.
las cuales obtener la composición semántica
mediante distintos mecanismos (suma, media aritmética, Módulo de modelos y composición Instanciarán
[CLS] token y   ,   ,   de ICDS [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]) y un objeto con los métodos necesarios para la
inferla posibilidad de procesar de forma concurrente y encia y la composición que se asignarán a workers;
con paralelismo de datos el conjunto de muestra. se ha optado por la eliminación de los tokens que no
Finalmente, la visualización de las frases en una grá- se corresponden con una palabra o un fragmento de
ifca 3D interactiva. Se trata de una aplicación que palabra con una función de limpieza que convierte
puede ejecutarse con independencia de despliegue en una máscara los identificadores de los tokens
esdel cliente y servidor, pudiendo encontrarse y ex- peciales. Asimismo, en caso de haber seleccionado
plotar recursos en máquinas locales o estaciones de un rango de capas para su procesado, se operará la
trabajo remotas y distintos sistemas operativos. media aritmética sobre los resultados de
composi
      </p>
      <p>El usuario tendrá conocimiento esencial sobre ción individuales por capa.
modelos de lenguaje y composición y se intentan
cubrir los siguientes casos de usos diferenciados:
Inferencia sobre una muestra de datos dada.
Obtención de la composición de uno o más conjuntos
de frases, bien para su visualización o para su uso
4https://www.electronjs.org/
5https://plotly.com/
6https://grpc.io/
4.2. Cliente de métodos de composición semántica y la lista
de dispositivos de computación encontrados en el
Contiene la interfaz de usuario y los métodos gRPC servidor para su asignación.
de comunicación con el servidor. Se ocupa del pre- El área de selección de archivo acepta diversos
procesamiento de los datos, así como la lógica que formatos: estructurados, como csv, json o excel,
atiende a la reducción dimensional y representación y texto desestructurado en txt. En este último
de resultados. Se divide en dos bloques funcionales caso, el sistema tratará de reconocer las frases que
gobernados por ElectronJS y DASH, que se comuni- contiene el texto a través de la librería Natural
can entre ellos por HTTP mediante un Web Server Language Toolkit (NLTK)8. Finalmente, se podrán
Gateway Interface, Waitress7, para proveer la inter- seleccionar columnas, que serán visualizadas en la
faz. Tras el lanzamiento y la conexión a un servidor misma gráfica con colores distintos por columna.
externo o ejecución y conexión local, se llega a la Por otro lado, los archivos de sesiones anteriores
pantalla de ajuste y selección de parámetros de in- guardados se pueden volver a cargar y visualizar.
ferencia. En su inicio la aplicación cliente actualiza Tras seleccionar la configuración completa,
la relación de dispositivos y modelos disponibles del pueden añadirse a la lista de peticiones de
inferservidor, o para su descarga desde los almacenes de encia. Es posible añadir y borrar cuantas peticiones
HuggingFace y Gensim. se desee; pulsando el botón de lanzamiento de
inferencia, serán procesadas en el servidor de forma
Pestaña Principal Los modelos disponibles (con- concurrente en los dispositivos que cada uno tenga
textuales y estáticos) se ofrecerán en forma de lista asignados.
predictiva al introducir texto en el área de búsqueda.</p>
      <p>
        Una vez descargados podrá elegirse la salida de Pestañas de inferencia: Tras el proceso de
evaluuna de las capas del mismo, o un rango de ellas. ación, el servidor envía los datos al cliente, que los
Asimismo, se ofrece para su selección una relación mostrará en una nueva pestaña de inferencia. En
ella se ofrecen distintos métodos de reducción dimen- Finalmente (ver Figura2), pueden elegirse
dissional, t-SNE [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], Principal Component Analysis [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] tintos métodos de reducción dimensional (esquina
y UMAP [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], seleccionables como subpestañas, que superior izquierda), modificar sus parámetros de
opcontienen los elementos de ajuste de parámetros eración (izquierda, ver Figura3), visualizar las frases
de cada uno. Desde la misma es también posible más cercanas a un punto (tabla de similitud coseno,
guardar los vectores resultado del proceso de com- parte inferior de la imagen con la frase seleccionada
posición El resultado de estos métodos se mostrará marcada por una etiqueta) y guardar los resultados
en la gráfica, que ofrecerá una representación inter- de la sesión. A modo de ejemplo, se ofrecen los
activa y tridimensional por color según columna de puntos correspondientes a las columnas hipótesis
procedencia en la muestra original con los datos de (azul) y premisa (rojo) del conjunto de datos GLUE,
cada frase. Seleccionando el método de similitud subset mnli, según la última capa del modelo BERT;
semántica, como similitud coseno, y un punto en la puede observarse empíricamente la posición relativa
gráfica de representación, se mostrará una tabla con entre frases, distancia y agrupación, según la
funlas 10 frases más cercanas en el conjunto de origen, ción de composición semántica, el modelo y capa
así como la columna a la que pertenecen. del mismo elegidos.
      </p>
    </sec>
    <sec id="sec-2">
      <title>5. Ejemplo de uso</title>
    </sec>
    <sec id="sec-3">
      <title>6. Conclusiones y trabajos futuros</title>
      <p>Es en esta pantalla (ver Figura1) el usuario puede Este trabajo presenta una aplicación distribuida
seleccionar los dispositivos de computación a usar, multiplataforma cuya finalidad es la asistencia a
descargar y seleccionar modelos y capas a procesar, la investigación en el estudio de la composición a
ver la estimación de ocupación de memoria, elegir partir de modelos de lenguaje neuronales. Se han
método de composición y cargar el archivo de mues- implementado algoritmos de composición semántica,
tras. Tras la selección, se procede a la inferencia, reducción de dimensionalidad y similitud semántica,
añadiendo los resultados a una nueva pestaña. además de técnicas de optimización de inferencia.</p>
      <p>
        En lo relativo a futuras funcionalidades, se
abordará el paralelismo de un solo modelo en
inferencia, dividiendo el modelo en capas y repartiéndolas
entre dispositivos. Adicionalmente, se pretenden
implementar soluciones propuestas al problema de
la isometría semántica de las representaciones,
evidenciado en los trabajos [
        <xref ref-type="bibr" rid="ref2 ref9">2, 9</xref>
        ]. Finalmente, algunos
estudios apuntan a la posibilidad de que distintas
cabezas de auto-atención del modelo Transformer
atienda a distintos aspectos semánticos, [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ];
aislarlos y generar su representación podría ofrecer una
nueva perspectiva.
      </p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgments</title>
      <p>Este trabajo ha sido financiado por los
proyectos del Ministerio de Ciencia y Innovación
DOTTHEALTH (PID2019-106942RB-C32), gracias al
acuerdo UNED - Ministerio de Economía y
Competitividad de España con ref. C039/21-OT, y
MISMIS project (PGC2018-096212-B), así como
por el proyecto PID2020 GID2016-39 de Innovación</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Vaswani</surname>
          </string-name>
          , G. Brain,
          <string-name>
            <given-names>N.</given-names>
            <surname>Shazeer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Parmar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Uszkoreit</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. N.</given-names>
            <surname>Gomez</surname>
          </string-name>
          , Ł. Kaiser,
          <string-name>
            <surname>I. Polosukhin</surname>
          </string-name>
          , Attention Is All You Need,
          <source>Technical Report</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>K.</given-names>
            <surname>Ethayarajh</surname>
          </string-name>
          ,
          <article-title>How contextual are contextualized word representations? Comparing the geometry of BERT, ELMO, and GPT2 embeddings, EMNLP-IJCNLP</article-title>
          <year>2019</year>
          (
          <year>2020</year>
          )
          <fpage>55</fpage>
          -
          <lpage>65</lpage>
          . doi:
          <volume>10</volume>
          .18653/v1/d19-
          <fpage>1006</fpage>
          . arXiv:
          <year>1909</year>
          .00512.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>B.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>On the sentence embeddings from pre-trained language models</article-title>
          ,
          <source>arXiv</source>
          (
          <year>2020</year>
          ). doi:
          <volume>10</volume>
          .18653/v1/
          <year>2020</year>
          . emnlp-main.
          <volume>733</volume>
          . arXiv:
          <year>2011</year>
          .05864.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Gao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Tan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Qin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Wang</surname>
          </string-name>
          , Y. Liu,
          <article-title>Representation Degeneration Problem in Training Natural Language Generation Models</article-title>
          ,
          <source>Technical Report</source>
          ,
          <year>2019</year>
          . arXiv:
          <year>1907</year>
          .12009v1.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>E.</given-names>
            <surname>Amigó</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ariza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Fresno</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Martí</surname>
          </string-name>
          ,
          <article-title>Information-teoretic compositional distributional semantics</article-title>
          (IN PRESS) (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>L.</given-names>
            <surname>Van Der Maaten</surname>
          </string-name>
          , G. Hinton,
          <article-title>Visualizing Data using t-SNE</article-title>
          ,
          <source>Journal of Machine Learning Research</source>
          <volume>9</volume>
          (
          <year>2008</year>
          )
          <fpage>2579</fpage>
          -
          <lpage>2605</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>H.</given-names>
            <surname>Hotelling</surname>
          </string-name>
          ,
          <article-title>Analysis of a complex of statistical variables into principal components</article-title>
          .,
          <source>J. of Educational Psychology</source>
          <volume>24</volume>
          (
          <year>1933</year>
          )
          <fpage>498</fpage>
          -
          <lpage>520</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>L.</given-names>
            <surname>Mcinnes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Healy</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Melville,</surname>
          </string-name>
          <article-title>UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction (</article-title>
          <year>2020</year>
          ). arXiv:
          <year>1802</year>
          .03426v3.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>E.</given-names>
            <surname>Amigó</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gonzalo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Verdejo</surname>
          </string-name>
          ,
          <article-title>On the foundations of similarity in information access</article-title>
          .,
          <source>Information Retrieval 23, Issue</source>
          <volume>3</volume>
          (
          <year>2020</year>
          )
          <fpage>216</fpage>
          -
          <lpage>254</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Rogers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Kovaleva</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rumshisky</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          <article-title>Primer in BERTology: What We Know About How BERT Works</article-title>
          ,
          <source>Technical Report</source>
          ,
          <year>2020</year>
          . URL: https://github.com/. arXiv:
          <year>2002</year>
          .12327v3.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>