추천 시스템(Recommender System)이란? AI가 취향에 맞는 콘텐츠를 고르는 방법
TL;DR
추천 시스템(Recommender System)은 사용자의 행동, 추천할 항목의 정보와 현재 맥락을 바탕으로 관심 가능성이 높은 콘텐츠나 상품을 골라 순서를 정하는 AI 시스템입니다. 검색어를 입력해야 결과를 찾는 검색과 달리, 사용자가 아직 떠올리지 못한 항목도 먼저 제안할 수 있습니다. 좋은 추천은 클릭 수 하나만 높이는 데서 끝나지 않습니다. 후보 생성, 점수화, 재정렬을 거치며 관련성·다양성·최신성·공정성과 실제 사용자 만족을 함께 살펴야 합니다.
핵심 3줄 요약
- 핵심 1
추천 시스템은 많은 항목 가운데 사용자에게 맞을 가능성이 높은 후보를 찾아 순서를 정합니다. 개인화된 홈 화면과 현재 보고 있는 항목에 붙는 관련 추천이 대표적입니다. - 핵심 2
콘텐츠 기반 필터링은 항목의 특징을, 협업 필터링은 여러 사용자의 행동 패턴을 주로 활용합니다. 실제 서비스에서는 여러 방식과 맥락 정보를 함께 쓰기도 합니다. - 핵심 3
클릭률만 높이면 좋은 추천이라고 단정할 수 없습니다. 콜드스타트, 인기 편향, 피드백 루프, 개인정보, 다양성과 공정성을 함께 점검해야 합니다.
이 글에서 다룰 내용
- 추천 시스템의 한 문장 정의
- 온라인 서점으로 보는 쉬운 추천 예시
- 콘텐츠 기반 필터링과 협업 필터링의 차이
- 후보 생성·점수화·재정렬의 기본 구조
- AI 제품과 마케팅 업무에서 쓰는 맥락
- 클릭 목표, 콜드스타트, 편향과 개인정보 주의점
- 자주 묻는 질문과 공식 출처
추천 시스템을 한 문장으로 정의하면 무엇인가요?
추천 시스템은 사용자 정보와 과거 상호작용, 항목의 특징, 시간·기기 같은 맥락을 분석해 각 항목의 관련성이나 선호 가능성을 추정하고, 보여 줄 후보와 순서를 정하는 시스템입니다. 추천 대상은 영화나 음악뿐 아니라 상품, 뉴스, 강의, 앱, 광고 소재, 문서와 업무 템플릿도 될 수 있습니다.
Google의 추천 시스템 과정은 추천할 대상을 항목(item), 추천을 만드는 데 쓰는 정보를 쿼리 또는 맥락(query or context)으로 설명합니다. 맥락에는 사용자 ID, 이전에 본 항목, 시간대와 사용 기기 등이 들어갈 수 있습니다. 시스템은 이 정보로 사용자가 관심을 가질 만한 항목을 찾습니다.
모든 추천이 개인별 맞춤은 아닙니다. 홈 화면 추천은 사용자의 알려진 관심사를 반영할 수 있지만, 상품 상세 페이지의 관련 항목 추천은 지금 보고 있는 상품과의 유사성을 중심으로 만들 수도 있습니다. 인기 순위처럼 모든 사람에게 같은 목록을 보여 주는 방식은 추천 기능이 될 수 있어도 개인화 추천과는 다릅니다.
한 줄 정리: 추천 시스템은 정답 하나를 맞히는 모델이 아니라, 많은 후보 가운데 지금 보여 줄 항목과 순서를 결정하는 전체 흐름입니다.
쉬운 예시로 이해해 볼까요?
감자나라ai님이 온라인 서점을 운영한다고 가정해 보겠습니다. 책은 10만 권이고, 한 화면에는 10권만 보여 줄 수 있습니다. 사용자가 최근에 AI 입문서와 업무 자동화 책을 읽었다면 시스템은 이 행동을 추천 맥락으로 쓸 수 있습니다.
먼저 후보 생성 단계에서 전체 책 가운데 관련성이 있을 법한 수백 권을 빠르게 고릅니다. AI와 자동화 분야의 책, 비슷한 독자가 함께 읽은 책, 최근 관심이 늘어난 책이 후보가 될 수 있습니다.
다음 점수화 단계에서는 후보별로 사용자가 클릭하거나 읽을 가능성, 예상 만족도 같은 점수를 계산해 순서를 정합니다. 사용자 기록, 책 주제, 언어, 출간 시점과 현재 시간대 같은 정보를 함께 볼 수 있습니다.
마지막 재정렬 단계에서는 이미 구매한 책을 빼고, 같은 출판사나 같은 주제만 이어지지 않도록 다양성을 보완하며, 새 책이 전혀 노출되지 않는 문제를 줄일 수 있습니다. 최종 화면에는 이렇게 다듬은 10권이 나타납니다.
쉬운 예시: 좋은 서점 직원이 손님의 관심사와 현재 찾는 목적을 보고 몇 권을 추린 뒤, 너무 비슷한 책만 겹치지 않게 진열하는 과정과 닮았습니다.
추천 시스템이 왜 중요한가요?
첫째, 사용자가 직접 검색하지 않은 항목을 발견하게 돕습니다. 검색은 보통 사용자가 무엇을 찾을지 어느 정도 알고 있을 때 시작합니다. 추천은 큰 목록 속에서 새로운 콘텐츠나 상품을 먼저 보여 줄 수 있습니다.
둘째, 선택 부담을 줄입니다. 항목이 수천 개를 넘으면 모든 선택지를 비교하기 어렵습니다. 추천 시스템은 현재 사용자에게 관련성이 낮은 후보를 먼저 줄여 줍니다.
셋째, AI 제품의 사용자 경험과 사업 목표를 연결합니다. 콘텐츠 소비, 상품 탐색, 학습 과정, 고객 지원 문서 찾기처럼 다음 행동을 제안하는 서비스에서 추천 순서는 사용자 경험에 직접 영향을 줍니다.
넷째, 어떤 목표를 최적화하는지가 제품 성격을 바꿉니다. 클릭만 목표로 삼으면 자극적인 항목이 유리해질 수 있고, 시청 시간만 보면 긴 콘텐츠가 과도하게 올라갈 수 있습니다. 저장, 구매, 재방문, 만족도, 숨김과 신고 같은 신호를 어떻게 조합할지 제품팀이 정해야 합니다.
다섯째, 노출 자체가 다음 학습 데이터를 만듭니다. 위에 배치된 항목은 더 자주 클릭되고, 그 클릭 기록이 다시 추천 모델의 학습에 들어갑니다. 추천 결과와 데이터 수집이 서로 영향을 주기 때문에 단순한 예측 모델보다 운영 설계가 중요합니다.
핵심 인사이트: 추천 품질은 모델 정확도 하나로 끝나지 않습니다. 사용자가 무엇을 발견하고 어떤 선택을 하게 되는지까지 제품 지표로 확인해야 합니다.
콘텐츠 기반 필터링은 어떻게 추천하나요?
콘텐츠 기반 필터링(Content-based Filtering)은 사용자가 좋아한 항목의 특징과 다른 항목의 특징을 비교합니다. 예를 들어 사용자가 초보자용 AI 강의를 자주 봤다면 주제, 난이도, 언어가 비슷한 강의를 추천할 수 있습니다.
항목 특징은 장르, 키워드, 가격대처럼 사람이 정한 값일 수도 있고, 텍스트나 이미지에서 만든 임베딩일 수도 있습니다. 사용자 프로필도 과거에 반응한 항목의 특징을 모아 표현할 수 있습니다. 시스템은 사용자와 항목의 표현이 얼마나 잘 맞는지 계산합니다.
이 방식은 다른 사용자의 기록이 없어도 항목 정보와 현재 사용자의 행동으로 추천을 만들 수 있다는 장점이 있습니다. 반면 이미 좋아한 것과 비슷한 항목만 반복해 추천하기 쉽고, 항목의 특징을 충분히 표현하지 못하면 추천 범위가 좁아질 수 있습니다.
한 줄 정리: 콘텐츠 기반 필터링은 “이 사용자가 좋아한 것과 무엇이 비슷한가”를 중심으로 추천합니다.
협업 필터링은 무엇이 다른가요?
협업 필터링(Collaborative Filtering)은 여러 사용자와 여러 항목 사이의 상호작용 패턴을 함께 봅니다. 사용자 A와 사용자 B가 비슷한 책을 좋아했고, 사용자 B가 새로운 책에도 좋은 반응을 보였다면 그 책을 사용자 A에게 추천할 수 있습니다.
상호작용은 별점처럼 사용자가 직접 남긴 명시적 피드백일 수 있습니다. 클릭, 재생, 구매, 저장처럼 행동에서 추정한 암묵적 피드백도 많이 씁니다. 암묵적 피드백은 관심을 나타낼 수 있지만, 클릭하지 않았다고 싫어한다고 단정할 수는 없습니다. 아예 노출되지 않았거나 시간이 없었을 수도 있기 때문입니다.
협업 필터링은 항목의 세부 특징을 사람이 모두 정의하지 않아도 숨은 취향 패턴을 배울 수 있고, 뜻밖의 발견을 만들기도 합니다. 그러나 새 사용자와 새 항목은 기록이 부족해 추천하기 어렵습니다. 이를 콜드스타트(Cold Start) 문제라고 부릅니다.
비교 정리: 콘텐츠 기반 필터링은 항목 특징의 유사성을 주로 보고, 협업 필터링은 사용자와 항목의 상호작용 패턴을 함께 봅니다.
추천 시스템은 어떤 순서로 작동하나요?
1. 후보를 생성합니다
후보 생성(Candidate Generation)은 매우 큰 전체 목록에서 관련성이 있을 법한 항목을 빠르게 줄이는 단계입니다. 콘텐츠 기반 필터링, 협업 필터링, 인기 항목, 최신 항목처럼 서로 다른 후보 생성기를 함께 쓸 수 있습니다.
2. 후보에 점수를 매깁니다
점수화(Scoring)는 줄어든 후보마다 관련성이나 예상 행동 점수를 계산해 순위를 정합니다. 후보 수가 줄었으므로 사용자, 항목과 현재 맥락에 관한 더 많은 특징을 적용할 수 있습니다.
3. 최종 목록을 재정렬합니다
재정렬(Re-ranking)은 이미 본 항목을 제외하거나 최신성, 다양성, 공정성 같은 조건을 반영하는 단계입니다. 모델 점수만 높은 순서와 실제 사용자에게 보여 주기 좋은 순서는 다를 수 있습니다.
4. 반응을 측정하고 다시 평가합니다
클릭, 저장, 구매, 숨김, 신고와 만족도 같은 반응을 확인합니다. 오프라인 평가에서 좋아 보여도 실제 화면에서는 위치 편향이나 잘못된 목표 때문에 성과가 달라질 수 있으므로 제한된 실험과 운영 지표를 함께 봅니다.
실전 팁: 후보 생성, 점수화, 재정렬을 나눠 보면 추천 오류의 원인을 찾기 쉽습니다. 좋은 항목이 후보에 없었는지, 점수가 낮았는지, 마지막 규칙에서 빠졌는지를 구분하세요.
헷갈리는 용어와 차이는 무엇인가요?
추천 시스템과 검색
검색은 사용자가 입력한 질의와 잘 맞는 결과를 찾습니다. 추천은 사용자 기록이나 현재 보고 있는 항목 같은 맥락으로 아직 검색하지 않은 항목도 제안합니다. 실제 서비스에서는 검색 결과 안의 개인화 순위처럼 두 기능이 결합되기도 합니다.
추천 시스템과 개인화
개인화는 화면, 메시지, 순서와 기능을 개인이나 집단의 특성에 맞추는 넓은 개념입니다. 추천 시스템은 그중 어떤 항목을 보여 줄지 결정하는 영역입니다. 관련 항목 추천처럼 개인 기록을 거의 쓰지 않는 추천도 있습니다.
추천 엔진과 추천 모델
추천 엔진 또는 추천 시스템은 데이터 수집, 후보 생성, 점수화, 재정렬, 노출과 평가를 포함한 전체 서비스 흐름을 가리킬 때가 많습니다. 추천 모델은 그 안에서 선호도나 관련성 점수를 계산하는 한 구성 요소입니다.
검색·회수와 랭킹
회수(Retrieval)는 큰 목록에서 볼 만한 후보를 빠르게 줄입니다. 랭킹(Ranking)은 그 후보를 더 정교하게 비교해 순서를 정합니다. TensorFlow Recommenders 문서도 실제 추천 시스템이 회수 모델과 랭커로 구성되는 경우가 많다고 설명합니다.
명시적 피드백과 암묵적 피드백
명시적 피드백은 별점이나 좋아요처럼 사용자가 의도를 직접 표현한 기록입니다. 암묵적 피드백은 클릭, 시청, 구매와 체류 시간처럼 행동에서 관심을 추정한 기록입니다. 암묵적 신호는 맥락에 따라 여러 뜻으로 해석될 수 있습니다.
한 줄 정리: 추천 시스템은 개인화와 같은 말이 아니며, 하나의 모델보다 더 넓은 후보 선택·순위 결정·운영 평가 구조를 뜻합니다.
AI 제품과 업무에서는 어떻게 쓰이나요?
쇼핑몰과 콘텐츠 서비스
사용자의 조회·구매·저장 기록과 상품 정보를 바탕으로 홈 화면, 상세 페이지, 장바구니에 보여 줄 항목을 고릅니다. 같은 상품만 반복하지 않도록 다양성과 재고, 최신성 같은 조건도 반영할 수 있습니다.
교육과 사내 지식 서비스
학습 이력과 현재 수준에 맞는 다음 강의, 문서, 예제를 제안할 수 있습니다. 다만 추천이 사용자의 선택지를 지나치게 좁히지 않는지, 중요한 필수 자료가 점수 때문에 빠지지 않는지 확인해야 합니다.
마케팅과 콘텐츠 운영
뉴스레터, 앱 홈, 웹사이트의 다음 읽을거리와 캠페인 소재 후보를 고를 때 씁니다. 클릭률뿐 아니라 구독 유지, 구매 후 만족, 반복 노출 피로도와 숨김 반응을 함께 봐야 합니다.
AI 도구와 워크플로
사용 중인 업무와 과거 선택을 바탕으로 적합한 템플릿, 자동화 단계, 모델 또는 도구를 제안할 수 있습니다. 추천 이유와 적용 범위를 함께 보여 주면 사용자가 자동 선택을 그대로 믿는 문제를 줄일 수 있습니다.
추천 모델 개발과 배포
TensorFlow Recommenders 같은 도구는 데이터 준비, 추천 모델 구성, 학습, 평가와 배포 흐름을 지원합니다. 도구를 쓰더라도 목표 지표, 데이터 사용 근거와 최종 재정렬 규칙은 서비스 맥락에 맞게 따로 설계해야 합니다.
실전 팁: “추천을 많이 클릭했는가”와 “추천 뒤에 사용자가 만족했는가”를 분리해 측정하세요. 단기 반응과 장기 품질이 같은 방향으로 움직이지 않을 수 있습니다.
사용할 때 무엇을 주의해야 하나요?
첫째, 목표 지표를 사용자 가치와 맞춥니다. 클릭만 최대화하면 낚시성 콘텐츠가 올라갈 수 있고, 시청 시간만 보면 지나치게 긴 콘텐츠가 유리해질 수 있습니다. 구매, 만족도, 재방문, 숨김과 신고 같은 보조 지표를 함께 둡니다.
둘째, 인기 편향과 피드백 루프를 감시합니다. 많이 노출된 항목은 더 많은 반응을 얻고, 그 기록 때문에 다시 많이 추천될 수 있습니다. 새 항목과 소수 취향이 계속 후보에서 빠지지 않는지 살펴야 합니다.
셋째, 콜드스타트 대안을 마련합니다. 새 사용자는 관심사를 묻거나 상황별 인기 항목을 보여 줄 수 있습니다. 새 항목은 설명, 카테고리, 제작자 같은 콘텐츠 특징으로 초기 후보를 만들 수 있습니다.
넷째, 다양성·최신성·공정성을 재정렬에서 점검합니다. 점수가 비슷한 항목이 한 주제에 몰리면 발견 경험이 나빠질 수 있습니다. Google 문서는 재정렬 단계에서 다양성, 최신성과 공정성을 고려하는 방법을 설명합니다.
다섯째, 개인정보를 필요한 만큼만 사용합니다. 추천에 도움이 된다는 이유로 모든 행동 기록을 모으지 않습니다. 수집 목적, 보관 기간, 접근 권한과 사용자의 동의·거부 방법을 먼저 정합니다.
여섯째, 노출되지 않은 항목을 싫어한다고 해석하지 않습니다. 사용자가 클릭하지 않은 이유는 무관심일 수도 있지만 화면 아래에 있었거나 아예 보지 못했기 때문일 수도 있습니다. 위치 편향과 노출 기록을 함께 봅니다.
일곱째, 오프라인 점수만으로 공개하지 않습니다. 과거 데이터에서 높은 점수를 얻어도 실제 사용자 경험과 장기 지표가 나빠질 수 있습니다. 작은 범위에서 비교하고 예상하지 못한 피해나 품질 저하를 감시합니다.
주의: 추천은 단순한 편의 기능처럼 보여도 사용자가 접하는 정보와 선택지를 바꿉니다. 자동 추천을 기본값으로 둘 때는 추천 이유, 숨기기, 관심 없음과 설정 변경 같은 사용자 통제 수단도 함께 설계하세요.
자주 묻는 질문
Q1. 추천 시스템과 추천 엔진은 같은 말인가요?
대체로 같은 뜻으로 씁니다. 다만 문맥에 따라 추천 모델은 점수를 계산하는 구성 요소를, 추천 시스템이나 엔진은 데이터·후보 생성·랭킹·재정렬·평가까지 포함한 전체 서비스를 가리킬 수 있습니다.
Q2. 추천 시스템에는 반드시 AI가 필요한가요?
아닙니다. 인기 순위, 최신순, 사람이 만든 규칙만으로도 추천 기능을 만들 수 있습니다. 항목과 사용자가 많아지고 맥락에 따라 순서를 다르게 정해야 할 때 머신러닝 모델을 활용하는 경우가 많습니다.
Q3. 콘텐츠 기반 필터링과 협업 필터링 중 무엇이 더 좋은가요?
한쪽이 항상 더 좋지는 않습니다. 항목 특징이 풍부하고 사용자 기록이 적으면 콘텐츠 기반 방식이 유리할 수 있습니다. 상호작용 데이터가 충분하면 협업 필터링이 숨은 취향 패턴을 찾는 데 도움이 됩니다. 실제 서비스에서는 두 방식과 규칙을 함께 비교합니다.
Q4. 새 사용자는 기록이 없는데 어떻게 추천하나요?
초기 관심사를 묻거나 현재 맥락, 지역별·시간대별 인기 항목, 가입 과정에서 고른 주제를 활용할 수 있습니다. 사용 기록이 쌓이면 추천을 점차 개인화합니다. 초기 추천과 개인화 추천의 성과를 따로 측정하는 편이 좋습니다.
Q5. 챗GPT가 답변 다음에 제안하는 질문도 추천 시스템인가요?
사용자의 현재 대화 맥락을 바탕으로 다음 질문이나 행동 후보를 골라 제시한다면 넓은 의미의 추천 기능으로 볼 수 있습니다. 다만 실제 구현이 별도 추천 모델인지, 생성 모델의 출력인지, 규칙 기반 기능인지는 제품 문서를 확인해야 합니다.
출처
- Google Machine Learning, Recommendations: What and Why?
- Google Machine Learning, Recommendation Systems Terminology
- Google Machine Learning, Recommendation Systems Overview
- Google Machine Learning, Content-based Filtering
- Google Machine Learning, Collaborative Filtering
- Google Machine Learning, Re-ranking
- TensorFlow Recommenders
마무리
추천 시스템은 사용자 행동, 항목 정보와 현재 맥락을 바탕으로 많은 후보를 줄이고, 점수를 매겨 보여 줄 순서를 정하는 AI 시스템입니다. 콘텐츠 기반 필터링과 협업 필터링은 서로 다른 신호를 쓰며, 실제 서비스에서는 후보 생성·점수화·재정렬을 나눠 운영하는 경우가 많습니다.
감자나라ai님이 추천 기능을 기획한다면 모델보다 먼저 추천 목표와 사용자 가치를 정해 보세요. 클릭률 하나만 보지 말고 다양성, 최신성, 콜드스타트, 개인정보, 숨김과 불만 신호를 함께 측정해야 추천이 오래 쓸 수 있는 제품 기능이 됩니다.
다음에 함께 보면 좋은 용어는 콘텐츠 기반 필터링(Content-based Filtering), 협업 필터링(Collaborative Filtering), 콜드스타트(Cold Start), 랭킹(Ranking)입니다.
