Machine Learning · Insper · E2.4
Sentence Embeddings
Abordagem avançada
Da busca à produção: agrupar frases, o limite de tamanho, o custo e a escolha do modelo
O caminho desta parte
- Agrupark-means em TF-IDF (frequência do termo × frequência inversa nos documentos) e em embeddings
- Cuidar dos limitesnormalizar, codificar uma vez, o limite de tamanho
- Custo e escolhaparâmetros, memória, escolha do modelo, índices
Cada etapa responde a uma pergunta: vetores de frase agrupam textos sem rótulos? → o que dá errado em silêncio? → quanto custa e qual modelo?
Etapa 1 · vetores de frase agrupam textos sem rótulos?
Agrupando frases
Preveja. Manchetes curtas quase não dividem palavras. Com qual representação o k-means vai agrupar melhor?
16 manchetes em português, quatro assuntos (futebol, culinária, economia, tempo), k-means com 4 grupos, avaliado pelo índice de Rand ajustado (ARI):
TF-IDF
0,02
não melhor que o acaso: manchetes curtas quase não dividem palavras
embeddings
0,68
futebol, culinária e tempo saem inteiros
Textos curtos são onde sentence embeddings mais ajudam a agrupar: o BERTopic, nas aulas de modelagem de tópicos, constrói um método inteiro sobre isso.
Etapa 2 · o que dá errado em silêncio?
Normalize, codifique uma vez, cuide do tamanho
- Normalize (
normalize_embeddings=True): o cosseno vira produto escalar e uma matriz de similaridade inteira vira um E @ E.T.
- Codifique em lotes, uma vez, salve a matriz e codifique só os textos novos.
Preveja. Um relatório de 330 tokens ganha uma frase final decisiva. O modelo lê no máximo 256 tokens. Quanto muda o embedding?
tokens 1–256: lidos pelo modelo
257–330: cortados
frase final
Cosseno entre os dois textos: 1,0000; a frase final é descartada em silêncio (o modelo multilíngue lê 128). Quebre documentos longos em trechos e codifique cada um.
Etapa 3 · quanto custa e qual modelo?
Custo, escolha e escala
custo
22,7 milhões de parâmetros (117,7 milhões no multilíngue): uma passada da rede por texto, de segundos a minutos numa CPU (unidade central de processamento) para milhares de textos. Armazenamento: 384 × 4 bytes = 1,5 KB por texto em float32.
escolha
Qual língua? Que tipo de texto? Quanto você pode pagar? Faça uma lista curta no MTEB (Massive Text Embedding Benchmark) e meça nos seus dados.
Escala: para milhões de textos, bancos de dados vetoriais com índices de vizinhos aproximados respondem em milissegundos.
Resumo
- Em textos curtos, o k-means nos embeddings acha os assuntos (ARI 0,68) onde o TF-IDF não acha nada (0,02); leia os grupos antes de dar nome a eles.
- Normalize e codifique uma vez; um texto maior que o limite do modelo é cortado em silêncio: divida-o em trechos.
- O custo está em calcular os vetores; escolha o modelo pela língua, pelo tipo de texto e pelo orçamento e meça nos seus dados.
Lab avançado · cerca de 25 min, em duplas
Grupos, mapas e custos, passos 6 a 8
- Mesmo notebook, mesma sessão: os passos usam
sentences, pairs, ia, ib, E e model.
- k-means com 8 grupos nas 3.659 frases, um mapa com PCA (análise de componentes principais) e os números práticos: tokens, memória, parâmetros.
- Simulações: o grupo 7 é só de negações? (passo 6) e números menores, mesmo ranking? (passo 8).
Ritmo: passo 6 e a primeira simulação em 10 min; passo 7 em 5 min; passo 8 e a segunda em 10 min.