주요 컨텐츠로 이동
Industries header

Zingg으로 이미지 및 메타데이터를 사용하여 제품 퍼지 매칭하기

Luke Bilbro
Sonal Goyal
Bryan Smith

October 27, 2023 in 산업

이 포스트 공유하기

상품 매칭은 많은 소매 및 소비재 조직에서 필수적인 기능입니다. 공급업체는 온라인 마켓플레이스에서 새로운 상품을 판매할 때 새로 들어오는 상품은 기존 상품 카탈로그의 상품과 비교합니다. 공급업체는 소매업체 웹사이트의 제품 목록을 비교하여 표시된 콘텐츠가 계약 조건과 일치하는지 확인합니다. 소매업체들은 서로의 웹사이트를 스크랩하여 가격 비교를 위해 제품을 매칭할 필요가 있을수 있습니다. 그리고 공급업체는 판매하는 개별 SKU와 상위 수준의 제품 집계에 대한 소매업체 및 제3자 데이터를 조정해야 합니다. 많은 조직에서 이 작업은 시간이 많이 걸리고 부정확합니다.

이 작업을 수행할 때 가장 큰 어려움은 조직마다 동일한 제품에 대해 서로 다른 라벨을 붙인다는 것입니다. 제품의 이름, 설명, 특징, 기능 목록 등 작은 차이로 인해 정확한 매칭이 불가능해질 수 있습니다. GTIN 코드 및 기타 범용 식별자는 SKU 수준에서 이러한 데이터와 함께 제공되지 않는 경우가 많으며, 집계된 수준에서 정보가 제공되는 경우 조직은 익숙하지 않은 레이블을 사용하여 데이터를 일치시킨 후 정보를 공식 제품 카탈로그와 일치시키는 추가 할당 작업을 해야만 합니다. 다른 경우에는 소비자가 눈치채지 못할 수 있는 제품 세부 사항의 사소한 차이가 품목 생산 방식의 미세한 차이를 반영하는 경우가 있는데, 시나리오에 따라 두 제품이 의미 있게 다른 것으로 인식될 만큼 중요할 수도 있고 그렇지 않을 수도 있습니다. 물론 단순한 입력 오류나 데이터 잘림으로 인해 차이가 발생할 수 있는 여지도 있습니다.

이 문제에 대한 간단한 해결책은 제품 목록을 직접 살펴보는 것입니다. 인간은 인지능력에 따라 주어진 두 품목이 동일하거나 유사한지 능숙하게 분류해 낼 수 있습니다. 하지만 비교해야 할 제품의 수가 늘어남에 따라 비교 대상의 수도 기하급수적으로 늘어나게 되고, 인력만으로는 분류해낼 수 없을 정도의 작업양이 됩니다.

머신 러닝을 통한 제품 매칭

머신 러닝을 사용하면 다양한 기법을 사용하여 제품 메타데이터를 비교하여 두 제품이 동일한지 아닌지에 대한 확률추정 모델을 만들 수 있습니다. 이 모델은 정확히 일치하는 것으로 표시된 제품과 일치하지 않는 것으로 표시된 제품 쌍을 사용하여(그림 1) 이름, 설명, 특징, 가격 등의 다양한 유사성 측정값이 두 제품을 일치하는 것으로 분류할지에 대한 모델을 만들 수 있습니다.

Figure 1. Highly similar candidate pair of products being labeled as a match or a non-match based on expert feedback
Figure 1. Highly similar candidate pair of products being labeled as a match or a non-match based on expert feedback

데이터에서 일반적으로 관찰되는 다양한 변수를 고려할 때 완전히 자동화된 제품 매칭 파이프라인을 구축하는 것은 불가능합니다. 그러나 모델이 일치 가능성이 높다고 평가한 상품 쌍을 자동으로 수락하도록 결정할 수 있습니다. 마찬가지로 특정 임계값 이하의 확률로 점수가 매겨진 쌍은 자동으로 거부할 수 있습니다. 이렇게 하면 전문가의 검토가 필요한 모호한 일치 확률을 가진 훨씬 적은 수의 제품쌍만 남게 됩니다.

이제 어떤 제품을 비교해야 할지가 문제입니다. 간단하게 생각해보면 서적 카테고리의 제품과 신발 카테고리의 제품을 비교할 필요는 없을 것입니다. 하지만 비교하려는 카테고리의 범위를 좁히고 나면 여전히 많은 수의 비교할 제품이 남아있어 꼼꼼하게 비교하기 어려울 수 있습니다. 이때 블로킹이라고도 하는 유사도 근사치 기법이 유용하게 사용될 수 있습니다.

블로킹 기술을 사용하면 관련속성 간의 유사도 정도에 따라 한 공간 내에서 제품의 유사도에 따른 거리를 구성할 수 있습니다. 그러면 서로 일정 거리 내에 있는 제품으로 비교를 제한하여 비교대상이 되는 대상군을 좁힐 수 있습니다. 예를 들어, 본질적으로 동일하지만 크기나 색상만 다른 같은 카테고리의 두 제품은 정보가 충분히 겹쳐서 고려할 가치가 있을 정도로 서로 가까운 것으로 간주될 수 있습니다(그림 2). 그 외 다른 제품들은 유사도 거리가 멀기 때문에 비교 대상에서 제외 시킬 수 있습니다.

Figure 2.  Dissimilar products with enough overlap in details to warrant consideration by an expert reviewer
Figure 2.  Dissimilar products with enough overlap in details to warrant consideration by an expert reviewer

메타데이터와 이미지 모두에 퍼지 매칭을 지원하는 Zingg

하지만 앞서 언급했듯이 서로 인접한 제품이라도 유사도가 충분히 높지 않아 자동으로 매칭을 수락하지 않을 수도 있습니다. 이 경우 사람이 제품 쌍의 세부 정보를 비교하고 이를 바탕으로 판단을 내리는 경우가 많습니다.

소비자로서 우리는 온라인에서 제품을 비교할 때 항상 이 작업을 수행하며, 종종 제품과 함께 표시되는 제품 이미지를 보고 두 제품이 더 자세한 비교가 필요할 정도로 유사한지 여부를 빠르게 결정합니다. 이미지에는 이러한 제품 비교 문제를 해결하기 위해 사람으로서 자연스럽게 활용할 수 있는 상당한 양의 인식 가능한 세부 정보가 포함되어 있습니다. 이와 동일한 기능을 자동화된 제품 비교에 적용할 수 있다면 제품 매칭 추정치의 정확도를 크게 향상시키고 사람의 업무 부담을 더욱 줄일 수 있습니다.

이를 위해 임베딩 기법을 사용할 수 있습니다. 임베딩은 이미지의 구조에 대한 정보를 캡처하는 숫자 값의 배열입니다. 많은 이미지의 유사점과 차이점을 비교하도록 훈련된 모델에서 파생된 임베딩은 두 이미지에서 파생된 이미지 사이의 거리를 계산하고 이를 사용하여 두 이미지의 유사성에 대해 알려줄 수 있습니다. 이를 퍼지 매칭 모델의 또 다른 입력으로 사용하여 이제 모델이 제품 메타데이터와 이미지 정보를 모두 기반으로 두 품목을 동일하게 간주해야 하는지를 학습하도록 할 수 있습니다.

Zingg Enables Fuzzy Matching with Both Metadata and Images

입력 데이터를 준비하고, 비교 후보 쌍을 생성하고, 항목 일치 확률을 추정하는 과제를 해결하려면 상당한 전문 지식이 필요합니다. 데이터브릭스 파트너인 Zingg의 직원들은 엔티티 식별 분야의 모범 사례를 사용하기 쉬운 오픈 소스 라이브러리로 패키징하여 제품(및 기타 마스터 데이터) 매칭을 수행하기 위해 일반적으로 구축되는 다양한 워크플로우를 가능하게 하는 작업을 해왔습니다.

Zingg를 사용하면 비교 대상 항목을 설명하는 역할에 따라 항목과 관련된 다양한 속성을 식별할 수 있습니다. 이를 통해 속성 수준 비교를 수행할 때 어떤 규칙과 기법을 적용하여 준비할 수 있는지 Zingg에 알려줍니다. Zingg은 이러한 규칙을 자동으로 적용하여 비교를 차단할 데이터를 준비하고 전문가에게 일련의 후보 쌍을 제시하며, 해당 사용자는 이를 수락하거나 거부할 수 있습니다. 이 사용자 피드백은 전문가가 제공한 수락 및 거부에 영향을 미치는 것으로 보이는 측면에서 준비된 속성 간의 유사성을 평가하는 퍼지 매칭 모델 어셈블리의 입력이 됩니다.

분산 엔진인 Zingg은 기본적으로 확장가능한 데이터브릭스 클러스터 내에서 동작한다는 장점이 있어, 조직에서 많은 수의 제품을 비교해야 할 때 쉽고 효율적으로 작업할 수 있습니다. 이는 적은 양의 제품 데이터라도 많은 수의 복잡한 계산을 적시에 수행해야 하는 시나리오에서 매우 유용합니다.

그리고 Zingg 0.4 릴리즈에서는 숫자 배열에 대한 지원이 통합되었습니다. 이를 통해 이미지 데이터에 추가 데이터를 적용하여 이미지 비교 뿐만아니라 다양한 항목 비교를 수행할 수 있습니다.

구축 방법 보기

데이터브릭스에서 Zingg을 활용하여 제품 메타데이터 및 이미지와 제품 매칭을 수행하는 방법을 보여드리기 위해 새로운 솔루션 액셀러레이터를 구축했습니다. 이 액셀러레이터에서는 Amazon-Berkeley Objects 데이터 세트를 활용하여 초기 상품 데이터 세트와 새로 등록된 상품 데이터의 증분 세트 간에 중복 및 일치 항목을 식별합니다.

아마존 웹사이트에 이러한 제품과 함께 표시되는 썸네일 이미지는 Hugging Face의 범용 이미지 모델을 활용하여 임베딩으로 변환됩니다. Zingg이 촉진하고 데이터브릭스 노트북에서 호스팅하는 대화형 제품 라벨링 작업을 통해 각 제품 및 이미지에 대한 설명 요소를 사용하여 일치하는 제품을 식별하도록 모델을 학습시킵니다.

이 액셀러레이터의 코드는 무료로 액세스할 수 있습니다. 이 액셀러레이터를 통해 소매 및 소비재 분야의 조직이 데이터의 잠재력을 최대한 활용하여 데이터 사용과 관련된 중요한 작업에 인력을 집중할 수 있도록 더욱 확장 가능하고 강력한 상품 매칭 워크플로우를 개발할 수 있기를 기대합니다.

솔루션 엑셀러레이터를 확인해 보세요.

Databricks 무료로 시작하기

관련 포스트

Industries category icon 1

Retail in the Age of Generative AI

April 13, 2023 작성자: Sam Steiny, Rob Saker, Bryan Smith in 산업
What is generative AI? Large Language Models (LLMs) such as ChatGPT have garnered a ton of attention lately along with the broader topic...
Industries category icon 2

Go from Months to Hours with Databricks Marketplace for Retailers

July 21, 2023 작성자: Sam Steiny, Rob Saker, Justin Fenton in 산업
Let's say a distributor reached out wanting to understand what factors are driving the sale of carbonated beverages from customers in their convenience...
Engineering blog

Machine Learning-based Item Matching for Retailers and Brands

Item matching is a core function in online marketplaces. To ensure an optimized customer experience, retailers compare new and updated product information against...
모든 산업 포스트 보기