반응형
추천 시스템(Recommender System)- 1. 개요
1. 추천 시스템(Recommender System)
추천시스템에 대한 관심이 있었고 이번 프로젝트에서 사용할 수 있는 기회가 생겨서 두 시스템 다 만들어 보면서 공부한 것을 정리해봅니다. 이번에 프로젝트에서 최우수팀으로 선정되었네요. 특히 동일 서비스 주제로 4팀 이상 나왔었는데 너무 만족스러운 결과입니다.
추천시스템은 정보 필터링(Information Filtering, IF)의 하나로 특정 사용자가 관심을 가질만한 아이템을 (영화, 음악, 책, 뉴스, 이미지, 웹 페이지 등) 추천한다.
추천 시스템은 많은 웹 사이트에서 많이 볼 수 있는 서비스 중 하나이다. 예를 들어 쇼핑, OTT나 음악 같은 컨텐츠 스트리밍 등의 서비스를 이용하면 데이터를 기반으로 추천해준다.
이제 부터 하단의 단어로 용어를 통일해서 사용하겠습니다.
아이템(Items): 추천시스템이 추천하는 개체(예. 컨텐츠, 음악, 영화 등)
쿼리(Query): 추천시스템에서 추천에 사용하는 정보들(유저 정보. 유저 정보 이외 추가적인 정보)
큰 규모의 추천 시스템(Large-Scale Recommendation Systems)에서는 2가지로 나뉜다.
(1) home page recommendations
- 홈페이지 추천은 유저들의 취향에 맞춰 개인화되어 있다. 사이트나 앱에서 ‘당신을 위한 추천’과 같은 문구와 함께 추천된 목록을 볼 수 있다.
(2) related item recommendations
- 특정 아이템과 유사한 아이템들 추천한다. 예를 들어서 앱 다운 받으려 검색해서 눌러보면 해당 앱과 유사한 목적의 앱들을 같이 추천해준다.
왜 추천시스템이 필요할까?
- 정보의 바다에서 사용자가 원할 거 같은 아이템 추천해주기 때문에 유용하고 적용을 할 수 있는 분야가 광범위하다. 거대한 corpora(거대한 코퍼스(corpus)/큰 구조화된 텍스트 집합)에서 유저의 관심을 끌만한 아이템을 보여준다. 아이템들은 매일 업데이트되고 있고 그중 생각도 못했지만 가장 좋아할 만한 아이템들을 효과적으로 찾아준다. 또한 유저가 생각 못했을 아이템도 찾아준다.
- 60%의 유튜브의 시청시간은 추천시스템으로 이뤄냈다.
- 구글 플레이에서 40%의 앱 다운로드는 추천시스템으로 이뤄냈다.
유명한 일화 중 하나로 한 이커머스 사이트가의 예측 알고리즘으로 부모보다 먼저 십대 딸의 임신한 것을 알아차린 사례가 있다. 딸 아버지는 딸에게 온 아기 옷, 침대 광고물을 받은 것에 대해 분노하여 매니저를 찾아가 따졌다. 매니저는 당시에 사과했지만 며칠 후에 그 딸 아버지로부터 사과 전화를 받았는데 알고 보니 딸이 임신을 했던 것. 그럴 수 있던 이유는 딸이 구매 목록이 임신 초기인 사람들이 구매한 목록과 유사했기 때문이다. 참고로 고객 프로파일링 하는 것은 개인 데이터를 사용하는 예민한 일이기 때문에 이제는 다른 카탈로그랑 섞어서 보낸다고 한다.
사실 이 일화에 대해서 타겟이 사용하는 알고리즘이나 알고리즘 성능의 지표에 대해서도 따로 말하고 있지 않고 있다.
How Target Figured Out A Teen Girl Was Pregnant Before Her Father Did
2. 추천시스템 아키텍처
추천 시스템은 3가지 아키텍처로 주로 나눠진다
- candidate generation(후보 생성)
- 주어진 쿼리를 통해서 추천 시스템 알고리즘을 통해서 corpora에서 후보군을 추려낸다.
- 종류
- content-based filtering(콘텐츠 기반 필터링)
- collaborative filtering(협럽 필터링)
- scoring(점수화)
- 유저에게 선정해서 전달하기 위해서는 점수를 주고 점수 기반으로 랭킹을 매긴다.
- re-ranking(재 랭킹)
- 추가적인 제약 사항들을 거친다. (예. 유저가 싫다고 표시한 아이템 제외)
- 다양성, 공평성, 신선함을 위해서 적용해야 함
출처
https://en.wikipedia.org/wiki/Recommender_system
https://developers.google.com/machine-learning/recommendation
반응형
'Data > ML' 카테고리의 다른 글
추천 시스템(Recommender System)- 3. Collaborative Filtering(협업 필터링) (0) | 2022.02.06 |
---|---|
추천 시스템(Recommender System)- 2. Content-based Filtering(콘텐츠 기반 필터링) (0) | 2022.02.05 |
TensorFlow.js 소개 및 Python 모델 변환 (0) | 2022.01.18 |
Deep Learning(딥러닝) - 4.오차역전파(Error Backpropagation) (0) | 2021.10.17 |
Deep Learning(딥러닝) - 3.활성화 함수(Activation Function) (0) | 2021.10.16 |