La sfida: comprendere la qualità degli indirizzi in India
Il sistema di indirizzamento dell'India è noto per la sua diversità e complessità. Gli indirizzi possono essere altamente descrittivi, non standardizzati, includere punti di riferimento locali e spesso mancare di codici PIN precisi o di un ordine coerente dei componenti. Ciò pone sfide significative per privati, piattaforme di e-commerce, aziende di logistica e fornitori di servizi che si affidano a dati sulla posizione precisi. I problemi principali che si riscontrano spesso con gli indirizzi indiani includono:
- Codici PIN mancanti o errati: essenziali per un routing efficiente di posta e pacchi, ma spesso imprecisi o assenti.
- Errori di ortografia: errori comuni nei nomi di località, città o stati possono portare a interpretazioni errate.
- 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: i termini colloquiali, le abbreviazioni e i 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 relativi alla località.
- Variazioni nelle notazioni dei locali secondari: componenti come numeri di unità, numeri civici o numeri di appezzamento (ad es. "2/1") sono scritti in vari modi, ad esempio "2/1", "2-1", "2 by 1" o "No 2, 1st part", il che rende difficile l'analisi in modo coerente.
- Prevalenza dei dettagli dei locali secondari: molti indirizzi, soprattutto nelle aree urbane, includono informazioni cruciali sui locali secondari, come numeri di appartamenti, numeri di piani o dettagli delle ali degli edifici, che sono fondamentali per la consegna dell'ultimo miglio, ma spesso non strutturati.
- Ambiguità: a volte gli indirizzi possono essere interpretati in più modi, il che porta a incertezza nella localizzazione del punto esatto.
Queste sfide possono comportare errori di consegna, aumento dei costi operativi, esperienze cliente scadenti e difficoltà nell'analisi dei dati e nella pianificazione dei servizi. È evidente la necessità di un modo per ottenere feedback rapidi e pratici 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 feedback preziosi sui loro indirizzi, aiutandoli a comprendere i potenziali problemi e a formattarli meglio per migliorare i risultati di geocodifica e l'accuratezza complessiva.
L'idea principale è utilizzare i modelli Gemini su Vertex AI per:
- Analizzare e interpretare indirizzi indiani complessi, spesso malformati.
- Identificare errori e incoerenze comuni.
- Suggerire versioni standardizzate e corrette.
- Fornire spiegazioni chiare delle modifiche apportate.
Il sistema è disponibile in due fattori di forma: - Un'API REST - Un'interfaccia utente 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:
- Miglioramento della recapitabilità: per le aziende, comprendere come strutturare meglio gli indirizzi può significare meno tentativi di consegna non riusciti, riduzione dei costi operativi e miglioramento della soddisfazione del cliente. Anche i privati possono assicurarsi di ricevere pacchi e posta in modo più affidabile utilizzando indirizzi ben formattati.
- Miglioramento dei dati: le aziende possono utilizzare gli insight ottenuti da questo strumento (o integrare l'API sottostante) per guidare la pulizia e la standardizzazione dei database degli indirizzi dei clienti esistenti, con conseguente miglioramento dell'analisi e dei servizi mirati.
- Verifica visiva: la visualizzazione della mappa con due indicatori è particolarmente preziosa. Gli utenti possono verificare visivamente se gli indirizzi originali e perfezionati puntano alla stessa località o a località diverse. In questo modo è possibile identificare se la versione "pulita" riflette con precisione la località prevista o se l'input originale era troppo ambiguo o errato per una geocodifica corretta.
Comprendendo le sfide specifiche dei loro indirizzi grazie al feedback fornito, gli utenti possono intraprendere azioni correttive, aggiornare i propri record e comunicare le proprie località in modo più efficace.
Che cos'è questa applicazione?
Questa applicazione web funge da interfaccia per il sistema di feedback sugli indirizzi basato sull'AI. È progettata per aiutare utenti e aziende a convalidare, comprendere e migliorare gli indirizzi fisici, con un'attenzione particolare alle sfumature degli indirizzi indiani. L'applicazione offre un'interfaccia intuitiva in cui gli utenti possono:
- Inserire un indirizzo: digitandolo direttamente o incollando più indirizzi per l'elaborazione collettiva.
- Ricevere 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: evidenzia le modifiche specifiche apportate all'indirizzo originale, offrendo trasparenza nel processo di feedback.
- Visualizzare le differenze: sia l'indirizzo originale sia quello pulito sono indicati su una mappa interattiva, consentendo agli utenti di confrontare visivamente le loro località e identificare potenziali discrepanze a colpo d'occhio.
- Ottenere componenti dettagliati: l'indirizzo geocodificato (pulito) viene suddiviso nelle sue parti costitutive (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 di AI avanzate di Google Cloud:
- **Elaborazione degli indirizzi di base: ** l'attività fondamentale di
analisi, comprensione, correzione e standardizzazione delle stringhe di indirizzi viene
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. Al modello Gemini 2.5 Flash viene fornita una richiesta dettagliata per verificare l'elaborazione accurata e 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:
Questa richiesta strutturata guida Gemini 2.5 Flash a:
- Analizzare input di indirizzi complessi e spesso non strutturati.
- Identificare ed estrarre i componenti chiave dell'indirizzo (ad es. numero civico /di appartamento, nome dell'edificio, via, località, quartiere, città, stato, codice PIN).
- Correggere errori di ortografia e variazioni comuni.
- Riordinare i componenti in un formato più standardizzato adatto all'India.
- Dedurre o contrassegnare le informazioni critiche mancanti, se possibile.
Generare un elenco di "modifiche apportate" ed eventuali errori, fornendo trasparenza. La capacità del modello di seguire queste istruzioni dettagliate durante la gestione di diversi pattern linguistici e informazioni contestuali è fondamentale per la sua efficacia con vari formati di indirizzi.
Servizio e scalabilità (Cloud Run su Vertex AI/Google Cloud): il servizio di backend che orchestra le chiamate all'API Gemini e restituisce i risultati al frontend è creato come applicazione containerizzata serverless.
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 ottenere rapidamente un feedback sulla qualità degli indirizzi.
Come utilizzare l'applicazione
L'applicazione è disponibile all'indirizzo India address feedback app.
Per utilizzarlo:
- Inserisci il tuo indirizzo: digita o incolla il tuo indirizzo indiano nel campo di immissione.
- Elabora l'indirizzo: fai clic sul pulsante "Clean Address".
- Esamina i risultati: l'applicazione visualizzerà:
- L'indirizzo pulito.
- Una mappa che mostra sia la località originale sia quella pulita.
- Una suddivisione dei componenti dell'indirizzo.
- Un elenco delle modifiche apportate dall'AI.
- Eventuali errori rilevati.
Esempio di chiamata API diretta (per gli sviluppatori)
Per gli sviluppatori o i sistemi che vogliono integrare direttamente la funzionalità di elaborazione degli indirizzi, il servizio di backend può essere chiamato a livello di programmazione.
Ecco un esempio con 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.