MedTechCommunity

Capítulo 4

Word Embeddings — Como a IA Entende Significado

Introdução: O Problema da Incompreensão

Imagine você chegando a um país onde não fala a língua. Você consegue ver as palavras escritas nas placas, nos cardápios, nos letreiros — mas não faz a menor ideia do que significam. O computador enfrenta um problema parecido: ele vê sequências de caracteres, mas não as entende.

Se você digitar "cachorro" e "cão" em um buscador tradicional, o computador trata essas duas palavras como coisas completamente diferentes. Não faz ideia de que significam a mesma coisa. Da mesma forma, "smartphone" e "celular" são, para a máquina, tão diferentes quanto "abacaxi" e "helicóptero".

Como resolvemos isso? Como fazemos a máquina compreender que certas palavras são próximas em significado, enquanto outras são distantes?

A resposta é elegante: convertemos palavras em números.

Bem-vindo ao mundo dos word embeddings — a tecnologia que permite que a IA não apenas leia palavras, mas realmente as entenda.

Conexão com o Capítulo 3: No capítulo anterior, vimos que a IA não lê palavras inteiras — ela lê tokens, pedaços padronizados de texto. Agora, vamos descobrir o que acontece depois da tokenização: cada token precisa ser convertido em um vetor numérico (embedding) para que o modelo possa processar seu significado. O pipeline completo é: texto → tokens → embeddings → processamento pelo modelo.

1. A Base Teórica — 'Diga-me com Quem Andas...'

Antes de mergulhar na tecnologia, vale entender o princípio linguístico que sustenta tudo isso.

Em 1957, o linguista britânico J.R. Firth cunhou uma frase que se tornou um dos pilares da linguística computacional moderna:

"You shall know a word by the company it keeps."
("Você conhecerá uma palavra pela companhia que ela mantém.")

Essa ideia, conhecida como hipótese distribucional, já havia sido formalizada por Zellig Harris em 1954: palavras que aparecem em contextos semelhantes tendem a ter significados semelhantes (Harris, 1954; Firth, 1957).

Pense nisso com uma analogia do dia a dia. Se você ouve constantemente alguém ser mencionado junto com "tribunal", "petição", "audiência" e "recurso", você deduz que essa pessoa é advogada — mesmo sem ninguém te dizer. Da mesma forma, se uma palavra aparece frequentemente ao lado de "latir", "raça", "coleira" e "veterinário", o modelo aprende que ela provavelmente se refere a um cachorro.

Esse é o princípio fundamental: o significado de uma palavra emerge dos contextos em que ela aparece. E é exatamente esse princípio que os modelos de embedding exploram computacionalmente.

2. Do Símbolo ao Vetor — O Salto Conceitual

O Problema: Representações Sem Significado

Até a década de 2010, os computadores usavam uma abordagem chamada one-hot encoding. Imagine um dicionário de 1 milhão de palavras. Para cada palavra, você cria um vetor gigante com 1 milhão de posições:

  • "gato" → [0, 0, 0, ..., 1, ..., 0, 0] (o 1 aparece apenas na posição de "gato")
  • "cão" → [0, 0, ..., 1, ..., 0, 0] (o 1 aparece apenas na posição de "cão")

Esse método funciona para identificar palavras, mas é um desastre para entendê-las:

  1. Ineficiente: 1 milhão de zeros para representar uma única palavra.
  2. Sem significado: o computador não enxerga qualquer relação entre "gato" e "cão".
  3. Sem gradação: "Gato" é tão diferente de "cão" quanto de "geladeira".

É como tentar entender a personalidade de alguém apenas pelo número do CPF — o número identifica, mas não diz nada sobre quem a pessoa é.

A Solução: Vetores Densos com Significado

A inovação revolucionária foi criar vetores muito menores (50 a 3.072 dimensões) que captam significado. Agora "gato" e "cão" não são representados como 1 milhão de zeros — eles são vetores de, digamos, 768 números:

  • "gato" → [0.25, −0.18, 0.52, ..., −0.31] (768 números)
  • "cão" → [0.26, −0.19, 0.51, ..., −0.30] (768 números)

Vê o padrão? Os números são quase iguais! Isso não é coincidência — é engenharia. Cada dimensão captura um "aspecto" diferente do significado: animalidade, domesticação, velocidade de movimento, tamanho aproximado... e assim por diante até 768 dimensões.

Para Saber Mais: Por que tantas dimensões? Pense na longitude e latitude de um GPS: com apenas 2 dimensões, você posiciona qualquer ponto no planeta. Com 768 dimensões, você posiciona qualquer palavra em um "espaço de significados" tão rico que palavras similares naturalmente ficam próximas — como cidades do mesmo país ficam próximas em um mapa.

3. A Revolução Word2Vec e GloVe (2013-2014)

No início dos anos 2010, criar esses vetores era computacionalmente caro e lento. Então em 2013, Tomas Mikolov e colegas do Google tiveram uma ideia genial: usar redes neurais simples para aprender essas representações em escala massiva.

Word2Vec: Simplicidade e Velocidade

O Word2Vec (Mikolov et al., 2013) operava com duas arquiteturas elegantemente simples:

  1. CBOW (Continuous Bag of Words): você mostra ao modelo as palavras vizinhas (contexto) e pede para ele prever a palavra central. É como o jogo de adivinhação: "Eu vi um ___ miar" → resposta: "gato".
  2. Skip-gram: o inverso — você mostra a palavra central e pede para prever o contexto. "gato" → prever "miar", "fofo", "animal", etc.

Ambas as arquiteturas aplicavam a hipótese distribucional de Firth na prática: ao aprender a prever contextos, o modelo descobria que palavras com contextos semelhantes devem ter vetores semelhantes.

GloVe: A Visão Global

Um ano depois, em 2014, Pennington, Socher e Manning propuseram o GloVe (Global Vectors), que combinava o melhor de duas abordagens:

  • Visão local: como Word2Vec, capturava o contexto imediato de cada palavra.
  • Visão global: também mapeava padrões gerais de co-ocorrência em todo um corpus gigante.

Na Prática — Analogias Matemáticas: Um dos resultados mais fascinantes do Word2Vec e GloVe são as analogias vetoriais. O modelo aprendia que: Rei − Homem + Mulher ≈ Rainha. Operações matemáticas sobre vetores produziam relações semânticas coerentes! Isso demonstrou que os embeddings capturavam não apenas similaridade, mas relações estruturadas entre conceitos (Mikolov et al., 2013).

O legado: Word2Vec e GloVe ficaram como padrão-ouro até ~2017. Mas tinham um grande limite: a mesma palavra sempre recebe o mesmo vetor, não importa o contexto. "Banco" (instituição financeira) e "banco" (assento) têm exatamente o mesmo embedding.

4. A Evolução para Embeddings Contextuais

A mudança de jogo aconteceu em 2017 com o paper "Attention Is All You Need" (Vaswani et al., 2017), que introduziu os Transformers. Mas a verdadeira revolução em embeddings veio em 2019 com o BERT.

BERT: Um Vetor por Contexto

BERT (Devlin et al., 2019) fez algo radicalmente diferente. Em vez de aprender um vetor fixo por palavra, BERT gera um vetor diferente dependendo do contexto:

  • "O banco cobrou uma taxa alta" → embedding de "banco" = vetor de instituição financeira
  • "Sente-se no banco para descansar" → embedding de "banco" = vetor de móvel/assento
  • "O banco do rio foi erodido pela chuva" → embedding de "banco" = vetor de paisagem/geografia

O mesmo token de input, mas três representações numéricas diferentes — cada uma capturando o significado específico daquele contexto.

Como funciona? BERT usa Transformers bidirecionais. Ao contrário de modelos anteriores que liam da esquerda para a direita, Transformers leem simultaneamente em ambas as direções. Cada palavra "vê" o contexto completo e ajusta seu significado dinamicamente.

De Palavras para Sentenças: Sentence Embeddings

Uma evolução importante é a diferença entre word embeddings e sentence embeddings:

  • Word embeddings representam palavras individuais como vetores.
  • Sentence embeddings representam frases ou documentos inteiros como um único vetor que captura o significado completo da frase.

Isso é fundamental para aplicações como busca semântica e RAG: você compara o significado de perguntas inteiras contra documentos inteiros, não palavra por palavra.

5. Embeddings Multimodais — Além do Texto

Em 2021, pesquisadores da OpenAI levaram embeddings para uma dimensão inteiramente nova com o CLIP (Contrastive Language-Image Pre-training) (Radford et al., 2021).

O Salto: Imagens e Texto no Mesmo Espaço

CLIP treinava em 400 milhões de pares (imagem, texto) coletados da internet. A ideia era: ensine ao modelo que uma imagem de um cão e a palavra "cão" devem ter embeddings similares no mesmo espaço matemático. O resultado foi revolucionário:

  • Busca visual por descrição: "encontre todas as imagens que parecem um gato dormindo"
  • Classificação de imagens sem treinamento específico (zero-shot classification)
  • Busca cross-modal: digitar texto e encontrar imagens relevantes, ou vice-versa

Na Prática — Google Photos: Quando você abre o Google Photos e busca "praia ao pôr do sol" sem nunca ter etiquetado suas fotos, o sistema usa embeddings multimodais para converter sua busca em texto e suas fotos em vetores no mesmo espaço — e encontra as correspondências. Essa tecnologia já está no seu bolso.

Em 2026, o Google lançou o gemini-embedding-2-preview, o primeiro modelo de embedding multimodal da família Gemini — capaz de mapear texto, imagens, vídeo, áudio e PDFs em um espaço unificado de embeddings. Embeddings deixaram de ser apenas sobre linguagem. Agora são sobre significado transcendendo modalidades.

6. Modelos de Embedding Atuais (2025-2026)

Enquanto você lê isso, existe um ecossistema robusto de modelos de embedding prontos para produção.

OpenAI: text-embedding-3

text-embedding-3-small: 1.536 dimensões, otimizado para aplicações de alta escala com requisitos de velocidade.

text-embedding-3-large: 3.072 dimensões (padrão), suporta dimensionalidade flexível — você pode reduzir para 1.024, 512 ou quantas dimensões quiser.

Voyage AI: Parceiro Oficial da Anthropic

A Anthropic (criadora do Claude) não mantém seu próprio modelo de embeddings. Em vez disso, recomenda oficialmente a Voyage AI:

voyage-3.5 (maio 2025): 1.024 dimensões (padrão), contexto até 32.000 tokens.

voyage-4-large (2026): Arquitetura Mixture of Experts (MoE), estado-da-arte para propósitos gerais.

Google: Gemini Embedding

gemini-embedding-001: 3.072 dimensões, técnica Matryoshka Representation Learning (MRL), suporte a mais de 100 idiomas.

gemini-embedding-2-preview: Primeiro embedding multimodal da família Gemini.

Comparação Rápida

ModeloDimensõesContextoDestaque
text-embedding-3-large (OpenAI)3.0728.191 tokensMáxima qualidade texto
voyage-4-large (Voyage AI)1.02432.000 tokensMoE, parceiro Anthropic
gemini-embedding-001 (Google)3.0722.048 tokens100+ idiomas, MRL
gemini-embedding-2-preview (Google)3.0722.048 tokensMultimodal (5 modalidades)
GloVe (histórico)50-300N/APesquisa/educação

Para Saber Mais — Embeddings Especializados: Na medicina, o BioBERT (Lee et al., 2020) e o Clinical BioBERT são treinados em literatura biomédica e prontuários eletrônicos. No direito, modelos como voyage-law-2 são otimizados para jurisprudência. Na prática, fine-tuning de embeddings por domínio melhora significativamente a qualidade da busca semântica.

7. Medindo Similaridade — O Poder do Cosseno

Agora que temos vetores, como comparamos dois e dizemos "são similares"? Entra em cena a similaridade de cosseno.

A Fórmula

cos(θ) = (A · B) / (||A|| × ||B||)

Em português: meça o ângulo entre dois vetores. Se apontam na mesma direção (similares), o ângulo é pequeno e o cosseno é próximo de +1. Se apontam em direções opostas, o cosseno é próximo de −1.

A analogia mais intuitiva: imagine duas bússolas. Se ambas apontam para o norte (mesma direção), a similaridade é máxima. Se uma aponta para o norte e outra para o sul, a similaridade é mínima. O que importa é a direção, não o tamanho da seta.

Escala de Interpretação

Similaridade CossenoSignificado
+1.0Idênticos (mesma direção)
0.8–0.95Muito similares (threshold típico para busca)
0.5–0.7Relacionados, mas distintos
0.0Sem relação
−1.0Opostos

Por Que Cosseno e Não Distância Euclidiana?

  1. Escala-invariante: não importa o tamanho do vetor, apenas a direção.
  2. Rápido: computação O(n) — viável para bilhões de embeddings.
  3. Intuitivo: escala −1 a +1 é fácil de comunicar a não-técnicos.

8. Aplicações Multidisciplinares Reais

Embeddings não são um conceito abstrato. Eles já estão no seu dia a dia — muitas vezes sem você perceber.

Dia a Dia: Spotify, Google Photos e Busca Semântica

O Spotify representa cada ouvinte por múltiplos vetores de embedding que capturam preferências de longo prazo. Músicas, artistas, capas de álbum, letras e até vídeos curtos são mapeados no mesmo espaço vetorial. O sistema de recomendação faz busca por vizinhos mais próximos para sugerir novas músicas (Spotify Research, 2025).

Medicina: Diagnóstico Assistido e Busca em Prontuários

Modelos como BioBERT e BioWordVec (Zhang et al., 2019), treinados em literatura biomédica e prontuários eletrônicos, capturam a semântica de termos clínicos com precisão que modelos genéricos não conseguem. O modelo aprende que "dispneia", "ortopneia" e "estertores crepitantes" têm embeddings próximos a "insuficiência cardíaca congestiva".

Advocacia e Documentos: Busca em Jurisprudência

Plataformas com busca semântica em jurisprudência revolucionaram o trabalho jurídico: buscar "restrictive covenant" (pacto restritivo) agora encontra "restraint of trade" (restrição ao comércio), mesmo usando terminologia diferente da decisão original.

Gestão: Clustering de Feedback em Escala

Empresas como a Netflix usam embeddings para entender feedback de milhões de clientes: cada review é convertido em embedding, reviews similares são agrupados via clustering, e clusters revelam temas acionáveis.

Marketing: Análise de Sentimento com Contexto

Embeddings fazem análise de sentimento muito melhor que métodos antigos (TF-IDF, bag-of-words). Capturam nuance, intensidade, ironia e contexto de cada frase. Equipes de marketing usam embeddings para detectar crises de reputação em estágio inicial.

Engenharia: Busca em Documentação Técnica

Um engenheiro pergunta: "How do we handle OAuth token refresh errors?" Busca semântica com embeddings encontra o documento "Authentication failure handling" porque entende que os conceitos são semanticamente similares.

Na Prática — Vector Databases: Onde esses bilhões de embeddings ficam armazenados? Em vector databases — bancos de dados especializados em armazenar e buscar vetores de alta dimensão. Os principais são Pinecone (gerenciado na nuvem), Weaviate (busca híbrida, on-premise) e Chroma (open-source, ideal para protótipos). Diferente de bancos de dados tradicionais que fazem buscas exatas, vector databases fazem busca por similaridade — encontrando os N vetores mais próximos em milissegundos.

9. RAG — Recuperação Aumentada por Geração (Visão Geral)

Um caso de uso que merece destaque especial é o RAG (Retrieval-Augmented Generation). A ideia é simples mas poderosa:

  1. Converter seus documentos privados em embeddings
  2. Armazenar em um vector database
  3. Quando um usuário faz uma pergunta, converter a pergunta em embedding
  4. Buscar documentos similares via similaridade de cosseno
  5. Passar os documentos encontrados (contexto) + pergunta para um LLM gerar a resposta

Exemplo prático: você tem 100 PDFs sobre políticas da empresa. Em vez de o LLM tentar adivinhar com base no treinamento geral, ele busca os documentos relevantes primeiro e usa esses documentos como contexto. Isso melhora drasticamente a precisão e reduz alucinações.

Nota: RAG é coberto em profundidade no Capítulo 15 do Ebook 2. Aqui, entenda que embeddings são o motor que permite buscar informação relevante para contextualizar respostas de IA.

Resumo: A Jornada do Significado em Números

Vamos recapitular a evolução:

  1. Hipótese Distribucional (1954-1957): Harris e Firth estabeleceram que palavras com contextos similares têm significados similares — a base teórica de tudo.
  2. Word2Vec / GloVe (2013-2014): revolucionaram representações de palavras com vetores densos, mas eram estáticos.
  3. BERT / Transformers (2017-2019): trouxeram embeddings contextuais — cada palavra ganha um vetor diferente por contexto.
  4. CLIP (2021): estendeu embeddings para múltiplas modalidades (imagem + texto no mesmo espaço).
  5. Modelos 2025-2026: production-ready, otimizados por domínio, flexíveis em dimensionalidade, multimodais.

O resultado? Computadores agora entendem que "cão" e "cachorro" significam a mesma coisa. Entendem nuance e contexto. Entendem que uma foto de um gato e a descrição "felino fofo em uma cadeira" são similares. Esse é o poder de converter significado em números.

Exercícios de Fixação

Questão 1: Múltipla Escolha

Qual princípio linguístico fundamenta o funcionamento dos word embeddings?

(A) A gramática gerativa de Noam Chomsky
(B) A hipótese distribucional, que afirma que palavras em contextos similares têm significados similares
(C) A teoria da informação de Shannon
(D) O princípio da composicionalidade

Ver Gabarito

(B) — A hipótese distribucional, formalizada por Harris (1954) e popularizada por Firth (1957), é o fundamento teórico dos embeddings.

Questão 2: Múltipla Escolha

Qual é a principal inovação do BERT em relação a Word2Vec para o tratamento de palavras ambíguas?

(A) BERT usa vetores com mais dimensões
(B) BERT gera embeddings diferentes para a mesma palavra dependendo do contexto
(C) BERT é treinado em corpus maior
(D) BERT funciona apenas em inglês

Ver Gabarito

(B) — Word2Vec gera um único vetor por palavra. BERT, usando Transformers bidirecionais, gera um embedding diferente para "banco" dependendo do contexto completo da frase.

Questão 3: Verdadeiro ou Falso

A similaridade de cosseno é invariante à magnitude dos vetores.

Ver Gabarito

Verdadeiro — A fórmula de cosseno normaliza pelos comprimentos dos vetores. O que importa é a direção, não o tamanho.

Questão 4: Dissertativa

Explique a diferença entre word embeddings e sentence embeddings, e por que essa distinção é importante para aplicações práticas como busca semântica e RAG.

Ver Resposta Modelo

Word embeddings representam palavras individuais como vetores. Sentence embeddings representam frases ou documentos inteiros como um único vetor. Essa distinção é crucial porque aplicações modernas como busca semântica e RAG precisam comparar o significado de perguntas inteiras contra documentos inteiros. Se usássemos word embeddings, "cachorro morde homem" e "homem morde cachorro" teriam os mesmos word embeddings, mas sentence embeddings diferentes.

Questão 5: Aplicação Prática

Você é consultor de uma rede hospitalar que quer implementar busca semântica em prontuários eletrônicos. Explique: (a) Por que embeddings genéricos podem não ser ideais, (b) Que tipo de modelo especializado você recomendaria, (c) Como medir se o sistema está funcionando bem.

Ver Resposta Modelo

(a) Embeddings genéricos são treinados em texto geral e podem não capturar nuances de terminologia médica. "MI" em texto geral pode significar "Michigan", mas em prontuários significa "myocardial infarction".
(b) Recomendaria modelos como BioBERT ou Clinical BioBERT, treinados em PubMed e prontuários eletrônicos.
(c) Avaliação humana (médicos verificando relevância) e métricas como recall@k e Mean Reciprocal Rank.

Referências

  1. Devlin, J., Chang, M.W., Lee, K., & Toutanova, K. (2019). BERT: Pre-training of Deep Bidirectional Transformers. NAACL-HLT 2019.
  2. Firth, J.R. (1957). A Synopsis of Linguistic Theory 1930–1955. Studies in Linguistic Analysis.
  3. Google Developers Blog. (2026). Gemini Embedding now generally available in the Gemini API.
  4. Harris, Z.S. (1954). Distributional Structure. Word, 10(2-3), 146–162.
  5. Lee, J., Yoon, W., Kim, S., et al. (2020). BioBERT: A pre-trained biomedical language representation model. Bioinformatics, 36(4).
  6. Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient Estimation of Word Representations in Vector Space. ICLR 2013.
  7. Pennington, J., Socher, R., & Manning, C.D. (2014). GloVe: Global Vectors for Word Representation. EMNLP 2014.
  8. Radford, A., Kim, J.W., Hallacy, C., et al. (2021). Learning Transferable Visual Models From Natural Language Supervision. ICML 2021.
  9. Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention Is All You Need. NeurIPS 2017.
  10. Zhang, Y., Chen, Q., Yang, Z., et al. (2019). BioWordVec, improving biomedical word embeddings. Scientific Data, 6, 52.