O seguinte widget, baseado no
Embedding Projector do TensorFlow, achata 10.000
vetores estáticos word2vec
em um espaço 3D. Esse colapso de dimensões pode ser
enganador, porque pontos próximos no espaço original,
que tem muitas dimensões, talvez pareçam mais distantes na projeção 3D. Os pontos
n mais próximos estão destacados em roxo, com n escolhido pelo usuário em
Isolate __ points. A barra lateral na direita identifica os vizinhos
mais próximos.
Nestes experimentos, você vai brincar com os embeddings do word2vec
no widget
acima.
Tarefa 1
Tente encontrar os 20 vizinhos mais próximos dos termos a seguir e ver as posições dos grupos na nuvem.
iii
,third
ethree
tao
eway
orange
,yellow
ejuice
O que você notou nos resultados?
Clique aqui para ver nossa resposta
Apesar de iii
, third
e three
serem parecidos semanticamente, eles aparecem em contextos diferentes no texto e
não parecem estar próximos nesse espaço de embedding. No
word2vec
, iii
está mais perto de iv
do que de
third
.
Do mesmo modo, apesar de way
ser uma tradução direta de tao
,
essas palavras ocorrem com mais frequência junto a grupos completamente diferentes
no conjunto de dados usado. Por isso, os dois vetores estão bem distantes.
Os primeiros vários vizinhos de orange
são cores, mas
juice
e peel
, relacionados com o significado de
orange
como uma fruta, aparecem nas posições 14º
e 18º. prince
, por sua vez, no significado relacionado a
"Príncipe de Orange", está em 17º. Na projeção, as palavras mais próximas de
orange
são yellow
e outras
cores, enquanto as palavras mais próximas de juice
não incluem
orange
.
Tarefa 2
Tente descobrir algumas características dos dados de treinamento. Por exemplo, tente encontrar os 100 vizinhos mais próximos dos termos a seguir, e veja onde os grupos ficam na nuvem:
boston
,paris
,tokyo
,delhi
,moscow
eseoul
(esta é uma "pegadinha")jane
,sarah
,john
,peter
,rosa
ejuan
Clique aqui para ver nossa resposta
Muitos dos vizinhos mais próximos de boston
são outras cidades
nos EUA. Muitos dos vizinhos mais próximos de paris
são outras cidades
na Europa. tokyo
e delhi
não parecem ter
resultados parecidos: a primeira é associada a cidades ao redor do mundo que
são centros turísticos, e a segunda é associada com india
e palavras
relacionadas. seoul
não aparece nesse conjunto reduzido de
vetores de palavras.
Parece que esse conjunto de dados contém muitos documentos relacionados à geografia dos Estados Unidos, alguns documentos relacionados à geografia europeia e pouca cobertura detalhada de outros países ou regiões.
Do mesmo modo, esse conjunto de dados parece conter muitos nomes masculinos em inglês, alguns nomes femininos em inglês e pouquíssimos nomes em outros idiomas. Veja que Don Rosa escreveu e ilustrou os quadrinhos de Scrooge McDuck (em português, o Tio Patinhas) para a Disney. Provavelmente, é por isso que "scrooge" e "mcduck" estão entre os vizinhos mais próximos de "rosa".
Os vetores de palavras pré-treinados oferecidos pelo word2vec
foram, na verdade,
treinados com
matérias do Google Notícias até o ano de 2013.
Tarefa 3
Embeddings não se limitam a palavras. Imagens, áudios e outros dados também podem se transformar em embeddings. Para esta tarefa:
- Abra o Embedding Projector do TensorFlow.
- Na barra lateral esquerda, chamada Data, escolha Mnist with images. Isso exibe uma projeção dos embeddings do banco de dados MNIST que consistem em dígitos escritos à mão.
- Clique para parar a rotação e escolher uma imagem. Aumente e diminua o zoom conforme necessário.
- Procure os vizinhos mais próximos na barra lateral direita. Alguma surpresa?
- Por que alguns
7
s têm1
s como vizinho mais próximo? Por que alguns8
s têm9
como vizinho mais próximo? - As imagens que ficam nas bordas do espaço de projeção parecem diferentes das imagens que ficam no centro?
Não se esqueça: o modelo que criou esses embeddings está recebendo dados de imagens, ou seja, pixels, e escolhendo uma representação vetorial numérica para cada imagem. O modelo não faz uma associação mental automática entre a imagem do dígito escrito à mão e o próprio dígito.
Clique aqui para ver nossa resposta
Devido a semelhanças no formato, as representações vetoriais de alguns
7
s que são mais finos ficam mais próximas dos vetores de
1
s escritos à mão. A mesma coisa acontece com alguns 8
s
e 9
s, e até com alguns 5
s e 3
s.
Os dígitos escritos à mão nas bordas do espaço de projeção parecem ser mais fortemente definíveis como um dos nove dígitos, se diferenciando com mais clareza de outros possíveis números.