# Word embedding

No processamento de linguagem natural (PLN), word embedding é uma representação de uma palavra. A incorporação (embedding) é usada na análise de texto. Tipicamente, a representação é um vetor de valores reais que codifica o significado da palavra de tal forma que as palavras que estão mais próximas no espaço vetorial têm expectativa de serem semelhantes em significado. A incorporação de palavras pode ser obtida usando técnicas de modelagem de linguagem e de aprendizado de recursos, onde palavras ou frases do vocabulário são mapeadas em vetores de números reais.
Os métodos para gerar este mapeamento incluem redes neurais, redução de dimensionalidade na matriz de co-ocorrência de palavras, modelos probabilísticos, método de base de conhecimento explicável, e representação explícita em termos do contexto em que as palavras aparecem.
Foi demonstrado que a incorporação (embeddings) de palavras e frases, quando usadas como a representação de entrada subjacente, têm sido demonstradas a melhorar o desempenho em tarefas de PLN, como análise sintática e análise de sentimento.

## Desenvolvimento e história da abordagem

Na semântica distribucional, uma abordagem metodológica quantitativa para entender o significado na linguagem observada, word embeddings ou modelos de espaço de características semânticas têm sido utilizados como uma representação do conhecimento por algum tempo. Esses modelos têm como objetivo quantificar e categorizar similaridades semânticas entre itens linguísticos com base em suas propriedades distribucionais em grandes amostras de dados linguísticos. A ideia subjacente de que "uma palavra é caracterizada pelas companhias que mantém" foi proposta em um artigo de 1957 por John Rupert Firth, mas também tem raízes no trabalho contemporâneo sobre sistemas de pesquisa e na psicologia cognitiva.
A noção de um espaço semântico com itens lexicais (palavras ou termos de várias palavras) representados como vetores ou embeddings é baseada nos desafios computacionais de capturar características distribucionais e usá-las para aplicação prática na medição da similaridade entre palavras, frases ou documentos inteiros. A primeira geração de modelos de espaço semântico é o modelo de espaço vetorial para recuperação de informações.
Tais modelos de espaço vetorial para palavras e seus dados distribucionais implementados em sua forma mais simples resultam em um espaço vetorial muito esparsa de alta dimensionalidade (cf. maldição da dimensionalidade). Reduzir o número de dimensões usando métodos algébricos lineares, como decomposição de valores singulares, então levou à introdução da análise semântica latente no final da década de 1980 e à abordagem de indexação aleatória para coletar contextos de coocorrência de palavras. Em 2000, Bengio et al. forneceram em uma série de artigos intitulados "Modelos de linguagem probabilísticos neurais" para reduzir a alta dimensionalidade das representações de palavras em contextos, "aprendendo uma representação distribuída para palavras".
Um estudo publicado na NeurIPS (anteriormente conhecida como NIPS) 2002 introduziu o uso de incorporações tanto de palavras quanto de documentos aplicando o método de CCA do kernel a corpora bilíngues (e multilíngues), também fornecendo um exemplo inicial de aprendizado auto-supervisionado de incorporações de palavras.
As incorporações de palavras vêm em dois estilos diferentes, um no qual as palavras são expressas como vetores de palavras co-ocorrentes, e outro no qual as palavras são expressas como vetores de contextos linguísticos nos quais as palavras ocorrem; esses diferentes estilos são estudados em Lavelli et al., 2004. Roweis e Saul publicaram na Science como usar "locally linear embedding" (LLE) para descobrir representações de estruturas de dados de alta dimensionalidade. A maioria das novas técnicas de incorporação de palavras após cerca de 2005 depende de uma arquitetura de rede neural em vez de modelos mais probabilísticos e algébricos, após o trabalho fundamental realizado por Yoshua Bengio e colegas.
A abordagem foi adotada por muitos grupos de pesquisa após avanços teóricos em 2010 terem sido feitos na qualidade dos vetores e na velocidade de treinamento do modelo, além de avanços em hardware que permitiram a exploração de um espaço de parâmetros mais amplo de forma lucrativa. Em 2013, uma equipe da Google liderada por Tomas Mikolov criou o word2vec, um kit de ferramentas de incorporação de palavras que pode treinar modelos de espaço vetorial mais rapidamente do que abordagens anteriores. A abordagem word2vec tem sido amplamente utilizada em experimentação e foi fundamental para despertar o interesse pelas incorporações de palavras como tecnologia, movendo a linha de pesquisa para fora de pesquisas especializadas em experimentação mais ampla e, eventualmente, abrindo caminho para aplicação prática.

## Polissemia e homonímia

Historicamente, uma das principais limitações dos embeddings estáticos de palavras ou modelos de espaço vetorial de palavras é que palavras com múltiplos significados são combinadas em uma única representação (um único vetor no espaço semântico). Em outras palavras, a polissemia e a homonímia não são tratadas adequadamente. Por exemplo, na frase "O banco que visitei ontem era bonito!", não fica claro se o termo "banco" se refere a um banco de praça, uma instituição financeira ou até mesmo a um banco de jardim ou qualquer outro sentido que a palavra banco possa ter. A necessidade de acomodar múltiplos significados por palavra em diferentes vetores (incorporações de múltiplos sentidos) é a motivação para várias contribuições em PLN para dividir as incorporações de único sentido em múltiplos sentidos.
A maioria das abordagens que produzem embeddings de múltiplos sentidos podem ser divididas em duas categorias principais para a representação de sentido das palavras, ou seja, não supervisionadas e baseadas em conhecimento. Com base no skip-gram do word2vec, o Multi-Sense Skip-Gram (MSSG) realiza a discriminação de sentidos das palavras e a incorporação simultaneamente, melhorando seu tempo de treinamento, ao mesmo tempo em que assume um número específico de sentidos para cada palavra. No Non-Parametric Multi-Sense Skip-Gram (NP-MSSG), esse número pode variar dependendo de cada palavra. Ao combinar o conhecimento prévio de bancos de dados lexicais (por exemplo, WordNet, ConceptNet, BabelNet), incorporações de palavras e desambiguação de sentidos de palavras, ocorre a Anotação do Sentido Mais Adequado (Most Suitable Sense Annotation - MSSA). rotula os sentidos das palavras por meio de uma abordagem não supervisionada e baseada em conhecimento, considerando o contexto de uma palavra em uma janela deslizante pré-definida. Uma vez que as palavras são desambiguadas, elas podem ser usadas em uma técnica padrão de incorporação de palavras, resultando em embeddings de múltiplos sentidos. A arquitetura do MSSA permite que o processo de desambiguação e anotação seja realizado de forma recorrente, melhorando continuamente.
O uso de embeddings de múltiplos sentidos é conhecido por melhorar o desempenho em várias tarefas de PLN, como marcação de partes do discurso, identificação de relações semânticas, relacionamento semântico, reconhecimento de entidades nomeadas e análise de sentimento.
A partir do final da década de 2010, foram desenvolvidas incorporações contextualmente significativas, como ELMo e BERT. Ao contrário dos embeddings de palavras estáticas, esses embeddings estão no nível de token, em que cada ocorrência de uma palavra tem seu próprio embedding. Essas incorporações refletem melhor a natureza multissenso das palavras, porque as ocorrências de uma palavra em contextos semelhantes estão situadas em regiões semelhantes do espaço de incorporação do BERT.

## Para sequências biológicas: BioVectors

Word embeddings para n-gramas em sequências biológicas (por exemplo, DNA, RNA e proteínas) para aplicações de bioinformática foram propostas por Asgari e Mofrad. Eles nomearam esses vetores como "bio-vectors" (BioVec) para se referir a sequências biológicas em geral, "protein-vectors" (ProtVec) para proteínas (sequências de aminoácidos) e "gene-vectors" (GeneVec) para sequências de genes. Essa representação pode ser amplamente utilizada em aplicações de aprendizado profundo em proteômica e genômica. Os resultados apresentados por Asgari e Mofrad sugerem que os BioVectors podem caracterizar sequências biológicas em termos de interpretações bioquímicas e biofísicas dos padrões subjacentes.

## Game design

A utilização de Word embeddings em design de jogos foram propostas por Younès Rabii e Michael Cook como uma maneira de descobrir jogabilidade emergente usando registros de dados de jogabilidade. O processo requer transcrever as ações que ocorrem durante o jogo dentro de uma linguagem formal e, em seguida, usar o texto resultante para criar incorporações de palavras. Os resultados apresentados por Rabii e Cook sugerem que os vetores resultantes podem capturar conhecimentos especializados sobre jogos como xadrez, que não são explicitamente declarados nas regras do jogo.

## Sentence embedding

A ideia foi estendida para embeddings de sentenças inteiras ou até mesmo documentos, por exemplo, na forma do conceito de "vetores de pensamento". Em 2015, alguns pesquisadores sugeriram "skip-thought vectors" como um meio para melhorar a qualidade da tradução automática. Uma abordagem mais recente e popular para representar sentenças é o Sentence-BERT, ou SentenceTransformers, que modifica o BERT pré-treinado com o uso de estruturas de redes siamesas e de tripletos.

## Software

Diferentes softwares para treinar e utilizar word embeddings inclui o Word2vec de Tomáš Mikolov, o GloVe da Universidade de Stanford, GN-GloVe, Flair embeddings, ELMo da AllenNLP, BERT, fastText, Gensim, Indra, e Deeplearning4j. A Análise de Componentes Principais (PCA) e a Incorporação Estocástica de Vizinhos Distribuída em T (t-SNE) são usadas para reduzir a dimensionalidade de espaços vetoriais de palavras e visualizar incorporações e clusters de palavras.

## Implicações éticas

A técnica de word embedding pode conter os preconceitos e estereótipos presentes no conjunto de dados treinado, como aponta Bolukbasi et al. no artigo de 2016 "Man is to Computer Programmer as Woman is to Homemaker? Debiasing Word Embeddings", em que uma incorporação de palavras publicamente disponível (e popular) treinada em textos do Google News (um corpus de dados comumente utilizado), que consiste em textos escritos por jornalistas profissionais, ainda mostra associações de palavras desproporcionais refletindo preconceitos de gênero e raciais ao extrair analogias de palavras. Por exemplo, uma das analogias geradas usando word embedding como mencionado anteriormente é "homem está para programador assim como mulher está para dona de casa".
Pesquisas realizadas por Jieyu Zhou et al. mostram que as aplicações desses modelos de word embedding treinados sem supervisão cuidadosa provavelmente perpetuam preconceitos existentes na sociedade, os quais são introduzidos através dos dados de treinamento não alterados. Além disso, as incorporações de palavras podem até amplificar esses preconceitos.