이미지 출처는 링크 or 아이펠 교육 자료입니다.


7-1. 들어가며


학습 내용

  • 추천 시스템 구축 전

    • 준비 단계(Feat. 데이터)
  • 추천 시스템을 괴롭히는 문제

    • 콜드 스타트(Cold start)
    • 다양성(Diversity)
    • 콜드 스타트와 다양성 문제
  • 추천 시스템 구축과 적용 후

    • 추천 모델과 시스템 관리
  • 추천 시스템 개발자

    • 커리어와 취업

학습 목표

  • 추천 시스템 구축 시 겪을 수 있는 문제점들에 대한 내용 파악
  • 추천 시스템의 구축 이전, 이후 중요 포인트 확인
  • 추천 시스템 개발자가 되기 위한 방법과 커리어 관련 내용


7-2. 추천 시스템을 구축하기 전에


준비 단계(Feat. 데이터)


ratings.dat

  • 사용자 평점 데이터
  • UserID, MovieID, Rating, Timestamp
    • UserID : 1 ~ 6040(익명)
    • MovieID : 1 ~ 3952
    • Rating : 5점 만점 기준 평점

users.dat

  • 사용자 정보 데이터
  • UserID, Gender, Age, Occupation, Zip-code
    • UserID : 1 ~ 6040(익명)
    • Gender : M, F
    • Age : 1 - 18세 이하, 2 - 18~24세, 3 - 25~34세 ...
    • Occupation : 2 - artist, 8 - farmer ...

movies.dat

  • 영화 정보 데이터
  • MovieID, Title, Genres
    • MovieID : 1 ~ 3952
    • Title : 영화 제목
    • Genres : 영화 장르

현업에서는 데이터를 어떻게 구해야 할까?


만약 현업에서 데이터를 적용한다면..

  • 요구 사항
  1. 사용자 연령에 맞는 콘텐츠 제공
  2. 다양한 태그 기반 추천
  • 이러한 요구사항을 적용해야 할 경우, 그저 가지고 있는 데이터만으로 해결이 가능할까?

즉, 데이터를 구축하고 설계하고, 수집할 수 있어야 함!


7-3. 추천 시스템을 괴롭히는 문제


콜드 스타트(Cold Start)

  • 협업 필터링 기반 추천 시스템을 구축

    • 사용자 기반

    • 아이템 기반

  • 오래도록 접속하지 않았거나 새롭게 가입한 사용자가 유입되었을 경우 최근 이력이 없음

  • 새로운 콘텐츠가 신규로 만들어졌을 경우에도 이력이 없음


  • 딥러닝 기반 추천 시스템 모델 구축
    • 사용자 임베딩을 0 ~ N까지 구축 완료
    • 새로운 사용자가 들어왔다?

즉, 콜드 스타트는 추천 시스템에 충분한 데이터가 제공되지 못하는 경우 발생하는 문제!


다양성(Diversity)

  • 사용자와 아이템 간 유사도 계산 ➡️ 인기가 많은 아이템 관련만 추천

추천 시스템에 충분한 데이터가 제공되어도, 특정 콘텐츠만 노출되는 문제!


콜드 스타트와 다양성 문제가 중요한 이유

콜드 스타트

  • 신규 사용자에 한해서는 맞춤형 서비스 불가능

    • 신규 사용자의 경우, 서비스 이탈 가능성이 높은데도 불구하고 엉뚱한 콘덴츠가 제공될 수 있음
    • 장기적으로 봤을 경우에도, 신규 사용자가 제공해주는 UX를 시스템에서 많이 놓칠 수 있음
  • 신규 아이템 노출이 되지 않음

    • 신규 아이템이 비즈니스 전략적으로도 매우 중요함에도 노출이 되지 않는 문제가 발생할 수 있음

다양성

  • *2:8 법칙(파레토 법칙) 발생

    • 특정 콘텐츠만 지속 노출
    • 사용자 경험 측면에서도 좋지 않음
  • 편향 정보 제공

참고 자료

*2:8 법칙(파레토 법칙)

  • 전체 결과 80%가 전체 원인 20%에서 일어나는 현상을 의미
    • 소수 콘텐츠가 전체 추천 콘텐츠로 보일 가능성이 높다는 것
      [출처: 기술과 혁신(2022년 7/8호 Vol. 454)]


7-4. 추천 시스템 구축과 적용 후


추천 시스템 구축


모델 연구 및 성능 테스트


시스템 구축 및 배포


시스템 관리는 필수!

모델 관리

  • 추천 모델 지표 성능 유지 여부
  • 지표에서 이상한 부분이 있는지, 이상이 생겼는지 여부
  • 추천 모델의 정상 훈련 여부

시스템 관리

  • API 문제 여부
  • 이상없이 작업이 잘 수행되는지 여부
  • ETL 과정에서의 이상 여부
  • 배치 작업에서의 에러 여부

꾸준한 모니터링이 아주 중요함!



7-5. 추천 시스템 개발자


커리어와 취업

  • 학위

    • 석사 이상의 학위가 필수는 아님
    • 다만, 논문 해석은 필수
    • 기초적인 이론 지식(통계, 수학..) 필수
    • 논문 투고도 가능해야 함!
  • 아이디어 & 자기개발

    • NLP, Vision 등 다양한 분야를 응용해야 함
    • 스스로의 모델 아이디어가 필요
    • 지속적으로 공부해야 함
      • 논문 읽기, 컨퍼런스 참여, 밋업 참여 등..
  • 마인드셋

    • 고객이 무엇을 원하는지를 중점적으로 고민해야 함!
    • 회사가 무엇을 원하는지도 포함
  • 대학원

    • 대학원 과정에서 추천 시스템 연구 및 취업을 하는 경우도 많은
    • 2~3편 정도의 연구 및 논문 발표
    • 추천 시스템 논문은 1편이더라도, 연구가 다양한 경우도 있었음
  • 프로젝트

    • 캡스톤, 캐글 등에서 주최하는 추천 시스템 대회 참여
    • 인턴을 통해 경험하기도 함
    • 회사에서 우연히 추천 시스템 프로젝트를 담당하기도 함
    • 개인적으로 추천 시스템 프로젝트를 진행하기도..
  • 데이터 분석

    • 기본적인 데이터 분석 가능해야 함
    • 언어와 무관한 분석 가능해야 함
      • SQL, Python 등
    • 다양한 시각적 지표, 통계적 지표를 뽑아낼 수 있어야 하고, 가설 세우기도 가능해야 함
  • 연구&개발

    • 논문을 보고, 스스로 가설을 세워 연구를 할 수 있어야 함
    • 모델 개발
    • Backend 개발도 필요할 수 있음(API, 로직 요소들)
    • Spark와 같은 데이터 엔지니어링 필요할 수 있음

참고 자료

profile
언젠가 내 코드로 세상에 기여할 수 있도록, Data Science&BE 개발 기록 노트☘️

0개의 댓글

관련 채용 정보