일반적으로 딥러닝을 활용한 추천시스템은 개인화 추천시스템 알고리즘을 의미한다. 즉, 내가 선택한 아이템을 기반으로 유사한 아이템이나, 다른 사람들이 함께 좋아한 아이템 등을 추천해주는 것이다. 추천시스템은 자연어 처리 방법론과 컴퓨터 비전 방법론이 모두 활용될 수 있다. 추천시스템의 목적은 결국 좋은 아이템을 추천해주는 것인데, 여기서 좋은 아이템을 추천해주는 방법을 어떻게 정의하느냐에 따라 방법은 무궁무진하다. 예를 들면, 같은 영상 플랫폼이라고 하더라도 유튜브와 틱톡의 영상 추천 알고리즘은 다를 수밖에 없다. 그리고 같은 유튜브라고 하더라도 메인 화면에 영상을 추천하느냐, 아니면 한 영상의 댓글을 추천하느냐에 따라 또 달라질 것이다. 또한 음악, 영상, 글 등 어떤 아이템을 다루느냐에 따라 달라지기도 한다.
사용자가 관심 있는 아이템과 유사한 아이템을 필터링하는 것을 말한다. 유사도를 계산하기 위해 아이템을 벡터화하는데, 데이터의 형태(텍스트, 이미지)에 따라서 벡터화하는 방법이 다를 것이다.
수집된 데이터(평점, 클릭 여부 등)를 기반으로 사용자와 아이템간의 행렬을 만들어 이를 활용한 추천시스템을 구성하는 것이다. 이때 사용자의 유사도를 중심으로 계산하는지, 아니면 아이템의 유사도를 중심으로 계산하는지에 따라 결과가 달라지기도 한다. 그리고 이 행렬에서 핵심을 추출하기 위해 행렬분해 방법이 활용된다.
근래에 많이 활용되고 있는 방법 중 하나로 온라인 상에서 클릭 여부에 따라 추천하는 것이다. 강화학습의 장점은 선택이 결과에 빠르게 반영될 수 있다는 것이다. 그리고 계속 반복되는 콘텐츠의 추천을 막기 위해 한 번도 보지 못한 참신한 추천을 반영할 수 있다는 것도 특징이다.
이외에도 다양한 추천시스템 방법론이 존재한다. GNN 기반, Session 기반 추천시스템 등 더욱 정교한 추천을 위한 방법을 끊임없이 찾고 있다. 추천시스템은 기업의 추천 전략이 담겨 있어 다른 분야에 비해서 논문이 활발하게 공유되지는 않는다. 따라서 공부를 위해서는 관심 기업의 추천시스템 전략을 찾아보는 것이 도움이 될 것이다.
넷플릭스하면 재미있는 콘텐츠를 추천해주는 것으로 유명하다. 행렬 분해가 일반적으로 쓰이기도 하지만, 여기서는 2009년 넷플릭스 영상 추천 대회에서 수상한 행렬분해 기법에 관한 Matrix Factorization Techniques for Recommender Systems 논문을 의미한다. 여기서는 행렬 분해를 통해 사용자와 아이템의 잠재적인 정보를 반영한 벡터들을 만들어내는 방법을 소개한다.
Factorization Machine(FM)은 2010년에 등장한 협업 필터링 방법론의 추천시스템 논문이다. 사용자와 아이템간의 평점 행렬을 만들고, 추가로 메타 데이터(사용자나 아이템의 정보를 가지고 있는 데이터)들을 입력 데이터로 활용하여 평점을 예측하는 방법으로 학습한다. 여기서 중요한 것은 기존 머신러닝과 같이 선형적으로 평점을 예측하는 항과 사용자-아이템간의 상호작용을 계산하는 항을 결합했다는 것이다. 이런 구조는 이후에 나올 논문들에서도 보인다. FM은 상대적으로 도메인의 영향을 크게 받지 않는 강건한 모델이기 때문에, 여러 분야에서 쓰인다.