메인 콘텐츠로 이동하기
  1. 내 글/

전자상거래 혁명: Lenskart의 안경 플랫폼을 위한 추천 시스템 구축

빠르게 진화하는 전자상거래 환경에서 개인화는 사용자 경험을 향상시키고 전환율을 높이고자 하는 기업들에게 핵심적인 차별화 요소가 되었습니다. 인도 최대의 안경 전자상거래 업체이자 유니콘 스타트업인 Lenskart는 방대한 고객 기반에 맞춤형 제품 추천을 제공하기 위해 최첨단 데이터 과학 기술을 활용할 필요성을 인식했습니다. 이 글에서는 Lenskart 사용자들이 안경 제품을 발견하고 상호작용하는 방식을 변화시킨 혁신적인 추천 시스템 개발에 데이터 과학 컨설턴트로 참여한 제 경험을 자세히 다룹니다.

도전 과제: 안경 쇼핑의 개인화 #

안경 산업은 온라인 쇼핑에 있어 독특한 과제를 제시합니다. 다른 많은 제품 카테고리와 달리, 안경과 콘택트렌즈는 스타일, 착용감, 기능성을 신중히 고려해야 하는 매우 개인적인 아이템입니다. Lenskart의 목표는 사용자 선호도를 높은 정확도로 이해하고 예측할 수 있는 추천 시스템을 만들어 궁극적으로 고객 만족도와 매출을 높이는 것이었습니다.

프로젝트의 주요 목표는 다음과 같았습니다:

  1. 사용자 조회 행동을 분석하여 선호도 이해
  2. 제품 속성과 사용자 상호작용으로부터 학습할 수 있는 시스템 개발
  3. 개인화된 검색 결과와 제품 추천 생성
  4. Lenskart의 기존 인프라에 추천 시스템을 원활하게 통합

해결책: Word2Vec의 힘 활용 #

이 복잡한 과제를 해결하기 위해 우리는 일반적으로 단어 임베딩에 사용되는 강력한 자연어 처리 기술인 Word2Vec에 주목했습니다. 그러나 우리의 혁신적인 접근 방식에서는 Word2Vec을 재활용하여 안경 제품과 사용자 선호도를 학습하고 표현했습니다.

데이터 수집 및 전처리 #

추천 시스템 구축의 첫 단계는 필요한 데이터를 수집하고 전처리하는 것이었습니다. 우리는 두 가지 주요 데이터 소스에 집중했습니다:

  1. 사용자 세션 데이터: 사용자가 조회하고, 클릭하고, 장바구니에 담고, 구매한 제품에 대한 정보를 포함했습니다.
  2. 제품 속성 데이터: 각 안경 제품의 스타일, 색상, 프레임 모양, 렌즈 유형 등 상세 정보를 수집했습니다.

데이터는 대량의 비정형 데이터를 처리하는 데 필요한 유연성과 확장성을 제공하는 NoSQL 데이터베이스인 MongoDB에 저장되었습니다.

안경의 “문법” 만들기 #

우리 접근 방식에서 가장 중요하고 혁신적인 측면 중 하나는 안경 제품을 속성을 사용하여 “문장"으로 표현하는 것이었습니다. 예를 들어, 안경 한 쌍은 다음과 같이 표현될 수 있습니다:

유니섹스, 빨간색, 둥근 테, 갈색 렌즈

이러한 표현 방식을 통해 각 제품을 자연어에서 단어가 문장을 형성하는 것처럼 고유한 속성의 조합으로 취급할 수 있었습니다.

Word2Vec 모델 훈련 #

데이터를 준비하고 안경의 “문법"을 확립한 후, Word2Vec 모델 훈련을 진행했습니다. 모델은 조회 행동 데이터를 기반으로 제품과 사용자 모두의 벡터 표현을 생성하는 방법을 학습했습니다.

훈련 과정의 주요 단계는 다음과 같았습니다:

  1. 제품 속성과 사용자 상호작용 토큰화
  2. 적절한 하이퍼파라미터 설정 (예: 벡터 차원, 윈도우 크기)
  3. 전체 사용자 세션 및 제품 속성 데이터셋으로 모델 훈련
  4. 성능 지표를 기반으로 모델 미세 조정

결과적으로 모델은 고차원 벡터 공간에서 다양한 제품 속성과 사용자 선호도 간의 관계를 효과적으로 포착할 수 있었습니다.

개인화된 추천 생성 #

Word2Vec 모델이 훈련되면 사용자에게 개인화된 추천을 생성하는 데 사용할 수 있었습니다. 프로세스는 다음과 같이 작동했습니다:

  1. 주어진 사용자에 대해 조회 기록을 분석하고 상호작용한 제품을 기반으로 사용자 벡터를 생성했습니다.
  2. 이 사용자 벡터를 사용하여 벡터 공간에서 유사한 제품을 찾았습니다.
  3. 시스템은 사용자 벡터와의 코사인 유사도를 기반으로 이러한 유사 제품의 순위를 매겼습니다.
  4. 상위 순위의 제품들이 개인화된 추천으로 제시되었습니다.

이 접근 방식을 통해 제품 유사성뿐만 아니라 각 사용자의 고유한 선호도를 고려한 추천을 제공할 수 있었습니다.

구현 및 통합 #

추천 시스템을 개발하는 것은 전투의 절반에 불과했습니다. 다음으로 중요한 단계는 이를 Lenskart의 기존 인프라에 원활하게 통합하는 것이었습니다. 우리는 Python의 강력한 데이터 과학 라이브러리와 AWS 통합 기능을 활용하여 솔루션을 구현했습니다.

구현의 주요 구성 요소는 다음과 같았습니다:

  1. 데이터 파이프라인: 새로운 사용자 상호작용과 제품 데이터로 모델을 지속적으로 업데이트하는 효율적인 데이터 파이프라인을 설정했습니다.
  2. API 개발: Lenskart의 프론트엔드 시스템이 실시간으로 개인화된 추천을 요청할 수 있는 RESTful API를 만들었습니다.
  3. 확장성: 시스템은 적절한 캐싱 및 로드 밸런싱 조치를 통해 Lenskart의 높은 트래픽 볼륨을 처리할 수 있도록 설계되었습니다.
  4. 모니터링 및 로깅: 시스템의 성능을 추적하고 문제를 신속히 식별할 수 있는 포괄적인 모니터링 및 로깅을 구현했습니다.

결과 및 영향 #

Word2Vec 기반 추천 시스템의 구현은 Lenskart의 전자상거래 플랫폼에 상당한 영향을 미쳤습니다:

  1. 사용자 참여도 향상: 사용자들이 사이트에서 더 많은 시간을 보내고 더 많은 제품을 조회했습니다.
  2. 전환율 증가: 개인화된 추천으로 장바구니 담기 및 구매 행동이 눈에 띄게 증가했습니다.
  3. 사용자 경험 개선: 고객들은 제품 제안의 관련성에 대해 더 높은 만족도를 보고했습니다.
  4. 확장성: 시스템이 Lenskart의 성장하는 사용자 기반과 확장되는 제품 카탈로그를 성공적으로 처리했습니다.

도전 과제와 배운 교훈 #

프로젝트가 궁극적으로 성공적이었지만, 과정에서 여러 가지 도전 과제에 직면했습니다:

  1. 데이터 품질: 제품 속성 데이터의 일관성과 정확성을 보장하는 데 상당한 노력과 Lenskart 제품 팀과의 협력이 필요했습니다.
  2. 콜드 스타트 문제: 상호작용 데이터가 제한적인 새로운 사용자나 제품에 대한 추천 전략을 개발하는 것이 지속적인 과제였습니다.
  3. 성능 최적화: 추천 품질과 응답 시간 사이의 균형을 맞추는 데 신중한 조정과 최적화가 필요했습니다.

이러한 도전 과제들은 향후 추천 시스템 프로젝트에 적용할 수 있는 귀중한 교훈과 통찰력을 제공했습니다:

  1. 데이터 품질에 투자: 깨끗하고 일관된 데이터는 모든 기계 학습 프로젝트의 성공에 중요합니다.
  2. 하이브리드 접근 방식: 콘텐츠 기반 필터링과 협업 필터링 기술을 결합하면 콜드 스타트 문제 해결에 도움이 될 수 있습니다.
  3. 지속적인 반복: 정기적인 모델 업데이트와 A/B 테스트는 추천 품질을 유지하고 개선하는 데 필수적입니다.

향후 방향 #

추천 시스템의 성공으로 추가 개선과 응용을 위한 새로운 가능성이 열렸습니다:

  1. 다중 모달 추천: 시각적 유사성을 기반으로 제품을 이해하고 추천하기 위해 이미지 데이터 통합.
  2. 실시간 개인화: 단일 세션 내 사용자 행동을 기반으로 추천 적응.
  3. 카테고리 간 추천: 보완적 제품을 제안하도록 시스템 확장 (예: 안경 착용자를 위한 콘택트렌즈).

결론 #

Lenskart를 위한 Word2Vec 기반 추천 시스템 개발은 전자상거래에서 기계 학습 기술의 혁신적인 적용의 힘을 보여줍니다. 제품 속성을 “문법"으로 취급하고 사용자 행동 데이터를 활용함으로써 Lenskart 고객을 위한 고도로 개인화된 쇼핑 경험을 만들 수 있었습니다.

이 프로젝트는 Lenskart의 주요 비즈니스 지표를 개선했을 뿐만 아니라 개인화 기술의 추가 발전을 위한 길을 열었습니다. 전자상거래가 계속 발전함에 따라 맞춤형 추천을 제공하는 능력은 혼잡한 시장에서 두각을 나타내고자 하는 기업들에게 점점 더