Leer una dirección coreana y los detalles del pedido
desde una captura de chat de KakaoTalk
Un cliente te escribe por KakaoTalk con su pedido: «김치찌개 3개, 불고기 2인분, 주소는 서울시 강남구 테헤란로 123입니다». La dirección, los artículos y las cantidades están todos en una sola burbuja de chat, mezclados con hangul y números. Haces una captura para guardar el registro. Ahora tienes una imagen que contiene todo lo que necesitas, pero la dirección puede estar escrita en uno de los dos sistemas de direcciones coreanos que coexisten, y los nombres de los productos y las cantidades están incrustados en texto coreano conversacional que ningún motor OCR tradicional fue diseñado para procesar.

Conclusiones clave
- Una dirección coreana en KakaoTalk puede escribirse en 도로명주소 (nombre de calle: 테헤란로 123) o en 지번주소 (parcela: 역삼동 123-45) — ambos sistemas coexisten, y tu cliente usa el que conoce.
- Una sola captura de pedido de KakaoTalk puede contener tres formatos visuales distintos — una burbuja de dirección en texto plano, una tarjeta KakaoPay con acento verde y una tarjeta de ubicación de KakaoMap — cada una con diferentes partes del pedido.
- Define Dirección de envío, Artículos del pedido y Monto del pago como columnas — la IA lee los tres formatos visuales en una sola pasada, colocando cada valor en su columna correcta sin mezclar el texto del chat con los datos de la tarjeta.
Qué contiene realmente una captura de pantalla de pedido de KakaoTalk
KakaoTalk es la plataforma de mensajería dominante en Corea del Sur, utilizada por más de 46 millones de personas en un país de 52 millones. Cuando un cliente coreano hace un pedido a una pequeña empresa — un restaurante que encarga comida al por mayor, un revendedor que pide productos de belleza, un proveedor que confirma materias primas — toda la transacción suele ocurrir dentro de KakaoTalk. El cliente envía su dirección, lista los artículos que quiere y, a menudo, también paga a través de KakaoPay, generando una tarjeta de confirmación de pago con estilo que aparece en el mismo hilo de chat. Las compras grupales coreanas (공동구매) funcionan enteramente con este patrón de hilo de chat: un organizador recopila artículos y cantidades de docenas de compradores, lo que convierte las capturas de pantalla de compras grupales de KakaoTalk en la lista de pedidos de facto.

Una sola captura de pantalla de esta conversación puede contener:
- Burbujas de chat en texto plano con la dirección del cliente en coreano, escrita en el sistema de nombre de calle (도로명주소) o en el sistema de número de parcela (지번주소)
- Detalles del pedido — nombres de productos (상품명), cantidades (수량) y, opcionalmente, precios y solicitudes especiales — todo en coreano conversacional
- Una tarjeta de pago de KakaoPay — una tarjeta de interfaz visualmente distintiva con acento verde, que muestra el monto total pagado, el nombre del comerciante y una insignia de estado de la transacción
- Una ubicación compartida de KakaoMap — una tarjeta de vista previa que muestra una miniatura del mapa y el texto de la dirección cuando el cliente comparte su ubicación a través del servicio de mapas integrado de la aplicación
- Marco visual — la barra de título de la sala de chat que muestra el nombre de la otra persona, la marca "KakaoTalk", marcas de tiempo, recibos de lectura y el área de entrada de mensajes
Cada uno de estos elementos tiene un formato visual diferente — texto plano, tarjeta con estilo, miniatura de mapa — pero los datos que necesitas (la dirección y los detalles del pedido) atraviesan todos ellos. Una herramienta OCR tradicional lee la imagen completa como un solo bloque de texto, produciendo una cadena cruda de hangul mixto, números y etiquetas de interfaz que luego tienes que clasificar manualmente. El desafío no es que la dirección sea difícil de leer — está claramente escrita en coreano. El desafío es distinguirla de todo lo demás en la pantalla.
El problema de la doble dirección: nombre de calle (도로명주소) vs número de parcela (지번주소)
Corea del Sur es uno de los pocos países del mundo donde dos sistemas de direcciones operan en paralelo. El sistema oficial es la dirección por nombre de calle (도로명주소, Doro-myeong-juso), introducida en julio de 2011 y adoptada por completo en enero de 2014. Bajo este sistema, las direcciones siguen un formato lógico basado en calles: provincia o ciudad → distrito → nombre de calle → número de edificio. Una dirección típica por nombre de calle se ve así:
서울특별시 강남구 테헤란로 123
(Seúl, Gangnam-gu, Teheran-ro 123)
Pero la más antigua dirección por número de parcela (지번주소, Jibeon-juso) sigue en uso generalizado. Este sistema se basa en números de parcelas de tierra en lugar de nombres de calles, y produce direcciones que se ven completamente diferentes:
서울특별시 강남구 역삼동 123-45
(Seúl, Gangnam-gu, Yeoksam-dong 123-45)
Ambas direcciones pueden referirse al mismo edificio exacto. Naver Maps y KakaoMap muestran ambas versiones lado a lado para cualquier ubicación. En un chat de KakaoTalk, un cliente coreano podría enviar su dirección en cualquiera de los dos formatos — el que le resulte más cómodo o el que aparezca en sus documentos oficiales. Una persona escribe "서울시 마포구 서교동 456-7" (número de parcela), mientras que otra escribe "서울시 마포구 와우산로 29길 45" (nombre de calle) para el mismo vecindario.
Esta realidad de doble sistema crea un problema para cualquier método de extracción que espere un único formato de dirección. Una herramienta basada en plantillas configurada para buscar "Nombre de calle + Número de edificio" no reconocerá una dirección por número de parcela cuando la encuentre en una captura de pantalla. Por el contrario, una herramienta programada para extraer patrones de "동(Dong) + 번지(Beonji)" pasará por alto las direcciones por nombre de calle. El cliente no va a estandarizar el formato de su dirección por ti — simplemente la escribe como la conoce. Un método de extracción que entienda ambos sistemas por su estructura semántica, en lugar de solo por su diseño visual, es la salida práctica a este dilema.

Tres Escenarios Comunes de Pedidos por KakaoTalk
La composición visual de la captura de pantalla cambia según cómo el cliente realizó su pedido y si el pago se hizo a través de KakaoPay. Cada escenario presenta consideraciones de extracción ligeramente diferentes.
Escenario 1: Dirección y Detalles del Pedido en Burbujas de Chat de Texto Plano
El escenario más común: el cliente escribe su dirección y pedido directamente en el chat como mensajes de texto normales. La conversación podría verse así:
Cliente: "네, 주문할게요. 김치찌개 3개, 제육볶음 2개 주세요."
(Sí, quiero pedir. 3 kimchi jjigae, 2 jeyuk bokkeum, por favor.)
Cliente: "주소는 경기도 성남시 분당구 정자동 178-3번지 203호입니다."
(La dirección es 203-ho, 178-3 Jeongja-dong, Bundang-gu, Seongnam-si, Gyeonggi-do.)
La dirección aparece en formato de número de parcela (정자동 178-3) con un número de unidad (203호). Los artículos del pedido se enumeran por separado en un mensaje anterior. Ambas informaciones están en texto plano — sin tarjetas, sin compartir mapas — pero están en coreano conversacional, no en campos de formulario etiquetados. Una herramienta OCR tradicional generaría "네, 주문할게요. 김치찌개 3개, 제육볶음 2개 주세요." como una sola cadena continua junto con el texto de la dirección, dejándote la tarea de separar los artículos del pedido de la dirección manualmente.
Con la extracción semántica basada en columnas, defines dos columnas — Dirección de Envío (배송지) y Artículos del Pedido (주문 상품) — y el motor lee la captura sabiendo que busca dos piezas de información distintas dentro del mismo texto del chat. Encuentra la dirección reconociendo la estructura de direcciones coreana (provincia → ciudad → distrito → número de parcela → unidad) e identifica los artículos del pedido por sus marcadores numéricos de cantidad y patrones de nombres de productos, enviando cada uno a su columna correcta sin mezclarlos.
Escenario 2: Dirección con una Tarjeta de Pago de KakaoPay
KakaoTalk está profundamente integrado con KakaoPay, la billetera digital líder de Corea. Cuando un cliente paga a través de KakaoPay dentro del chat, aparece una tarjeta de confirmación de pago directamente en la conversación. La tarjeta tiene una identidad visual distintiva — una tarjeta de fondo blanco o claro con el característico acento amarillo-verde de Kakao, que muestra el monto total en texto grande y negrita, el nombre del comercio, una marca de tiempo de la transacción y una insignia de estado ("결제완료" — pago completado).
Esta tarjeta es un elemento de interfaz independiente que se sitúa entre las burbujas de texto. Contiene el monto del pago y la confirmación de la transacción, pero no contiene la dirección de envío ni los artículos del pedido. Esos permanecen en las burbujas de texto por encima o por debajo de la tarjeta. La captura de pantalla ahora contiene dos formatos visuales completamente diferentes — texto de chat plano y una tarjeta de pago estilizada — en la misma imagen.
Un motor de extracción basado en columnas construido sobre IA visual interpreta toda la captura como una escena compuesta. Reconoce la tarjeta de pago como "una confirmación de KakaoPay" y extrae el monto en una columna de Monto del Pago (결제 금액) si defines una, mientras lee por separado las burbujas de texto para la dirección y la información del pedido. El OCR tradicional, en cambio, lee el texto de la tarjeta y el texto del chat en un único flujo indiferenciado — "결제완료" de la etiqueta de la tarjeta aparece justo al lado de la dirección en la salida.
Este es el mismo principio que se aplica a capturas de pantalla de pagos en otras plataformas: la confirmación del pago y los detalles de la transacción son elementos visualmente distintos en la imagen, y el método de extracción debe reconocer el rol de cada uno en lugar de leer todo el texto como igual.
Escenario 3: Dirección compartida mediante tarjeta de ubicación de KakaoMap
KakaoTalk permite a los usuarios compartir su ubicación actual o una dirección fijada a través de KakaoMap. Cuando alguien toca el botón de compartir ubicación, aparece una tarjeta de vista previa en el chat que muestra una miniatura del mapa, la dirección en texto debajo del mapa y el nombre del lugar si el usuario fijó un sitio con nombre. El texto de la dirección en esta tarjeta se muestra en un tamaño de letra pequeño dentro de una vista previa compacta, y puede estar escrito en cualquiera de los dos formatos de dirección, según el sistema que muestre la interfaz del mapa.
Este escenario presenta un caso de extracción más difícil. La dirección está presente en la imagen, pero se muestra en un tamaño de letra pequeño dentro de una tarjeta que ocupa solo una parte de la captura de pantalla. Si el texto de la tarjeta del mapa queda parcialmente cortado por los límites de la vista previa, o si la captura se tomó antes de que la tarjeta del mapa se cargara por completo, la dirección visible puede estar incompleta. Además, KakaoMap muestra por defecto la dirección por nombre de calle en su vista previa, por lo que incluso si el cliente conoce su dirección como número de parcela, es probable que la tarjeta compartida muestre el equivalente por nombre de calle, lo que significa que el formato puede diferir del que el cliente escribió en mensajes anteriores.
A efectos de extracción, la tarjeta de KakaoMap sigue siendo legible siempre que el texto de la dirección sea visible y no esté truncado. Define la columna como lo harías para una dirección en burbuja de texto, y el motor lee el texto dondequiera que aparezca en la imagen, ya sea dentro de una burbuja de chat o en una tarjeta de mapa. El riesgo es el truncamiento: si la captura de pantalla solo captura la mitad superior de la tarjeta del mapa, la línea de dirección en la parte inferior puede quedar cortada. Una captura de pantalla de altura completa que incluya toda la tarjeta de arriba a abajo evita este problema.
Cómo maneja la extracción semántica las direcciones coreanas
La clave para trabajar con capturas de pantalla de pedidos de KakaoTalk es el mismo principio que se aplica a cada escenario de extracción de capturas de chat: no necesitas indicar al motor qué formato de dirección esperar ni dónde mirar en la pantalla. Defines las columnas que deseas — Dirección de envío (배송지), Productos del pedido (주문 상품), Cantidad (수량), Monto del pago (결제 금액) — y la IA lee cada captura como una escena visual completa, localizando los datos de cada columna al comprender qué significan y dónde suelen aparecer en una conversación de KakaoTalk.

Esto es fundamentalmente diferente de la extracción basada en plantillas o en posiciones. Un enfoque tradicional requeriría especificar: «la dirección está en la burbuja de chat, el monto está en la tarjeta de pago verde, los productos están en el mensaje anterior». Cualquier desviación — un cliente que envía primero los productos y luego la dirección, una tarjeta de KakaoPay que aparece encima de la lista de productos en lugar de debajo — rompe el diseño preestablecido. La extracción semántica no depende de posiciones fijas ni de diseños de página porque interpreta el contenido, no las coordenadas.
Para direcciones coreanas específicamente, esto significa que el motor puede reconocer tanto el formato de dirección por nombre de calle ("서울시 강남구 테헤란로 123") como el formato por número de parcela ("서울시 강남구 역삼동 123-45") como direcciones, porque ambos siguen patrones estructurales internos que el modelo ha aprendido (jerarquía de región administrativa + identificadores numéricos). No necesita que se le indique cuál esperar — lee el formato que el cliente usó y coloca el resultado en la columna "Shipping Address".
Este blog cubre el caso de uso de dirección de pedido. Si tus capturas de KakaoTalk también incluyen datos de pago — el monto de transferencia (송금액) en una tarjeta KakaoPay, un número de cuenta bancaria (계좌번호) o metadatos del remitente — la herramienta de extracción de capturas de KakaoTalk lee esos campos en la misma pasada, usando el mismo enfoque basado en columnas.
El mismo enfoque basado en columnas se aplica cuando los clientes hacen pedidos en otras aplicaciones de mensajería — la extracción lee por significado, no por plataforma. El método que extrae una dirección coreana de KakaoTalk funciona igual en chats de pedidos de WhatsApp Business, iMessage, LINE o WeChat: define las columnas una vez, y la IA lee cualquier formato de dirección que el cliente haya escrito.
Qué Puedes Extraer y Cuáles Son los Límites
Para una captura típica de pedido de KakaoTalk, un conjunto de columnas bien definido te da los siguientes datos de forma confiable:
| Columna | Ejemplo de Salida | Confiabilidad |
|---|---|---|
| Shipping Address (배송지) | 경기도 성남시 분당구 정자동 178-3번지 203호 | Alta — cuando es visible en el texto del chat |
| Order Items (주문 상품) | 김치찌개 3개, 제육볶음 2개 | Alta — los nombres de productos con cantidades son estructuralmente distintivos |
| Quantity (수량) | 3, 2 | Alta — números junto a nombres de productos |
| Payment Amount (결제 금액) | ₩28,500 | Alta — cuando la tarjeta KakaoPay es visible en la captura |
| Customer Name (고객명) | Del encabezado del chat o la etiqueta del remitente | Moderada — depende de lo que incluya el marco de la captura |
Hay limitaciones que vale la pena señalar claramente. Si la dirección aparece solo dentro de una tarjeta de ubicación compartida de KakaoMap y el texto de la tarjeta está truncado en la captura, obtendrás una dirección parcial. Si los detalles del pedido del cliente están distribuidos en varios mensajes consecutivos y la captura solo incluye las últimas tres burbujas, la lista completa del pedido puede no aparecer. Si el cliente envía la dirección y la información del pedido en mensajes separados con chats no relacionados en medio, el resultado puede incluir texto de relleno en la misma columna si es estructuralmente ambiguo.
Estas son limitaciones de captura visual, no de extracción. La solución para todas es la misma: toma la captura lo suficientemente amplia para incluir todos los mensajes relevantes y define columnas que coincidan con los datos que realmente necesitas. La IA trabaja con lo que contiene la imagen — no alucina datos faltantes.
Preguntas Frecuentes
¿Puedo extraer tanto la dirección coreana como una versión romanizada al inglés de la misma captura de pantalla?
El motor de extracción lee el texto tal como aparece en la imagen. Si el cliente escribió su dirección solo en coreano (Hangul), eso es lo que extraerá el motor. No genera versiones romanizadas — eso sería un paso de traducción, no de extracción. Si necesitas salida en inglés, el cliente debe haber escrito la dirección en inglés, o debes añadir un paso de posprocesamiento para romanizar la dirección coreana extraída por separado.
¿Qué pasa si la dirección incluye el número de edificio del apartamento (동) y el número de unidad (호)?
Las direcciones de apartamentos coreanos suelen terminar con "XX동 XX호" (número de edificio y número de unidad). El motor de extracción los lee como parte de la cadena completa de la dirección. Si los quieres en columnas separadas, define columnas distintas como "Edificio (동)" y "Unidad (호)" — el motor reconoce 동 y 호 como sufijos estructurales de dirección y puede separarlos en consecuencia. Una dirección como "102동 304호" generaría "102" en Edificio y "304" en Unidad.
¿Puedo extraer los datos de pago de KakaoPay y la dirección de envío en la misma ejecución por lotes?
Sí. Define columnas tanto para "Monto del Pago (결제 금액)" como para "Dirección de Envío (배송지)" en el mismo conjunto de columnas. El motor procesa la captura una vez y completa ambas columnas — el monto del pago desde la tarjeta de KakaoPay y la dirección desde el texto de la burbuja de chat. Esto funciona dentro de una sola captura que contenga ambos elementos, y también funciona en un lote de capturas mixtas donde algunas contienen tarjetas de pago y otras no. La columna de pago quedará en blanco para las capturas que no muestren una tarjeta de KakaoPay visible.
¿Cómo manejo las capturas de pantalla del modo oscuro vs. el modo claro de KakaoTalk?
El motor de extracción lee el contenido del texto, no el color de fondo. El modo oscuro y el modo claro usan la misma familia de fuente, la misma disposición de mensajes y el mismo posicionamiento de las burbujas de chat — solo se invierten los colores de fondo y de texto. Mientras el texto sea legible (alto contraste contra el fondo), el motor extrae el mismo contenido de cualquiera de los dos temas visuales. Las capturas tomadas en condiciones de poca luz con contraste reducido entre texto y fondo pueden ser más difíciles de leer independientemente del tema.
¿Qué pasa si la dirección está escrita con una mezcla de caracteres coreanos y chinos (한자)?
Algunas direcciones coreanas antiguas o nombres oficiales de edificios incluyen Hanja (caracteres chinos) junto con Hangul, particularmente en direcciones por número de parcela o nombres de distritos históricos. El motor de extracción lee los caracteres mediante reconocimiento visual, no mediante un diccionario precargado — genera los caracteres que ve en pantalla. Una dirección con escritura mixta como "종로구 慶雲洞 89-1" se extraerá con los caracteres Hanja incluidos exactamente como aparecen en la captura. Si solo quieres salida en Hangul, se requiere posprocesamiento.
Una captura de pedido de KakaoTalk no es un formulario, ni una factura, ni un documento estructurado. Es una conversación — una donde la dirección puede estar escrita en cualquiera de los dos sistemas de direcciones que coexisten en Corea, los detalles del pedido están mezclados en coreano conversacional, y la confirmación de pago aparece en una tarjeta visual completamente distinta. El método de extracción que funciona aquí es el mismo que funciona en capturas de chat de cualquier plataforma: define los campos que necesitas y deja que la IA localice cada dato comprendiendo su significado dentro del contexto visual de la conversación.