Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

이상열, Interpretable Recommender System 개발 사례연구, NDC 2019

NDC 2019 - interpretable recommender_system development_casestudy

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

이상열, Interpretable Recommender System 개발 사례연구, NDC 2019

  1. 1. 넥슨코리아 인텔리전스랩스 매칭팀 이상열 Interpretable Recommender System 개발 사례연구
  2. 2. 발표에 앞서 발표자는 누구고 어떤 내용의 발표인지?
  3. 3. 대상 : 추천 시스템에 관심있는 개발자, 기획자, 학생 사전 지식 : 머신러닝이라는 용어를 들어보거나 익숙한 분
  4. 4. 이번 발표에서 다루지 않는 것 머신러닝 개론
  5. 5. 발표자 소개 이상열 : 데이터 분석가 (syleeie@gmail.com) #2N체험 #데이터뽀개기 넥슨코리아 인텔리전스랩스 매칭팀 #매치메이킹 #추천시스템
  6. 6. 발표 내용 : 이론 70% + 사례 30% 방법론 + 구축 사례 위주의 발표 (개발자가 아닌 분석가 관점, ML 위주)
  7. 7. 전체 흐름 추천 시스템 개발 Data Collection Data Processing Logic (Model) Serving APIService Application
  8. 8. 발표 순서 • Interpretable • 정의 • 솔루션 • Recommender System • 피드백과 채널 • 문제 의식 • 접근 방법 : word2vec • 하나의 방법으로 해결할 수 없을 때 : 앙상블 • Playground • 추천 시스템 * 리서치 • 데이터 * 리서치
  9. 9. ☞ Interpretable Recommender System Playground
  10. 10. Interpretable란? 머신러닝 (블랙박스) 모델을 해석하고자 하는 노력 Definition
  11. 11. Interpretable란? 추천 시스템은 머신러닝 방법론을 사용 전통적인 머신러닝 CF 방법 Definition
  12. 12. 머신러닝(Black Box)를 설명하기가 왜 어려울까??? Definition 2가지 문제 1.모델이 어렵다! 2.데이터가 어렵다!
  13. 13. 머신러닝(Black Box)를 설명하기가 어렵다! Definition 1. 모델( F(x) )이 어렵다. 해결 방법 : 동작 방법 F(X)을 보여주자 사용자가 Input 넣으면 Output이 나올 수 있도록
  14. 14. 머신러닝(Black Box)를 설명하기가 어렵다! Definition 2. 데이터가 어렵다! Wine Data - Six Dimensions (6-D) X, Y, Z, Shape, Size, Color 해결 방법 : 시각화 사람은 4차원 이상의 데이터를 상상하기 어려움
  15. 15. 해결하기! Solution 데이터 & 모델 시각화 동작하는 원리를 보여주자
  16. 16. Solution 시각화 데이터 시각화 (고차원) 모델 시각화 동작 방법 Interactive 하 게 Reactive 하게
  17. 17. Solution 시각화 Manifold Lime, Dalex, … 동작 방법 Plotly Shiny
  18. 18. Manifold : 다양체, 고차원 공간에 내재한 저차원 공간 Solution
  19. 19. Interpretable Methods 주로 사용하는 방법론 LIME Shapely Value DALEX Solution 다른 변수를 최대한 통제했을 때
  20. 20. Interpretable Methods Solution Lime (Local Interpretable Model-agnostic Explanations) 리트리버어쿠스틱 기타전자 기타
  21. 21. Interactive Plot (plotly) Solution
  22. 22. Solution Reactive • Shiny, R programming 으로 개발 가능한 웹 어플리케이션 제작 라이브러리 • 자바스크립트, html, CSS 몰라도 개발 가능
  23. 23. Solution 지금까지의 솔루션을 합쳐봅시다 => Lime + plotly + Shiny 이탈 모델링(Keras) 예제(Rstudio 제공)
  24. 24. 요약 • Interpretable은 블랙박스를 해석하고자 하는 노력 • 머신러닝을 설명하기 어려운 이유는 모델, 데이터 쌍으로 어렵기 때문 • 웹과 시각화로 모델이 동작하는 원리를 보여주기
  25. 25. 요약
  26. 26. Interpretable ☞ Recommender System Playground
  27. 27. Recommender System 특정 사용자가 관심을 가질만한 정보 (영화, 음악, 책, 뉴스, 이미지 등)을 추천하는 것 중요한 점은 사용자가 좋아하거나 싫어하는 것에 대한 피드백
  28. 28. Recommender System GroupLens : 뉴스 추천을 위한 선구적인 연구 프로토타입 (ex. Booklens, MovieLens) Amazon.com : 5점 척도 평점, 매출 35% 이상이 추천에서 발생한다고 함 Netflix 추천시스템 대회 : 480,189명 사용자에 17,770편에 대한 영화 평점 제공한 예측 대회 Google News Personalization System : 클릭하는 행동을 긍정적인 신호, 단항 평가 Facebook 친구 추천 : 소셜 네트워크 링크 예측하여 잠재적인 친구 추천 네이버 상품 추천 시스템 AiTEMS : 라인 쇼핑에서 상품 클릭, 검색, 구매했던 소비패턴 기반 상품 추천 SK텔레콤 플로(FLO) 음악추천 : 고객이 직접 입력한 선호 아티스트나 장르를 기반으로 음악 추천
  29. 29. Recommender System < 오버워치 2018년 8월 업데이트 > (게임 사례) 오버워치 : 평가 기반의 좋아할만한 팀플레이, 지휘관 추천 - “추천 시스템, 긍정적 플레이 이끌어낼 ‘당근’” #GDC2019 #블리자드 #오버워치 #추천시스템 #유저의부정적인행동 40% 줄여!
  30. 30. Recommender System • 데이터 (로그, DB 스냅샷) • 메타 데이터 • 로직 • 예측 모델 • 랭킹 모델 • 시스템 • Backend API • 컨트롤러, 대시보드 • AB 테스트
  31. 31. 분석
  32. 32. Feedback / Channel Game???? Feedback??
  33. 33. Feedback / Channel 페이스북 좋아요 버튼 피드백은 무엇인가? 명시적 피드백 명시적 피드백 (평점, 좋아요/싫어요) 암묵적 피드백 (구매행동, 활동, …)
  34. 34. Feedback / Channel 피드백을 구성하자 어떻게? 게임에서 피드백은 케바케, 피드백 없이는 안되나? 왜냐면? 게임에서는 채널이 모호하거나, 다양함 추천시스템을 개발하기 어려운 요소 중 하나
  35. 35. Feedback / Channel 게임 내 채널 상점 길드 로비
  36. 36. Feedback / Channel 게임 외 채널 넥슨 포털 넥슨 플레이
  37. 37. Feedback / Channel 피드백
  38. 38. Feedback / Channel 피드백
  39. 39. 오늘 저의 사례는.. 피드백이 불명확하지만 데이터는 많을 때 문제 의식
  40. 40. 문제 의식 프로젝트 : Marvel Battle Lines (마블 코믹스의 IP를 이용해 데브캣에서 개발한 모바일 TCG) Q : 타노스를 무찌를 멤버(덱)을 어떻게 구성할 수 있을까?
  41. 41. 문제 의식 카드 • 마블 배틀라인은 마블 코믹스의 영웅들이 카드로 구성 • 카드에는 등급이 있고, 전투에서 사용할 때 코스믹 조각이 필요 • 카드는 공격력 / 방어력 / 레벨 등 게임 플레이 하면서 효과 특성이 다름 (필요 코스믹 개수가 다름, 캐릭터/액션 카드)
  42. 42. 문제 의식 전투에서 이기려면 (상위 유저가 되려면) 어떤 덱이 (12개 카드) 필요할까? 내가 가진 카드들 (덱) 전투 화면 (게임)
  43. 43. 문제 의식 말레키스 로난 두 캐릭터(말레키스, 로난) 카드는 얼마나 다를까??? 카드들의 조합 = 덱은 어떻게? VS
  44. 44. 문제 의식 Marvel Battle Lines : 카드 조합 전략 게임 -덱: 리더 카드 + 12장의 캐릭터 or 액션 카드 -유저 개인의 플레이 성향에 따라 덱 구성이 달라짐 Deck을 어떻게 평가할 수 있지? => IDEA. 카드를 숫자로 표현할 수 있지 않을까?
  45. 45. word2vec card2vec Thor Yondu IronMan Word embedding 방법 (매트릭스, 색깔이 진할수록 값이 크다고 했을 때) NLP(자연어처리) 기술을 가지고 card를 벡터로 바꿔보자
  46. 46. word2vec Word Embedding : 비슷한 분포를 가진 단어들은 비슷한 의미를 가질 것이라는 가정 (단어들이 같은 문맥에서 등장한다는 것) Example The king loves the queen The queen loves the king The dwarf hates the king The queen hates the dwarf The dwarf poisons the king The dwarf poisons the queen The king (주변 단어) ______ (중심 단어) the dwarf (주변 단어) (연속적인 여러 단어로부터 한 단어를 추측하는 것. CBOW : Continuous bag of words model) _____ ______ dwarf (중심 단어) _____ ______ (한 단어로부터 여러 단어를 추측하는 것. Skip gram)
  47. 47. word2vec Input Features Thor Yondu IronMan Loki Ultron … Trained Model Task : Predict the next card (Embedding -> Calculate Prediction -> Project to Output Content) Output Prediction 0% 0% 0.1% 0.5% 10% 30% … … Agent13 Black Mariah Colleen Wing Colony Of Ants Gangster Karen Page Kingpin
  48. 48. word2vec Thor, Yondu, IronMan(중심 카드), Loki, Ultron Thor, Yondu, ???, Loki, Ultron input output IronMan Thor IronMan Yondu IronMan Loki IronMan Ultron Skipgram mincount windows (parameter) Windows
  49. 49. word2vec NLP (자연어처리)에서 사용되는 방법론 이지만.. graph2vec event2vec Item2vec 응용 범위가 넓음
  50. 50. word2vec Aether!! (추천시스템 가명) Malekith 랑 유사한 카드 4개를 알려줘! 카드 벡터를 알면 토르 – 다크월드의 악당(Malekith)을 검색하니 마블 영화의 다른 악당들이 나온다!!! (일러스트 : 에보니 모, 로난, 바론 모르도, A-Bomb 순서)
  51. 51. word2vec 고수 (난 게임 고수) vs 양파 (하수 아닌데..ㅜ,ㅜ) 고수가 가진(보유한) 카드를 꺼내보자 {말레키스, 헐크, 토르, 타노스, …} 하수가 가진(보유한) 카드를 꺼내보자 {레드스컬, 블랙위도우, 닉 퓨리, 웡, …}
  52. 52. word2vec #내가 없고(하수) #너가 있는(고수) #좋은 카드 알려줘!! 카드 추천 시스템!
  53. 53. Ensemble Method 일부분을 본다고 해서 전체가 커버되지 않음!!
  54. 54. Ensemble Method ML 기반 추천 1 통계 기반 추천1 ML 기반 추천 2 ML 기반 추천 3 앙상블 (랭킹 모델) AB Test 조건 계산 Backend API Server Game Server 모델 변경 및 고도화
  55. 55. Solution
  56. 56. 요약 • 추천 시스템 게임에서는 채널과 피드백이 중요하고 어려움 • 워드 임베딩 기술은 추천 문제에서도 잘 동작하고, item2vec의 확장은 충분히 가능 • 추천 로직 1개로 커버리지가 안되면, 여러 로직을 앙상블하자
  57. 57. 요약
  58. 58. Interpretable Recommender System ☞ Playground
  59. 59. Recommender System Research • 사례 연구를 위해 참고하는 리서치 자료 DeepCTR(클릭율) Task 모음, Microsoft / Recommenders – github
  60. 60. Recommender System Research Recommender Systems (Bible) (Charu C. Aggarwal)
  61. 61. Data & Research • 2010년에 설립된 머신러닝 경진대회 플랫폼, 2017년 구글에게 인수 • 연구를 위해, 캐글은 데이터 사이언스를 익히기 가장 좋은 플랫폼
  62. 62. Data & Research • Kdnuggets • Machine Learning, Data Science, Data Mining, Big Data, Analytics, AI. Software (Suites, Text, Visualization) 관련 웹사이트
  63. 63. Data & Research • Towards Data Science Low-Cost Cell Biology Experiments for Data Scientists. Paper microscopes, public data repositories, and hosted notebooks solutions
  64. 64. 전체 요약 • Interpretable은 머신러닝 모델을 뜯어보고 살펴보기 • Recommender System은 채널과 피드백을 잘 골라보기 • Research는 공부 + 다양한 데이터 보기 + 사례를 트래킹
  65. 65. Appendix • Interpretable Machine Learning A Guide for Making Black Box Models Explain • The Art of Effective Visualization of Multi-dimensional Data • The Illustrated Word2vec • Recommender Systems The Textbook Charu C. Aggarwal • 블리자드 스캇 머서 “추천 시스템, 긍정적 플레이 이끌어낼 ‘당근’” http://www.khgames.co.kr/news/articleView.html?idxno=112527 http://www.thisisgame.com/webzine/news/nboard/4/?n=92529 • Visualizing Data using t-SNE
  66. 66. Speical Thanks!! NDC 발표를 추천해주고 모든 기획 및 개발 소스를 내어주신 황준식님 추천TF 프로젝트 관련 마블배틀라인(조정훈님, 이원동님) UP팀(이영득님, 원주경님, 채미르님) 플랫폼분석팀 (김영훈님, 강현정님, 문명희님)
  67. 67. 감사합니다.

×