카카오톡 채팅 스크린샷에서한국 주소와 주문 내역 읽기

고객이 카카오톡으로 주문 메시지를 보냅니다 — "김치찌개 3개, 불고기 2인분, 주소는 서울시 강남구 테헤란로 123입니다." 주소, 상품, 수량이 모두 한글과 숫자가 섞인 하나의 채팅 말풍선에 담겨 있습니다. 기록을 위해 스크린샷을 찍습니다. 이제 필요한 모든 정보가 담긴 이미지가 생겼지만, 주소는 공존하는 두 가지 한국 주소 체계 중 하나로 쓰여 있을 수 있고, 상품명과 수량은 기존 OCR 엔진이 분석하도록 설계되지 않은 대화체 한국어 텍스트에 포함되어 있습니다.

수작업 입력은 그만 — AI가 대신 읽어드립니다
이미지나 PDF를 업로드하세요 — 10초 만에 정형 데이터로
지금 체험하기
회원가입 불필요 · 카드 불필요 · 10초 내 결과
카카오톡 채팅 스크린샷에서 한국 주소와 주문 내역을 스프레드시트로 추출하는 모습

핵심 요약

  1. 카카오톡의 한국 주소는 도로명주소(테헤란로 123) 또는 지번주소(역삼동 123-45)로 표시될 수 있습니다. 두 체계가 공존하며, 고객은 아는 체계를 사용합니다.
  2. 카카오톡 주문 스크린샷 하나에는 일반 텍스트 주소 말풍선, 초록색 강조의 카카오페이 카드, 카카오맵 위치 카드 등 세 가지 다른 시각적 형식이 포함될 수 있으며, 각각 다른 주문 정보를 담고 있습니다.
  3. 배송 주소, 주문 상품, 결제 금액을 열로 정의하면 AI가 세 가지 시각적 형식을 한 번에 읽고, 채팅 텍스트와 카드 데이터를 섞지 않고 각 값을 올바른 열에 배치합니다.

카카오톡 주문 스크린샷에 실제로 포함된 정보

카카오톡은 인구 5,200만 명의 대한민국에서 4,600만 명 이상이 사용하는 대표 메신저 플랫폼입니다. 한국 고객이 소규모 업체(대량 식자재를 주문하는 식당, 뷰티 제품을 주문하는 리셀러, 원자재를 확인하는 공급업체)에 주문할 때, 거래 전체가 보통 카카오톡 안에서 이루어집니다. 고객이 주소를 보내고, 원하는 상품을 나열하며, 카카오페이로 결제까지 하면 스타일이 적용된 결제 확인 카드가 같은 대화방에 나타납니다.

이 대화의 스크린샷 한 장에는 다음이 포함될 수 있습니다:

  • 일반 텍스트 채팅 버블 — 도로명주소나 지번주소로 작성된 고객의 한국어 주소
  • 주문 세부 정보 — 상품명, 수량, 경우에 따라 가격과 요청사항이 대화체 한국어로 적혀 있음
  • 카카오페이 결제 카드 — 초록색 악센트가 있는 시각적으로 구분되는 UI 카드로, 결제 총액, 가맹점명, 거래 상태 배지 표시
  • 카카오맵 위치 공유 — 고객이 앱 내 지도 서비스로 위치를 공유할 때 지도 썸네일과 주소 텍스트를 보여주는 미리보기 카드
  • 화면 UI 요소 — 상대방 이름이 표시된 채팅방 제목 표시줄, '카카오톡' 브랜딩, 시간, 읽음 확인, 메시지 입력 영역

이 요소들은 각각 다른 시각적 형식(일반 텍스트, 스타일 카드, 지도 썸네일)을 가지지만, 필요한 데이터(주소와 주문 내역)는 이 모든 형식에 걸쳐 있습니다. 기존 OCR 도구는 이미지 전체를 하나의 텍스트 블록으로 읽어 한글, 숫자, UI 라벨이 뒤섞인 원시 문자열을 출력하므로, 사용자가 직접 분류해야 합니다. 문제는 주소를 읽기 어렵다는 것이 아닙니다. 한국어로 명확히 쓰여 있기 때문입니다. 문제는 화면의 다른 모든 정보 중에서 주소만 골라내는 데 있습니다.

이중 주소 체계의 문제: 도로명주소 vs 지번주소

한국은 세계에서 몇 안 되는 두 가지 주소 체계가 병행 사용되는 국가입니다. 공식 체계는 도로명주소로, 2011년 7월 도입되어 2014년 1월에 전면 시행되었습니다. 이 체계에서 주소는 논리적인 도로 기반 형식(시/도 → 구 → 도로명 → 건물번호)을 따릅니다. 일반적인 도로명주소는 다음과 같습니다:

서울특별시 강남구 테헤란로 123

하지만 기존의 지번주소는 여전히 널리 사용되고 있습니다. 이 체계는 도로명이 아닌 토지 필지 번호를 기반으로 하며, 완전히 다른 형태의 주소를 생성합니다:

서울특별시 강남구 역삼동 123-45

두 주소 모두 동일한 건물을 가리킬 수 있습니다. 네이버 지도와 카카오맵은 모든 위치에 대해 두 버전을 함께 표시합니다. 카카오톡 채팅에서 한국 고객은 자신이 더 편한 형식이나 공식 문서에 기재된 형식 중 하나로 주소를 보낼 수 있습니다. 어떤 사람은 "서울시 마포구 서교동 456-7"(지번)이라고 쓰고, 다른 사람은 같은 동네를 "서울시 마포구 와우산로 29길 45"(도로명)라고 씁니다.

이러한 이중 체계 현실은 단일 주소 형식을 기대하는 모든 추출 방식에 문제를 만듭니다. "도로명 + 건물번호"를 찾도록 설정된 템플릿 기반 도구는 스크린샷에서 지번주소를 만나면 인식에 실패합니다. 반대로 "동(Dong) + 번지(Beonji)" 숫자 패턴을 추출하도록 프로그래밍된 도구는 도로명주소를 놓칩니다. 고객이 여러분을 위해 주소 형식을 통일해 주지는 않습니다. 그저 자신이 아는 방식으로 입력할 뿐입니다. 시각적 배치만이 아니라 의미 구조로 두 체계를 모두 이해하는 추출 방식이 이 난관을 해결하는 실질적인 방법입니다.

카카오톡 주문의 세 가지 일반적인 시나리오

고객이 주문한 방식과 카카오페이 결제 여부에 따라 스크린샷의 시각적 구성이 달라집니다. 각 시나리오마다 추출 시 고려해야 할 사항이 조금씩 다릅니다.

시나리오 1: 일반 채팅 말풍선에 담긴 주소 및 주문 내역

가장 일반적인 시나리오입니다. 고객이 주소와 주문 내역을 일반 텍스트 메시지로 채팅에 직접 입력합니다. 대화는 다음과 같이 보일 수 있습니다.

고객: "네, 주문할게요. 김치찌개 3개, 제육볶음 2개 주세요."
고객: "주소는 경기도 성남시 분당구 정자동 178-3번지 203호입니다."

주소는 지번 형식(정자동 178-3)과 호수(203호)로 표시됩니다. 주문 품목은 앞선 메시지에 별도로 나열되어 있습니다. 두 정보 모두 일반 텍스트로 되어 있으며, 카드나 지도 공유 없이 대화체 한국어로 작성되어 있습니다. 기존 OCR 도구는 "네, 주문할게요. 김치찌개 3개, 제육볶음 2개 주세요."를 주소 텍스트와 함께 하나의 연속된 문자열로 출력하므로, 주문 품목과 주소를 수동으로 분리해야 합니다.

열 기반 의미 추출을 사용하면 배송지주문 상품이라는 두 개의 열을 정의하고, 엔진은 동일한 채팅 텍스트 내에서 두 가지 별개의 정보를 찾고 있음을 인지한 상태로 스크린샷을 읽습니다. 한국어 주소 구조(시/도 → 시/군/구 → 동 → 지번 → 호수)를 인식하여 주소를 찾고, 숫자 수량 표시와 상품명 패턴을 통해 주문 품목을 식별하여 각각 올바른 열에 출력함으로써 혼동을 방지합니다.

시나리오 2: 카카오페이 결제 카드가 포함된 주소

카카오톡은 한국의 대표적인 디지털 지갑인 카카오페이와 깊이 통합되어 있습니다. 고객이 채팅 내에서 카카오페이로 결제하면 결제 확인 카드가 대화창에 바로 나타납니다. 이 카드는 흰색 또는 밝은 배경에 카카오의 시그니처인 노란색-초록색 악센트가 적용된 독특한 시각적 정체성을 가지며, 총 결제 금액이 크고 굵은 글씨로 표시되고, 가맹점 이름, 거래 시간, 상태 배지("결제완료")가 포함됩니다.

이 카드는 텍스트 말풍선 사이에 위치한 독립적인 UI 요소입니다. 결제 금액과 거래 확인 정보를 포함하지만, 배송지나 주문 품목은 포함하지 않습니다. 해당 정보는 카드 위나 아래의 텍스트 말풍선에 남아 있습니다. 이제 스크린샷에는 일반 채팅 텍스트와 스타일이 적용된 결제 카드라는 완전히 다른 두 가지 시각적 형식이 동일한 이미지 안에 포함됩니다.

시각적 AI 기반의 열 추출 엔진은 전체 스크린샷을 복합 장면으로 해석합니다. 결제 카드를 "카카오페이 확인서"로 인식하고, 결제 금액 열을 정의한 경우 해당 열로 금액을 추출하는 동시에 주소와 주문 정보를 위해 텍스트 말풍선을 별도로 읽습니다. 반면, 기존 OCR은 카드의 텍스트와 채팅 텍스트를 구분 없이 하나의 스트림으로 읽어 출력에서 카드 라벨의 "결제완료"가 주소 바로 옆에 나타나게 됩니다.

이는 다른 플랫폼의 결제 스크린샷에도 적용되는 동일한 원리입니다. 결제 확인 정보와 거래 내역은 이미지 내에서 시각적으로 구분되는 요소이며, 추출 방식은 모든 텍스트를 동등하게 읽는 것이 아니라 각 요소의 역할을 인식해야 합니다.

시나리오 3: 카카오맵 위치 카드로 공유된 주소

카카오톡에서는 카카오맵을 통해 사용자가 현재 위치나 고정한 주소를 공유할 수 있습니다. 위치 공유 버튼을 누르면 채팅방에 미리보기 카드가 나타나는데, 작은 지도 썸네일과 지도 아래에 주소 텍스트, 그리고 사용자가 명칭이 있는 장소를 고정한 경우 해당 장소 이름이 표시됩니다. 이 카드의 주소 텍스트는 작은 글씨로 간결한 미리보기 안에 표시되며, 지도 인터페이스에 표시되는 주소 체계에 따라 도로명주소나 지번주소 중 하나로 작성될 수 있습니다.

이 시나리오는 더 까다로운 추출 사례입니다. 주소가 이미지 안에 존재하지만, 스크린샷의 일부만 차지하는 카드 안에 작은 글씨 크기로 표시됩니다. 지도 카드의 텍스트가 미리보기 경계에 의해 일부 잘리거나, 지도 카드가 완전히 로드되기 전에 스크린샷을 찍은 경우, 보이는 주소가 불완전할 수 있습니다. 또한 카카오맵은 미리보기에서 기본적으로 도로명주소를 표시하므로, 고객이 자신의 주소를 지번주소로 알고 있더라도 공유된 카드에는 도로명주소가 표시될 가능성이 높습니다. 즉, 고객이 이전 메시지에 입력한 형식과 다를 수 있습니다.

추출 목적상, 주소 텍스트가 보이고 잘리지 않았다면 카카오맵 카드는 여전히 읽을 수 있습니다. 텍스트 말풍선 주소와 동일하게 열을 정의하면, 엔진은 채팅 말풀선 안이든 지도 카드 위든 이미지 내 어디에 나타나든 텍스트를 읽습니다. 위험은 잘림입니다. 스크린샷이 지도 카드의 위쪽 절반만 캡처하면 하단의 주소 줄이 잘릴 수 있습니다. 카드 전체를 위에서 아래까지 포함하는 전체 높이 스크린샷을 찍으면 이 문제를 피할 수 있습니다.

의미 기반 추출이 한국어 주소를 처리하는 방법

카카오톡 주문 스크린샷을 다루는 핵심은 모든 채팅 스크린샷 추출 시나리오에 적용되는 동일한 원칙입니다. 즉, 엔진에 어떤 주소 형식을 기대해야 하는지 또는 화면의 어디를 봐야 하는지 알려줄 필요가 없습니다. 원하는 열 — 배송지, 주문 상품, 수량, 결제 금액 — 을 정의하기만 하면, AI가 각 스크린샷을 완전한 시각적 장면으로 읽고, 각 열의 데이터가 무엇을 의미하는지와 카카오톡 대화에서 일반적으로 어디에 나타나는지 이해하여 위치를 찾아냅니다.

이는 템플릿 기반 또는 위치 기반 추출과 근본적으로 다릅니다. 전통적인 접근 방식에서는 "주소는 채팅 말풍선에, 금액은 초록색 결제 카드에, 상품 목록은 이전 메시지에 있습니다"라고 지정해야 합니다. 고객이 상품을 먼저 보내고 주소를 나중에 보내거나, 카카오페이 카드가 상품 목록 아래 대신 위에 나타나는 등 약간의 차이만 있어도 미리 설정된 레이아웃이 깨집니다. 의미 기반 추출은 고정된 위치나 페이지 레이아웃에 의존하지 않습니다. 좌표가 아닌 콘텐츠를 해석하기 때문입니다.

특히 한국어 주소의 경우, 엔진은 도로명주소 형식("서울시 강남구 테헤란로 123")과 지번주소 형식("서울시 강남구 역삼동 123-45")을 모두 주소로 인식할 수 있습니다. 두 형식 모두 모델이 학습한 내부 구조적 패턴(행정 구역 계층 + 숫자 식별자)을 따르기 때문입니다. 어떤 형식을 기대해야 하는지 알려줄 필요 없이, 고객이 사용한 형식을 읽고 결과를 "배송지" 열에 배치합니다.

추출 가능한 데이터와 한계점

일반적인 카카오톡 주문 스크린샷에서 잘 정의된 열 세트를 사용하면 다음 데이터를 안정적으로 얻을 수 있습니다.

출력 예시신뢰도
배송지경기도 성남시 분당구 정자동 178-3번지 203호높음 — 채팅 텍스트에 표시될 경우
주문 상품김치찌개 3개, 제육볶음 2개높음 — 상품명과 수량이 구조적으로 구분됨
수량3, 2높음 — 상품명 옆 숫자
결제 금액₩28,500높음 — 스크린샷에 카카오페이 카드가 보일 경우
고객명채팅 헤더 또는 발신자 라벨에서 추출보통 — 스크린샷 프레임에 포함된 내용에 따라 다름

명확히 언급해야 할 한계점이 있습니다. 주소가 카카오맵 위치 공유 카드 내부에만 표시되고 해당 카드 텍스트가 스크린샷에서 잘린 경우, 일부 주소만 추출됩니다. 고객의 주문 내역이 여러 연속 메시지에 걸쳐 있고 스크린샷이 마지막 세 개의 말풍선만 캡처한 경우, 전체 주문 목록이 나타나지 않을 수 있습니다. 고객이 주소와 주문 정보를 별도 메시지로 보내고 그 사이에 관련 없는 대화가 있는 경우, 구조적으로 모호할 때 동일한 열에 불필요한 텍스트가 포함될 수 있습니다.

이는 추출 한계가 아니라 시각적 캡처 한계입니다. 모든 경우에 대한 해결책은 동일합니다. 모든 관련 메시지가 포함되도록 스크린샷을 충분히 넓게 캡처하고, 실제로 필요한 데이터와 일치하는 열을 정의하는 것입니다. AI는 이미지에 포함된 내용을 기반으로 작동하며, 누락된 데이터를 임의로 생성하지 않습니다.

수작업 입력은 그만 — AI가 대신 읽어드립니다
이미지나 PDF를 업로드하세요 — 10초 만에 정형 데이터로
지금 체험하기
회원가입 불필요 · 카드 불필요 · 10초 내 결과

자주 묻는 질문

같은 스크린샷에서 한글 주소와 영문 로마자 표기 주소를 모두 추출할 수 있나요?

추출 엔진은 이미지에 표시된 텍스트를 그대로 읽습니다. 고객이 주소를 한글로만 입력했다면, 엔진은 한글 주소를 추출합니다. 로마자 표기 버전을 생성하지 않습니다. 이는 추출이 아닌 번역 단계에 해당합니다. 영문 출력이 필요하다면, 고객이 주소를 영어로 입력했거나, 추출된 한글 주소를 별도로 로마자로 변환하는 후처리 단계를 추가해야 합니다.

주소에 아파트 동 번호(동)와 호수(호)가 포함된 경우는 어떻게 처리하나요?

한국 아파트 주소는 일반적으로 "XX동 XX호"로 끝납니다. 추출 엔진은 이를 전체 주소 문자열의 일부로 읽습니다. 이들을 별도 열로 추출하려면 "건물(동)" 및 "호수(호)"와 같은 별도 열을 정의하세요. 엔진은 동과 호를 주소 구조 접미사로 인식하여 그에 따라 분할할 수 있습니다. "102동 304호"와 같은 주소는 "건물" 열에 "102"가, "호수" 열에 "304"가 출력됩니다.

동일한 배치 실행에서 카카오페이 결제 데이터와 배송지 주소를 함께 추출할 수 있나요?

네, 가능합니다. 동일한 열 세트에 "결제 금액"과 "배송지" 열을 모두 정의하세요. 엔진은 스크린샷을 한 번 처리하여 두 열을 모두 채웁니다. 결제 금액은 카카오페이 카드에서, 주소는 채팅 버블 텍스트에서 가져옵니다. 이는 두 요소가 모두 포함된 단일 스크린샷에서도 작동하며, 결제 카드가 있는 스크린샷과 없는 스크린샷이 섞인 배치에서도 작동합니다. 결제 카드가 보이지 않는 스크린샷의 경우 결제 열은 비어 있습니다.

카카오톡 다크 모드와 라이트 모드 스크린샷은 어떻게 처리하나요?

추출 엔진은 배경색이 아닌 텍스트 내용을 읽습니다. 다크 모드와 라이트 모드는 동일한 글꼴, 메시지 레이아웃, 채팅 버블 위치를 사용하며, 배경색과 텍스트 색상만 반전됩니다. 텍스트가 배경과 대비가 높아 읽을 수 있는 한, 엔진은 두 시각적 테마에서 동일한 내용을 추출합니다. 텍스트와 배경 간 대비가 낮은 저조도 환경에서 캡처된 스크린샷은 테마와 관계없이 읽기 어려울 수 있습니다.

주소가 한글과 한자가 혼용되어 작성된 경우는 어떻게 하나요?

일부 오래된 한국 주소나 공식 건물명은 한글과 함께 한자를 포함합니다. 특히 지번 주소나 역사적인 지역명에서 흔합니다. 추출 엔진은 사전에 의존하지 않고 시각적 인식을 통해 문자를 읽습니다. 화면에 보이는 모든 문자를 그대로 출력합니다. "종로구 慶雲洞 89-1"과 같이 혼용된 주소는 스크린샷에 나타난 그대로 한자가 포함되어 추출됩니다. 한글 출력만 원한다면 후처리가 필요합니다.

카카오톡 주문 스크린샷은 양식도, 송장도, 정형화된 문서도 아닙니다. 그것은 대화입니다. 주소는 한국의 두 공존 주소 체계 중 하나로 쓰여 있을 수 있고, 주문 내역은 대화체 한국어에 섞여 있으며, 결제 확인은 완전히 다른 시각적 카드에 나타납니다. 여기서 효과적인 추출 방법은 모든 플랫폼의 채팅 스크린샷에서 통하는 방법과 동일합니다. 필요한 필드를 정의하고, AI가 대화의 시각적 맥락 안에서 각 데이터 조각의 의미를 이해하여 찾아내도록 하는 것입니다.

📮 contact email: [email protected]