word embeddings introdução, motivação e exemplos
TRANSCRIPT
![Page 1: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/1.jpg)
Word Embeddings: Introdução, Motivação e ExemplosSeminário LINE/LUDES - Junho 2017
Felipe Almeida
1
![Page 2: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/2.jpg)
Estrutura da palestra
● Motivação● Modelos de Linguagem● Redes Neurais● Redes Neurais para Modelos de Linguagem● Embeddings● Visualização ● Word2Vec● Casos de Uso● Trabalhos Futuros● Recursos
2
![Page 3: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/3.jpg)
Motivação
● Precisamos de boas representações de palavras para tarefas de NLP○ Vetores one-hot dimensionalidade muito alta○ Vetores one-hot não ajudam na generalização
3
![Page 4: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/4.jpg)
Motivação
● Precisamos de boas representações de palavras para tarefas de NLP○ Vetores one-hot dimensionalidade muito alta○ Vetores one-hot não ajudam na generalização
● Hipótese distribucional (Distributional Hypothesis)○ Palavras têm significados parecidos se são usadas em contextos
parecidos.
4
![Page 5: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/5.jpg)
Modelos de Linguagem
● Modelos de linguagem (language model) são modelos que predizem a próxima palavra, dado um conjunto de palavras.
5
![Page 6: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/6.jpg)
Modelos de Linguagem
● Modelos de linguagem (language model) são modelos que predizem a próxima palavra, dado um conjunto de palavras.
● Exemplo:○ “O gato corre atrás do _______”○ Será que a próxima palavra é:
■ “rato” ?■ “cachorro” ?■ “carro” ?
6
![Page 7: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/7.jpg)
Modelos de Linguagem
● Modelos de linguagem (language model) são modelos que predizem a próxima palavra, dado um conjunto de palavras.
● Exemplo:○ “O gato corre atrás do _______”○ Será que a próxima palavra é:
■ “rato” ?■ “cachorro” ?■ “carro” ?
● Modelos de linguagem são usados para coisas como processamento de voz, autocorreção de ortografia, etc. 7
![Page 8: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/8.jpg)
Redes Neurais
● É um modelo de representar features e a interação entre input e output.
8
![Page 9: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/9.jpg)
Redes Neurais
● É um modelo de representar features e a interação entre input e output.
● Em cada nó, é aplicada uma função de ativação (sigmóide, tangente hiperbólica, etc) ao produto interno do valor de cada nó da camada anterior e a matriz de pesos.
9
![Page 10: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/10.jpg)
Redes Neurais
● É um modelo de representar features e a interação entre input e output.
● Em cada nó, é aplicada uma função de ativação (sigmóide, tangente hiperbólica, etc) ao produto interno do valor de cada nó da camada anterior e a matriz de pesos.
● O treinamento se dá por backpropagation, i.e. se compara o resultado previsto como resultado real, calcula-se as derivadas parciais para cada peso e os pesos são atualizados.
10
![Page 12: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/12.jpg)
12
![Page 13: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/13.jpg)
Redes Neurais para Modelos de Linguagem
● Redes Neurais foram aplicadas para treinar modelos de linguagem em 2001○ É um treinamento não-supervisionado, ou seja, é feito com dados não
rotulados○ Teve performance maior do que o estado-da-arte de então para
modelos de linguagens baseados em n-gramas○ Mas era muito lento pra treinar
13
![Page 14: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/14.jpg)
Redes Neurais para Modelos de Linguagem
● Redes Neurais foram aplicadas para treinar modelos de linguagem em 2001○ É um treinamento não-supervisionado, ou seja, é feito com dados não
rotulados○ Teve performance maior do que o estado-da-arte de então para
modelos de linguagens baseados em n-gramas○ Mas era muito lento pra treinar
● O contexto de uma palavra (ou seja, palavras que a precedem) é usado para prever a próxima palavra
14
![Page 15: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/15.jpg)
15
![Page 16: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/16.jpg)
16
![Page 17: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/17.jpg)
Embeddings
● Um pouco depois de se começar a usar redes neurais para modelos de linguagem, percebeu-se se que era mais interessante colocar uma camada adicional -linear, de tamanho fixo- entre o vetor de features de cada palavra e as camadas da rede○ Para reduzir a dimensionalidade dos vetores de palavras○ E ter representações de tamanho fixo
17
![Page 18: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/18.jpg)
Embeddings
● Um pouco depois de se começar a usar redes neurais para modelos de linguagem, percebeu-se se que era mais interessante colocar uma camada adicional -linear, de tamanho fixo- entre o vetor de features de cada palavra e as camadas da rede○ Para reduzir a dimensionalidade dos vetores de palavras○ E ter representações de tamanho fixo
● Essa camada foi chamada de Embedding Layer
18
![Page 19: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/19.jpg)
Embeddings
● Um pouco depois de se começar a usar redes neurais para modelos de linguagem, percebeu-se se que era mais interessante colocar uma camada adicional -linear, de tamanho fixo- entre o vetor de features de cada palavra e as camadas da rede○ Para reduzir a dimensionalidade dos vetores de palavras○ E ter representações de tamanho fixo
● Essa camada foi chamada de Embedding Layer
● Logo percebeu-se que a projeção de cada palavra nessa camada tinha um significado semântico também. 19
![Page 20: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/20.jpg)
20
![Page 21: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/21.jpg)
Embeddings
● Ou seja, depois de projetada na camada de Embedding, cada palavra vira um vetor em um espaço vetorial.○ Neste espaço, a proximidade entre vetores representa proximidade de
padrão de uso○ Ou seja, palavras que são usadas no mesmo contexto ficam próximas
umas das outras.
21
![Page 22: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/22.jpg)
Embeddings
● Ou seja, depois de projetada na camada de Embedding, cada palavra vira um vetor em um espaço vetorial.○ Neste espaço, a proximidade entre vetores representa proximidade de
padrão de uso○ Ou seja, palavras que são usadas no mesmo contexto ficam próximas
umas das outras.
● Em 2010, foi identificado que embeddings poderiam ser usados para melhorar resultados de praticamente todas as tarefas normais de NLP, como tagueamento POS, SRL, NER, classificação de textos, etc.
22
![Page 23: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/23.jpg)
Embeddings
● Em 2013, foi feito um estudo sobre a semântica desses vetores (chamados de Word Embeddings) e foi descoberto que eles eram tão bons que se podia até fazer operações aritméticas com eles.
23
![Page 24: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/24.jpg)
Embeddings
● Em 2013, foi feito um estudo sobre a semântica desses vetores (chamados de Word Embeddings) e foi descoberto que eles eram tão bons que se podia até fazer operações aritméticas com eles.
● Exemplo: a operação aritméticaEmbedding(“king”) - Embedding(“man”) + Embedding(“woman”)Dá como resultadoEmbedding(“queen”)
24
![Page 25: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/25.jpg)
25
![Page 26: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/26.jpg)
Font
e: h
ttps:
//nlp
.sta
nfor
d.ed
u/pr
ojec
ts/g
love
/
26
![Page 27: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/27.jpg)
Font
e: h
ttps:
//nlp
.sta
nfor
d.ed
u/pr
ojec
ts/g
love
/
27
![Page 29: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/29.jpg)
Embeddings
● Definição de um word embedding:○ Um word embedding é um vetor distribuído, denso, contínuo, de tamanho
fixo, que representa uma palavra.
29
![Page 30: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/30.jpg)
Embeddings
● Definição de um word embedding:○ Um word embedding é um vetor distribuído, denso, contínuo, de tamanho
fixo, que representa uma palavra.
● Distribuído: cada conceito é representado por mais de uma feature. Isso diminui a dimensionalidade necessária.
30
![Page 31: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/31.jpg)
Embeddings
● Definição de um word embedding:○ Um word embedding é um vetor distribuído, denso, contínuo, de tamanho
fixo, que representa uma palavra.
● Distribuído: cada conceito é representado por mais de uma feature. Isso diminui a dimensionalidade necessária.
● Denso: não esparso.
31
![Page 32: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/32.jpg)
Embeddings
● Definição de um word embedding:○ Um word embedding é um vetor distribuído, denso, contínuo, de tamanho
fixo, que representa uma palavra.
● Distribuído: cada conceito é representado por mais de uma feature. Isso diminui a dimensionalidade necessária.
● Denso: não esparso.● Contínuo: não binário, possibilita fácil generalização.
32
![Page 33: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/33.jpg)
Embeddings
● Definição de um word embedding:○ Um word embedding é um vetor distribuído, denso, contínuo, de tamanho
fixo, que representa uma palavra.
● Distribuído: cada conceito é representado por mais de uma feature. Isso diminui a dimensionalidade necessária.
● Denso: não esparso.● Contínuo: não binário, possibilita fácil generalização.● De tamanho fixo: é importante que todas as palavras sejam
projetadas no mesmo espaço para que possam ser comparadas
33
![Page 34: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/34.jpg)
Word2Vec
● O Word2Vec (2013) foi uma forma especialmente eficiente de treinar Word Embeddings
34
![Page 35: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/35.jpg)
Word2Vec
● O Word2Vec (2013) foi uma forma especialmente eficiente de treinar Word Embeddings
● O principal problema das abordagens anteriores era que os modelos eram lentos.○ Por causa do componente não-linear das redes neurais○ Por causa da função softmax no fim de cada rede, que precisava
calcular, para cada sequência (contexto) do conjunto de treinamento, a probabilidade de cada outra palavra do vocabulário
35
![Page 36: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/36.jpg)
Word2Vec
● O Word2vec implementou uma série de otimizações que tinham sido sugeridas em trabalhos anteriores e criou algumas otimizações próprias
36
![Page 37: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/37.jpg)
Word2Vec
● O Word2vec implementou uma série de otimizações que tinham sido sugeridas em trabalhos anteriores e criou algumas otimizações próprias
● A ideia era fazer uma rede bem simples que fosse rápida para treinar. E compensar a simplicidade do modelo treinando com MUITOS dados.○ Confirmando a máxima segundo a qual treinar um modelo simples
com mais dados em geral é melhor que um modelo complexo com menos dados
37
![Page 38: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/38.jpg)
Word2Vec
● O modelo Word2vec é uma rede neural linear, com apenas uma camada.
38
![Page 39: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/39.jpg)
Word2Vec
● O modelo Word2vec é uma rede neural linear, com apenas uma camada.
● Word2vec não é deep learning.
39
![Page 40: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/40.jpg)
Word2Vec
● O modelo Word2vec é uma rede neural linear, com apenas uma camada.
● Word2vec não é deep learning.
● Atualmente (2017), já há outros modelos que são melhores/mais rápidos para treinar do que o Word2vec.
40
![Page 41: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/41.jpg)
Casos de uso
● Embeddings podem ser usados em lugar de (ou como complemento a) features de palavras, como vetores one-hot.
41
![Page 42: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/42.jpg)
Casos de uso
● Embeddings podem ser usados em lugar de (ou como complemento a) features de palavras, como vetores one-hot.
● Embeddings podem ser usados em qualquer tarefa onde seja necessário representar palavras por features.
42
![Page 43: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/43.jpg)
Trabalhos futuros
● Como compor word embeddings para formar embeddings de coisas como frases, parágrafos e até documentos inteiros?
43
![Page 44: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/44.jpg)
Trabalhos futuros
● Como compor word embeddings para formar embeddings de coisas como frases, parágrafos e até documentos inteiros?
● Como tunar embeddings para tarefas específicas, como análise de sentimentos?
44
![Page 45: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/45.jpg)
Trabalhos futuros
● Como compor word embeddings para formar embeddings de coisas como frases, parágrafos e até documentos inteiros?
● Como tunar embeddings para tarefas específicas, como análise de sentimentos?
● Como melhorar a generalização para gerar embeddings de palavras raras, que não estavam presentes no conjunto de treinamento?
45
![Page 46: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/46.jpg)
Trabalhos futuros
● Embeddings podem ajudar na tradução?○ Projetar duas frases em diferentes línguas em um espaço comum e
depois comparar os vetores?
46
![Page 47: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/47.jpg)
Trabalhos futuros
● Embeddings podem ajudar na tradução?○ Projetar duas frases em diferentes línguas em um espaço comum e
depois comparar os vetores?
● Como podemos usar a generalização proporcionada pelos word embeddings para melhorar o resultado de outras tarefas de NLP?
47
![Page 48: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/48.jpg)
Trabalhos futuros
● Embeddings podem ajudar na tradução?○ Projetar duas frases em diferentes línguas em um espaço comum e
depois comparar os vetores?
● Como podemos usar a generalização proporcionada pelos word embeddings para melhorar o resultado de outras tarefas de NLP?
● Podemos usar embeddings para melhorar o resultado de tarefas de RI, como busca?
48
![Page 49: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/49.jpg)
Trabalhos futuros
● Que outras coisas podem ser transformadas em embedings?○ Item2Vec○ World2Vec
49
![Page 50: Word embeddings introdução, motivação e exemplos](https://reader033.vdocuments.site/reader033/viewer/2022051404/5a64b6ff7f8b9abb6f8b468d/html5/thumbnails/50.jpg)
Recursos
● Lista com vários modelos com embeddings pré-treinados○ http://ahogrammer.com/2017/01/20/the-list-of-pretrained-word-embed
dings/○ O modelo FastText é um dos melhores atualmente (2017), e tem
embeddings pré-treinados em várias línguas (incluindo português): https://github.com/facebookresearch/fastText/blob/master/pretrained-vectors.md
● Keras blog: Como usar embeddings pré-treinados para classificação de texto com redes convolucionais
50