Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Word Vectors: ¿cómo aprenden a hablar las máqui...

Word Vectors: ¿cómo aprenden a hablar las máquinas?

Breve introducción al Procesamiento del Lenguaje Natural y a las distintas estrategias que se han seguido para representar palabras de manera eficiente y útil para que las máquinas las puedan manejar. Desde los inicios del NLP, hasta los últimos modelos de lenguaje como ELMo y BERT.

#NLP #NLProc #wordembeddings

Avatar for Víctor Peinado

Víctor Peinado

October 10, 2019
Tweet

Other Decks in Research

Transcript

  1. Trabajo como NLP/ML Engineer en Reply.ai La misión de Reply:

    eliminar la frustración y ahorrar tiempo a la gente que interactúa con negocios online Desarrollamos productos basados en ML, en especial NLP, que mejoran los equipos de soporte en empresas de comercio electrónico Soy profesor de NLP en el máster de Data Science de Kschool ¿Qué hago aquí?
  2. Subcampo de la IA que se encarga de mejorar la

    interacción entre humanos y máquinas usando lenguaje natural NLP = NLU + NLG Área multidisciplinar: ingeniería, lingüística, estadística, psicología Tareas de NLP: análisis morfo-sintáctico, reconocimiento de entidades, análisis de opinión, búsqueda de respuestas, traducción automática, resumen automático, reconocimiento de voz... NLP: Natural Language Processing
  3. El lenguaje natural, al contrario que los lenguajes artificiales, es

    eminentemente ambiguo. ¿Por qué es tan difícil el NLP? No tiene estructura explícita.
  4. Dos posibles definiciones de palabra: • caso (token): cada una

    de las observaciones de una palabra en un texto. • tipo (type): la palabra en abstracto. Cómo representar palabras
  5. La manera más sencilla de representar palabras es como una

    secuencia ordenada de caracteres. • Comprobar si dos palabras son idénticas es lento :-( Las palabras también se pueden tener una representación discreta si usamos números enteros arbitrarios como identificadores únicos. • Todas las palabras ocupan lo mismo :-) • Comprobar si dos palabras son iguales es rapidísimo :-) • Estos identificadores no significan nada :-( • No hay manera de relacionar palabras similares atendiendo a su identificador :-( Cómo representar palabras
  6. La idea de que dos palabras pueden ser más o

    menos similares es crucial para muchas tareas de NLP. Esta idea de similitud es más fácil de manejar si representamos las palabras como un vectores en lugar de enteros. Podemos decidir qué rasgos/características tenemos en cuenta, y cuántas dimensiones tienen nuestros vectores. Podemos diseñarlos a mano. Podemos calcularlos automáticamente. Palabras como vectores
  7. Describiendo el significado de las palabras hombre [+humano] [+adulto] [+masc]

    [-muge] mujer [+humano] [+adulto] [-masc] [-muge] niño [+humano] [-adulto] [+masc] [-muge] niña [+humano] [-adulto] [-masc] [-muge] vaca [-humano] [+adulto] [-masc] [+muge] ternerillo [-humano] [-adulto] [+masc] [+muge] piedra [-humano] [-adulto] [-masc] [-muge] leer ? ? ? ?
  8. Vectores como listas de números, de una longitud determinada, que

    podemos visualizar en un espacio euclídeo. perro = [0.8, 0.3, 0.1] gato = [0.6, 0.5, 0.1] pizza = [0.1, 0.2, 0.8] Palabras como vectores distribucionales
  9. En lingüística, en Semántica Distribucional, está claro que si dos

    palabras pueden utilizarse de manera similar es porque tienen significados parecidos. “You shall know a word by the company it keeps.” John R. Firth “The meaning of a word is its use in the language (…) One cannot guess how a word functions. One has to look at its use, and learn from that.” L. Wittgenstein Dos palabras son similares si aparecen en contextos similares. Palabras como vectores distribucionales
  10. (Mikolov, 2013) describe word2vec, un algoritmo no supervisado para calcular

    el significado de palabras como representaciones vectoriales densas, como listas de números reales. GloVe, en 2014, propone un mecanismo similar. Estos sistemas aprenden el significado de las palabras, y parecen capturar cierta dirección semántica y morfo-sintáctica. París - France + España ≈ Madrid comimos - comer + andar ≈ anduvimos word2vec
  11. word2vec y GloVe tienen un problema: no saben cómo manejar

    palabras desconocidas (OOV words). fastText (Bojanowski et al., 2016) describe un método para aprender vectores, no de palabras, sino de n-gramas o secuencias de caracteres (subword information). Es capaz de manejar erratas y palabras raras y está disponible en 157 lenguas del mundo. fastText
  12. Los modelos anteriores tienen una limitación importante: cada palabra se

    codifica como un único vector. Pero el lenguaje natural es ambiguo, a varios niveles, y existen fenómenos como la polisemia y la homografía. banco: de sentar, de crédito, de peces, de arena cubo: de agua, operación matemática, figura geométrica planta: arbusto, fábrica, del pie bajo: nombre, adjetivo, preposición Limitaciones de los vectores de palabras
  13. ELMo (Peters et al., 2018) es una nueva técnica para

    calcular y asignar vectores de palabras de manera dinámica. Los vectores que asigna ELMo a las palabras cambian dependiendo del contexto porque tiene en cuenta todo el texto. El algoritmo combina dos modelos de lenguaje para calcular probabilidades de una palabra considerando su contexto anterior y posterior. ELMo al rescate: vectores contextuales
  14. BERT (Devlin et al., 2018) es otro algoritmo para codificar

    texto como vectores dinámicos. Combina varias ideas de ELMo (modelos de lenguaje bidireccionales) y otras arquitecturas de DL (transformers) para crear un modelo generalista que funciona sorprendentemente bien en cualquier tarea y es muy fácil de ajustar para tareas concretas. BERT
  15. Estamos viviendo el momento ImageNET en el mundo del NLP.

    Por fin contamos con modelos de lenguaje pre-entrenados que pueden ser ajustados (fine tuned) para tareas concretas. • ULMFiT • OpenAI GPT-2 • XLNet • RoBERTa • ALBERT Y más allá: Transfer Learning
  16. 210 horas lectivas (octubre 2019 - mayo 2020) 1. Deep

    Learning 2. Procesamiento del Lenguaje Natural 3. Interfaces Conversacionales 3 casos prácticos + TFM final Matrícula para la 2ª edición y + info Máster en IA y DL en Kschool
  17. Alammar, J. The Illustrated BERT, ELMo, and co. (How NLP

    Cracked Transfer Learning) BERT: Bidirectional Encoder Representations from Transformers El Boukkouri, H. Arithmetic Properties of Word Embeddings fastText: a library for efficient learning of word representations and sentence classification GloVe: Global Vectors for Word Representation word2vec: Tool for computing continuous distributed representations of words Smith, N. 2019. “Contextual Word Representations: A contextual Introduction” Referencias