挑戰:瞭解印度地址品質
印度的地址系統以多元性和複雜性聞名。地址可能非常詳盡、不標準化、包含當地地標,而且通常缺少精確的 PIN 碼或一致的元件順序。這對需要準確位置資料的個人、電子商務平台、物流公司和服務供應商來說,都是一大挑戰。印度地址常見問題包括:
- 缺漏或錯誤的 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
印度境內客戶如何使用這項工具
雖然主要目標是提供地址品質意見回饋,但好處不僅於此:
- 提升送達率:對商家而言,瞭解如何妥善安排地址結構,可減少送達失敗次數、降低作業成本,並提升顧客滿意度。個人也可以使用格式正確的地址,確保包裹和郵件能更可靠地送達。
- 資料強化:公司可運用這項工具提供的洞察資料 (或整合基礎 API),引導清理及標準化現有的客戶地址資料庫,進而提升分析成效及目標服務。
- 視覺化驗證:雙圖釘地圖顯示功能特別實用。使用者可以透過視覺化方式確認原始地址和修正後的地址是否指向相同或不同地點。這有助於判斷「清理」後的版本是否準確反映預期位置,或原始輸入內容是否過於模稜兩可或有誤,導致無法正確進行地理編碼。
透過使用者提供的意見回饋瞭解地址的具體問題後,使用者就能採取修正措施、更新記錄,並更有效地傳達所在位置。
這是什麼應用程式?
這個網路應用程式是 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 執行下列操作:
- 剖析複雜且通常非結構化的地址輸入內容。
- 識別及擷取主要地址元件 (例如 門牌號碼、建築物名稱、街道、地區、次地區、城市、州 /省、郵遞區號)。
- 修正常見的拼字錯誤和變體。
- 將元件重新排序為更標準化的格式, 適用於印度。
- 盡可能推斷或標示缺少的關鍵資訊。
產生「變更內容」和任何錯誤的清單, 提供透明度。 模型能否在處理各種語言模式和情境資訊時,遵循這些詳細指示,是決定模型能否有效處理各種地址格式的關鍵。
服務和可擴充性 (Vertex AI/Google Cloud 上的 Cloud Run):後端服務會自動化調度管理對 Gemini API 的呼叫,並將結果傳回前端,這項服務是以無伺服器容器化應用程式的形式建構。
這個無伺服器架構示範如何部署這類服務。做為示範應用程式,其主要目標是讓顧客快速取得地址品質的意見回饋。
如何使用應用程式
如要使用這項應用程式,請前往印度地址意見回饋應用程式。
使用方法:
- 輸入地址:在輸入欄位中輸入或貼上印度地址。
- 處理地址:按一下「清除地址」按鈕。
- 查看結果:應用程式會顯示:
- 經過清理的地址。
- 地圖:顯示原始位置和經過清理的位置。
- 地址元件的細目。
- 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 回應,與應用程式中顯示的內容類似。
這項應用程式旨在簡化複雜的地址,提供實用的工具來提升準確度和效率,尤其是在印度等多元且動態的環境中。