1.2 협업 필터링과 콘텐츠 기반 필터링 추천 기법

추천 시스템은 사용자들이 원하는 정보를 쉽게 찾을 수 있게 도와주는 정보 검색(Information Retrieval, IR) 연구를 바탕으로 1990년대 중반 협업 필터링(Collaborative Filtering)에 관한 논문이 발표된 이래, 활발한 연구 활동을 통한 다양한 추천 기법이 연구되었고 많은 기업이 추천 시스템을 도입하면서 현재는 사용자의 취향과 선호도를 고려하여 개인화된 정보를 제공하는 추천 시스템의 중요성이 더욱 높아졌습니다.

추천 시스템은 추천을 위해 추천 기법들에 따라 다양한 유형들이 있지만, 전통적인 추천 기법에는 크게 협업 필터링과 콘텐츠 기반 필터링(Content-based Filtering)이 있습니다. 여기에서 필터링(Information Filtering)이란 온라인의 특성상 사용자가 너무 많은 정보에 한 번에 노출되어 어떤 아이템을 직접 선택하기 어려울 만큼 정보 과잉현상을 줄여준다는 의미로 생각하면 됩니다.

  • 협업 필터링 추천 기법
  • 콘텐츠 기반 필터링 추천 기법

1.2.1 협업 필터링 추천 기법

협업 필터링 추천 기법은 평점이나 구매 이력과 같이 사용자와 아이템 사이에서 사용자의 선호나 취향을 확실하게 표현하는 명시적인 피드백에 기반하여 추천하는 방법입니다. 이는 많은 사용자로부터 시스템 내부에 축적된 사용자의 선호도 정보를 기반으로 특정 사용자(Target User)가 아직 선호나 취향을 표현하지 않은 아이템에 대한 사용자의 선호도(Preference)를 예측(Prediction)하여 예상 선호도가 높은 아이템을 추천(recommendation)하는 기법입니다.

협업 필터링 추천 기법은 크게 메모리 기반 협업 필터링 방법과 모델 기반 협업 필터링 방법의 두가지로 구분할 수 있습니다.

  • 메모리 기반 협업 필터링 방법
  • 모델 기반 협업 필터링 방법

메모리 기반 협업 필터링 방법은 이웃 기반(Neighborhood-Based)이라고도 하며, 추천 시스템에서 가장 기본적이면서도 전통적인 방법으로 별도의 모델을 만들지 않고 평점 데이터를 모두 메모리에 적재하여 연산을 수행하여 추천하는 방법입니다.

메모리 기반 협업 필터링 방법의 장점은 추천 과정이나 결과가 직관적이며 평점 데이터만 있으면 아이템이 가진 다양한 특징을 고려할 필요가 없어 어떤 유형의 아이템이든지 잘 동작하고 정보의 양이 늘어날수록 추천 결과가 보다 정확해지는 장점이 있습니다. 또한, 모델 기반 협업 필터링 방법에 비하여 구현이 간단하고 추천 결과를 설명하기 용이합니다. 그러나 반대급부로 다음과 같은 메모리 기반 협업 필터링 방법이 가지는 여러 한계점과 제약 조건도 존재합니다.

  • 콜드 스타트(Cold Start) 문제 -- 협업 필터링 추천 기법은 추천을 위해 시스템에 수집되어 있는 선호도 정보(사용자와 아이템 사이의 인터랙션)를 이용합니다. 따라서 신규 사용자와 같이 아무런 선호도 정보가 기록되지 않는 경우에는 어떤 아이템도 추천할 수 없습니다. 콜드 스타트란 이처럼 시스템이 새로운 또는 어떤 사용자들에 대한 충분한 선호도 정보가 수집된 상태가 아닌 경우 특정 사용자들에게 적절한 아이템을 추천해주지 못하는 상황을 말합니다. 다른 예를 들면 새로운 서비스가 처음 운영되기 시작했을 때 추천을 위한 아이템들은 존재하더라도 이 아이템들에 대한 사용자의 선호 정보가 거의 없기 때문에 콜드 스타트 문제는 필연적으로 발생합니다.
  • 롱테일(Long Tail) 문제 -- 파레토 법칙은 이탈리아의 경제학자인 파레토가 발표한 상위 20%의 인구가 전체 부의 80%를 차지한다는 의미로 상위 20% 상품 매출이 전체 매출의 80%를 차지한다는 뜻으로 사용됩니다. 롱테일은 꼬리가 길다란 뜻으로 역파레토 법칙이라고도 부르기도 하며 파레토 법칙에서 하위 80%에 해당하는 다수의 비인기 상품을 긴 꼬리에 비유한 용어로 주목받지 않는 다수가 핵심적인 소수보다 더 큰 가치를 창출하는 현상을 나타냅니다. 추천 시스템에서는 인기 편향성의 문제로 사용자가 소수의 아이템만 선호하여, 대다수의 비인기 아이템들 추천을 위한 충분한 정보를 가지지 못하는 문제입니다. 또한 새로운 아이템이 서비스에 등록되면 이 아이템에 대한 사용자 인터랙션 정보는 거의 없기 때문에 추천의 품질이 낮아지게 됩니다. 다른 예를 들면 서비스에 등록된 지 오래되고 사용자들에게 인기 있는 소수의 아이템이 이후에 등록된 유사한 아이템들에 비하여 더 많은 사용자의 인터랙션 정보를 가지기 때문에 더 높은 선호도 점수를 가지는 문제도 있습니다.
  • 희소성(Sparsity) 문제 -- 평점 행렬(사용자 인터랙션 정보)은 콜드 스타트 문제와 롱테일 문제와 같이 생각해보면 행렬의 값이 대부분 0인 희소 행렬(Sparse Matrix)일 수밖에 없습니다. 콜드 스타트 문제는 새로운 사용자나 아이템에 대한 사용자 인터랙션 정보가 희소하여 발생하는 문제이며 롱테일 문제는 다수의 비인기 아이템의 사용자 인터랙션 정보가 희소하여 발생하는 문제입니다. 희소성(Sparsity) 문제는 새로운 사용자가 서비스에 합류할 때 사용자의 선호도 정보를 미리 수집하거나 모델 기반 협업 필터링 방법을 사용하여 일부 해결할 수 있습니다.
  • 계산 효율 저하 -- 협업 필터링 사용자 인터랙션 정보의 규모 문제로 데이터가 적으면 추천 품질이 낮아지지만 많아질수록 모두 메모리에 적재하여 연산을 수행하기 때문에 처리 시간이 길어져 시간이 지날수록 계산 효율이 저하되는 문제입니다. 협업 필터링은 추천을 위해 새로운 사용자 인터랙션 정보가 들어올 때마다 전체 사용자 인터랙션 정보와 연산을 해야 하는 계산량이 많은 알고리즘이기 때문에 사용자가 많아질수록 계산량이 많아집니다. 이처럼 협업 필터링은 사용자 인터랙션 정보가 일정 수준 이상이어야 추천 품질이 높아질 수 있는 반면 계산 시간이 더욱 많이 걸리게 되는 딜레마를 가지고 있습니다.

모델 기반 협업 필터링 방법은 사용자 선호도 정보를 이용하여 사용자의 선호도를 추정할 수 있는 모델을 학습하여 추천하는 방법입니다. 모델 학습 없이 명시적 데이터를 활용해 사용자의 선호도를 추정하여 아이템을 추천하는 메모리 기반 협업 필터링 방법과 달리, 사용자 인터랙션 정보를 있는 그대로 사용하지 않고 머신러닝이나 데이터 마이닝 기법들을 기반으로 사용자와 아이템의 특성을 추론하기 때문에 메모리 기반 협업 필터링 방법의 여러 한계점과 제약 조건을 해결하기 위해 좀 더 다양한 형태로 추천이 가능한 장점이 있습니다.

이러한 장점 때문에 모델 기반 협업 필터링 방법이 최근 많이 연구되고 적용되고 있습니다. 하지만 모델 기반 협업 필터링 방법에도 한계점과 제약 조건이 있습니다. 모델 기반 협업 필터링 방법은 머신러닝이나 데이터 마이닝 기법들을 기반으로 훈련 데이터를 학습하여 모델을 만들기 때문에 학습 시간이 별도로 필요하며 데이터의 특성과 모델 생성을 위한 많은 매개변수를 고려하여 설정하여야 하며 가장 큰 단점은 새로운 사용자가 들어올 때마다 또는 주기적으로 모델을 재생성하여야 하므로 매번 수행하는 계산량이 어마어마해진다는 것입니다. 그리고, 머신러닝이나 데이터 마이닝 기법들을 사용하기 때문에 추천 과정이나 결과를 직관적으로 해석하기에 어려움이 있습니다.

1.2.2 콘텐츠 기반 필터링 추천 기법

콘텐츠 기반 필터링 추천 기법은 사용자가 특정 아이템에 관심을 가지는 경우와 같이 사용자가 은연중에 아이템에 관심을 표현하는 묵시적인 피드백에 기반하여 추천하는 방법으로 사용자가 관심을 표현한 아이템의 콘텐츠(내용적 특성)를 기반으로 특정 사용자에게 비슷한 콘텐츠를 가진 다른 아이템을 추천하는 기법입니다.

여기에서 사용자가 관심을 표현한 아이템들을 아이템 프로파일(Item Profile)이라고 하고, 이 아이템 프로파일에서 나타나는 사용자의 공통된 특징을 사용자 프로파일(User Profile)이라고 하며 이를 기반하여 추천하는 방법입니다. 콘텐츠 기반 필터링 기법의 장점은 추천 과정이나 결과가 직관적이며 다른 사용자의 선호를 고려할 필요 없이 사용자의 선호(사용자 프로파일)만을 고려하여 추천이 가능하기 때문에 희소성 문제는 발생하지 않으며 사용자에게 다소 의외이거나 새로운 아이템도 추천할 수 있습니다. 그러나 반대급부로 다음과 같은 여러 한계점과 제약 조건도 있습니다.

  • 특징 추출 문제 -- 콘텐츠에서 비슷한 아이템을 명확하게 잘 설명하는 특징(Feature)을 찾아내기 어려움이 있습니다. 또한, 대부분 특징들은 적용 범위가 텍스트로 한정되어 적합한 경우가 아니면 한계가 있습니다. 이는 콘텐츠 기반 필터링이 웹 검색과 같은 정보검색(Information Retrieval)에 기초를 두고 있기 때문에 텍스트 기반 콘텐츠로부터 사용자 프로파일을 생성하는 경우가 많기 때문입니다.
  • 과잉전문화(Overspecialization) 문제 -- 콘텐츠 기반 필터링에서는 사용자가 선호하는 아이템과 비슷한 특징을 가지는 아이템들을 선호한다는 것을 전제로 추천합니다. 과잉 전문화는 추천의 결과가 사용자가 이전에 선호를 표시한 아이템과 비슷한 아이템들만 지속적으로 추천되어 추천의 범위가 좁아진다는 것입니다. 다른 예를 들면 머신러닝에서 실제 데이터의 부분집합인 학습 데이터를 과하게 학습하여 학습 데이터에 대한 오차는 감소하지만 실제 데이터에 대한 오차는 증가하는 과적합(Overfitting)을 떠올리면 됩니다.
  • 콜드 스타트 문제 -- 새로운 사용자가 서비스에 합류하는 경우에는 사용자의 선호 정보가 거의 없기 때문에 추천을 위한 사용자 프로파일 생성이 어려워 콜드 스타트 문제가 발생합니다.

1.2.3 하이브리드 필터링 추천 기법

하이브리드 필터링 추천 기법은 둘 이상의 필터링 기법을 조합하여 좀 더 정확한 추천을 하고자 하는 기법입니다. 예를 들어, 콘텐츠 기반 필터링과 협업 필터링 기법의 추천 결과나 필터링 기법을 조합하여 서로의 단점을 보완함으로써 추천의 성능을 높일 수 있습니다. 콘텐츠 기반 필터링 기법의 특성을 통해 아직 어떤 사용자도 선호를 나타내지 않은 아이템을 추천하는 것도 가능하고 협업 필터링 기법의 특성으로 예를 들어 사용자 프로파일을 통해 프로파일과 비슷한 아이템을 추천하거나 사용자에게 전혀 새로운 아이템을 추천할 수도 있습니다.

협업 필터링과 콘텐츠 기반 필터링 추천 기법에 대하여는 이 정도 소개하는 선에서 마무리 짓고, 협업 필터링 추천 기법 중 메모리 기반(Memory-based) 방법 중 하나인 이웃 기반(Neighborhood-Based) 협업 필터링과 모델 기반(Model-based) 방법인 규칙 기반(Rule-Based) 협업 필터링과 잠재 요인(Latent Factor) 협업 필터링, 그리고 콘텐츠 기반 필터링 추천 기법에 대해서는 이후에 다시 자세히 다루도록 하겠습니다. 여기에서 다루지 않는 추천 기법에 대한 자세한 내용은 다른 서적이나 자료를 참고하여 주세요.

  • 이웃 기반 협업 필터링 추천
  • 규칙 기반 협업 필터링 추천
  • 잠재 요인 협업 필터링 추천
  • 콘텐츠 기반 필터링 추천
한글:3643 영어:328 숫자:26

추천 시스템: 워크북

Comments

Do you have a problem, want to share feedback, or discuss further ideas? Feel free to leave a comment here! Please follow Rust's code of conduct. This comment thread directly maps to a discussion on GitHub, so you can also comment there if you prefer.

Instead of authenticating the giscus application, you can also comment directly on GitHub.