티스토리 뷰

최규민

 

데이터 분석을 무지 좋아하는 개발자 입니다.

https://brunch.co.kr/@goodvc78 https://www.slideshare.net/ssuser2fe594

 

choi kyumin

My identity is RecSys knowledge, Sense for data analysis, Fastest learning curve, Enjoy my jobs The fully experience of Recsys in live service.

www.slideshare.net

 

추천 시스템, 이제는 돈이 되어야 한다. (부제: 픽코마 매출기반으로 추천 시스템 최적화하기)

픽코마는 카카오 재팬이 일본에서 "기다리면 무료" 참신한 웹툰 정책을 통해 웹툰서비스로써 이래적으로 단시간내에 인기 웹툰 서비스로 자리 잡았습니다.

이런 픽코마 서비스를 2017년부터 카카오 추천팀에서 토로스라는 추천 시스템(2018 python발표:아래 링크참조)을 통해 개인화추천, 연관추천 그리고 최근에는 Delayed되는 피드백인 매출을 최적화하는 추천 기술을 적용하였습니다. 이러한 과정을 거치면서 실제 서비스에서 적용된 살아있는 추천기술에 대하여 적용하고 결과를 만들어 갔던 추천기술과 그 히스토리에 대하여 이야기를 하려고 합니다.

2017년 부터 적용한 추천기술은 대부분의 추천시스템의 목표인 클릭(웹툰 열람)을 최대화를 달성하기위해 "개인화 작품 추천"과 "ViewerEnd 추천이라는 연관 추천"을 구현 및 서비스에 적용하였고 많은 성과를 이루었습니다.

  • 개인화 추천은 유저 클러스터링 & MAB를 통한 작품 CTR 예측 및 최적화를 구현했고
  • 연관추천은 만화 작품의 피쳐 모델링을 위해 CF(열람feedbacb)와 CB(NLP, Image)를 Ensemble하여 효율적인 Latent Feature를 모델링과 MAB를 통해 추천 성능 최대화를 구현했습니다. 이러한 클릭 최대화를 위한 개인화추천과 연관추천을 클릭(작품열람수)를 개선하여 트래픽의 높이는 성과도 이루었습니다.

그런데 2018년 중반 새로운 목표인 바로 유료열람(매출) 최적화라는 목표가 생겼고, 이른 구현하기 위해 다양한 시도가 있었습니다. 처음에는 단순히 생각되어 매출 데이터 기반으로 모델링하면 되겠지 생각했지만, 실제 서비스에서 구현하기 위해서는 다양한 난제가 있었습니다. 유료 열람 최적화는 피드백데이터는 량이 적어(클릭에 비해) 작품별 정확한 매출 예측이 어려웠고, 피드백도 잛게는 수초 길게는 수분~수시간뒤에 발생되는 Delayed 피드백이어서 그 데이터의 추척 또한 어려웠습니다.

이러한 난제를 뚫고 만들어지고 매출 최적화를 위한 추천 시스템을 적용 하기까지의 과정을 A to Z로 그 추천 기술과 서비스 적용 사례에 대하여 이야기하고 이러한 추천 서비스를 안정적으로 제공하기 위해 만들어진 토로스 추천 시스템(90%이상이 Python으로 구현)플랫폼을 이번 파이콘2019를 통해 공유하려고 합니다.

 

 


 

 

카카오시스템에서 근무. 이번에는 웹툰 추천 시스템에 대한 이야기.

 

---

 

언제 어떻게 웹툰을 볼까?. 

 

웹툰의 열람 시간 분포를 보면 거의 잠들기 전에 많이 봄.

그런데 뉴스 열람 시간도 비슷한 경향을 보임.

 

----

 

추천 시스템의 효과

 

추천 시스템은 웹툰 초보 이용자를 중급으로 바꾸는 역할을 한다.

여가시간에 웹툰을 더 보고, 재방문도 늘어나게 한다.

추천 시스템은 개인화 추천과 연관 추천 2가지가 있음.

 

 

----

 

개인화 추천 

 

MAB (Multi Armed Bandit)

 

 

탐색과 활용을 적절히 활용하는 분석방법. 

무수히 많은 작품이 있는데 트래픽을 이용해 노출하는 알고리즘

작품별로 CTR을 측정

- CTR(%) = Click / Impression

CTR이 높은 상위 작품만 90%의 트레픽에 노출하여 전체 CTR을 높임

 

 

 

이를 위해서는 탐색과 활용이 무척 중요.

- 탐색 비율이 높으면 태래픽 소비

- 활용 비율이 높으면 추천 작품이 고정됨

 

----

 

Thompson Sampling

가장 좋은 성을 내는 알고리즘.

대부분의 추천 시스템에서 TS-MAB가 가장 좋은 성능을 보임

 

 

입실론-GREEDY MAB

 

앱실론을 10%로 가정하여 랜덤으로 노출하여 CTR을 변경.

그 중에 가장 좋은 작품을 예측. 추천 되는 작품의 평균 CTR은 5.1%.

 

 

여기서 CTR이 가장 낮은 작품의 신뢰구간을 확인.

 

일반적으로는 확률적으로 높게 나오는 것은 1.5% 예측하여, 많은 오차가 생길 수 있음.

그래서 작품 수를 늘려서 분석하니 신뢰구간이 점점 줄어드는 경향을 보임

많은 트래픽으로 예측할 수록 신뢰가 높아짐.

 

그런데 추천되어선 안되는 작품임에도 계속 Impression을 소비하는 문제가 발생.

적절한 선에서 작업을 중단할 필요가 있음.

 

 

 

 

----

 

Thompson Sampling MAB

 

작품마다 CTR의 분포를 표현.(a=clink, b=unclick)

녹색 선이 실제 샘플링 된 것을 의미.

impression이 높을 수록 클릭 분포가 더 높아짐.

천개 만개는 거의 수렴되는 경함.

 

 

빨간선이 추천되는 기준선.

빨선선의 왼쪽이 추천이 안해도 된다는 의미.

 

 

작품들의 베타 분포 변화

 

라인 하나가 실제 작품 하나.

1000개의 impression이 중구난방이지만, 만개일 때는 조금 수렴

수가 높아질 수록 점점 수렴되는 경향을 보임.

ctr이 낮은 작품은 적당히 탐색하다가 추천하지 않음.

 

TS-MAB는 탐색&활용을 적절히 교차하여 손실을 최소화 시킴.

 

 

유저 클러스터

작품의 CTR은 유저 성향별로 다르다.

액션물은 30대한테 남성한테 잘 먹힐 수 있다.

반면 여성한테는 낮게 예측될 수 있다.

그래서 유저별로 가장 높은 ctr을 추측해야 함.

그런데 전체 유저별로 계산하기는 불가능. 그래서 클러스터링.

8개의 클러스터로 분류하여 8천개의 작품별로 측정

 

어떻게 클러스터링 하는가?

 

유저가 최근 읽은 작품들을 클러스터링하여 작품의 장르틀 추출하여 분류.

 

클러스터링 검증

 

8개의 분류가 적절할까? 우선. 성별로 분포를 확인.

남성은 액션이나 스포츠, 여성은 로맨스, 순정을 선호. 참고로 남여 공통은 드라마

 

이후 만화의 tag를 확인. 여성은 연애, 드라마, 판타지, 남성은 스포트, 판타지, 공포 위주임.

 

개인화 홈 추천

 

 

유저 클러스터를 확인 -> 인기 작품 후보군 선별 -> 해당 클러스터의 인기 작품 후보군 작성 -> 랭킹을 매김.

작품 타겟팅 하고 랭킹

 

 

 


 

연관추천

유사한 작품중에서 ctr이 높은 작품을 추천.

스타일 , 객체, 텍스트, 등등으로 다방면 분석.

이 과정이 잘 되면 클러스터링이 예쁘게 나옴.

 

스타일 검색

커버의 이미지와 비슷한 스타일의 이미지를 검색하여 추천.

- Style Transfer Network

 

이미지 객체 인식 분석

스타일, 객체를 인식

- Pre-trained VGG19 Model

 

테스트 비교 분석

타이틀을 인식하여 해당 단어와 연관된 작품을 분석

 

 

최종결과 작품 추천

 

이렇게 분석한 결과를 추천함.

 


열람중심과 구매중심

 

실험: 열람 중심에서 구매중심.

열람중심은 클릭을 최대화, 구매 중심은 유저 열람을 최대화하는 것이 목적.

 

 

실험1. 매출 중심 MAB

유저 코인을 보상으로하고, 지표를 열람 전환율과 구매전환율로 설정하여 실험.

하지만 대조군에 비해 -20%로 폭망.

 

 

실험2. Condiional Bandit

사건의 종속성을 반영

처음 무료 열람을 기반으로 mab 분석

구매번환 유료 열람으로 두번째 mab 분석

결과는 대조군을 이기지 못함

두번째 mab 수렴성이 보장되지 않는다.

 

실험3. Retention model

작품마다 열람수 스코어를 측정

한 번 열람하면 오래 꾸준히 보게 되는 작품을 추천하도록 실험.

열람전환율은 지표 상승하지만 구매 전환율은 상승x

 

실험4. Seen decay

패널티를 주자.

클릭되지 않는 impressin이 발생하면 Ranker에 패널티를 주는 방식

실험군의 지표가 대조군보다 상승하는 효과

 

그밖에 다양한 실험들을 진행했었음.

하지만 구매 지표 개선(%)은 오차범위를 벗어나지 못함.

 


사용자의 구매패턴 분석

왜 개선이 안 될까> 구매 패턴 분석부터 다시

사용자는 지속열람을 한 뒤 유료 열람을 한하는데 그 확률이 낮고 오래 걸린다.

유료열람은 0.07%이고 기간도 4.56일이 소요.

 

 

추적과 측정이 어려움

지표 추적 자체가 어렵다.

 

열람 전환율 측정

추천은 읽지 않은 작품을 추천한다. 

지속열람, 유료 열람 지속할 수 있을까?

그래서 열람 전환율 측정. 

에디터 추천이 가장 전환율이 높음.

그런데 4화 전환율은 추천 시스템이 더 높음을 확인

 

작품의 품질과 유료결제 경험에 의존적.

 

결과! 

 

각자 잘하는 것을 하자

열람작품을 늘리고, 지속 열람자의 유료 전환.

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함