Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Explainable Recommender System in 카카오웹툰

kakao
December 08, 2022

Explainable Recommender System in 카카오웹툰

#RecommenderSystem #ExplainableRecommendationSystem #XAI

실제 서비스 되는 추천 시스템의 추천 모델은 복잡해지고, 다양한 intertaction 데이터를 사용하고, 깊은 데이터 파이프라인(후보군 생성->랭킹->필터링->다양화)을 갖고 있습니다. 이런 이유로 추천 모델의 개선을 통해 지표가 상승되었을 때 그 이유와 효과를 잘 이해하고, 쉽게 설명하기 어렵습니다.
이런 문제점을 해결하기 위해 카카오웹툰에 Explainable Recommendation을 적용하고 분석했던 사례를 이야기하고자 합니다.

Explainable Recommendation은
- 사용자에게는 추천 결과의 추천 이유를 함께 제공하여 알고리즘의 투명성, 설득력, 신뢰감을 높여 사용자 만족도를 높이고
- 추천 기술 엔지니어에게는 개발한 추천 모델의 추천 이유를 정량적으로 해석하고 지표에 어떻게 영향을 주었는지 분석적으로 해석할 수 있습니다. 이는 지속적으로 올바른 방향으로 추천 시스템을 개선할 수 있는 것을 의미합니다.
또한 Explainable Recommendation은 사용자가 컨텐츠를 어떻게 소비했는지 이해하는 데 유용합니다.

발표자 : pi.314
카카오 추천팀에서 사용자에게 좋은 추천이 무엇인지를 찾고 싶어하는 pi입니다.

kakao

December 08, 2022
Tweet

More Decks by kakao

Other Decks in Programming

Transcript

  1. 최규민 pi.314 카카오 Copyright 2022. Kakao Corp. All rights reserved.

    Redistribution or public display is not permitted without written permission from Kakao. Explainable Recommender System in 카카오웹툰 . if(kakao)2022
  2. Explainable Recommendation? (설명 가능한 추천) 어떤 추천 시스템이 사용자의 선호도를

    파악해서 상품을 추천할 때, 해당 상품을 추천하는 이유를 함께 제공하는 패러다임이다.1) 1) 박성준, 『감정 요소가 결합된 지식 그래프와 강화학습을 이용한 설명 가능한 추천 시스템』, 한양대학교, 2021
  3. 개발자가 기대 하는것? 내 장담컨데 유튜브 알고리즘은 사람이 맞는듯 아마존

    전체 매출 중 약 35%가 협업 필터링(collaborative fi ltering) 알고리즘에 의해 발생하는 것으로 조사됐다 -나무위키 : 유튜브 알고리즘-
  4. 현실 속의 나는… (본부장이)나는 수면음악을 안듣는데 카카오미니에서 왜? 수면음악이 추천

    되지? (리더가)나는 축구를 본적이 없는데 왜? 이런 결과를 나오지 (PM이)왜? 추천 결과들이 바뀌지 않는거지? (팀장이)나에게는 왜? 인기 콘텐츠만 추천 되지? (동료가)손흥민이 해트트릭을 했는데 왜? 추천 되지 않는 거야?
  5. 현실 속의 나는… 소비이력, 서비스이슈, 시스템을 먼지까지 털어 추천 이유를

    설명합니다. (본부장이)나는 수면음악을 안듣는데 카카오미니에서 왜? 수면음악이 추천 되지? -> 오후 시간대 고양이 수면 음악 시청 이력이 있는데 본부장님 계정을 다른 분이 사 용하시나요? 최근에 축구를 본적이 없는데 왜? 이런 결과를 나오지 -> 오늘 손흥민이 해트트릭을 해서 모든 이들이 손흥민 기사만 봅니다. 왜? 추천 결과들이 바뀌지 않는거지? -> 이번에 적용된 CTR 예측 모델의 추천 결과 업데이트 주기가 15분 입니다. 추천 결과가 바뀌는 것이 사용자 만족도가 올라 간다면 업데이트 주기를 10분으로 단축시 키고, 실시간으로 추천 랭킹을 제공하는 방식도 검토 하겠습니다. 나에게는 왜? 인기 콘텐츠만 추천 되지? -> 팀장님의 계정에 소비 이력이 없습니다. (테스트 계정으로 로그인됨)
  6. 왜? 추천결과의 이유를 궁금해 할까요? 서비스가 잘될때는 궁금해 하지 않습니다

    카카오미니에서 수면 음악을 듣지도 필요하지도 않은데 왜? 수면음악이 추천 되지? 왜? 왜? 왜? 서비스 공급자 관점에서 안되는 이유를 알기 위해서 입니다. 그리고 이유를 못찾으면 기능 접습니다.
  7. 고객도 추천이유를 궁금해 할까요? 추천을 만족하지 못하면 소리없이 서비스 떠납니다.

    카카오미니에서 수면 음악을 듣지도 필요하지도 않은데 왜? 수면음악이 추천 되지? 잔존하는 고객도 생겨 납니다.
  8. 추천이유 표시 여부 AB테스트 결과 실험군(추천이유 O) - 추천이유가 명시된

    실험군이 대조군 대비 작품 열람수는 +20%, 
 열람전환율은 +19%가 높게 나왔습니다. +20% 증가 +19% 증가
  9. Explainable recommender system Goal 서비스 사용자 서비스 공급자 Recommender System

    Goal Enjoy, Satisfaction, Entertained Keep engaged, Revenue, Monetization Explainable Recommender System Goal 2) 투명성(transparency) 설득력(persuasiveness) 효과성(effectiveness) 신뢰성(trustworthiness) 만족도(satisfaction) 추천 알고리즘의 진단과 개선 디버깅 2) Yongfeng Zhang, Xu Chen: Explainable Recommendation: A Survey and New Perspectives. Found. Trends Inf. Retr. 14(1): 1-101 (2020) 사용자과 공급자에게 추천이유를 제공하여 목표 달성을 돕습니다.
  10. Explainable recommender system Goal 서비스 사용자 서비스 공급자 Recommender System

    Goal Enjoy, Satisfaction, Entertained Keep engaged, Revenue, Monetization Explainable Recommender System Goal 2) 투명성(transparency) 설득력(persuasiveness) 효과성(effectiveness) 신뢰성(trustworthiness) 만족도(satisfaction) 추천 알고리즘의 진단과 개선 디버깅 2) Yongfeng Zhang, Xu Chen: Explainable Recommendation: A Survey and New Perspectives. Found. Trends Inf. Retr. 14(1): 1-101 (2020) 사용자과 공급자에게 추천이유를 제공하여 목표 달성을 돕습니다. 추천 이유를 분석한 Explainable Recommender system 사례를 이야기 하려 합니다.
  11. 카카오웹툰 Recommender System & 적용 결과 
 설명가능한 추천 결과

    탐색하기 1. 추천 모델은 무엇을/어떻게 추천하고 있는가? 2. 사용자 relevant와 열람전환율 상관관계 분석하기 맺음말
  12. 카카오웹툰 Recommender System & 적용 결과 
 설명가능한 추천 결과

    탐색하기 1. 추천 모델은 무엇을/어떻게 추천하고 있는가? 2. relevant와 relevant한 것은 무엇인가? 맺음말
  13. 추천 파이프 라인 history data meta data Sequential Recommendation 추천

    결과 생성 추천 이유 붙이기 Filtering Diversify Explanation Model Meta fi ltering Post processing 추천 제공 Round - robin
  14. 추천 파이프 라인 history data meta data Sequential Recommendation 추천

    결과 생성 추천 이유 붙이기 Filtering Diversify Explanation Model Meta 
 - Outcome of interpretable model 
 - Decision process is transparent 
 2. Post - hoc 4) 
 - Blackbox 모델에 적용 
 - 추천 결과에 추천 이유를 생성 3) Yongfeng Zhanget al, 『Explicit factor models for explainable recommendation based on phrase - level sentiment analysis. 』 SIGIR 2014: 83-92 4) Georgina Peake, Jun Wang: 『Explanation Mining: Post Hoc Interpretability of Latent Factor Models for Recommendation Systems. 』KDD 2018: 2060-2069
  15. 추천 파이프 라인 history data meta data Sequential Recommendation 추천

    결과 생성 추천 이유 붙이기 Filtering Diversify Explanation Model Post - Hoc Meta 
 - Outcome of interpretable model 
 - Decision process is transparent 
 2. Post - hoc 4) 
 - Blackbox 모델에 적용 
 - 추천 결과에 추천 이유를 생성 3) Yongfeng Zhanget al, 『Explicit factor models for explainable recommendation based on phrase - level sentiment analysis. 』 SIGIR 2014: 83-92 4) Georgina Peake, Jun Wang: 『Explanation Mining: Post Hoc Interpretability of Latent Factor Models for Recommendation Systems. 』KDD 2018: 2060-2069
  16. 추천 파이프 라인 history data meta data Sequential Recommendation 추천

    결과 생성 추천 이유 붙이기 Filtering Diversify Post - Hoc Meta fi ltering Post processing 추천 제공 Round - robin
  17. Explanation model : Post - hoc4) 추천 결과의 추천이유(Explanation)은 2가지

    형태로 구분하고 6가지 추천 이유의 라벨 생성 • 추천작품과 열람작품간의 관련성(relevant) ◦ seen : 열람한 작품 추천 ◦ co - occurrence : 함께 본 작품 추천 ◦ preference : 선호 작품 추천 ◦ interest - meta : 즐겨보는 메타 추천 • 추천 작품 고유 특징(popularity) ◦ high - conversion : 전환율 높은 작품 추천(상위 N 작품) ◦ popular : 인기 작품 추천 (상위 N 작품) 4) Georgina Peake, Jun Wang: 『Explanation Mining: Post Hoc Interpretability of Latent Factor Models for Recommendation Systems. 』KDD 2018: 2060-2069
  18. Explanation model : Post - hoc 추천작품과 열람작품간의 관련성(relevant) Explanation

    사용자 소비 이력 JUFN@" JUFN@" JUFN@% JUFN@$ JUFN@; JUFN@& JUFN@0 JUFN@' 추천 결과 JUFN@:$P - PDDVSSFODF JUFN@'$P - PDDVSSFODF JUFN@"4FFO JUFN@)1FSGFSFODF JUFN@0*OUFSFTU - NFUB JUFN@) JUFN@, JUFN@,$P - PDDVSSFODF JUFN@1*OUFSFTU - NFUB exactly match co - occurrence : NPMI User similarity(cf - w2v) co - occurrence(NPMI) genre, tag, author match (with similarity threshold) 다시보기 추천 함께본 작품추천 : Item_Z 선호하는 작품추천 즐겨보는 “환생물” 관련작품 함께본 작품추천 : Item_C 함께본 작품추천 : Item_D 즐겨보는 “판타지” 관련작품
  19. Explanation model : Post - hoc 추천 작품 고유 특징

    추천 결과 JUFN@: JUFN@' JUFN@"1PQVMBS JUFN@) JUFN@0)JHI - DPOWFSTJPO JUFN@) JUFN@, JUFN@1)JHI - DPOWFSTJPO 열람수가 많은 작품 전환율이 높은 작품 JUFN@" JUFN@# JUFN@$ JUFN@% JUFN@0 JUFN@1 JUFN@2 JUFN@3 Popular items High - conversion items
  20. 추천이유 표시 여부 AB테스트 결과 실험군(추천이유 O) - 추천이유가 명시된

    실험군이 대조군 대비 작품 열람수는 +20%, 
 열람전환율은 +19%가 높게 나왔습니다. +20% 증가 +19% 증가
  21. 카카오웹툰 Recommender System & 적용 결과 
 설명가능한 추천 결과

    탐색하기 1. 추천 모델은 무엇을/어떻게 추천하고 있는가? 2. relevant와 relevant한 것은 무엇인가? 맺음말
  22. 카카오웹툰 추천모델 : SMLP5) 5) 장원준,『Sequential Recommendation 카카오 서비스 적용기,

    ifkakao2022 Sequential Recommendation Model 이 무엇을 추천했고, 사용자는 어떻게 반응 했는지? 를 Explanation Model 결과를 통해 살펴보자
  23. 추천 노출/열람의 추천 라벨(이유) 비중은 어떻게 되는가? 함께 열람한 작품(co

    - occurrence)에 의한 노출과 열람이 가장 많았고, 열람 전환율은 다시보기 작품(seen) 추천이 가장 높았다. 작품 노출수 작품 열람수 열람전환율(=열람/노출) 평균 열람 전환율
  24. 사용자를 활동성 수준으로 구분하여 분석해 보자 사용자의 작품 열람수를 기준으로

    Lv1(낮음)~Lv7(높음) 7단계로 사용자 활동성을 구분 사용자 활동성이 높아질수록 추천구좌의 열람 전환율이 지수적으로 높아진다. 사용자 비중 활동성 기준 열람 전환율(%) <- 낮음 높음 - 평균 열람 전환율 <- 낮음 높음 -
  25. 사용자를 활동성 수준으로 구분하여 분석해 보자 사용자의 작품 열람수를 기준으로

    Lv1(낮음)~Lv7(높음) 7단계로 사용자 활동성을 구분 사용자 활동성이 높아질수록 추천구좌의 열람 전환율이 지수적으로 높아진다. 사용자 비중 <- 낮음 활동성 기준 열람 전환율(%) <- 낮음 평균 열람 전환율 열람전환율은 평균 대비 1/10 수준으로 매우 낮다 사용자 콜드 스타트 문제가 어려운 이유 전체 사용자의 23% 수준 (열람수 < 5개)
  26. 사용자의 활동성 수준에 따라 어떤 작품이 노출 되었는가? 콜드 사용자

    일수록 비 개인화 추천 작품(▪popular)이 많이 추천되고, ▪None(추천이유모름)의 비율이 높다. 
 활성 사용자 일수록 개인화 추천 작품(▪seen, ▪co - occurrence)의 노출 비중이 높아진다. 작품 노출수 작품 노출수 비중 낮음 높음 낮음 높음
  27. 사용자의 활동성 수준에 따라 어떤 작품이 열람 되었는가? 콜드 사용자(Lv-1/2)는

    홈 추천에서 작품열람이 거의 없고, 그중 50%는 다시보기(▪seen)추천에 의한 열람 사용자 활동성이 증가할수록 함께본 작품(▪co - occurrence) 추천에 의한 열람 비중이 늘어난다. 작품 열람수 작품 열람수 비중 낮음 높음 낮음 높음
  28. 사용자 활동성은 열람전환율에 어떤 영향을 줄까? 추천 설명 라벨과 활동성

    기준 열람전환율 비교 1. 개인화 추천 이유는 활동성 높은 Lv6,7 사용자 군집 에서 열람 전환율이 높다.
  29. 사용자 활동성은 열람전환율에 어떤 영향을 줄까? 추천 설명 라벨과 활동성

    기준 열람전환율 비교 1. 개인화 추천 이유는 활동성 높은 Lv6,7 사용자 군집 에서 열람 전환율이 높다. 2. seen 추천은 모든 군집에서 열람전환율이 높다. 
 특히 콜드 사용자 군집에서 지표가 높다.
  30. 사용자 활동성은 열람전환율에 어떤 영향을 줄까? 추천 설명 라벨과 활동성

    기준 열람전환율 비교 1. 개인화 추천 이유는 활동성 높은 Lv6,7 사용자 군집 에서 열람 전환율이 높다. 2. seen 추천은 모든 군집에서 열람전환율이 높다. 
 특히 콜드 사용자 군집에서 지표가 높다. 3. popular 작품은 열람 전환율이 왜 높은가?
  31. 사용자 활동성은 열람전환율에 어떤 영향을 줄까? 추천 설명 라벨과 활동성

    기준 열람전환율 비교 1. 개인화 추천 이유는 활동성 높은 Lv6,7 사용자 군집 에서 열람 전환율이 높다. 2. seen 추천은 모든 군집에서 열람전환율이 높다. 
 특히 콜드 사용자 군집에서 지표가 높다. 3. popular 작품은 열람 전환율이 왜 높은가? 
 인기+사용자 relevant한 작품을 추천한다. 개인화추천 v.s. 비개인화 추천의 popular 추천비교 <- Relevant 낮음 Relevant 높음 ->
  32. 사용자 활동성은 열람전환율에 어떤 영향을 줄까? 추천 설명 라벨과 활동성

    기준 열람전환율 비교 1. 개인화 추천 이유는 활동성 높은 Lv6,7 사용자 군집 에서 열람 전환율이 높다. 2. seen 추천은 모든 군집에서 열람전환율이 높다. 
 특히 콜드 사용자 군집에서 지표가 높다. 3. popular 작품은 열람 전환율이 왜 높은가? 
 인기+사용자 relevant한 작품을 추천한다. 비 개인화추천의 popular 라벨의 열람전환율
  33. 사용자 활동성은 열람전환율에 어떤 영향을 줄까? 추천 설명 라벨과 활동성

    기준 열람전환율 비교 1. 개인화 추천 이유는 활동성 높은 Lv6,7 사용자 군집 에서 열람 전환율이 높다. 2. seen 추천은 모든 군집에서 열람전환율이 높다. 
 특히 콜드 사용자 군집에서 지표가 높다. 3. popular 작품은 열람 전환율이 왜 높은가? 
 인기+사용자 relevant한 작품을 추천한다. 4. None, interest - meta 작품의 경우 모든 구간에서 평균 대비 전환율이 낮다 비 개인화추천의 popular 라벨의 <- Relevance 낮음 Relevance 높음 ->
  34. 사용자 활동성은 열람전환율에 어떤 영향을 줄까? 추천 설명 라벨과 활동성

    기준 열람전환율 비교 1. 개인화 추천 이유는 활동성 높은 Lv6,7 사용자 군집 에서 열람 전환율이 높다. 2. seen 추천은 모든 군집에서 열람전환율이 높다. 
 특히 콜드 사용자 군집에서 지표가 높다. 3. popular 작품은 열람 전환율이 왜 높은가? 
 인기+사용자 relevant한 작품을 추천한다. 4. None, interest - meta 작품의 경우 모든 구간에서 평균 대비 전환율이 낮다 비 개인화추천의 popular 라벨의 <- Relevance 낮음 Relevance 높음 ->
  35. 잠시 정리 개인화(seen, co - occurrence)추천의 열람전환율이 높다. 콜드 사용자에게는

    비개인화 추천라벨, 활성 사용자에게는 개인화된 추천라벨 비중이 높다. seen(다시보기)추천은 콜드 사용자에게 유용한다. 사용자 relevant가 높고 인기있는 작품은 지표가 높다.
  36. 카카오웹툰 Recommender System & 적용 결과 
 설명가능한 추천 결과

    탐색하기 1. 추천 모델은 무엇을/어떻게 추천하고 있는가? 2. 사용자 relevant와 열람전환율 상관관계 분석하기 맺음말
  37. Relevant 측정 사용자의 열람 작품과 추천 작품간의 관련있는 정도를 측정함

    User Uu 사용자 열람 작품 Item I3 Item Ii 추천 작품 Item I1 Item I4 Item In Item I2 SIM(Uu , Ii )
  38. Relevant SIM(Uu , Ii ) Relevant와 Relevant한 것이 무엇인가? 목표지표

    추천이유(라벨) 사용자 활동성 Popularity 개인화추천과 비개인화추천
  39. Relevant와 목표지표(열람전환율) Relevant가 증가할수록 열람전환율은 높아진다. 추천(노출)과 열람 작품 Relevant는

    차이가 발생한다.(열람작품 Relevant가 0.05크다) ▪ 노출(vimp) 작품의 평균 Relevant = 0.7344 ▪ 열람(click) 작품의 평균 Relevant = 0.7882 `
  40. Relevant와 추천라벨(이유) Relevant가 높은 설명 라벨의 열람전환율이 높다. popular은 insterest

    - meta보다 Relevant 낮음에도 열람전환율이 높다. 
 -> popular 라벨의 열람전환율은 Relevant, Popularity가 함께 영향을 준다.
  41. Relevant와 Item Popularity Relevant가 높을수록 Popularity는 감소한다. Popularity가 높아 질수록

    열람 전환율은 완만하게 증가한다. Relevant가 높아질수록 열람 전환율은 증가한다. (= 1/Item_rank) Popularity X Relevant 열람 전환율 X Popularity 열람 전환율 X Relevant r=-0.98 r=0.27 r=0.97
  42. Relevant와 Item Popularity 목표지표에 Relevant한 속성이 더 많은 영향을 미친다.

    Relevant=high, Popularity=high(2사분면)의 열람 전환율이 19%로 가장 높고, 노출수는 가장 낮다. Relevant=high, Popularity=low(1차분면)이 가장 많이 노출 된다. (= 1/Item_rank) Relevant X Popularity 의 열람전환율 분포
  43. Relevant와 Item Popularity 목표지표에 Relevant한 속성이 더 많은 영향을 미친다.

    Relevant=high, Popularity=high(2사분면)의 열람 전환율이 19%로 가장 높고, 노출수는 가장 낮다. Relevant=high, Popularity=low(1차분면)이 가장 많이 노출 된다. (= 1/Item_rank) 1사 분면(high, low) 2사 분면(high, high) 4사 분면(low, low) 3사 분면(high, low) 열람전환율 :19% 노출 비중 : 20% 열람전환율 :11% 노출 비중 : 23% 열람전환율 :13% 노출 비중 : 35% 열람전환율 :10% 노출 비중 : 21% Relevant X Popularity 의 열람전환율 분포
  44. 개인화 추천과 비개인화 추천의 Relevant 비교 개인화와 비개인화의 추천(노출)과 열람

    작품의 Relevant 차이는 0.29 -> 0.13으로 줄었다. 즉 비개인화 추천에서도 사용자는 Relevant한 인기작품에 반응한다. 여러 서비스에서 Most Popular 작품 내에서도 개인화 된 랭킹을 적용하는 이유로 판단된다. 추천(노출) 작품의 Relevant 분포 열람 작품의 Relevant 분포 median=0.82 median=0.79 median=0.50 median=0.69 0.29 0.12 Sequential Recommendation(개인화) Most popular(비개인화)
  45. Relevant와 사용자 활동성 활동성 수준별 평균 Relevant 활동성 수준별 Relevant

    분포 활동성 수준에 상관없이 열람 작품의 Relevant는 일정하다. 활동성이 낮을수록 열람과 노출 작품의 Relevant 차이(diff)가 커진다. 그래서 콜드 사용자는 Relevant 높은 추천 작품은 적고, Relevant한 작품을 열람하려는 모순이 발생된다. 추천(노출) 작품 열람 작품
  46. 잠시 정리 추천작품보다 열람작품의 Relevant는 항상 크다. 
 즉 열람

    되기 위해서는 Relevant 높은 작품 추천은 필요 조건이다.(충분조건X) 비개인화 추천을 해도 Relevant한 작품에 사용자가 반응한다. 사용자 활동성에 상관없이 Relevant 높은 작품을 열람한다. 
 그런데 활동성이 낮은 사용자는 Relevant한 작품의 수가 적다.
  47. 맺음말 열람 작품 사용자에게 추천이유를 설명하는것 만으로도 지표 개선이 되었다.

    Explainable Recommendation은 서비스 공급자 관점에서도 유용하다. 우리는 하는 일에 왜?를 이해하고 해석 한다는것은 (단순한 또는 하찮은)근본없는 것 일지라도 근본있게 만드는 멋진 일이다.