La sfida: comprendere la qualità degli indirizzi indiani
Il sistema di indirizzamento dell'India è noto per la sua diversità e complessità. Gli indirizzi possono essere molto descrittivi, non standardizzati, includere punti di riferimento locali e spesso non hanno codici postali precisi o un ordine coerente dei componenti. Ciò pone sfide significative per privati, piattaforme di e-commerce, società di logistica e fornitori di servizi che si basano su dati di localizzazione accurati. I problemi principali riscontrati spesso con gli indirizzi indiani includono:
- Codici postali mancanti o errati: essenziali per l'instradamento efficiente di posta e pacchi, ma spesso imprecisi o assenti.
- Errori ortografici: errori comuni nei nomi di località, città o stati possono portare a un'interpretazione errata.
- Ordine dei componenti non standard: la sequenza degli elementi dell'indirizzo (come numero civico, via, località, città) può variare notevolmente, rendendo difficile l'elaborazione automatica.
- Mancanza di standardizzazione:termini colloquiali, abbreviazioni e riferimenti descrittivi (ad es. "vicino al vecchio tempio") sono comuni, ma non compresi dai sistemi standard.
- Inclusione di informazioni relazionali: termini come "S/o" (Son of), "D/o" (Daughter of) o "C/o" (Care of) sono spesso incorporati nell'indirizzo, aggiungendo dati non geografici.
- Variazioni nelle notazioni di unità secondarie:componenti come numeri di unità, numeri civici o numeri di appezzamento (ad es. "2/1") sono scritti in molti modi, ad esempio "2/1", "2-1", "2 per 1" o "N. 2, 1ª parte", il che rende difficile l'analisi in modo coerente.
- Prevalenza dei dettagli del sub-edificio:molti indirizzi, soprattutto nelle aree urbane, includono informazioni cruciali sul sub-edificio, come numeri di appartamenti, numeri di piani o dettagli delle ali dell'edificio, che sono fondamentali per la consegna dell'ultimo miglio, ma spesso non strutturati.
- Ambiguità:gli indirizzi a volte possono essere interpretati in più modi, il che porta a incertezza nell'individuazione del punto esatto.
Queste sfide possono comportare errori di consegna, aumento dei costi operativi, esperienza cliente scadente e difficoltà nell'analisi dei dati e nella pianificazione dei servizi. Esiste un'esigenza chiara di un modo per ottenere un feedback rapido e pratico sulla qualità degli indirizzi.
La soluzione: feedback sugli indirizzi basato sull'AI
Per affrontare queste sfide, presentiamo una soluzione che utilizza l'AI generativa.
Questo sistema è progettato per fornire agli utenti in India un feedback prezioso sui loro indirizzi, aiutandoli a comprendere i potenziali problemi e come formattarli meglio per migliorare i risultati del geocoding e l'accuratezza complessiva.
L'idea principale è utilizzare i modelli Gemini su Vertex AI per:
- Analizza e interpreta indirizzi indiani complessi, spesso malformati.
- Identifica errori e incongruenze comuni.
- Suggerisci versioni standardizzate e corrette.
- Fornisci spiegazioni chiare delle modifiche apportate.
Il sistema è disponibile in due fattori di forma: - Un'API REST - Una UI web
Come i clienti in India possono utilizzare questo strumento
Sebbene l'obiettivo principale sia fornire feedback sulla qualità degli indirizzi, i vantaggi vanno oltre:
- Migliore recapitabilità:per le attività, capire come strutturare meglio gli indirizzi può significare un minor numero di tentativi di consegna non riusciti, una riduzione dei costi operativi e una maggiore soddisfazione dei clienti. Le persone possono anche assicurarsi di ricevere i pacchi e la posta in modo più affidabile utilizzando indirizzi ben formattati.
- Miglioramento dei dati:le aziende possono utilizzare gli approfondimenti ottenuti da questo strumento (o integrare l'API sottostante) per guidare la pulizia e la standardizzazione dei database degli indirizzi dei clienti esistenti, ottenendo analisi migliori e servizi mirati.
- Verifica visiva:la visualizzazione della mappa con due segnaposto è particolarmente utile. Gli utenti possono verificare visivamente se gli indirizzi originali e perfezionati puntano alla stessa posizione o a posizioni diverse. Ciò consente di verificare se la versione "pulita" riflette con precisione la posizione prevista o se l'input originale era troppo ambiguo o errato per una geocodifica corretta.
Comprendendo le sfide specifiche nei loro indirizzi grazie al feedback fornito, gli utenti possono intraprendere azioni correttive, aggiornare i propri record e comunicare le proprie posizioni in modo più efficace.
Che cos'è questa applicazione?
Questa applicazione web funge da interfaccia per il sistema di feedback sugli indirizzi basato sull'AI. È progettato per aiutare utenti e aziende a convalidare, comprendere e migliorare gli indirizzi fisici, con particolare attenzione alle sfumature degli indirizzi indiani. L'applicazione offre un'interfaccia intuitiva in cui gli utenti possono:
- Inserisci un indirizzo:digitandolo direttamente o incollando più indirizzi per l'elaborazione collettiva.
- Ricevi un indirizzo pulito:l'applicazione elabora l'input e fornisce una versione standardizzata e corretta in base alla comprensione del modello di AI.
- Comprendere le modifiche:vengono evidenziate le modifiche specifiche apportate all'indirizzo originale, offrendo trasparenza nel processo di feedback.
- Visualizzare le differenze: sia l'indirizzo originale sia quello pulito sono visualizzati su una mappa interattiva, consentendo agli utenti di confrontare visivamente le loro posizioni e identificare a colpo d'occhio potenziali discrepanze.
- Visualizzare i componenti dettagliati:l'indirizzo geocodificato (pulito) è suddiviso nelle sue parti costituenti (come numero civico, località, città, codice postale), fornendo una visualizzazione strutturata.
Questa app è particolarmente utile per valutare rapidamente la qualità degli indirizzi, comprendere i potenziali problemi e vedere come gli indirizzi potrebbero essere strutturati meglio per i sistemi che si basano su formati standardizzati.
Architettura di backend: basata su Gemini e Vertex AI
L'intelligenza alla base della capacità di questa applicazione di comprendere e perfezionare gli indirizzi deriva dalle tecnologie AI avanzate di Google Cloud:
- **Elaborazione degli indirizzi di base**: l'attività fondamentale di
analisi, comprensione, correzione e standardizzazione delle stringhe di indirizzi è
gestita dal modello Gemini 2.5 Flash di Google. Quando viene inviato un indirizzo
:
- L'applicazione frontend invia l'indirizzo di input a un servizio di backend.
- Questo servizio di backend utilizza l'API Gemini. Il modello Gemini 2.5 Flash riceve un prompt dettagliato per verificare l'accuratezza e l'elaborazione standardizzata. Le istruzioni principali fornite al modello sono le seguenti:
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:
Questo prompting strutturato guida Gemini 2.5 Flash a:
- Analizza input di indirizzi complessi e spesso non strutturati.
- Identifica ed estrai i componenti chiave dell'indirizzo (ad es. numero civico, nome dell'edificio, via, località, località secondaria, città, stato, codice postale).
- Correggere gli errori ortografici e le varianti più comuni.
- Riordina i componenti in un formato più standardizzato adatto all'India.
- Deduci o segnala le informazioni critiche mancanti, se possibile.
Generare un elenco delle "modifiche apportate" e degli eventuali errori, garantendo la trasparenza. La capacità del modello di seguire queste istruzioni dettagliate gestendo diversi pattern linguistici e informazioni contestuali è fondamentale per la sua efficacia con formati di indirizzo diversi.
Serving e scalabilità (Cloud Run su Vertex AI/Google Cloud): il servizio backend che orchestra le chiamate all'API Gemini e restituisce i risultati al frontend è creato come applicazione serverless in container.
Questa architettura serverless mostra un modo per eseguire il deployment di un servizio di questo tipo. In quanto applicazione demo, il suo obiettivo principale è consentire ai clienti di ricevere rapidamente un feedback sulla qualità degli indirizzi.
Come utilizzare la richiesta
L'applicazione è disponibile all'indirizzo App per il feedback sugli indirizzi in India.
Per utilizzarlo:
- Inserisci il tuo indirizzo:digita o incolla il tuo indirizzo indiano nel campo di input.
- Elabora l'indirizzo: fai clic sul pulsante "Pulisci indirizzo".
- Esamina i risultati:l'applicazione mostrerà:
- L'indirizzo pulito.
- Una mappa che mostra sia le posizioni originali sia quelle pulite.
- Una suddivisione dei componenti dell'indirizzo.
- Un elenco delle modifiche apportate dall'AI.
- Eventuali errori rilevati.
Esempio di chiamata API diretta (per sviluppatori)
Per gli sviluppatori o i sistemi che vogliono integrare direttamente la funzionalità di elaborazione degli indirizzi, il servizio di backend può essere chiamato in modo programmatico.
Ecco un esempio con l'utilizzo di 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"
}'
Questo comando invia una richiesta POST con la stringa dell'indirizzo in un payload JSON e
restituisce una risposta JSON contenente l'indirizzo elaborato e altre informazioni pertinenti, simili a quelle visualizzate nell'applicazione.
Questa applicazione mira a semplificare la complessità degli indirizzi, offrendo uno
strumento prezioso per migliorare l'accuratezza e l'efficienza, soprattutto in ambienti diversi e
dinamici come l'India.