[DS] 추천시스템이란 무엇인가?


추천 시스템 이란 사용자의 과거 행동 데이터를 포함한 여러 데이터를 바탕으로 사용자가 관심을 가질만한 정보나 제품을 제시해주는 시스템입니다. 주요 추천 알고리즘은 다섯 가지가 있습니다

1. 협업 필터링 (Collaborative Filtering: CF)

협업 필터링이란 구매/소비한 상품에 대해 각 소비자의 평가를 받아 평가 패턴이 비슷한 소비자를 한 집단으로 보고 이를 바탕으로 추천하는 방식입니다.

예를 들어 소비자 A , B, C가 비슷한 평가 패턴을 가진 소비자라고 합시다. 어느날 BC는 제품 를 구매하고 상당히 만족하여 좋은 평가를 내렸는데 아직 A를 구매하지 않았다면 협업 필터링 방식의 추천 시스템은 A에게 제품 를 추천하게 될 것입니다. 특히 영화나 게임 등 취향이 뚜렷하게 구분되는 제품에 효과가 뛰어나서 넷플릭스아마존에서 사용합니다.

단점은 평가 데이터를 얻기가 어렵다는 점입니다. 이러한 점을 극복하기 위해 클릭 스트림이나 장바구니를 대체 데이터로 사용합니다.

2. 컨텐츠 기반 필터링 (Content-Based Filtering: CB)

컨텐츠 기반 필터링은 제품의 내용을 분석해서 추천하는 방식입니다. 특히 텍스트 정보가 많은 제품을 추천하는데 유용하게 사용됩니다.

예를 들어 소비자 A가 관심을 보이는 제품에 라는 키워드가 있다면 라는 키워드를 가진 다른 제품을 A에게 추천해주게 됩니다.

3. 지식 기반 필터링 (Knowledge-Based Filtering: KB)

지식 기반 필터링은 도메인 지식을 이용해 추천하는 방식입니다.

예를 들어 A가 컴퓨터에 관심을 보인다면 그와 관련된 키보드, 마우스, 프린트 등 컴퓨터와 관련된 제품에 관심을 보일 것이므로 그것을 추천할 것입니다.

하지만 도메인 지식은 한계가 존재하므로 모든 분야에 적용하기 어렵습니다.

4. 딥러닝 추천 (Deep Learning: DL)

딥러닝 기술을 사용하여 추천해주는 방식입니다. 다양한 feature를 넣을 수 있다는 장점이 있지만 성능이 크게 우월하지는 않아 아직 보조적인 수단으로 쓰는 경우가 많습니다.

5. 하이브리드 (Hybrid)

두 가지 이상의 기술을 혼합하여 추천하는 방식입니다.


다음 포스팅에서는 협업 필터링을 좀 더 자세히 다루도록 하겠습니다