Design clássico · Pleno
Autocomplete com ML
Projeto de entrevista clássico. Pontos centrais: LM + trie, orçamento de latência e personalização.
Resposta curta
Projeto de entrevista clássico. Pontos centrais: LM + trie, orçamento de latência e personalização. No autocomplete de consultas, a pessoa começa a digitar e o sistema oferece formas de terminar a busca. O material de exercícios de Huyen inclui, entre os problemas de ML, o de completar a frase de quem escreve, e avisa que as perguntas são ambíguas de…
01 · CONTEXTO E REQUISITOS
O que é completar uma consulta enquanto a pessoa digita
No autocomplete de consultas, a pessoa começa a digitar e o sistema oferece formas de terminar a busca. O material de exercícios de Huyen inclui, entre os problemas de ML, o de completar a frase de quem escreve, e avisa que as perguntas são ambíguas de propósito: cabe ao candidato pedir esclarecimentos e delimitar o escopo. Um roteiro público de projeto de ML pede, logo de início, escopo, escala e personalização, além de latência e escala de predição como requisitos de desempenho. Esses combinados são o ponto de partida do desenho de sistemas de busca.
Este caso separa o problema em dois blocos: um índice por prefixo, que devolve candidatos depressa, e um modelo que os ordena. A divisão é uma escolha de desenho deste artigo, não uma exigência das fontes; o roteiro de ML apenas cita gerador de candidatos e ranqueador como módulos de modelagem.
02 · DE ONDE VÊM AS SUGESTÕES
Buscas passadas, frescor e contexto
Segundo o Google, as previsões do Autocomplete refletem buscas que já foram feitas, e elas aparecem assim que a pessoa começa a digitar. Os sistemas começam olhando consultas comuns e em alta que combinam com o que foi digitado, mas o Google afirma que o resultado não se limita a mostrar as mais comuns. O diagrama abaixo traduz isso em um caminho de consulta, com um índice de candidatos por prefixo à frente do ranqueamento.
Assim que a pessoa começa a digitar, as previsões precisam aparecer na caixa de busca; o serviço de sugestões é quem as monta.
O serviço procura, entre consultas comuns e em alta, as que combinam com o que a pessoa começou a digitar.
O idioma de quem busca e o local de onde busca entram na escolha, porque tornam as previsões bem mais relevantes.
O ranqueador não se limita às consultas mais comuns: interesse crescente num tema pode levar uma previsão em alta à frente.
Um filtro final impede que previsões inúteis ou que violem políticas cheguem à lista exibida.
| Sinal | Popularidade | Frescor | Contexto |
|---|---|---|---|
| O que considera | Consultas comuns que combinam com o prefixo digitado | Interesse crescente num tema | Idioma de quem busca e local de onde busca |
| Exemplo da fonte | Completar o que foi digitado com consultas comuns que combinam com ele | Se um time acaba de vencer um rival importante, previsões oportunas sobre o jogo podem ser mais úteis | As previsões diferem nos locais citados e até na grafia de centre para canadenses |
Para consultas longas, o Google diz que os sistemas podem passar de prever a busca inteira para prever partes dela.
03 · ATUALIZAÇÃO E LATÊNCIA
Lote, caminho rápido e orçamento de tempo
O roteiro de ML distingue a predição em lote, periódica, pré-computada e guardada para ser recuperada quando necessário, com alta vazão, da predição online, feita quando o pedido chega, com baixa latência. Ele cita também a abordagem híbrida, que combina os dois.
No Autocomplete do Google, as previsões refletem buscas que já foram feitas; o diagrama parte desse histórico.
O cálculo em lote é periódico e pré-computado, e seu resultado fica guardado no índice para ser lido quando preciso.
Interesse crescente num tema pode levar uma previsão nova à frente mesmo sem ser a mais comum; o roteiro de ML cita a abordagem híbrida, que combina lote e online.
O recíproco do rank do primeiro clique e o feedback negativo direto são métricas online citadas para avaliar o que o sistema entrega.
Sobre o orçamento de tempo, o roteiro de ML pede para levantar a latência de predição. Como ponto de comparação, o Smart Compose, do Google, usa aprendizado de máquina para oferecer sugestões de completar frases enquanto a pessoa digita. Por dar previsões a cada tecla, a resposta deve idealmente chegar em cem milissegundos para a pessoa não notar atraso, e equilibrar a complexidade do modelo e a velocidade de inferência foi um problema crítico.
04 · SEGURANÇA DAS SUGESTÕES
O que não deve aparecer
O Google afirma ter sistemas desenhados para impedir previsões inúteis ou que violem políticas. Os sistemas identificam se é provável haver conteúdo confiável sobre uma busca e, se essa probabilidade é baixa, podem impedir automaticamente que a previsão apareça. Ao remover uma previsão, o Google remove a específica e muitas vezes usa correspondência de padrões e outros métodos para pegar variações próximas.
05 · MEDIÇÃO E IMPLANTAÇÃO
Como saber se as sugestões ajudam
O roteiro de ML separa métricas offline, como Precision@k e Recall@k (que não consideram a qualidade do ranking), mAP, MRR e nDCG, de métricas online, como o recíproco do rank do primeiro clique. Ele lista ainda as métricas contrárias, como feedback negativo direto: esconder ou denunciar.
| Etapa | Exemplos citados no roteiro |
|---|---|
| Offline | Precision@k e Recall@k, que não consideram a qualidade do ranking, e mAP, MRR e nDCG |
| Online | Recíproco do rank do primeiro clique e feedback negativo direto, como esconder ou denunciar |
Para colocar uma mudança no ar, o mesmo roteiro lista experimentos A/B, implantação em sombra e lançamento canário.
Perguntas frequentes
O que é Autocomplete com ML?
Projeto de entrevista clássico. Pontos centrais: LM + trie, orçamento de latência e personalização.
O que o design de Autocomplete com ML cobre?
Ele está organizado nestas seções: O que é completar uma consulta enquanto a pessoa digita, Buscas passadas, frescor e contexto, Lote, caminho rápido e orçamento de tempo, O que não deve aparecer e Como saber se as sugestões ajudam.
Quanto tempo leva Autocomplete com ML e qual é o nível?
Leva cerca de 14 minutos para ler e tem nível Pleno.
Agora projete você mesmo
Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.