Content-based Filtering
content-based filtering은 item feature를 사용하여 이전 actions이나 explicit feedback을 기반으로 사용자가 좋아하는것과 유사한 다른 항목을 추천
Google Play 스토어의 일부 기능을 직접 설계해보자. 다음 그림은 각 행이 앱을 나타내고 각 열이 기능을 나타내는 feature matrix를 보여준다.
사용자를 같은 feature space에 표시가 가능하다. user-felated features 중 일부는 사용자가 명시적(explicit)으로 제공할 수 있다. (내가 어떤 서비스가 관심이 있는지 초기 선택이 필요하다.) 예를 들어서 사용자가 “Entertainment apps”를 선택했을때 다른 features는 이전에 설치된 앱에 따라 implicit 일 수 있다. 예를 들어 사용자가 Science R Us에서 게시 한 다른 앱을 설치
사용자가 선호했다고 말하진 않았지만 선호하는 앱에 따라 추정
모델은 사용자와 relevant items을 추천해야 한다. 이렇게 하려면 먼저 similarity metric (예:dot product)을 선택해야 한다. 그 다음 유사성 메트릭에 따라 각 후보 항목의 점수를 매기도록 시스템을 설정해야 한다. 모델이 다른 사용자에 대한 정보를 사용하지 않았으므로 권장 사항은 이 사용자에게만 해당이 된다.
Using Dot Product as a Similarity Measure
- user embedding x binary vectors
- app embedding y binary vectors
- 두개의 dot product에서 common features가 많이 나타날수록 higher similarity를 의미한다.
Advantages & Disadvantages
-
Advantages
- 특정 사용자에 대해서 추천하기 때문에, 다른 사용자의 데이터가 필요 없다. 사용자가 많아저도 scale 하기 쉽다.A
- 특정 유저의 specific interests를 캡처하고, 다른 사용자가 거의 관심을 보이지 않는 틈새 항목을 추천할 수 있다.
-
Disadvantages
- item의 feature representation은 어느 정도 hand-engineered으로 설계되었으므로 이 기술에는 많은 도메인 지식이 필요하다. 따라서 모델은 수작업(hand-engineered)으로 제작 된 기능만큼 우수 할 수 있다.
- 모델은 사용자의 기존 관심사를 기반으로만 추천할 수 있다. 즉 모델은 사용자의 관심사를 확장하는 능력이 제한적이다.