데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      추천엔진은 뜨거워져야 한다. 추천 어디까지 해봤니?

      jerryjung 21.09.07
      2,524 5 1

      콜드 스타트 추천엔진은 워밍업이 필요하다. 

      고객에게 개인화된 아이템(상품 또는 컨텐츠) 추천하는데 있어 Cold Start문제 해결과 이에 대한 해결방안등을 제시해 보려고 한다.
      우선 콜드 스타트 문제에 대해서 알아보자 

       

      [얼어 붙은 자동차 - 녹인다 해도 시동이 켜질것 같지는 않다 출처 : https://medium.com/yusp/the-cold-start-problem-for-recommender-systems-89a76505a7]

      추천 시스템의 콜드 스타트는 엔진이 시작되기전 차가운 상태를 빗대어 말한것으로 가능성 높은 결과를 제공하기 전의 엔진이 아직 최적화 되지 않은 환경을 의미한다. 

      모델기반 추천에서는 신규 상품 및 고객에 대한 학습 데이터 부족으로 인해 제대로 된 추천이 못 나가게 되는 경우를 말하는 것으로 데이터가 없는데 어떻게 모델을 만들고 정답지(label data)가 없는데 어떻게 모델을 서빙하죠? 라는 질문으로 이어질수 있다. 

      필자는 2019년 2월부터 자사의 고객을 대상으로 하는 아이템 추천을 시작했고 현재는 자사 고객 대상 아이템/컨텐츠 추천을 제공하도 있다. 

       

       

      콜드 스타트의 문제 해결 방안 

       

      1. 고객 선호도를 알아본다.

      신규 서비스 런칭이나 신규 고객을 확보해야 하는 경우 우선적으로 진행해야 하는 부분은 고객에 대한 데이터 확보이다. 이때, 거부감 없이 고객 정보를 획득하기 위해서는 고객 선호도를 기본적으로 확보하는것이 중요하다. 아래의 예처럼 피드성 서비스의 경우 피드 대상을 선정하기 위해 초기에는 고객 선호도를 선택하게끔 되어 있다. 서비스의 미션수행(퀘스트) 또는 설문 등으로 해당 서비스에 대한 고객의 목적 및 개인의 선호도를 미리 알아보는 것은 중요하다. 

       

      [가입시 개인 선호도를 pick할 수 있는 pinterest의 topic선택 스크린샷]

      Getting to Know Pinterest

       

      2. 고객의 행동정보를 획득한다.

      고객의 행동정보는 해당 서비스에서 일어나는 고객 로그를 말한다. 예를 들어 어떤 아이템이 노출되었을때(impression) 그에 대한 반응(click, view_detail) 그리고 커머스의 경우 장바구니, 구매까지 가는 conversion에 대한 로그를 실시간으로 수집하고 이를 활용할 수 있어야 한다. 

       

      3. A/B테스팅을 실시한다.

      고객의 데이터가 충분하지 않은 경우 학습을 할 수 없을때 필자의 경우 Rule기반의 추천을 기본적으로 실시한다. Segement Rule에 의한 방식으로 고객의 demography및 서비스 사용이력등을 바탕으로 (예를 들어 나이,성별,서비스 가입일자, 구매이력) 추천되는 아이템의 Rule을 정의하고 이를 바탕으로 추천을 제공한다. 모든 추천의 베이스가 되어 이후 데이터가 충분히 쌓인후 학습된 모델과 경합하여 추천 성과를 측정할때 비교 대상이 된다. 추천 모델을 평가하는 기본적인 요소는 모델 성능이지만 실제 서비스로 제공되어 질때는  예를 들어 CTR(클릭율)과 같은 고객의 반응 정보를 기준으로 평가한다. 필자의 경우 고객의 행동정보를 바탕으로 모델 평가 메트릭을 수립하고 이를 기반으로 모델 성능을 평가한다.

      또한 이러한 고객 반응정보는 MAB(Multi-Armed Bandit)실험의 리워드로 활용될 수 있다. 다음의 스크린샷은 필자가 모델 서빙을 위해 제공하는 시스템  MLS(Machine Learning Service)의 A/B테스팅을 위한 버킷 설정 화면이다. (현재 MLS는 다수의 앱과 고객 접점 서비스에서 개인화/추천을 담당하고 있다.) 

       

      [MLS Admin console의 실험 설정 화면 : 버킷별로 모델을 설정할 수 있다] 

       

       

      MAB A/B테스팅을 위한 API도 GUI 및 sdk를 통해 제공되고 있다. 사용자 반응정보와 같은 리워드 정보를 기반으로 버킷 비율을 변경하여 최적의 추천 모델로 서비스 가능하도록 기능을 제공하고 있다. 

       

      [MLS SDK API 설명 : https://sktaiflow.github.io/mls-sdk/sktmls/index.html ] 

       

       

      마치며

      추천 시스템도 운영되고 고도화 되는 시스템이다. 모델을 만들고 예측 결과를 평가하는데 끝나는 것이 아니라 이를 서비스로 연결하여 개인화된 아이템과 컨텐츠를 노출하고 이에 대한 정량적 평가를 통해 지속적으로 모델을 고도화 할 수 있다. 

      위에서 언급한 MLS(Machine Learning Service)는 개인화 추천을 목적으로 만든 실험 기반의 A/B테스팅 플랫폼이다. 클라우드 기반(AWS)으로 개발되고 Docker기반 Micro service로 구축되어 있다. 또한 안정적인 DevOps를 위해 Terraform, Github Action으로 자동화 하여 개발/운영중에 있다. 현재는 AutoML 기반의 모델링 자동화 및 AI 기반 마케팅 자동화(Triple-A 서비스) 기능도 추가하여 시스템이 커지긴 했지만 기본적인 서비스의 원칙은 고객에게 더 적합하고 정확한 개인화 추천 서비스를 제공하는 것을 목표로 한다. 

       

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      jerryjung 님의 최신 블로그

      더보기
      동영상 기고하기