문제: 인도 주소 품질 이해
인도의 주소 지정 시스템은 다양성과 복잡성으로 유명합니다. 주소는 매우 구체적이고 표준화되어 있지 않으며 지역 명소를 포함할 수 있고 정확한 우편번호나 일관된 구성요소 순서가 없는 경우가 많습니다. 이로 인해 정확한 위치 데이터를 사용하는 개인, 전자상거래 플랫폼, 물류 회사, 서비스 제공업체에 심각한 문제가 발생합니다. 인도 주소에서 자주 발생하는 주요 문제는 다음과 같습니다.
- 누락되거나 잘못된 우편번호: 효율적인 우편 및 택배 라우팅에 필수적이지만 부정확하거나 누락되는 경우가 많습니다.
- 맞춤법 오류: 지역, 도시 또는 주의 이름에 흔히 발생하는 실수는 오해를 불러일으킬 수 있습니다.
- 비표준 구성요소 순서: 주소 요소 (예: 번지, 도로, 지역, 도시)의 순서는 매우 다양하여 자동 처리가 어렵습니다.
- 표준화 부족: 구어체 용어, 약어, 설명 참조 (예: '오래된 사원 근처')은 일반적이지만 표준 시스템에서는 이해하지 못합니다.
- 관계 정보 포함: '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 기반 주소 피드백 시스템의 인터페이스 역할을 합니다. 이 API는 사용자와 비즈니스가 실제 주소를 검증하고 이해하고 개선하도록 설계되었으며, 특히 인도 주소의 미묘한 차이에 중점을 둡니다. 이 애플리케이션은 사용자가 다음 작업을 할 수 있는 사용자 친화적인 인터페이스를 제공합니다.
- 주소 입력: 직접 입력하거나 일괄 처리를 위해 여러 주소를 붙여넣습니다.
- 정리된 주소 수신: 애플리케이션이 입력을 처리하고 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 응답을 반환합니다.
이 애플리케이션은 주소의 복잡성을 간소화하여 특히 인도와 같이 다양하고 역동적인 환경에서 정확성과 효율성을 높이는 데 유용한 도구를 제공합니다.