![Page 1: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/1.jpg)
REPRESENTACIÓN DE PALABRAS COMO VECTORES(WORD VECTOR REPRESENTATIONS)
SEMINARIO DE APRENDIZAJE PROFUNDO APLICADO AL PROCESAMIENTO DE LENGUAJE NATURAL
2016
![Page 2: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/2.jpg)
¿QUÉ TAREAS QUEREMOS HACER?
• Clasificación
• Recuperación de información (information retriveal)
• Traducción
• Reconocimiento de voz (speech recognition)
• Análisis de sentimiento (Sentiment analisys)
• Otros NER, SRL, POS, etc…
![Page 3: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/3.jpg)
¿CÓMO LO HACEMOS?
Entrada (texto)
Algoritmo de aprendizaje
Salida
![Page 4: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/4.jpg)
EL PROBLEMA….
• La computadora no entiende
palabras.
• Podemos enumerar todas las
palabras del vocabulario V con el
que trabajamos y mapear estas
palabras con números del 1 al |V|.
Palabra Id (w)
Soleado 1
Es 2
Día 3
Un 4
Hoy 5
Vocabulario
Hoy es un día soleado
5 2 4 3 1
![Page 5: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/5.jpg)
PERO….
• Si usamos este enfoque le estamos brindando información que seguramente es
falsa al algoritmo de aprendizaje por lo que puede llegar a resultados
erróneos.
• PRINCIPALES PROBLEMAS
• Distancia entre palabras
• Relación de orden entre palabras
![Page 6: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/6.jpg)
ONE-HOT ENCODING
• Utilizamos vectores de tamaño |V|
• Utilizamos la representación que mapea una palabra a un número
• El vector (one-hot vector) que la palabra con un determinado id, es un vector lleno
de ceros salvo en la posición id donde contiene un 1.
• De esta forma tenemos vectores ortogonales que mantienen la distancia y no tienen
un orden implícito.
• Siguiendo el ejemplo anterior:
Día (id=3)
Soleado (id=1)
0 0 1 0 0
1 0 0 0 0
![Page 7: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/7.jpg)
PROBLEMAS CON ONE-HOT ENCODING
• Dimensión muy alta (high-dimensional)
• La dimensión de los vectores es igual al tamaño del vocabulario
• Seguramente decenas o cientos de miles
• Los problemas
• Posibilidad de sobreajuste (Overfitting).
• Millones de entradas pueden significar millones de parámetros a ajustar
• Computacionalmente costoso
• No todas las operaciones se pueden realizar con matrices dipersas (ej reconstrucción en autoencoders)
• No agrega información
• Evita asunciones falsas por parte del algoritmo de aprendizaje, pero no aporta información verdadera acerca
de relaciones entre las palabras
![Page 8: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/8.jpg)
WORD EMBEDDING
• Cada palabra se representa con un vector
• Vectores “densos”
• Usualmente de dimensión entre 50 y 1000
• Auto-aprendidos
• Palabras semánticamente similares tienen representaciones similares o
“cercanas”.
![Page 9: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/9.jpg)
EJEMPLO
![Page 10: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/10.jpg)
![Page 11: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/11.jpg)
UN POCO DE HISTORIA…
• El término “word embedding”, nace en 2003 en un trabajo de Bengio et al.
• Los primero en demostrar la utilidad de “word embeddings” pre-entrenados
fueron Collobert y Weston en 2008
• En 2014 Mikolov et al. liberaron word2vec, lo que tuvo un gran impacto y
popularizó este método
• Decenas de trabajos se han realizado basados en word2vec, muchos de ellos
alcanzando el estado del arte para el área que trataban.
![Page 12: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/12.jpg)
WORD EMBEDDINGS - PRINCIPALES MÉTODOS
• Latent Semantic Indexing (Deerwester et al., ’88).
• Neural Net Language Models (NN-LMs) (Bengio et al., ’06)
• Convolutional Nets for tagging (SENNA) (Collobert & Weston, ’08).
• Supervised Semantic Indexing (Bai et al, ’09).
• Wsabie (Weston et al., ’10).
• Recurrent NN-LMs (Mikolov et al., ’10).
• Recursive NNs (Socher et al., ’11).
• Word2Vec (Mikolov et al., ’13).
• Paragraph Vector (Le & Mikolov, ’14).
![Page 13: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/13.jpg)
MODELADO DEL LENGUAJE
• Un modelo de lenguaje es un modelo probabilístico que asigna
probabilidades a cualquier secuencia de palabras p(w1, ... ,wT).
• Modelado de lenguaje es la tarea de aprender un modelo de lenguaje que asigna altas
probabilidades a oraciones bien formadas.
• Desempeña un papel crucial en los sistemas de traducción de reconocimiento de voz y de
la máquina
A smart person
Una persona inteligente
A person smart
![Page 14: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/14.jpg)
MODELO DE N-GRAMA
• Un n-grama es una secuencia de n palabras
• Unigramas (n=1): “es”, “una”, “secuencia”, etc.
• Bigramas (n=2): [“es”, “una”], [“una”, “secuencia”], etc.
• Trigramas (n=4): [“es”, “una”, “secuencia”], [ “una”, “secuencia”, “de”], etc.
• Permiten hacer una predicción estadística del próximo elemento de cierta
secuencia de elementos sucedida hasta el momento.
• Los recuentos de n-gramas son obtenidos de un corpus de entrenamiento.
![Page 15: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/15.jpg)
PROBLEMAS CON EL MODELO DE N-GRAMA
• Problema: Data sparsity
• Queremos un “n” grande para que el modelo sea realista
• Pero… para valores grandes de “n”, es probable que un n-grana no haya sido
observado en el corpus de entrenamiento.
• Podemos intentar “suavizar” los recuentos
• Combinar count(w1 , w2 , w3 , w4), count(w2 , w3 , w4), count(w3 , w4), and count(w4) para
estimar p(w4 |w1, w2, w3)
• Esto resuelve el problema tan solo en parte
![Page 16: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/16.jpg)
HIPÓTESIS DISTRIBUCIONAL
• La hipótesis distribucional (Distributional Hypothesis), en lingüística se deriva
de la teoría semántica de uso del lenguaje, es decir
• Las palabras que son utilizadas y aparecen en contextos iguales tienden a tener
significados similares.
“words that are used and occur in the same contexts tend to purport similar meanings.”
Harris, Z. (1954). Distributional structure
• Conocerás una palabra por la compañía que mantiene.
‘You shall know a word by the company it keeps’. Firth, J.R. (1957). A synopsis of linguistic
theory 1930-1955
![Page 17: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/17.jpg)
MODELO DE LENGUAJE DE REDES NEURONALES
• Modelar la probabilidad
p(wt | wt−(n−1) , ... ,wt−1)
Mediante una red neuronal
• Podremos aprender representaciones de
palabras que permitan un mapeo para n-
gramas que no han sido observados.
• Para generar una probabilidad se utiliza
una capa softmax
Classic neural language model (Bengio et al., 2003)
![Page 18: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/18.jpg)
MODELO DEL LENGEUAJE DE REDES NEURONALES
• Potencialmente puede generalizar a contextos que no han sido observados en
el conjunto de entrenamiento.
• Ejemplo: P(“comiendo” | “el”, ”gato”, ”está”)
Imaginemos que el 4-grama [“el”, “gato”, “está”, ”comiendo” ] no está en el corpus de
entrenamiento, pero [“el”, “perro”, “está”, ”comiendo” ] sí lo está.
Si las representaciones de “gato” y “perro” son similares, entonces la red neuronal
puede ser capaz de generalizar al caso del “gato”
Las redes neuronales pueden aprender representaciones de palabras similares para
estas palabras basado en otro 4-gramas como:
[“el”, “gato”, “está”, ” durmiendo” ]
[“el”, “perro”, “está”, ”durmiendo” ]
![Page 19: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/19.jpg)
WORD2VEC
• Herramienta para el cálculo de las representaciones de palabras distribuidas y
continuas.
• Presentado en “Efficient Estimation of Word Representations in Vector Space.”
Mikolov et al. (2013) - Google
• ¿Deep learning?
• Sin capas ocultas…
• 2 algoritmos
• Modelo CBOW (continuous bag of words)
• Red neuronal de una capa
• Modelo Skip-gram
![Page 20: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/20.jpg)
WORD2VEC
• Diferencias con enfoques anteriores (como NNLM)
• Elimina la capa oculta no lienal
• Utiliza una ventana (toma como contexto el pasado y el futuro)
• La capa de proyección se comparte para todas las entradas
• Utiliza métodos de optimización como “negative sampling”
![Page 21: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/21.jpg)
WORD2VEC – ESTRUCTURA GENERAL
https://iksinc.wordpress.com/tag/continuous-bag-of-words-cbow/
![Page 22: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/22.jpg)
WORD2VEC – ESTRUCTURA GENERAL (EJEMPLO)
• Supongamos que tenemos el corpus:
• “the dog saw a cat”, “the dog chased the cat”, “the cat climbed a tree”
• Usamos vectores de dimensión tres (3 neuronas en la capa oculta)
• Por lo tantos las matrices WI and WO serán de 8×3 y 3×8 respectivamente
• Inicializamos los valores para las matrices de forma aleatoria
WI =
WO =
![Page 23: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/23.jpg)
WORD2VEC – ESTRUCTURA GENERAL (EJEMPLO 2)
• Nos interesa aprender la relación entre las palabras “cat” y “climbed”
• O sea queremos que la red neuronal muestre con alta probabilidad “climbed” cuando la
palabra “cat” es la entrada de la red.
• Utilizamos one-hot encoding para representar las palabras.
• El vector de entrada correspondiente a la palabra “cat” es [0 1 0 0 0 0 0 0]t
• El vector objetivo correspondiente a la palabra “climbed” es [0 0 0 1 0 0 0 0 ]t
• Ht = XtWI = [-0.490796 -0.229903 0.065460]
• Ht coincide con la 3er fila de la matriz WI
![Page 24: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/24.jpg)
WORD2VEC – ESTRUCTURA GENERAL (EJEMPLO 3)
• La salida de la red (del tamaño del vocabulario) es
• HtWO = [0.100934 -0.309331 -0.122361 -0.151399 0.143463 -0.051262 -
0.079686 0.112928]
• Siendo que lo que queremos calcular es la probabilidad Pr(wordk|wordcontext) para
k=1,..,|V|
• Para esto word2vec utiliza softmax que se puede calcular de la siguiente forma:
• activation(n) representa la salida de la n-esima neurona de la capa de salida
![Page 25: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/25.jpg)
WORD2VEC – ESTRUCTURA GENERAL (EJEMPLO 4)
• Por lo tanto las probabilidades para las neuronas de la capa de salida:
[ 0.143073, 0.094925, 0.114441, 0.111166, 0.149289, 0.122874, 0.119431, 0.144800 ]
• Dado el vector objetivo [0 0 0 1 0 0 0 0 ]t, el vector de error se puede calcular
fácilmente restando el vector de probabilidades al vector objetivo.
• Luego simplemente mediante backpropagation se propaga el error hacia atrás y
se ajustan los valores.
• Al final la matriz WI contiene los vectores que representan las palabras.
![Page 26: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/26.jpg)
SKIP-GRAM AND CBOW MODELS
Efficient Estimation of Word Representations in Vector Space by Tomas Mikolov, et al.
![Page 27: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/27.jpg)
MODELO CBOW
• Dado un contexto (una ventana de palabras), busca predecir una palabra
objetivo (o palabra actual).
• Ej. Dados wi-2, wi-1, wi+1, wi+2 wi
• Tres capas
• Capa de entrada
• Capa de proyección
• Capa de salida
• Se llama “Continuous bag-of-words” ya que no tiene en cuenta el orden de
las palabras,
![Page 28: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/28.jpg)
MODELO CBOW
• En este caso tenemos C palabras en el contexto que
se corresponden con C entradas.
ℎ =1
𝐶𝑊 𝑥1 + 𝑥2 +⋯+ 𝑥𝐶 =
1
𝐶(𝑣𝑤1 + 𝑣𝑤2 +⋯+ 𝑣𝑤𝑐)
• Donde C es el número de entradas, x1,…,xC son las
entradas, y vw1,…,vwC son los vectores de w que
corresponden a cada palabra
• Al ajustar los pesos en el backpropagation debemos
recordar que hicimos esta modificaciónword2vec Parameter Learning Explained - Xin Rong
![Page 29: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/29.jpg)
MODELO SKIP-GRAM
• Dada una palabra intenta predecir el contexto en el que aparecerá.
• Ej. Dado wi wi-2, wi-1, wi+1, wi+2
• Tres capas
• Capa de entrada
• Capa de proyección
• Capa de salida
• Mikolov recomienda su uso junto a Negative Sampling ya que da mejores
resultados que CBOW en tareas similares.
![Page 30: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/30.jpg)
MODELO SKIPGRAM
• En este caso tenemos C palabras en el contexto
que se corresponden con C salidas.
• Se calcula una salida para cada palabra de
contexto. Se utiliza el mismo W’ (WO), pero se
calcula el softmax para cada palabra.
• Se utiliza:
• Luego se calcula el vector de error para cada
palabra, y se suman los errores.word2vec Parameter Learning Explained - Xin Rong
![Page 31: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/31.jpg)
OPTIMIZANDO WORD2VEC
• Hierarchical softmax – Huffman Tree
• Evita el cálculo de la probabilidad para todas las palabras del lenguaje.
• Sub-sampling de palabras frecuentes
• Algunas palabras como (“un”, “el”, en”, “y”,…) aparen mucho (incluso cientos de milllones
de veces) pero no aportan mucha información.
• Negative Sampling
• Para la fórmula p(c | w) = v_c * v_w/sum(v_c1 * v_w). Evita el cálculo de todos los
posibles conextos en denominador (sum) eligiendo unos pocos de forma aleatoria.
![Page 32: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/32.jpg)
ALGUNAS PROPIEDADES INTERESANTES
https://www.tensorflow.org/versions/r0.7/tutorials/word2vec/index.html
![Page 33: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/33.jpg)
ALGUNAS PROPIEDADES INTERESANTES
• Captura relaciones sintácticas y
semánticas de una forma sencilla
• vector(”King”) - vector(”Man”) +
vector(”Woman”)
Da como resultado un vector muy
cercano a vector(“Queen”)
![Page 34: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/34.jpg)
WORD2VEC RESULTADOS
• Simplifica la arquitectura con respecto a otros modelos que se venían
utilizando hasta el momento
• Agrega optimizaciones como “Negative Sampling” que hacen los algorimos
más eficientes
• Gracias a estas optimizaciones permite entrenar el modelo con una gran
cantidad de datos en menor tiempo.
• En los papers se llega a entrenar el algoritmo para 1600 millones de
palabras (1.6 billon)
![Page 35: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/35.jpg)
WORD2VEC RESULTADOS
Relationship pairs in a word embedding. From Mikolov et al. (2013b).
![Page 36: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/36.jpg)
WORD2VEC RESULTADOS
Nótese que la dimensión para NNLM es 100 ya que el
entrenamiento para la dimensión 1000 tardaría mucho
tiempo.
Efficient Estimation of Word Representations in
Vector Space - Mikolov et al.
![Page 37: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/37.jpg)
WEVI - DEMO
• Herramienta para visualizar el
mecanismo básico de trabajo de
word2vec
• Aprende vectores de palabras
utilizando word2vec (el mecanismo
más básico) en un pequeño
vocabulario.
• Puede ayudar a entender el modelo
• https://ronxin.github.io/wevi/
![Page 38: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/38.jpg)
ALGUNAS APLICACIONES - TRADUCCIONES
• Representaciones de números
y animales en vectores de
palabras. A la izquierda en
inglés, a la derecha español.
• Los vectores fueron
proyectados a 2 dimensiones.
Se puede ver que en ambos
casos hay una estructura
similar, lo que indica que es
podría ser posible aprender
un mapeo lineal de un
espacio a otro.
Exploiting Similarities among Languages for Machine Translation – Mikolov et al.
![Page 39: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/39.jpg)
ALGUNAS APLICACIONES - IMÁGENES
• Reconocer imágenes nunca vistas
• (generalizar desde objetos conocidos)
• En este caso se entrenó la red con imágenes
conocidas como auto, caballo, perro.
• Se le mostró a la red la imagen de un gato y
la red la convirtió en un vector cercano a
gato (y a perro)
• Se le mostró la imagen de un camión y la
convirtió en un vector cercano a camión
Zero-Shot Learning Through Cross-Modal Transfer – Socher et al.
![Page 40: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/40.jpg)
ALGUNAS APLICACIONES – DESCRIBIR IMÁGENES
• Show and tell. Intenta describir
automáticamente el contenido de
una imagen.
Show and Tell: A Neural Image Caption Generator – Vinyals et al
![Page 41: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/41.jpg)
ALGUNAS APLICACIONES – SHOW AND TELL
![Page 42: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/42.jpg)
OTRAS APLICACIONES
• Dependency parsing
• Named entity recognition
• Document classification
• Sentiment Analysis
• Paraphrase Detection
• Word Clustering
• Machine Translation
![Page 43: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/43.jpg)
GLOVE (GLOBAL VECTORS)
• Metodos basados en conteo
• Entrenamiento más rápido
• Uso eficiente de estadísticas
• Principalmente utilizado para capturar
similitud de palabras
• Da importancia desproporcionada a
conteos grandes
• Métodos de predicción directa
• Escala con el tamaño del corpus
• Uso ineficiente de estadísticas
• Mejora la performance en situaciones
no vistas
• Puede capturar patrones complejos
más allá de la similitud de palabras
![Page 44: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/44.jpg)
GLOVE
• Metodo basado en conteo
• Reune las ventajas de ambos mundos
• Entrenamiento rápido
• Escala a grandes corpus
• Buen desempeño incluso para corpus pequeños y para vectores pequeños
• Toma como base que la estadística de la ocurrencia de palabras es la
principal fuente de información disponible para aprender representaciones
de palabras mediante métodos de aprendizaje no supervisado
![Page 45: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/45.jpg)
GLOVE – IDEA BASE
• Utiliza una matriz de coocurrencias.
• Cuenta palabras en el contexto de
una palabra objetivo.
• Calcula la relación entre
probabilidades de una palabra
dadas otras dos que se quieren
relacionar.
GloVe: Global Vectors for Word Representation
Pennington et. Al.
![Page 46: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/46.jpg)
GLOVE – IDEA BASE (EJEMPLO)
• Si la palabra k está relacionada a “ice” pero no a “steam”, en el ejemplo
k = “solid”, la relación p(solid|ice)/p(solid|steam) será grande (mucho
mayor que 1).
• Si la palabra k está relacionada a “steam” pero no a “ice”, en el ejemplo
k = “gas”, la relación p(gas|ice)/p(gas|steam) será pequeña (mucho
menor que 1).
• En cambio si la palabra k no está relacionada con ninguna o si está
relacionada con ambas de forma similar, la relación debería ser cercana
a 1.
![Page 47: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/47.jpg)
RESULTADOS
• frog
• frogs
• toad
• litoria
• leptodactylidae
• rana
• lizard
• eleutherodactylus
Vecinos cercanos a “frog”
http://nlp.stanford.edu/projects/glove/
![Page 48: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/48.jpg)
GLOVE – RESULTADOS - NÚMEROS
GloVe: Global Vectors for Word Representation Pennington et. Al.
![Page 49: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/49.jpg)
![Page 50: REPRESENTACIÓN DE PALABRAS COMO VECTORES (word vector](https://reader035.vdocumento.com/reader035/viewer/2022072222/62da24a3834fee61e35fa716/html5/thumbnails/50.jpg)
PREGUNTAS
• Comentarios ?
• Ideas locas ?