取得印度地址的意見回饋

挑戰:瞭解印度地址品質

印度的地址系統以多元性和複雜性聞名。地址可能非常詳盡、不標準化、包含當地地標,而且通常缺少精確的 PIN 碼或一致的元件順序。這對需要準確位置資料的個人、電子商務平台、物流公司和服務供應商來說,都是一大挑戰。印度地址常見問題包括:

  • 缺漏或錯誤的郵遞區號:郵遞區號是郵件和包裹能否順利送達的關鍵,但經常缺漏或有誤。
  • 拼寫錯誤:如果地點、城市或州別名稱有常見錯誤,可能會導致誤解。
  • 非標準元件順序:地址元素 (例如門牌號碼、街道、地區、城市) 的順序可能差異甚大,導致自動處理作業難以進行。
  • 缺乏標準化:口語用語、縮寫和描述性參照 (例如「舊廟附近」) 很常見,但標準系統無法理解。
  • 包含關係資訊:地址中經常會嵌入「S/o」(某某之子)、「D/o」(某某之女) 或「C/o」(某某代為照護) 等字詞,加入非位置資料。
  • 子處所標記的變化:單元號碼、門牌號碼或地號等元件 (例如 「2/1」) 的寫法有很多種,例如「2/1」、「2-1」、「2 by 1」或「No 2, 1st part」,因此難以一致地剖析。
  • 次要場所詳細資料的普及程度:許多地址 (尤其是在市區) 都包含重要的次要場所資訊,例如公寓號碼、樓層號碼或建築物側翼詳細資料,這些資訊對最後一哩路運送至關重要,但通常沒有結構化。
  • 模糊不清:地址有時可能有多種解讀方式,導致無法確定確切位置。

這些挑戰可能導致運送失敗、營運成本增加、顧客體驗不佳,以及難以進行資料分析和服務規劃。因此,我們需要提供一種方式,讓使用者快速取得可據以行動的地址品質意見回饋。

解決方案:AI 輔助地址意見回饋

為了因應這些挑戰,我們提出了一種利用生成式人工智慧的解決方案。

該系統旨在為印度用戶提供有關其地址的寶貴回饋,幫助他們瞭解潛在問題以及如何更好地格式化地址,從而提高地理編碼結果和整體準確性。

核心概念是使用 Vertex AI 的 Gemini 模型執行下列操作:

  • 分析及解讀複雜的印度地址 (通常格式有誤)。
  • 找出常見錯誤和不一致之處。
  • 建議標準化和修正後的版本。
  • 清楚說明變更內容。

這個系統提供兩種板型規格: - REST API - 網頁 UI

印度境內客戶如何使用這項工具

雖然主要目標是提供有關地址品質的回饋,但其益處遠不止於此:

  1. 提高送達率: 對於企業而言,瞭解如何更好地建立地址意味著更少的投遞失敗、降低營運成本和提高客戶滿意度。個人也可以使用格式正確的地址,確保自己能更可靠地收到包裹和郵件。
  2. 資料增強: 公司可以利用從該工具獲得的洞察(或整合底層 API)來指導其現有客戶地址資料庫的清理和標準化,從而實現更好的分析和更有針對性的服務。
  3. 視覺化驗證:雙圖釘地圖顯示畫面特別有價值。使用者可以透過視覺方式確認原始地址和修正後的地址是否指向相同或不同的位置。這有助於確定「清理後」的版本是否準確反映了預期的位置,或者原始輸入是否過於模糊或錯誤,以至於無法進行正確的地理編碼。

透過提供的意見回饋瞭解地址的具體問題後,使用者就能採取修正措施、更新記錄,並更有效地傳達所在位置。

這是什麼應用程式?

這個網路應用程式是 AI 輔助地址意見回饋系統的介面。它旨在幫助用戶和企業驗證、理解和改進實體地址,特別關注印度地址的細微差別。 這款應用程式提供簡單易用的介面,使用者可以:

  • 輸入地址:直接輸入地址,或貼上多個地址以進行大量處理。
  • 接收清理後的位址:應用程式處理輸入,並根據人工智慧模型的理解提供標準化的、修正後的版本。
  • 瞭解變更: 它突顯對原始位址所做的具體修改,從而提高回饋流程的透明度。
  • 以視覺化方式呈現差異:原始地址和清理後的地址都會釘選在互動式地圖上,方便使用者以視覺化方式比較位置,並一眼找出潛在差異。
  • 取得詳細元件:經過地理編碼 (清除) 的地址會細分為各個組成部分 (例如街道號碼、所在地、城市、郵遞區號),提供結構化檢視畫面。

這款應用程式對於快速評估地址品質、瞭解潛在問題以及瞭解如何更好地建立依賴標準化格式的系統中的地址結構尤其有用。

後端架構:以 Gemini 和 Vertex AI 為基礎

這項應用程式之所以能瞭解及修正地址,背後是 Google Cloud 的進階 AI 技術:

  • **核心地址處理:** Google 的 Gemini 2.5 Flash 模型會處理剖析、瞭解、修正及標準化地址字串的基本工作。提交地址時:
    • 前端應用程式會將輸入地址傳送至後端服務。
    • 這個後端服務會運用 Gemini API。系統會提供詳細提示給 Gemini 2.5 Flash 模型,確保模型能準確且標準化地處理資料。提供給模型的核心指令如下:
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:

這項結構化提示會引導 Gemini 2.5 Flash 執行下列操作:

  • 剖析複雜且通常非結構化的地址輸入內容。
  • 識別及擷取主要地址元件 (例如 門牌號碼、建築物名稱、街道、地區、次地區、城市、州 /省、郵遞區號)。
  • 修正常見的拼字錯誤和變體。
  • 將元件重新排序為更標準化的格式, 以符合印度需求。
  • 盡可能推斷或標示缺漏的重要資訊。
  • 產生「變更」和任何錯誤的清單,提供透明度。 模型能否在處理各種語言模式和情境資訊時,遵循這些詳細指示,是決定模型能否有效處理不同地址格式的關鍵。

  • 服務和可擴充性 (Vertex AI/Google Cloud 上的 Cloud Run):後端服務會自動化調度管理對 Gemini API 的呼叫,並將結果傳回前端,這項服務是以無伺服器容器化應用程式的形式建構。

這個無伺服器架構示範如何部署這類服務。這個示範應用程式的主要目標是讓顧客快速取得地址品質的意見回饋。

如何使用應用程式

如要使用這個應用程式,請前往印度地址意見回饋應用程式

使用方法:

  1. 輸入地址:在輸入欄位中輸入或貼上印度地址。
  2. 處理地址:按一下「清除地址」按鈕。
  3. 查看結果: 應用程式將顯示:
    • 已清理的地址。
    • 一張地圖,顯示了原始位置和清理後的位置。
    • 地址組成部分分解。
    • 人工智慧所做的更改清單。
    • 偵測到任何錯誤。

直接 API 呼叫範例(面向開發者)

開發人員或系統如要直接整合地址處理功能,可以透過程式輔助方式呼叫後端服務。以下是使用 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"
  }'

此命令會傳送一個 POST 請求,其中包含 JSON 有效負載中的位址字串,並將傳回 JSON 回應,其中包含已處理的位址和其他相關訊息,類似於應用程式中顯示的內容。
這項應用程式旨在簡化複雜的地址,提供實用的工具來提升準確度和效率,尤其是在印度等多元且動態的環境中。