안녕하세요. Gameeye에서 deeplol.gg 서비스를 개발 중인 김철기입니다.
클라우드 서버 인프라 구축, 백엔드 개발, 딥러닝 모델 연구를 담당하고 있습니다.
최근 많은 웹 또는 앱 서비스에서 추천 시스템을 통해 사용자들의 사용성을 높이려고 노력하는 것을 느낄 수 있습니다. 그리고 그만큼 추천 시스템을 개발할 수 있는 인력의 수요도 늘어나고 있죠..! 그래서 저도 한발 담궈보고자 추천 시스템을 열심히 공부해보려고 합니다.(농담 반, 진담 반입니다. 개인적으로 진행하는 프로젝트에도 적용해보려는 목적도 있거든요!)
개인적인 이야기는 여기까지하고 추천 시스템이란 무엇인지 살펴보는 시간을 갖도록 하겠습니다.
과거 사람들은 정보의 양이 많아지자 정보를 분류해서 접하길 원했습니다. 키워드를 기준으로 정보를 나누고 원하는 키워드만 선택해서 접하는 방법을 원했던 것이죠. 이 방법은 어렵지 않았습니다. 금방 구현할 수 있었죠.
이후 사람들은 더 나아가 분류된 정보 중 나에게 필요한 정보만 누군가 추려서 보여주길 원하게 됩니다. 인공지능이 자동으로 내가 원하는 정보만 추려주길 원했던 것이죠. 이것이 1990년대 사람들이 했던 생각입니다.
지금은 그때와 비교할 수 없을 정도로 많은 정보가 쏟아지는 시대입니다. 사람들은 자동으로 나에게 맞는 정보를 추려서 보여주는 추천 시스템이 더욱 필요해졌죠.
추천 시스템의 필요성에서 대략적으로 언급되었지만 다시 한번 추천 시스템이 무엇인지 정의하겠습니다.
추천 시스템이란?
추천 시스템은 정보 필터링 기술의 일종으로, 특정 사용자가 관심을 가질만한 정보 (영화, 음악, 책, 뉴스, 이미지, 웹 페이지 등)를 추천하는 것이다. 추천 시스템에는 협업 필터링 기법을 주로 사용한다. 소셜 북마크 사이트에서 링크를 사람들에게 추천하고 무비렌즈 데이터 세트에서 영화를 추천하는 방법등이 이에 속한다.
위키백과에 작성되어 있는 정의입니다. 쉽게 말하면 사용자들의 기호를 파악해 컨텐츠를 추천하는 시스템인 것이죠. 여기서 기호를 파악한다는 것이 중요합니다.
사용자의 기호는 보통 사용자의 개인정보 또는 행동으로 파악됩니다.
추천 시스템의 목표는 크게 아래 3가지 항목으로 구성됩니다.
Relevance: 추천된 아이템이 사용자와 관련이 있는가?
Novelty: 진부한 아이템이 아니라 사용자가 찾지 못한 아이템을 추천했는가?
Serendipity: 사용자가 예상하지 못한 아이템을 추천했는가?
아마존의 관련 제품 추천, 쿠팡의 다른 고객이 함께 구매한 상품
넷플릭스 영상 추천, 유튜브 뮤직 나에게 맞는 음악 추천
페이스북 친구 추천, 링크드인 추천
광고 또한 넓은 의미에서 추천이라고 볼 수 있습니다.
하지만 추천 시스템에서는 개인화가 핵심이며 광고 마케팅 영역이 아닌 통계와 머신러닝을 활용한 추천 시스템을 공부할 것입니다.