이미지 출처는 링크 or 아이펠 교육 자료입니다.
7-1. 들어가며
학습 내용
-
추천 시스템 구축 전
-
추천 시스템을 괴롭히는 문제
- 콜드 스타트(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 : 영화 장르
현업에서는 데이터를 어떻게 구해야 할까?
만약 현업에서 데이터를 적용한다면..

- 사용자 연령에 맞는 콘텐츠 제공
- 다양한 태그 기반 추천
- 이러한 요구사항을 적용해야 할 경우, 그저 가지고 있는 데이터만으로 해결이 가능할까?
즉, 데이터를 구축하고 설계하고, 수집할 수 있어야 함!
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편이더라도, 연구가 다양한 경우도 있었음
-
프로젝트
- 캡스톤, 캐글 등에서 주최하는 추천 시스템 대회 참여
- 인턴을 통해 경험하기도 함
- 회사에서 우연히 추천 시스템 프로젝트를 담당하기도 함
- 개인적으로 추천 시스템 프로젝트를 진행하기도..
-
데이터 분석
- 기본적인 데이터 분석 가능해야 함
- 언어와 무관한 분석 가능해야 함
- 다양한 시각적 지표, 통계적 지표를 뽑아낼 수 있어야 하고, 가설 세우기도 가능해야 함
-
연구&개발
- 논문을 보고, 스스로 가설을 세워 연구를 할 수 있어야 함
- 모델 개발
- Backend 개발도 필요할 수 있음(API, 로직 요소들)
- Spark와 같은 데이터 엔지니어링 필요할 수 있음
참고 자료