About
home
About Me
home

[ifkakao]추천 시스템: 맥락과 취향 사이 줄타기

Category
ifkakao2020
Date
2020/11/20
Writer
ngcf
안녕하세요. EdgeAI를 전공하고 있는 이민경입니다요즘 추천시스템이 재미있어서 개인적으로 공부하고 있어요. 다양한 딥러닝 관련 공부도 하면서 논문들 읽고 재구현하는 것을 좋아해요
Email: blossominkyung@gmail.com
presented by 김영민 Alex. Kakao Machine learning engineer presented by 안창배 Dane, Kakao Data scientist
픽코마 팝업 추천 프로젝트를 소개한 발표이다. 비즈니스 전략에 적합한 추천 방식을 찾기 위해 개인화 추천과 연관 추천이라는 두 방식에 대해 알아본다. 이를 비교해본 실험과정을 살펴보고, 결과를 통해 알게 된 추천의 적절한 타이밍, 유저의 취향, 유저가 콘텐츠를 소비하는 맥락 사이의 관계들에 대한 인사이트를 공유하는 발표이다.
if(kakao)2020 발표영상이다.
Index.

1. 픽코마 팝업 추천

Kakao Japan에서 운영 중인 온라인 만화 플랫폼이다. 여기에는 다양한 추천 시스템이 사용되고 있다. 예를 들면, 홈화면에서 유저에게 개인화된 만화를 추천하는 홈 추천, 한 에피소드를 다 본 후 그와 비슷한 작품을 추천해주는 뷰어앤드 추천 등이 그 기술이다. 그 중 오늘 발표를 통해 "팝업 추천 시스템"에 대해 알아볼 수 있었다.
팝업 형태로 유저에게 작품 노출이 되는 추천 시스템이다. 여기서 팝업은 예를 들면 픽코마에서 비즈니스 전략 상 소비 늘리고자 하는 작품이 있으면 해당 작품의 노출을 늘려야 하는데, 이럴 때 팝업이 사용된다.
단! 팝업은 유저 동선을 가로막는 특성으로 인해 노출 빈도 잦으면 유저의 피로감이 빠르게 누적되어 서비스 사용경험이 안 좋아지기 쉽다. 그래서 픽코마는 각 유저가 12시간에 한 번 팝업에 노출되도록 그 빈도를 조절하고 있다.

2. 팝업 노출 타이밍 언제가 좋을까?

유저가 중간에 열람을 멈추고 나가려고 할 때!가 가장 좋다.
그럼 유저는 중간에 왜 이탈할까?
1) 재미가 없어서?
2) 이미 다 봐서?
유저가 기존 작품의 열람을 멈추고 나가려고 할때는 새로운 작품 탐색을 하거나 새로운 작품 발견에 열려있는 상태이다. 이처럼 팝업 추천은 유저가 새로운 작품에 열려있는 경우, 새로운 작품 탐색 발견의 기회를 제공해준다.

3. 픽코마 팝업 추천의 목표는 뭘까?

팝업 추천이 픽코마에 도입된 배경은 유저들의 작품 소비 패턴 변화를 유도하기 위해서였다.
2개 이상 작품 동시 소비 유도 → 서비스 사용 접점 늘리고자 함
아직 잘 알려지지 않은 작품의 첫 열람 증대
⇒ 강력한 추천 수단 == 팝업 추천
열람이 많이 되서 로그가 많이 발생하는 작품일 수록 기존의 추천 루프를 통해서 서비스에 노출되는 기회도 더 많아진다. 그러나 신작의 경우, 애초에 열람이 잘 발생하지 않아서 노출이 잘 되지 않는다. 이 경우 팝업을 통해 유저들에게 노출을 시켜서 자연스럽게 유저 열람 수를 증대시키는 전략을 택한다. 타 서비스에서 자사 콘텐츠를 우선 추천하려는 전략으로 일부 아이템들 푸시하는 사례들 있는데 팝업 추천 역시 이런 추천으로도 활용될 수 있다.
추천 자동화
머신러닝의 효과로 추천 역시 자동화될 수 있었다. 기존에는 수동으로 추천 운영했다. 전부 사람 리소스가 사용되었다. 그래서 다음과 같은 어려움들이 있었다.
1.
운영 규모 확대의 어려움
2.
누구에게 어떤 작품을 추천할 지 하나하나 사람이 지정해줘야 하는 어려움
특히 사람이 직접 추천 결과를 고른다는 점에서 고르는 사람 개인의 주관이 개입될 확률 높고, 실제 유저들의 선호를 정확히 반영하기 어렵다는 문제 있었다. 따라서 머신러닝을 통해 추천의 결과를 자동화할 수 있게 되었다.
머신러닝을 통해 추천 자동화도 했겠다. 그럼 이제 어떻게 추천할 것인가? 라는 고민이 든다.

4. 개인화 추천 vs 연관 추천

개인화 추천: (유저가 추천의 기준) 개별 유저의 취향을 반영해서 유저마다 다른 아이템 추천.
연관 추천: (현재 보고있는 아이템이 추천의 기준) 유저가 현재 보고있는 아이템과 연관성이 높은 아이템 추천.
개인화 추천 방식을 통해 유저의 평소 취향과 비슷한 작품을 추천해주면 열람으로 이어지지 않을까?
아니면 현재 열람 중인 작품과 비슷한 작품을 추천해주는 것이 자연스럽지 않을까?
(로맨스물 보고 있던 유저에게 비슷한 로맨스물 추천) ⇒ 연관 추천이 더 적합!

4.1. 취향과 맥락사이

개인화 추천 vs 연관 추천 무엇이 좋을까?
유저의 취향을 고려한 개인화 추천
작품 소비의 맥락을 고려한 연관 추천

4.2. 그렇다면 유저가 열람을 멈추고 나가려고 할때는?

(팝업이 노출되는 타이밍 == 유저가 열람을 멈추고 나가려고 할 때.)
픽코마 팝업 추천 팀은 둘다 해봤다. 그리고 A/B 테스트 통해 비교도 해보았다.
프로젝트 진행 방향 끝! 구체적 구현 방향!

4.3. 개인화와 연관 둘다 구현하려면 어떻게 해야되지?

어떤 모델을 사용해야 좋을까? ⇒ Matrix Factorization!
우리는 유저가 이 아이템을 얼마나 좋아하는지 직접적/간접적으로 보여주는 상호 관계 데이터를 가지고 있다. 이를 user * item matrix 로 표현할 수 있다.
현실에서는 유저가 본 아이템 보다 아직 보지 않은 아이템이 더 많기 때문에 user-item matrix는 sparse한 형태가 된다. 추천 시스템에서 해결하고자 하는 과제는 유저가 아직 보지 않은 아이템들 중에서 어떤걸 선호할지 예측하는 것이기 때문에 ⇒ 빈칸 채우기 문제다!
채워져있는 부분들의 user와 item 각각을 잘 근사해낸다면 알고자하는 빈칸도 알게 되지 않을까?
'user vector * item vector = 유저가 해당 아이템을 얼마나 좋아하는지' 나타내게 된다면, 유저와 아이템을 동일한 latent matrix space에 매핑하게 된다.
이처럼 Matrix Factorization이 적합한 이유는 개인화/연관 추천 로직 모두 구현 가능하다는 점이다.
그렇다면 Matrix Factorization으로 어떻게 개인화/연관 추천 구현할 수 있는지 살펴보자.

4.4. 수많은 유저들 중 나만을 위한 추천결과를 찾고 싶다!

우선 개인화 추천을 보면 다음과 같다.
user matrix에서 내 user vector를 찾은 뒤 item matrix 전부와 곱해서 user-item 유사도를 구한다. 이때 점수가 높은 아이템일 수록 평소 user가 보던 아이템과 가까워진다. 즉 개인화된 item을 갖게된다.
연관 추천은 다음과 같다.
유저가 현재 누구인지 상관하지 않고, 유저가 현재 어떤 아이템을 보고있는지 고려하기 때문에 user matrix 사용하지 않는다. item matrix에서 현재 내가 보고 있는 item을 찾은 뒤에 나머지 item들과의 유사도를 측정한다.
유사도 점수가 높을 수록 현재 내가 보고 있는 아이템과 같은 아이템이 된다. 그래서 점수가 높은 순으로 추천하면, 지금 현재 내가 보고 있는 아이템과 추천한 아이템 간의 연관도가 높다.

4.5. 실험적 성능 비교 분석

5. 누가 이겼을까?

개인화 성능이 전환율을 기점을 약 18% 더 우수했다.
왜?
Matrix Factorization을 통해 유사도 측정.
유저 혹은 아이템 피처 간의 코사인 유사도를 통해 도출.
개인화 추천 : 직전 작품의 영향을 크게 받지 않고 오히려 보던 작품이 맘에 들지 않을 때 전환이 잘됨
연관 추천 : 보던 작품이 유저의 취향과 유사해야 전환이 잘됨
개인화 추천 : 전환율 다소 높다. 팝업 작품과 유저간의 유사도가 원인이다.
연관 추천 : 유사도가 낮은 경우는 존재하지 않음. 아무리 유사해도 기존 열람 작품이 유저 맘에 들지 않으면 팝업 작품으로도 전환되지 않는다.
개인화 추천 : 유저와 유사한 작품을 추천한 경우가 더 많았을 것.
맥락은 연관추천에 영향을 미치지만, 보던 작품이 유저 맘에 들어야 전환율이 높은 반면, 개인화 추천은 전반적으로 다 잘 작동하는 것을 알 수 있다.

6. 그렇다면 다른 추천은 어떨까?

뷰어앤드추천의 경우, 콘텐츠 말미에 유저에게 유사 아이템 추천하기에 팝업 추천과 맥락이 비슷하다. 현재 뷰어앤드 추천에 사용하고 있는 연관 추천 방법을 개인화 추천으로 전환하면 더 나은 결과를 가져오지 않을까?
뷰어앤드 + 개인화 추천 ⇒ 결과? 31% 감소!
도대체 왜 이런 결과가 나왔을까?
뷰어앤드 경우, 작품 내 에피소드 끝가지 읽어야 추천이 노출이되는 반면, 팝업 추천의 경우 작품 내 에피소드를 끝까지 읽지 않아도 추천이 노출된다.
즉, 팝업 추천의 경우, 유저가 작품을 읽다가 맘에 들지 않아 이탈하더라도 평소 유저의 취향을 반영한 작품을 추천하면 유저의 반응률이 높았던 것이다.

7. 인사이트

그런데 말입니다. 그럼 ML 모델 성능과 별개로 추천 context가 실제 전환율에 어떻게 영향을 미치나?

7.1. 노출 시점: 몰입 정도

빠른 시점에서 에피소드 노출이 높았기에 연관 추천의 경우, 초기에 팝업이 뜨도록 세팅하는 것이 전환율에 좋다.그러나 보던 작품 초반에 팝업 추천할 수록 전환율이 높던 경향은 끝까지 이어지지 않는다. 그러나 이에 반하더라도 초반에 노출하는 것이 전환율이 높고 초반에 다양하게 많이 노출할 수 있다.
그래서 전환율 5.89% 대조군 대비 실험군 증가.

7.2. 노출 시점: 시간대

픽코마에는 "기다리면 무료" 서비스가 있다. 현재 오픈된 에피소드 외 그 이상의 열람을 원하면 돈을 지불해야한다. 유저들은 대게 기다리면 무료인 서비스를 이용한다. 즉 시간대에 따라 서비스 이용하는 유저의 의도 달라질 수 있고, 이것이 전환율에 영향을 미칠 수 있다.

7.3. Missing pop?!

추천 당시 전환하지 않지만 차후에 열람하게 되는 경우도 있었다. 이와같은 경우 우리는 노출 되는 추천의 질이 나쁘지 않았지만 유저가 당시에는 추천된 작품에 관심이 없었다고 해석할 수 있다.
따라서 시간대에 맞게 옮기면 전환율 올릴 수 있다.
그래서 한 번 막아봤습니다. 12시간이라는 제약 조건 때문에 추가 노출은 어려워서 막아보았다.
타겟. 7시! 7시 유저 중 전환되지 않을 유저를 예측하여 7시부터 1시간 동안 팝업 노출되지 않게 함.
실질적 서비스 개선으로는 이어지지 않았지만, 추천은 시간대도 아주 중요함을 알 수 있었다.
팝업 추천이 가지는 가치.
자동화 이후 성능 상승. 노출 적었지만 전환율 2배 이상 상승.
그래서 스케일 업!! 연관 작품/연관 유저 범위 쉽게 넓힐 수 있었다.
112% ! 모수 확대 후 전환 증가.
정리하자면,
전략적: 전략적으로 푸시를 해야하고
정교화: 푸시 대상 정교하게 타겟팅 가능
자동화: 이를 자동화하여 운영 가능하다.
전략적 요소를 모델에 어떻게 녹여내고, 만들어진 모델이 유저들에게 실제로 어떻게 작용되는지 데이터를 통해 확인할 수 있는 발표였다.