取得印度地址的意見回饋

挑戰:瞭解印度地址品質

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

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

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

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

為解決這些挑戰,我們提供使用生成式 AI 的解決方案。

這項系統旨在為印度使用者提供實用的地址意見回饋,協助他們瞭解潛在問題,以及如何改善地址格式,進而提升地理編碼結果和整體準確度。

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

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

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

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

雖然主要目標是提供地址品質意見回饋,但好處不僅於此:

  1. 提升送達率:對商家而言,瞭解如何妥善建構地址可減少送達失敗次數、降低營運成本,並提升顧客滿意度。個人也可以使用格式正確的地址,確保自己能更可靠地收到包裹和郵件。
  2. 資料強化:公司可運用這項工具提供的洞察資訊 (或整合基礎 API),引導清理及標準化現有的顧客地址資料庫,進而提升分析成效及目標服務。
  3. 視覺化驗證:雙圖釘地圖顯示畫面特別實用。使用者可以透過視覺化方式確認原始地址和修正後的地址是否指向相同或不同位置。這有助於判斷「清除」後的版本是否準確反映預期位置,或原始輸入內容是否過於模稜兩可或有誤,導致無法正確進行地理編碼。

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

這是什麼應用程式?

這個網頁應用程式是 AI 輔助地址意見回饋系統的介面。這項服務旨在協助使用者和商家驗證、瞭解及改善實體地址,特別著重於印度地址的細微差異。這款應用程式提供簡單易用的介面,使用者可以:

  • 輸入地址:直接輸入地址,或貼上多個地址以進行大量處理。
  • 取得經過清理的地址:應用程式會處理輸入內容,並根據 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 執行下列操作:

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

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

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

如何使用應用程式

申請表請見印度地址意見回饋應用程式。

使用方法:

  1. 輸入地址:在輸入欄位中輸入或貼上印度地址。
  2. 處理地址:按一下「清除地址」按鈕。
  3. 查看結果:應用程式會顯示:
    • 經過清理的地址。
    • 地圖:顯示原始位置和經過清理的位置。
    • 地址元件的細目。
    • AI 所做的變更清單。
    • 偵測到的任何錯誤。

直接 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"
  }'

這項指令會透過 JSON 酬載傳送含有地址字串的 POST 要求,並回傳含有處理後地址和其他相關資訊的 JSON 回應,與應用程式中顯示的內容類似。
這項應用程式旨在簡化複雜的地址,提供實用的工具來提升準確度和效率,尤其是在印度等多元且動態的環境中。