DDATRISS Company ↗
← 기술 블로그 전체보기 01 · 엔티티 리졸루션

같은 선크림인데, 이름이 세 개입니다.

스킨케어 브랜드가 선크림 하나를 출시합니다. 국내 마켓플레이스에서는 SKU 하나입니다. 그런데 미국 마켓플레이스로 넘어가면 이게 리스팅 세 개로 쪼개져 나타날 수 있습니다. 번역된 제목이 조금씩 다르고, 옵션명이 다시 포장되어 있고, 국내에서와 카테고리 단계가 한 칸 어긋나 있죠. 상품 자체는 바뀐 게 없습니다. 그 상품을 둘러싼 데이터가 서로 어긋났을 뿐입니다.

PLATFORM A 맑은쌀 선크림 SPF50 PLATFORM B Rice Sunscreen SPF50+ PLATFORM C 라이스 선크림 50ml RESOLVED ENTITY 동일 상품으로 연결됨

개념을 보여주기 위한 도식입니다 — 실제 매칭 결과 화면이 아닙니다.

가장 먼저 떠오르는 해법은 SKU 코드로 맞추거나 텍스트를 그대로 일치시키는 방식입니다. 둘 다 현실 앞에서는 오래 버티지 못합니다. SKU 코드는 플랫폼마다 따로 부여되고 서로 공유되지 않습니다. 번역된 제목은 사람이 보면 바로 같은 상품인 줄 알아채더라도, 글자 단위로는 원문과 거의 일치하지 않습니다.

그래서 실제로 쓸 수 있는 방법은 글자가 아니라 의미를 비교하는 쪽입니다. 상품 하나하나를 벡터로 표현하고, 그 벡터들이 얼마나 가까이 있는지를 봅니다. 다국어 임베딩 모델을 쓰면 한국어 제목과 그에 대응하는 영어·일본어 표현을, 글자는 거의 겹치지 않더라도 벡터 공간에서는 바로 옆자리에 놓을 수 있습니다.

Datriss가 XLM-RoBERTa 기반 임베딩으로 처리하는 게 바로 이 단계입니다. 여러 플랫폼에 흩어진 동일·유사 SKU를 다시 하나의 엔티티로 접어 넣는 작업입니다. 이후 모든 작업이 이 단계가 맞았다는 전제 위에 서 있습니다. 비교하는 두 가격이 애초에 같은 상품의 것이 아니라면 시장 간 가격 비교는 아무 의미가 없기 때문입니다. 여기서 "맞다"는 건 한 번 켜고 끝나는 스위치가 아닙니다. 샘플을 확인하고 예외 케이스를 보고 다시 확인하는 과정을 계속 반복하는 일에 가깝습니다.

이 문제의 난이도는 어떤 언어 쌍을 다루느냐에 따라 크게 달라집니다. 한국어와 영어, 한국어와 일본어는 스펠링을 공유하기보다 발음을 그대로 옮기는 음차 표기에 의존하는 경우가 많아, 두 문자열이 표면적으로 거의 겹치지 않는 경우가 흔합니다. 스펠링 어원을 어느 정도 공유하는 유럽어권 언어 간 매칭과는 출발선 자체가 다릅니다. 그래서 임베딩 성능은 일반화된다고 가정하기보다, 언어 쌍마다 따로 점검해야 하는 대상입니다.

참고한 연구자료
이전 글카테고리 선정을 감이 아니라 데이터로 하는 법.

글 내용이나 데이터에 대한 문의는 이메일로 보내주세요.

datrissdev@gmail.com ↗

실제 리포트에서는
어떻게 보일까요?

실제 FounderBrief 리포트 발췌본을 확인해보세요.