Kowal's Igloo

🔍 추천 시스템 종합 정리 - 구조, 종류, 한계, 검색 시스템과의 차이 본문

AI

🔍 추천 시스템 종합 정리 - 구조, 종류, 한계, 검색 시스템과의 차이

코왈이 2025. 1. 29. 18:30

추천 시스템

인터넷 상의 정보가 많아지고, 인터넷 관련 비즈니스가 활성화되면서 사용자가 인터넷 공간에서 원하는 정보를 찾고 적절한 결정을 내리기가 어려워졌다. 따라서 추천 시스템은 사용자가 정보를 수집하고 찾는 시간을 줄여주는 것을 목적으로 한다.

추천 시스템의 구조

추천 시스템의 전체적인 구조는 후보를 생성하는 단계와 후보들 간의 랭킹을 매기는 단계로 구분된다. 이를 여러 개의 단계로 구성되었다고 하여 Multi-Stage Recommender System이라고 한다.

  • 후보 생성 단계
    • 수백만 개에 달하는 아이템 중 사용자의 활동 기록을 바탕으로 실제로 추천할 만한 몇 백 개 정도의 후보군을 추출한다.
    • Candidate Generation에서는 유저가 좋아할 만한 문서를 최대한 많이 골라내는 Recall(재현율)을 최적화하는데 집중
  • 랭킹을 매기는 단계
    • 추출된 후보군을 사용자가 좋아할 만한 순서로 랭킹을 적용한다.
    • Ranking stage에서는 그렇게 추려진 문서들을 유저가 좋아할 만한 순서대로 랭킹하여 Precision(정확도)을 최적화하는데 집중

컨텐츠 기반 필터링 (Content-Based Filtering)

사용자가 관심을 보인 아이템과 비슷한 아이템을 추천한다.

구현
  • 입력: 사용자가 아이템에 대해 평가한 등급 데이터 (점수, 별점, 클릭 등)
  • 출력: 사용자의 등급 데이터를 분석하여 특정 패턴을 학습한(즉, 어떤 특징을 좋아하는지 학습한) 분류기(classifier)
  • 실생활 예시

온라인 쇼핑몰에서 게이밍 헤드셋을 검색한 결과, 유사한 상품들이 출력

협업 필터링 (Colaborative Filtering)

사용자가 관심을 표시한 아이템을 기반으로 비슷한 사용자를 알아내고, 비슷한 사용자가 관심을 보인 아이템을 추천해주는 방식이다.

구현
  • 입력: 사용자-아이템 등급 데이터
  • 출력: 유사 사용자 판별 및 추천
  1. 사용자-아이템 등급 행렬 생성
  2. 사용자-사용자간 유사도 행렬 계산
  3. 해당 사용자와 가장 유사한 사용자(Neighbor) 찾기
  4. 후보 아이템 생성 및 점수화
  5. 후보 필터링 (해당 사용자가 이미 접한 아이템 제거)
  • 실생활 예시

온라인 쇼핑몰에서 게이밍 헤드셋을 검색한 결과, 게이밍 제품에 관심도를 가진 사람들이 구매한 제품을 추천

맥락 기반 필터링 (Context-Based Filtering)

사용자의 관심도에 맥락(시간, 장소 등) 정보를 추가적으로 활용하여 추천한다.

커뮤니티 기반 필터링 (Community-Based Filtering)

  • 실생활 예시

SNS 플랫폼 내에서 함께 아는 친구가 있는지, 같은 커뮤니티에 속하는지 등을 참고하여 관계기반 추천 (페이스북, 인스타그램, 링크드인 등)

지식 기반 필터링 (Knowledge-based Filtering)

특정 도메인의 지식을 바탕으로 제품의 특징을 입력받아 추천

자주 구매하지 않아 데이터가 적은 아이템에 효과적 (자동차, 부동산, 명품 등)

추천 시스템의 한계

  1. 확장성 (Scalability)
    • 학습에 사용된 데이터와 실제 데이터가 다를 가능성이 높다. 예를 들어 최근에 많이 구매한 제품을 학습 데이터로 활용했다면 트렌드가 바뀌었을 때 한물 간 추천을 해준다. 따라서 매번 모델을 다르게 생성해야 한다.
  2. Cold-Start 문제
    • 사용자가 플랫폼을 이용한 지 얼마 되지 않았거나 새로운 아이템이 추가되는 등 데이터가 부족할 때 추천의 정확도가 낮다. 이를 해결하기 위해 일정 수준의 데이터를 확보하기 전까지 데이터 의존도가 낮은 추천시스템이 작동할 수 있도록 접목하는 하이브리드 추천 시스템을 설계하기도 한다.
  3. 개인정보 보호
    • 데이터 수집 과정에서 윤리적인 문제가 발생한다.
  4. 부족한 자원 (Starvation and Diversity)
    • 사용자 또는 제품에 대한 다양한 세부사항을 추천에 반영할수록 정확도는 높아지지만 결과 도출이 느려진다.
  5. Filter Bubble 문제
    • 추천 시스템이 고도화될수록 사용자는 취향에 맞는 정보만 제공받고 전체적인 정보를 볼 기회를 박탈당한다. 이는 정보의 비대칭성, 편향성으로 이어져 사용자 간의 양극화 현상 등 사회적 문제로 이어진다.

추천 시스템과 검색 시스템

Push Information과 Pull Information

검색은 사용자의 목적성이 뚜렷한 행위이다. 따라서 사용자의 입력을 먼저 받아 요구를 파악하고, 연관키워드 등을 제공하는 선입력-후출력 구조로 작동한다. 이렇게 시스템이 입력값을 받아 연관검색어를 제안하는 구조를 Pull Information이라고 부른다.

추천 시스템은, 예를 들어 옷을 사기 위해 패션 플랫폼에 방문하면 사용자가 아무 입력을 하지 않아도 상품을 보여준다. 검색 시스템은 검색 대상의 범위가 워낙 넓어 사용자가 원하는 키워드를 알아야 했으나, 추천 시스템은 해당 도메인에 접속한 것에서 “패션”이라는 범위로 한정할 수 있기 때문이다. 이렇게 입력값이 없어도 사용자에게 상품을 자동으로 제안하는 구조를 Push Information이라고 부른다.

정리하자면 아래 그림과 같다.

다음 글에서는 주요 기업별 추천 시스템(Youtube, Netflix)과 관련된 요즘 이슈를 기사로 살펴보려 한다.

참고 자료

https://velog.io/@chan_p/추천시스템-전반적-시사

https://calmmimiforest.tistory.com/102

https://calmmimiforest.tistory.com/100

https://www.bucketplace.com/post/2024-03-26-개인화-추천-시스템-1-multi-stage-recommender-system/