AI Briefing

주소정제 서비스 내재화 - 4화 ( 슬픈예감 )

·2025.01.20 00:00

핵심 내용

컬리가 단독건물 주소정제 로직을 내재화해 외부 업체 API 호출량을 60% 줄였다.

자세히 보기

컬리가 자체 건물 DB를 활용해 단독건물 주소정제 과정을 내재화하며 외부 업체 API 의존도를 크게 낮췄다. 전국 약 1080만 개 건물 중 복합건물 약 20만 개를 제외한 나머지를 단독건물로 분류하고, 도로명 기본주소만으로 정제를 수행하는 주소정제 2.0 시스템을 구축했다.

단독건물 정제 로직과 AddressSearchParam

단독건물 처리는 입력된 주소를 AddressSearchParam 객체로 변환하는 것에서 시작한다. 시/도, 시/군/구, 도로명, 건물번호 등 각 항목을 공백 기준 토큰으로 분리하고, '서울특별시'나 '경기도' 같은 행정구역 명칭을 규격화하여 추출한다. 특히 도로명 추출 시 '가로수로20번길133'처럼 붙여 쓰인 경우를 대비해 언어 간 경계에 공백을 삽입하는 전처리를 적용했다. 또한 '서로3로'처럼 도로명 뒤에 번호가 붙는 복합 도로명 케이스를 처리하기 위해 extractRoadName 함수를 2회 호출하여 mainRoadName과 subRoadName을 분리 추출 후 합치는 방식을 채택했다.

행정구역 변경 대응과 데이터 일관성

행정안전부의 행정구역 변경(예: 전라북도 -> 전북특별자치도, 부천시 시군구 분할)에 대응하기 위해 건물 DB와 고객 요청 데이터의 불일치를 최소화하는 로직을 적용했다. 건물관리번호는 변경되지 않는다는 행안부 지침에 따라, 과거 명칭으로 요청하더라도 현재 유효한 행정구역 코드로 정제 결과를 통일했다. '부천시'로만 조회해도 상세 시군구로 매칭되도록 replaceSigunguNameByRule 함수를 통해 유연한 검색을 지원하며, 대규모 변경일에는 로그 모니터링을 통해 시스템 안정성을 확보했다.

성과와 향후 과제

단독건물이 전체 건물의 98%를 차지하지만, 실제 트래픽 비중은 복합건물(아파트 등)이 더 높다는 점을 고려하면 기대했던 90% 감소에는 미치지 못했다. 측정 결과 외부 업체 호출량은 60% 절감되었다. 이는 전원주택 등 단독건물의 주문 빈도가 아파트보다 낮기 때문이다. 컬리는 남은 40%의 트래픽을 차지하는 복합건물 주소정제 효율화를 위해 추가 작업을 진행 중이다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.