O desafio: entender a qualidade dos endereços indianos
O sistema de endereçamento da Índia é conhecido pela diversidade e complexidade. Os endereços podem ser altamente descritivos, não padronizados, incluir pontos de referência locais e, muitas vezes, não têm códigos PIN precisos ou uma ordem de componentes consistente. Isso representa desafios significativos para pessoas, plataformas de e-commerce, empresas de logística e provedores de serviços que dependem de dados de localização precisos. Os principais problemas encontrados com endereços indianos incluem:
- Códigos PIN ausentes ou incorretos:são essenciais para o roteamento eficiente de correspondências e pacotes, mas costumam estar incorretos ou ausentes.
- Erros de ortografia:erros comuns nos nomes de localidades, cidades ou estados podem levar a interpretações equivocadas.
- Ordem não padrão dos componentes:a sequência de elementos de endereço (como número da casa, rua, localidade, cidade) pode variar muito, dificultando o processamento automatizado.
- Falta de padronização:termos coloquiais, abreviações e referências descritivas (por exemplo, perto do templo antigo") são comuns, mas não são compreendidas pelos sistemas padrão.
- Inclusão de informações relacionais:termos como "S/o" (filho de), "D/o" (filha de) ou "C/o" (aos cuidados de) são frequentemente incorporados ao endereço, adicionando dados não relacionados à localização.
- Variações nas notações de subunidade:componentes como números de unidades, números de casas ou números de lotes (por exemplo, "2/1") são escritas de várias maneiras, como "2/1", "2-1", "2 por 1" ou "Nº 2, 1ª parte", o que dificulta a análise consistente.
- Prevalência de detalhes de sublocal:muitos endereços, principalmente em áreas urbanas, incluem informações cruciais de sublocal, como números de apartamentos, números de blocos ou detalhes de alas de edifícios, que são vitais para a entrega da última milha, mas geralmente não estruturadas.
- Ambiguidade:às vezes, os endereços podem ser interpretados de várias maneiras, o que gera incerteza na localização do ponto exato.
Esses desafios podem resultar em falhas de entrega, aumento dos custos operacionais, experiências ruins para os clientes e dificuldades na análise de dados e no planejamento de serviços. É necessário ter uma maneira de receber feedback rápido e útil sobre a qualidade dos endereços.
A solução: feedback de endereço com tecnologia de IA
Para enfrentar esses desafios, apresentamos uma solução usando a IA generativa.
Esse sistema foi projetado para fornecer aos usuários na Índia feedback valioso sobre os endereços, ajudando-os a entender possíveis problemas e como formatá-los melhor para melhorar os resultados de geocodificação e a precisão geral.
A ideia principal é usar os modelos do Gemini na Vertex AI para:
- Analisar e interpretar endereços indianos complexos e muitas vezes malformados.
- Identificar erros e inconsistências comuns.
- Sugerir versões padronizadas e corrigidas.
- Forneça explicações claras sobre as mudanças feitas.
O sistema vem em dois formatos: - Uma API REST - Uma interface da Web
Como os clientes na Índia podem usar essa ferramenta
Embora o objetivo principal seja fornecer feedback sobre a qualidade dos endereços, os benefícios vão além:
- Melhor capacidade de entrega:para as empresas, entender como estruturar melhor os endereços pode significar menos tentativas de entrega sem sucesso, redução dos custos operacionais e maior satisfação do cliente. As pessoas também podem garantir que vão receber pacotes e correspondências de forma mais confiável usando endereços bem formatados.
- Melhoria de dados:as empresas podem usar os insights obtidos com essa ferramenta (ou integrar a API subjacente) para orientar a limpeza e a padronização dos bancos de dados de endereços de clientes atuais, resultando em análises e serviços segmentados melhores.
- Verificação visual:a exibição do mapa com dois marcadores é especialmente útil. Os usuários podem confirmar visualmente se os endereços original e refinado apontam para o mesmo local ou para locais diferentes. Isso ajuda a identificar se a versão "limpa" reflete com precisão o local pretendido ou se a entrada original era muito ambígua ou errônea para uma geocodificação correta.
Ao entender os desafios específicos nos endereços com base no feedback fornecido, os usuários podem tomar medidas corretivas, atualizar os registros e comunicar os locais de forma mais eficaz.
O que é esse aplicativo?
Esse aplicativo da Web serve como uma interface para o sistema de feedback de endereço com tecnologia de IA. Ele foi criado para ajudar usuários e empresas a validar, entender e melhorar endereços físicos, com foco nas nuances dos endereços indianos. O aplicativo oferece uma interface fácil de usar em que os usuários podem:
- Insira um endereço:digite diretamente ou cole vários endereços para processamento em massa.
- Receber um endereço limpo:o aplicativo processa a entrada e fornece uma versão padronizada e corrigida com base na compreensão do modelo de IA.
- Entenda as mudanças:elas destacam as modificações específicas feitas no endereço original, oferecendo transparência no processo de feedback.
- Visualizar diferenças:os endereços originais e limpos são fixados em um mapa interativo, permitindo que os usuários comparem visualmente os locais e identifiquem possíveis discrepâncias rapidamente.
- Receber componentes detalhados:o endereço geocodificado (limpo) é dividido em partes constituintes (como número da rua, localidade, cidade, CEP), fornecendo uma visualização estruturada.
Esse app é especialmente útil para avaliar rapidamente a qualidade dos endereços, entender possíveis problemas e ver como eles podem ser melhor estruturados para sistemas que dependem de formatos padronizados.
Arquitetura de back-end: tecnologia do Gemini e da Vertex AI
A inteligência por trás da capacidade do aplicativo de entender e refinar endereços vem das tecnologias avançadas de IA do Google Cloud:
- **Processamento principal de endereços**: a tarefa fundamental de analisar, entender, corrigir e padronizar strings de endereço é realizada pelo modelo Gemini 2.5 Flash do Google. Quando um endereço é enviado:
- O aplicativo de front-end envia o endereço de entrada para um serviço de back-end.
- Esse serviço de back-end usa a API Gemini. O modelo Gemini 2.5 Flash recebe um comando detalhado para verificar o processamento preciso e padronizado. As principais instruções fornecidas ao modelo são as seguintes:
You are an address cleaning expert. Your task is to take malformed addresses
and output cleaned and standardized versions. All addresses will be from India.
BEGIN:
Follow these instructions:
Remove any mention of "House Number," "H.No," "Door Number," "D.No,"
"Building No", "Flat No." etc. along with the number it's associated with
Remove any "C/O," "S/O," etc.
DO NOT REMOVE any name of building
It should also remove any name of person or actual house numbers etc which
appear after the texts mentioned in the previous point
Ensure there are no duplicate mentions of town names, state names, etc.
If no valid zip code is available, add an error in the Errors field:
"No valid zip code found. Please verify."
Remove mention of any Floors in the address
If there are any mention of "Near or landmark" put that in a new field called
"address_descriptors"
Expand any rd, ln, st and similar other abbreviations to road, lane, street etc.
END:
BEGIN: Structuring the output
Output the cleaned address in a single line.
Output address should put State, Country, Zip code at the end in that order.
If any critical component of the address is missing, mention that in errors section.
**Critically important:** Provide a detailed description of every change made
to the address in the "changes_made" field. Do not omit this field.
IF a House number or unit number was removed add that in a separate field
called "subpremise_details".
Output the errors in the field called "errors". If no errors, provide an empty
array.
Output all responses in JSON format.
END:
Esse comando estruturado orienta o Gemini 2.5 Flash a:
- Analisa entradas de endereço complexas e geralmente não estruturadas.
- Identificar e extrair os principais componentes de endereço (por exemplo, número da casa /apartamento, nome do prédio, rua, localidade, sublocalidade, cidade, estado, CEP).
- Corrigir erros de ortografia e variações comuns.
- Reordene os componentes em um formato mais padronizado adequado para a Índia.
- Inferir ou sinalizar informações críticas ausentes sempre que possível.
Gerar uma lista de "mudanças feitas" e erros, oferecendo transparência. A capacidade do modelo de seguir essas instruções detalhadas ao lidar com diversos padrões linguísticos e informações contextuais é fundamental para a eficácia dele com vários formatos de endereço.
Serviço e escalonabilidade (Cloud Run na Vertex AI/Google Cloud): o serviço de back-end que orquestra as chamadas para a API Gemini e retorna os resultados para o front-end é criado como um aplicativo sem servidor em contêineres.
Essa arquitetura sem servidor demonstra uma maneira de implantar um serviço desse tipo. Como um aplicativo de demonstração, o objetivo principal é permitir que os clientes recebam rapidamente feedback sobre a qualidade do endereço.
Como usar o aplicativo
O aplicativo está disponível em App de feedback de endereços da Índia.
Para usá-lo:
- Insira seu endereço:digite ou cole seu endereço indiano no campo de entrada.
- Processar o endereço:clique no botão "Limpar endereço".
- Analise os resultados:o aplicativo vai mostrar:
- O endereço limpo.
- Um mapa mostrando os locais originais e limpos.
- Uma análise detalhada dos componentes do endereço.
- Uma lista de mudanças feitas pela IA.
- Todos os erros detectados.
Exemplo de chamada direta de API (para desenvolvedores)
Para desenvolvedores ou sistemas que querem integrar a funcionalidade de processamento de endereços diretamente, o serviço de back-end pode ser chamado de forma programática.
Veja um exemplo com cURL
:
curl -X POST \
https://gemini-address-cleaner-480439120941.us-central1.run.app/clean_address \
-H "Content-Type: application/json" \
-d '{
"input_address": "S/O Laum Mirzapur Mirzapur Muzaffarpur Bihar India Mirzapur purani Darbhanga road SELAMBA BIHAR 843103"
}'
Esse comando envia uma solicitação POST com a string de endereço em um payload JSON e retorna uma resposta JSON que contém o endereço processado e outras informações relevantes, semelhante ao que é mostrado no aplicativo.
O objetivo desse aplicativo é simplificar a complexidade dos endereços, oferecendo uma
ferramenta valiosa para aumentar a precisão e a eficiência, especialmente em ambientes diversos e
dinâmicos como a Índia.