# 당근마켓 개발자의 주소인식 삽질 기록🥕 작년에 공유된 경험이지만, 개발자의 '문제 해결'을 엿볼 수 있는 사례입니다. 문제는 당근마켓 채팅에서 '주소 인식하기' 입니다. 당근마켓은 공공장소의
# 당근마켓 개발자의 주소인식 삽질 기록🥕 작년에 공유된 경험이지만, 개발자의 '문제 해결'을 엿볼 수 있는 사례입니다. 문제는 당근마켓 채팅에서 '주소 인식하기' 입니다. 당근마켓은 공공장소의 직거래를 권장하지만, 중고거래 자체에 익숙하지 않은 신규 사용자도 많다고 합니다. 당근마켓은 신규 사용자의 채팅방에서 공유될 수 있는 주소를 인식하고, 안내 메세지를 알려주고 싶었다고 합니다. 1. 정규식을 이용해 주소 찾기 - 예상되는 도로명 주소와 지번 주소의 포맷을 정하여, 이 포맷(정규식)에 포함되는 문구를 추출하는 방법 - 예상했던 주소 이외에 읍/면/동/리 나 101동 같이 아파트 동호수만 채팅하는 경우가 생김. 이 경우도 예외적으로 정규식에 포함 - 결과적으로 그대로 사용하기 어려웠음. '말씀드린대로 12'와 같은 의도하지 않은 내용도 정규식에 포함 되었기 때문. 2. 주소 검증하기 - 정규식으로 검출된 텍스트가 주소가 맞는 지 추가적으로 검증하는 단계를 추가 - 당근마켓 지역 데이터베이스에 실제로 쓰이는 법정동/행정동 정보에 포함되는 지 확인 - 도로명 주소는 내부 데이터가 없었음. - '도로명주소'라는 정부 사이트에서 데이터를 다운받아, 필요한 부분만 골라 내부(Redis)에 저장. 양이 많아 시/도를 분할해 저장. ⇨ 채팅의 내용에서 주소를 정확히 인식하여, 똑똑한 안내 메세지를 보내게 되었음 3. 새로운 주소가 생긴다면? - 도로명 주소는 새롭게 추가될 수 있음. - 빠르게 대량으로 변화는 데이터는 아니기 때문에, 일정 주기로 내부 데이터까지 업데이트할 예정 4. 앞으로 더 개선 할 일 - 동호수가 숫자가 아닌 경우 - 띄어쓰기를 제대로 하지 않은 경우 - 건물이름에 호수가 바로 붙는 경우