티스토리 뷰

  1. 추천 시스템 개발에 필요한 3가지 스킬
  2. 추천 시스템 프로젝트 진행 방법
  3. 정리

 


1. 추천 시스템 개발에 필요한 3가지 스킬

  • 비즈니스 문제 해결 능력
    • 비즈니스 관점에서 추천 시스템을 도입함으로써 무엇을 기대할 수 있는지 정의!
      • 경우에 따라서는 추천 시스템이 필요하지 않거나 인기순 추천만으로 충분
    • 사용자의 어떤 행동 변화를 기대하는가에 관한 Key Goal Indicator(KGI) 또는 Key Performance Indicator(KPI) 책정이 매우 중요
      • 어떤 사용자의 행동을 최대화하고 싶은지에 따라 구현할 추천 시스템이 달라지기 때문에 대상 시스템에 관해 숙지하고 서비스상에서의 사용자 행동에 관해 깊이 이해해야 함
  • 데이터 사이언스 능력
    • 비즈니스 목표 달성을 위한 이상적인 추천 시스템을 실제로 구현하는 능력
    • 요구되는 데이터 사이언스 능력은 다루는 데이터의 양과 종류, 비즈니스에 필요한 추천 시스템의 구현 복잡도에 따라 다름
    • 전통적인 방법을 사용해 얼마만큼의 정확도가 나오는지 확인하고 이상과 현실의 차이가 너무 크지 않은지 검토하여, 적정 비즈니스 관련 부서와 커뮤니케이션 하는 것이 중요
    • 시행 착오 과정에서 데이터의 성질이나 각 추천 알고리즘의 장단점을 파악하는 것이 중요
    • 추천 알고리즘에 관한 논문을 조사하거나 자사 데이터에 적용할 수 있도록 수식이나 코드를 개선하는 고급 능력도 필요
  • 데이터 엔지니어링 능력
    • 추천 시스템을 실제 서비스에 조합할 때는 다양한 비즈니스 요건을 고려해 구현하고 시스템을 안정적으로 가동시켜야 한다.
      • 시간 문제 : 처리를 병렬화 하거나 데이터베이스 설계, 튜닝 등
      • 데이터를 가공하고 추천 목록 작성 연산을 수행하며 데이터베이스에 저장하는 파이프라인을 조정해야 함

 


2. 추천 시스템 프로젝트 진행 방법

2.1 과제 정의

  • 시스템을 도입하고 싶을 때는 먼저 ‘매출을 2배로 올리고 싶다’, ‘회원 등록을 2배로 늘리고 싶다’와 같이 비즈니스상의 목적(KPI)을 명확히
  • KPI와 현재와의 차이를 확인한 뒤 현재 자사 사이트의 과제를 정리하고 적절한 조치를 검토하여 과제 정확도를 높임
    • 정량적 분석 : ex. 웹 사이트 사용자의 행동 로그 데이터 분석을 통해 사용자의 상태 파악
    • 정성적 분석 : ex. 왜 사용자가 해당 상태인지 데이터로 조사하는 것보다 직접 사용자에게 물어 시사점 파악
  • 비즈니스 목표를 달성하기 위한 과제의 중요도 결정

2.2 가설 수립

  • 과제 해결 방법과 그것을 실현하기 위한 비용을 검토하여 Return On Investment(비용대비효과, ROI)가 높은 이니셔티브부터 실행
    • 과제를 대응책, 중요도와 비용으로 나열하여 우선순위 판단
    • 추천 시스템 대신 비용 대비 효과가 높은 경우가 많은 검색 시스템 기능이나 UI를 개선 하는 방향도 검토

2.3 데이터 설계/수집/가공

  • 자사 서비스가 어떤 데이터를 갖고 있는지 정리하고 그 데이터로 추천 시스템을 구축할 수 있는지 검토
    • 특히 서비스 초기 단계에서는 사용자와 아이템의 인터렉션 데이터가 없는 경우가 많으므로 우선 아이템 정보를 사용한 추천 시스템 구축부터 검토해야 할 때가 많음

2.4 알고리즘 선정

  • 알고리즘 계산 시간, 필요한 데이터, 요구되는 예측 정확도 등 다양한 관점에서 비즈니스 목표에 적합한 것을 선택
  • 서비스 초기에는 먼저 간단한 알고리즘부터 구현할 것. 추후 비용을 들여 정확도를 올릴 것

2.5 학습/파라미터 튜닝

  • 온라인에서 추천 시스템의 정확도를 검증할 때는 Recall, Precision과 같은 머신러닝 지표도 중요하지만 구체적으로 이 아이템을 넣으면 어떤 아이템이 나오는지 확인하고 그 결과가 납득되는지 확인해야 함
  • 개발자가 비즈니스 관련 부서와 의논할 때 추천 결과의 구체적인 사례를 제시하면 이미지를 떠올리기 쉬워 원만하게 커뮤니케이션을 할 수 있음
  • 데이터 편향을 제거 후 추천 시스템을 만들어 평가
    • 별 개수가 5개인 이유는 호감을 가진 사람이 주로 평가하는 경향
    • 검색엔진의 영향을 받아 검색 결과 상위에 나타나는 것을 주로 클릭하기 때문에 해당 자료가 잘 추천 됨

2.6 시스템 구현

  • 배치 추천
    • 정해진 시점에 해당 시점의 정보를 기반으로 추천 목록을 업데이트하여 사용자에게 제공하는 것
  • 실시간 추천
    • 사용자의 직전 행동 이력을 즉시 반영해 추천 목록을 만드는 것
    • 데이터의 동기화나 실시간 연산 등 엔지니어링 기술이 필요

2.7 평가 및 개선

  • 추천 기능을 출시하고 그것이 실제로 효과가 있는지 검증
  • 구입 금액이나 체류 시간을 검증 : A/B 테스트로 일부 사용자에게만 추천 기능을 제공해 추천했을 때와 그렇지 않을 때 비교검증
  • 추천 시스템 도입 후 추천을 통한 매출이 발생해도 그것을 성공이라고 간주하기는 아직 이름
    • 추천을 통한 매출이 증가해도 검색을 통한 매출이 감소하여 전체 매출이 감소한건 아닌지 같이 시스템 전체를 보고 확인하는 것이 중요

 


3. 정리

  • 프로젝트를 진행할 때 비즈니스 목표를 결정하고 데이터와 사용자 조사를 통해 현재 상태의 과제 정확도를 높이며 비용 대비 효과가 높은 이니셔티브를 수행하는 것이 가장 중요.

 

 

 

출처 : Oreilly 추천 시스템 입문

공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함