Word embeddings: Um guia fácil de entender

Escrito por Manuel Herranz | 09/05/24

LinkedIn, posts de blogs e mídias sociais estão repletos de conteúdo descrevendo como as incorporações de palavras são a base para a IA Generativa (GenAI) - a pedra angular de toda a inteligência artificial. Se você conversar com um engenheiro de aprendizado de máquina, um cientista de dados ou um matemático, é provável que encontre o conceito de "incorporações de palavras" por trás de grande parte da ciência do Processamento de Linguagem Natural (PLN) e da IA Generativa que nos cerca desde o final de 2022, e as ondas de mudança que enviou pelo mundo como o conhecíamos.

Se em 2021 previmos que a "IA lerá texto para descobrir informações para você", essa afirmação foi baseada na compreensão de como as incorporações de palavras funcionavam e nos primeiros experimentos.

Incorporações de palavras são representações numéricas de palavras em um espaço vetorial de alta dimensão. Elas capturam relações semânticas entre palavras com base em seus padrões de uso em grandes corpora de texto. Mas nem todos têm um background em engenharia ou matemática para entender esse conceito.

Como tradutor, você entende que as palavras têm significados e relacionamentos complexos. As word embeddings são uma maneira de representar essas complexidades matematicamente, o que ajuda os computadores a processar e entender a linguagem de forma mais semelhante aos humanos.

Imagine um vasto espaço multidimensional onde cada palavra em uma língua é representada por um ponto único. Este ponto é definido por uma lista de números (um vetor). Palavras com significados ou padrões de uso semelhantes acabam mais próximas neste espaço.

Por exemplo, "cão" e "gato" podem estar relativamente próximos neste espaço porque ambos são animais de estimação comuns. "Felino" estaria muito perto de "gato", enquanto "automóvel" estaria longe de ambos.

Essas representações são criadas analisando grandes quantidades de texto (corpora) para ver como as palavras são usadas no contexto. Se duas palavras aparecem frequentemente em contextos semelhantes, o computador assume que elas estão relacionadas e as posiciona mais próximas neste espaço matemático.

Para um tradutor, este conceito é valioso porque:

  1. Ajuda a capturar nuances no significado que podem existir entre as línguas. 
  2. Pode sugerir sinônimos ou palavras relacionadas que possam ser úteis na tradução. 
  3.  Forma a base para muitos sistemas modernos de tradução automática. 

Compreender as word embeddings pode lhe dar uma visão de como funcionam as ferramentas de tradução automática e por que fazem certas escolhas nas traduções.

Estes são alguns pontos básicos para uma leitura mais aprofundada sobre word embeddings:

  1. Representação vetorial: Cada palavra é representada como um vetor denso de números reais.
  2. Similaridade semântica: Palavras com significados semelhantes são posicionadas mais próximas no espaço vetorial.
  3. Dimensionalidade: Normalmente variam de 50 a 300 dimensões, permitindo uma rica representação de relações de palavras.
  4. Usos: Comum em tarefas de processamento de linguagem natural, como tradução automática, análise de sentimentos e classificação de texto.
  5. Métodos de treinamento: Podem ser criadas usando técnicas como Word2Vec, GloVe ou FastText.
  6. Analogias: Podem capturar relações semânticas, permitindo operações como "rei - homem + mulher = rainha".

Como as word embeddings são treinadas?
 

As word embeddings são tipicamente treinadas em grandes corpora de texto. O princípio subjacente é que as palavras que aparecem em contextos semelhantes tendem a ter significados semelhantes.
 

Existem dois métodos de treinamento populares:

  1. Continuous Bag of Words (CBOW): Prevê uma palavra-alvo com base em suas palavras de contexto.
  2. Skip-gram: Prevê palavras de contexto dada uma palavra-alvo.

Propriedades e capacidades de word embeddings

  • Composicionalidade: Os vetores de palavras podem ser combinados (por exemplo, pela média) para representar frases ou sentenças. Este é um ótimo recurso para ir além do nível de palavras para o nível de sentença ou parágrafo, assim "transmitindo uma mensagem".
  • Embeddings multilíngues: Isso é muito interessante para a tradução automática ou para transferir conhecimento de um idioma para outro, pois a word embedding pode mapear palavras de diferentes idiomas em um espaço vetorial compartilhado (digamos o conceito de "carro" e "coche" em espanhol europeu ou "carro" em espanhol latino-americano, o conceito de "automóvel" e "automóvil", "meio de transporte" e "medio de transporte", etc.).
  • Tratamento de palavras fora do vocabulário: Alguns modelos como o FastText podem gerar embeddings para palavras não vistas com base em informações de subpalavras. Ótimo quando você enfrenta novas palavras como "Fitfluencer".

Limitações de word embeddings

Polissemia: As word embeddings padrão lutam com palavras que têm múltiplos significados, o fenômeno de palavras com múltiplos significados distintos.

Modelos tradicionais de word embedding como Word2Vec ou GloVe atribuem um único vetor a cada palavra, independentemente de seus potenciais significados múltiplos. Esta abordagem leva à conflação de significados, onde o vetor se torna uma representação média de todos os sentidos possíveis da palavra. Como resultado, o embedding pode não representar com precisão qualquer significado único, diluindo a precisão semântica da representação.

A questão é agravada pela natureza insensível ao contexto dessas embeddings. Na linguagem natural, o significado pretendido de uma palavra polissêmica é muitas vezes determinado pelo seu contexto circundante. Word embeddings padrão, no entanto, não levam em conta essas informações contextuais, levando a possíveis interpretações erradas em aplicações downstream.

Considere palavras como "banco", que poderia se referir a uma instituição financeira ou à borda de um rio, ou "planta", que poderia significar vegetação ou uma fábrica. Nestes casos, a word embedding luta para diferenciar entre esses significados distintos, levando potencialmente a erros em tarefas como tradução automática, recuperação de informações ou análise de sentimentos, onde a compreensão do sentido correto de uma palavra é crucial.

Esta limitação pode ter efeitos quantitativos significativos sobre o desempenho dos modelos de NLP. A pesquisa mostrou que a precisão dos modelos de word embedding muitas vezes cai acentuadamente para palavras polissêmicas em comparação com palavras monossêmicas (de significado único). Essa diminuição no desempenho pode se propagar por várias tarefas de NLP, como tradução automática ou análise de sentimentos, afetando a confiabilidade e a eficácia geral dos sistemas que dependem dessas embeddings. Esta natureza estática é um problema proeminente em embeddings tradicionais porque atribuem um vetor fixo a cada palavra, independentemente do contexto.

Mas essa limitação continua sendo uma área ativa de pesquisa no campo do processamento de linguagem natural, e é por isso que os glossários e uma função de glossário e gerenciamento de terminologia permanecem uma área de especialização em tradução automática para empresas de tradução e tradutores.

Codificações posicionais:

As codificações posicionais ainda são adicionadas às embeddings de tokens para incorporar a ordem dos tokens na sequência, permitindo que o modelo entenda a estrutura do texto.
 

Camadas do transformer:

Os tokens embeddings (mais codificações posicionais) passam por múltiplas camadas de transformer, onde os mecanismos de self-attention permitem que o modelo considere todo o contexto de uma sequência, aumentando a relevância contextual das embeddings.

Técnicas avançadas para superar essas limitações iniciais: Retrofitting para melhorar as word embeddings com conhecimento externo
 

O retrofitting é uma técnica sofisticada no campo do processamento de linguagem natural que visa aperfeiçoar as word embeddings pré-treinadas, incorporando informações de fontes de conhecimento externas. Este método aborda algumas das limitações inerentes às word embeddings padrão, particularmente sua dificuldade em lidar com a polissemia e a falta de informações semânticas ou relacionais explícitas.

Em seu núcleo, o retrofitting ajusta os vetores de word embeddings pré-treinadas para se alinhar melhor com as relações semânticas definidas em recursos léxicos externos. Esses recursos podem incluir bancos de dados linguísticos abrangentes como WordNet ou FrameNet, ou até mesmo ontologias específicas de domínio. O processo começa com word embeddings pré-treinadas, como aquelas geradas por algoritmos populares como Word2Vec, GloVe ou FastText. Estas embeddings iniciais capturam semântica distributiva baseada em co-ocorrências de palavras em grandes corpora de texto.

O procedimento de retrofitting utiliza então um léxico semântico ou base de conhecimento que define as relações entre as palavras. Este recurso externo fornece informações estruturadas sobre significados e conexões de palavras que podem não ser totalmente capturadas por métodos distributivos sozinhos. O algoritmo atualiza iterativamente os vetores de palavras, aproximando palavras semanticamente relacionadas no espaço vetorial, mantendo a semelhança com suas embeddings originais.

Matematicamente, o retrofitting normalmente envolve minimizar uma função de custo que equilibra dois objetivos primários. O primeiro é manter os vetores retrofitted próximos de seus valores originais pré-treinados, preservando as valiosas informações distributivas aprendidas de grandes corpora de texto. O segundo é garantir que as palavras conectadas no recurso semântico tenham representações vetoriais semelhantes, incorporando assim o conhecimento estruturado no espaço de embedding.

Esta abordagem oferece várias vantagens sobre as word embeddings padrão. Em primeiro lugar, melhora a precisão semântica, capturando relações de palavras mais nuançadas que são explicitamente definidas no recurso de conhecimento. Isso pode levar a um melhor desempenho em várias tarefas de processamento de linguagem natural, especialmente aquelas que exigem compreensão semântica refinada.

Em segundo lugar, o retrofitting facilita a adaptação de domínio. Embeddings de propósito geral podem ser adaptadas a domínios específicos usando recursos de conhecimento específicos de domínio, tornando-as mais relevantes e precisas para aplicações especializadas. Isso é particularmente útil em campos como medicina, direito ou finanças, onde a terminologia e o uso das palavras podem ser altamente especializados.

Em terceiro lugar, o retrofitting pode potencialmente melhorar as representações de palavras raras. Estas palavras muitas vezes têm representações pobres em embeddings padrão devido a ocorrências limitadas no corpus de treinamento. Ao alavancar o conhecimento externo, o retrofitting pode melhorar a qualidade dessas representações, levando a um melhor manejo de termos incomuns.

Por fim, o retrofitting preserva as valiosas informações distributivas aprendidas de grandes corpora de texto, ao mesmo tempo em que adiciona conhecimento estruturado. Esta combinação de abordagens baseadas em dados e baseadas em conhecimento resulta em embeddings que se beneficiam tanto de padrões estatísticos no uso da linguagem quanto de informações semânticas curadas.

Em conclusão, o retrofitting representa uma técnica poderosa para melhorar as word embeddings, preenchendo a lacuna entre métodos puramente distributivos e recursos de conhecimento estruturados. À medida que o processamento de linguagem natural continua a avançar, técnicas como o retrofitting desempenham um papel crucial no desenvolvimento de representações mais sofisticadas e semanticamente ricas da linguagem.

 

Retrofitting: Desafios e direções futuras

O retrofitting de word embeddings surgiu como uma técnica poderosa para melhorar a riqueza semântica das representações de palavras distributivas. No entanto, como qualquer método avançado em processamento de linguagem natural, ele vem com seu próprio conjunto de desafios e limitações que pesquisadores e profissionais devem navegar.

Uma das principais preocupações no retrofitting é a qualidade da fonte de conhecimento usada. A eficácia do processo de retrofitting está intrinsecamente ligada à abrangência, precisão e relevância da base de conhecimento externa empregada. Se a fonte de conhecimento é incompleta, desatualizada ou contém erros, essas deficiências podem se propagar nas embeddings retrofitted. Esta dependência sublinha a importância de selecionar e verificar cuidadosamente as fontes de conhecimento, especialmente quando se trabalha em domínios especializados ou contextos multilíngues.

Outra consideração é o custo computacional associado ao retrofitting. Enquanto as embeddings pré-treinadas estão prontamente disponíveis e podem ser usadas out-of-the-box, o retrofitting introduz uma etapa adicional no pipeline de preparação de embedding. Este processo pode ser computacionalmente intensivo, particularmente quando se lida com grandes vocabulários ou grafos de conhecimento complexos. O aumento dos requisitos computacionais pode representar desafios em ambientes com recursos limitados ou quando a implantação rápida é necessária.

Apesar das melhorias oferecidas pelo retrofitting, as embeddings resultantes ainda mantêm uma limitação fundamental das word embeddings tradicionais: sua natureza estática. As embeddings retrofitted, como suas contrapartes não retrofitted, atribuem um vetor fixo a cada palavra, independentemente do contexto. Esta abordagem não aborda completamente o desafio da polissemia ou do significado dependente do contexto. Palavras com múltiplos sentidos ou padrões de uso ainda são representadas por um único vetor, que pode não capturar todo o espectro de suas nuances semânticas.

No entanto, as embeddings retrofitted demonstraram melhorias tangíveis em várias tarefas de processamento de linguagem natural. Em julgamentos de similaridade semântica, elas muitas vezes exibem melhor correlação com classificações humanas, capturando relações nuançadas entre palavras com mais precisão. As tarefas de desambiguação do sentido da palavra se beneficiam das informações semânticas adicionais incorporadas através do retrofitting, permitindo uma diferenciação mais precisa entre múltiplos sentidos da palavra. No reconhecimento de entidades nomeadas, as embeddings retrofitted podem alavancar o conhecimento externo para representar melhor os substantivos próprios e a terminologia específica do domínio. As tarefas de classificação de texto também mostram melhorias, particularmente quando a classificação depende de distinções semânticas refinadas.

Olhando para o futuro, o campo de retrofitting continua a evoluir, com várias direções de pesquisa promissoras. Uma área de foco é a combinação eficaz de múltiplas fontes de conhecimento. Os pesquisadores estão explorando maneiras de integrar informações de diversos recursos léxicos, ontologias e grafos de conhecimento para criar embeddings retrofitted mais abrangentes e robustas. Esta abordagem visa alavancar os pontos fortes de diferentes fontes de conhecimento, ao mesmo tempo em que mitiga suas limitações individuais.
 

Outra avenida promissora é o desenvolvimento de técnicas dinâmicas de retrofitting. Esses métodos buscam abordar a natureza estática das embeddings tradicionais, adaptando o processo de retrofitting ao contexto. O objetivo é criar embeddings que possam representar palavras de forma flexível com base em seu uso em contextos específicos, potencialmente resolvendo ambiguidades e capturando variações de significado sutis de forma mais eficaz.

Além disso, há um trabalho em curso para integrar conceitos de retrofitting com modelos de embedding mais avançados, como BERT ou GPT. Esses modelos de embedding contextualizados revolucionaram muitas tarefas de NLP, e os pesquisadores estão explorando maneiras de incorporar conhecimento externo nessas arquiteturas. Essa integração poderia potencialmente combinar os pontos fortes das representações contextuais profundas com as informações semânticas estruturadas fornecidas pelo retrofitting.

O retrofitting representa um passo significativo para preencher a lacuna entre métodos puramente distributivos de representação de palavras e abordagens mais estruturadas para capturar o significado semântico no processamento de linguagem natural. Embora os desafios permaneçam, a pesquisa e o desenvolvimento em curso nesta área prometem produzir representações de palavras ainda mais poderosas e matizadas, avançando ainda mais nossa capacidade de processar e entender a linguagem natural de maneiras cada vez mais sofisticadas.