El modelado de lenguaje enmascarado entrena modelos para predecir palabras faltantes en el texto. Suele preentrenar modelos para tareas posteriores de PLN.
Los modelos de lenguaje enmascarado (MLM) son un tipo de modelos de lenguaje de gran tamaño (LLM) que se utiliza para ayudar a predecir las palabras que faltan en el texto en las tareas de procesamiento del lenguaje natural. Por extensión, el modelado de lenguaje enmascarado es una forma de entrenar modelos de transformadores, en particular representaciones de codificadores bidireccionales de transformadores (BERT) y su enfoque derivado de preentrenamiento BERT robustamente optimizado (RoBERTa), para tareas de PLN entrenando el modelo para rellenar palabras enmascaradas dentro de un texto , y así predecir las palabras más probables y coherentes para completar el texto. 1
El modelado del lenguaje enmascarado ayuda a muchas tareas, desde el análisis de sentimientos hasta la generación de texto, al entrenar a un modelo para que comprenda la relación contextual entre las palabras. De hecho, los desarrolladores de investigación suelen utilizar modelos en lenguaje enmascarado para crear modelos preentrenados que se someten a un mayor ajuste supervisado para tareas posteriores, como la clasificación de textos o la traducción automática. Los modelos de lenguaje enmascarados sustentan así muchos algoritmos de modelado de lenguaje de última generación actuales. Aunque el modelado de lenguaje enmascarado es un método para preentrenar modelos de lenguaje, las fuentes en línea a veces se refieren a él como un método de aprendizaje por transferencia. Esto podría no ser injustificado, ya que algunos grupos de investigación han comenzado a implementar el modelado del lenguaje enmascarado como una tarea final en sí misma.
Los transformadores HuggingFace y las bibliotecas de texto Tensorflow contienen funciones diseñadas para entrenar y probar modelos de lenguaje enmascarado en Python, tanto como tareas finales como para tareas posteriores.
El procedimiento general que caracteriza a los modelos de lenguaje enmascarado es bastante sencillo. Al ser una forma de aprendizaje no supervisado, el modelado del lenguaje enmascarado comienza con un conjunto de datos de texto grande y sin anotaciones. El algoritmo reemplaza una muestra aleatoria de palabras de este texto de entrada con tokens enmascarados, que pueden consistir en el token [MASK] u otros tokens de palabras del vocabulario del texto de entrada. A continuación, para cada token enmascarado, el modelo predice qué tokens de palabras tienen más probabilidades de haber aparecido en el texto de entrada original.2
Por ejemplo, en la siguiente frase de Othello de Shakespeare, se han sustituido dos palabras por tokens enmascarados y otra palabra por un token completamente diferente:
El modelo entrenará entonces un codificador bidireccional para predecir los tokens de entrada originales que se han enmascarado. ¿Cómo lo hace? Es cierto que esclarecer las maquinaciones internas de los modelos de lenguaje enmascarados requiere una base en álgebra avanzada y machine learning. Sin embargo, es posible hacer una descripción general superficial.
Para cada token de palabra en los datos de texto de entrada, el modelo genera incrustaciones de palabras similares a un modelo de bolsa de palabras. El modelo combina estas incrustaciones de palabras con codificaciones posicionales para crear la entrada del transformador. Las codificaciones posicionales, en resumen, representan la ubicación de un token de palabra dado en una secuencia utilizando un valor vectorial único. A través de codificaciones posicionales (o incrustaciones posicionales), el modelo puede capturar información semántica sobre palabras a través de sus relaciones posicionales con otras palabras.
A continuación, el modelo transformador utiliza estas incrustaciones de palabras y posiciones para generar distribuciones de probabilidad sobre el vocabulario de entrada para cada uno de los tokens enmascarados. Las palabras con la probabilidad predicha más alta para cada token enmascarado son las predicciones respectivas del modelo para el valor verdadero de cada token.3
El modelado de lenguaje enmascarado es un rasgo característico del preentrenamiento del modelo transformador BERT; de hecho, los dos se introdujeron juntos en la comunidad de machine learning. Antes del BERT, los modelos de lenguaje eran unidireccionales. Esto significa que aprendieron las representaciones del lenguaje considerando solo el texto que precede a una palabra determinada. Sin embargo, el enfoque de BERT para una tarea de modelado enmascarado de lenguaje considera tanto el texto anterior como el siguiente.4 La principal diferencia entre los enfoques unidireccional y bidireccional depende de cómo la capa de autoatención del transformador decodifica los valores resultantes.
Al predecir la siguiente palabra de una secuencia, o en nuestro caso, la palabra que falta, un modelo unidireccional considera solo las palabras que preceden al valor que falta. Los descodificadores por transformador que funcionan de este modo también se denominan causales o retrospectivos. Al procesar una secuencia de entrada, el decodificador solo considera aquellas entradas hasta e incluyendo el token de entrada en cuestión; El decodificador no tiene acceso a las entradas de token posteriores a la que se está considerando. En cambio, un codificador bidireccional, adoptado en el modelo BERT, genera predicciones usando todos los tokens de entrada, aquellos que preceden y siguen al valor enmascarado.5
Para ilustrarlo, volvamos a la cita de Otelo mencionada anteriormente: "Pero sí creo que es culpa de sus maridos si las esposas caen". Imagine que, por alguna razón, tenemos todo este texto excepto la palabra esposas: "Pero sí creo que es culpa de sus maridos si las ________ caen". Queremos determinar qué llena este vacío. Esta figura ilustra la diferencia en cómo ambos decodificadores procesarían nuestra oración de ejemplo:
En esta figura, y significa el resultado previsto para el token enmascarado. El transformador unidireccional utiliza solo los valores de entrada que preceden al token enmascarado para predecir el valor de este último. Sin embargo, el transformador bidireccional utiliza incrustaciones posicionales de todos los valores de entrada, tanto los que preceden como los que siguen a la máscara, para predecir el valor del token enmascarado.
Los desarrolladores e investigadores utilizan modelos de lenguaje enmascarado para potenciar muchas tareas de PLN, como reconocimiento de entidades nombradas, la respuesta a preguntas y la clasificación de texto. Como ocurre en muchos ámbitos del PLN, la investigación sobre modelización de lenguaje enmascarado se ha centrado a menudo en lenguas latinas, y principalmente en inglés. Más recientemente, los experimentos publicados desarrollan y evalúan conjuntos de datos de idiomas no latinos, como el japonés y el ruso, para modelar el lenguaje enmascarado y tareas posteriores.6 Además, un grupo de investigación propone un método poco supervisado para preentrenar modelos de lenguaje multilingües enmascarados. Específicamente, introducen un token enmascarado especial para realizar un pase transversal en el preentrenamiento en conjuntos de datos multilingües. Su método muestra una mejora notable en la clasificación interlingüística con modelos lingüísticos enmascarados multilingües.7
Como ya hemos mencionado, los investigadores pueden utilizar a menudo el modelado lingüístico enmascarado como medio para mejorar el rendimiento del modelo en tareas posteriores de PLN. Estas tareas incluyen:
Reconocimiento de entidades nombradas. Esta tarea utiliza modelos y redes neural Networks para identificar categorías de objetos predefinidas en textos, como nombres de personas, nombres de ciudades, etc. Al igual que con muchos objetivos de machine learning, la falta de datos adecuados ha demostrado ser un obstáculo en el reconocimiento de entidades nombradas. Para abordar esto, los investigadores han explorado el modelado enmascarado del lenguaje como una forma de aumento de datos para el reconocimiento de entidades nombradas con un éxito notable.8
Análisis de sentimiento. El análisis de sentimiento analiza y clasifica los datos como positivos, negativos o neutrales. A menudo se utiliza para clasificar grandes colecciones de reseñas de clientes en línea. Al igual que el reconocimiento de entidades con nombre, los investigadores han explorado el modelado de lenguaje enmascarado como técnica de aumento de datos para el análisis de sentimientos9 Además, el modelado de lenguaje enmascarado se muestra prometedor para la adaptación del dominio en el análisis de sentimiento. La investigación sugiere específicamente que ayuda a centrarse en predecir palabras con grandes ponderaciones para tareas de clasificación de sentimientos.10
Explore la biblioteca de modelos fundacionales de IBM en la cartera de watsonx para escalar la IA generativa para su negocio con confianza.
Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.
Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.
1 Daniel Jurafsky y James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 3.ª edición, 2023, https://web.stanford.edu/~jurafsky/slp3.
2 Lewis Tunstall, Leandro von Werra y Thomas Wolf, Natural Language Processing with Transformers, Revised Edition, O’Reilly Media, 2022.
3 Daniel Jurafsky y James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 3.ª edición, 2023, https://web.stanford.edu/~jurafsky/slp3. Denis Rothman, Transformers para procesamiento del lenguaje natural y visión artificial, 3.ª edición, Packt Publishing, 2024.
4 Jacob Devlin, Ming-Wei Chang, Kenton Lee y Kristina Toutanova, "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding," Actas de la Conferencia de 2019 del Capítulo Norteamericano de la Asociación de Lingüística Computacional, 2019, https://aclanthology.org/N19-1423.
5 Daniel Jurafsky y James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 3.ª edición, 2023, https://web.stanford.edu/~jurafsky/slp3.
6 Masahiro Kaneko, Aizhan Imankulova, Danushka Bollegala y Naoaki Okazaki, "Gender Bias in Masked Language Models for Multiple Languages," Actas de la Conferencia de 2022 del Capítulo Norteamericano de la Asociación de Lingüística Computacional: Tecnologías del Lenguaje Humano, 2022, https://aclanthology.org/2022.naacl-main.197. Sheng Liang, Philipp Dufter y Hinrich Schütze, "Monolingual and Multilingual Reduction of Gender Bias in Contextualized Representations," Actas de la 28.ª Conferencia Internacional de Lingüística Computacional, 2020, https://aclanthology.org/2020.coling-main.446.
7 Xi Ai and Bin Fang, "On-the-fly Cross-lingual Masking for Multilingual Pre-training," Actas de la 61.ª Reunión Anual de la Asociación de Lingüística Computacional, 2023, https://aclanthology.org/2023.acl-long.49.
8 Ran Zhou, Xin Li, Ruidan He, Lidong Bing, Erik Cambria, Luo Si y Chunyan Miao, "MELM: Data Augmentation with Masked Entity Language Modeling for Low-Resource NER," Actas de la 60.ª Reunión Anual de la Association for Computational Linguistics (ACL), 2022, https://aclanthology.org/2022.acl-long.160.
9 Larisa Kolesnichenko, Erik Velldal y Lilja Øvrelid, "Word Substitution with Masked Language Models as Data Augmentation for Sentiment Analysis", Actas del segundo taller sobre recursos y representaciones para lenguajes y dominios con recursos insuficientes (RESOURCEFUL-2023), 2023, https://aclanthology.org/2023.resourceful-1.6.
10 Nikolay Arefyev, Dmitrii Kharchev y Artem Shelmanov, "NB-MLM: Adaptación eficiente de dominios de modelos de lenguaje enmascarados para el análisis de sentimiento," Actas de la conferencia 2021 sobre métodos empíricos en procesamiento del lenguaje natural, 2021, https://aclanthology.org/2021.emnlp-main.717.