#개념

추천 시스템(Recommender System)은 수백만 개의 상품이나 콘텐츠 가운데 특정 사용자가 관심을 가질 만한 소수의 항목을 골라 제시하는 정보 필터링 시스템이다. 사용자가 직접 검색어를 입력하는 검색과 달리, 추천은 사용자의 과거 클릭·구매·시청 이력, 평점, 인구통계 정보, 현재 맥락(시간, 위치, 기기)과 항목의 메타데이터를 종합하여 사용자가 아직 발견하지 못한 항목을 능동적으로 제안한다. 사용자의 선호는 별점이나 좋아요처럼 명시적으로 드러나는 명시적 피드백(Explicit Feedback)과, 클릭이나 시청 시간처럼 행동으로부터 간접적으로 추론하는 암묵적 피드백(Implicit Feedback)으로 나뉜다. 실무에서는 훨씬 풍부하게 수집되는 암묵적 피드백이 주로 사용되지만, 관찰되지 않은 상호작용이 비선호를 뜻하는지 단순히 노출되지 않은 것인지 구분할 수 없다는 점에서 별도의 모델링이 필요하다.
고전적인 접근은 크게 세 갈래로 나뉜다. 협업 필터링(Collaborative Filtering, CF)은 "나와 비슷한 사용자가 좋아한 항목" 또는 "내가 좋아한 항목과 함께 소비된 항목"이라는 집단 지성에 기대는 방법으로, 사용자 기반과 항목 기반의 최근접 이웃 방식이 있으며 항목의 내용을 전혀 몰라도 동작한다는 장점이 있다. 콘텐츠 기반 필터링(Content-based Filtering)은 항목의 장르, 텍스트, 이미지 같은 속성으로 프로필을 만들고 사용자가 과거에 선호한 항목과 유사한 항목을 찾는 방식으로, 새 항목에도 즉시 적용할 수 있으나 취향의 폭을 넓히기 어렵다. 하이브리드 추천(Hybrid Recommender)은 두 방식을 결합하여 서로의 약점을 보완한다. 협업 필터링의 대표적 구현인 행렬 분해(Matrix Factorization)는 사용자-항목 상호작용 행렬 $R$을 저차원의 사용자 잠재 벡터 $p_u$와 항목 잠재 벡터 $q_i$의 곱으로 근사하여 $\hat{r}_{ui} = \mu + b_u + b_i + q_i^{\top} p_u$처럼 선호를 예측한다. Netflix Prize를 계기로 널리 알려진 이 방법은 특이값 분해(SVD)에서 착안했으나 결측이 대부분인 희소 행렬에 맞게 관측된 항목에 대해서만 오차를 최소화하며, 확률적 경사 하강법(Stochastic Gradient Descent)이나 사용자 벡터와 항목 벡터를 번갈아 최소제곱으로 푸는 교대 최소제곱법(Alternating Least Squares, ALS)으로 학습한다. ALS는 병렬화가 쉽고 암묵적 피드백에 신뢰도 가중치를 부여하는 변형이 있어 대규모 환경에서 널리 쓰인다. 평점의 절댓값보다 순서가 중요한 경우에는 BPR(Bayesian Personalized Ranking)처럼 선호 항목이 비선호 항목보다 높은 점수를 받도록 쌍(pairwise) 손실을 학습하기도 한다.
딥러닝의 도입으로 추천 모델은 크게 확장되었다. Neural Collaborative Filtering은 잠재 벡터의 내적을 신경망(Neural Network)으로 대체하여 비선형 상호작용을 학습했고, Wide & Deep이나 DeepFM 같은 모델은 범주형 특징의 임베딩(Embedding)과 교차 특징을 결합하여 클릭률(CTR)을 예측한다. 대규모 서비스에서 가장 널리 채택된 구조는 투-타워 모델(Two-Tower Model)로, 사용자 타워와 항목 타워가 각각 독립적으로 벡터를 생성하고 두 벡터의 내적으로 점수를 매긴다. 항목 벡터를 미리 계산해 두면 근사 최근접 이웃 탐색(Approximate Nearest Neighbor, ANN)으로 수억 개 항목 중 후보를 밀리초 안에 찾을 수 있어 검색(retrieval) 단계에 적합하다. 사용자의 행동 순서를 활용하는 시퀀스 추천(Sequential Recommendation)은 GRU4Rec처럼 순환 신경망(Recurrent Neural Network)을 쓰거나 SASRec, BERT4Rec처럼 트랜스포머(Transformer)어텐션 메커니즘(Attention Mechanism)으로 최근 행동의 맥락을 반영하여 다음 항목을 예측한다. 최종 순서를 결정하는 순위 학습(Learning to Rank)은 항목 하나의 점수를 맞히는 pointwise, 두 항목의 상대 순서를 맞히는 pairwise, 목록 전체의 순서를 최적화하는 listwise 손실로 구분되며, 클릭·구매·시청 완료 등 여러 목표를 동시에 학습하는 다중 목표(multi-task) 모델이 일반적이다. 실제 서비스는 이러한 모델을 단계적으로 조합한 후보 생성(Candidate Generation) → 랭킹(Ranking) → 재랭킹(Re-ranking) 구조를 취한다. 후보 생성 단계는 협업 필터링, 투-타워 검색, 인기 항목 등 여러 소스에서 수천 개의 후보를 빠르게 모으고, 랭킹 단계는 풍부한 특징을 사용하는 무거운 모델로 후보를 정밀하게 점수화하며, 재랭킹 단계는 다양성, 신선도, 비즈니스 규칙, 이미 본 항목 제외 등을 적용하여 최종 목록을 구성한다. YouTube의 추천 시스템 논문이 이 구조를 널리 알렸다.
추천 시스템 고유의 난제로 콜드 스타트(Cold Start) 문제가 있다. 상호작용 이력이 없는 신규 사용자나 신규 항목에는 협업 필터링을 적용할 수 없으므로, 콘텐츠 특징이나 인구통계 정보를 활용하는 하이브리드 모델, 온보딩 설문, 인기 기반 추천, 탐색과 활용을 조절하는 밴딧(Bandit) 알고리즘 등으로 대응한다. 성능 평가는 오프라인 평가온라인 평가로 나뉜다. 오프라인에서는 과거 데이터를 시간 순으로 분할한 뒤 상위 $K$개 추천 목록에 대해 실제 소비 항목이 얼마나 포함되었는지를 재는 Recall@KPrecision@K, 순위가 높을수록 큰 가중치를 주어 목록의 품질을 평가하는 NDCG(Normalized Discounted Cumulative Gain), 첫 정답의 순위를 반영하는 MRR, 평점 예측이라면 RMSE 등을 사용한다. 그러나 오프라인 지표는 과거 추천 정책이 노출한 항목에만 정답이 존재하는 편향된 로그로 계산되므로, 최종 판단은 실제 사용자를 무작위로 나누어 클릭률, 전환율, 체류 시간, 재방문율 같은 비즈니스 지표를 비교하는 온라인 A/B 테스트로 내린다. 오프라인 지표의 개선이 온라인 성과로 이어지지 않는 경우가 흔하므로, 로그의 편향을 보정하는 오프 폴리시 평가(off-policy evaluation)도 연구되고 있다.
추천 시스템은 사용자에게 보여줄 것을 결정함으로써 다시 학습 데이터를 만들어내는 피드백 루프(Feedback Loop) 위에서 동작하기 때문에 여러 편향(Bias)에 취약하다. 인기 항목이 더 많이 노출되어 더 인기가 높아지는 인기 편향(Popularity Bias), 상단에 노출된 항목이 더 많이 클릭되는 위치 편향(Position Bias), 노출된 항목에서만 피드백이 발생하는 노출 편향은 롱테일 항목을 소외시키고 사용자의 취향을 점점 좁은 범위로 가두는 필터 버블을 만들 수 있다. 이를 완화하기 위해 역성향 가중(inverse propensity weighting), 다양성(diversity)·참신성(novelty)·우연성(serendipity)을 지표에 포함한 재랭킹, 공정성 제약, 탐색 비율 확보 등이 활용된다. 최근에는 대규모 언어 모델(Large Language Models, LLM)을 활용하여 항목의 텍스트를 임베딩하거나 사용자 이력을 자연어로 요약해 콜드 스타트를 완화하고, 생성형 검색(generative retrieval)처럼 항목 식별자를 직접 생성하는 방식도 연구되고 있다. 결론적으로 추천 시스템은 알고리즘 자체만이 아니라 데이터 파이프라인, 실시간 특징 서빙, 평가 체계, 편향과 다양성에 대한 정책이 함께 설계되어야 하는 종합적인 시스템이다.

#관련 용어

협업 필터링
다수 사용자의 상호작용 패턴에서 유사한 사용자나 항목을 찾아 선호를 예측하는 추천 기법
행렬 분해
희소한 사용자-항목 상호작용 행렬을 저차원 잠재 벡터의 곱으로 근사하는 협업 필터링 방법
임베딩
사용자와 항목을 유사도 계산이 가능한 저차원 실수 벡터로 표현하는 기법
콜드 스타트
상호작용 이력이 없는 신규 사용자나 항목에 대해 추천이 어려운 문제
정규화 할인 누적 이득(NDCG)
상위 순위에 더 큰 가중치를 두어 추천 목록의 순서 품질을 평가하는 지표
편향
인기·위치·노출 편향처럼 로그 데이터의 왜곡이 추천 결과와 학습에 반영되는 현상

#직무 연관도

DA
Data Analyst
높음
추천 성과 지표 분석, 실험 결과 해석, 사용자 세그먼트별 반응과 다양성·편향 모니터링에 활용된다
DS
Data Scientist
밀접
협업 필터링, 행렬 분해, 딥러닝 랭킹 모델을 설계하고 오프라인·온라인 지표로 검증하는 핵심 응용 분야
DE
Data Engineer
밀접
후보 생성·랭킹 파이프라인, 벡터 검색 인프라, 실시간 특징 서빙과 A/B 테스트 플랫폼을 구축·운영하는 데 직접 관여한다

#사용 사례

전자상거래미디어스트리밍인터넷 서비스온라인 광고금융게임
개요
추천 시스템은 전자상거래의 상품 추천, 동영상·음악 스트리밍의 콘텐츠 추천, 뉴스와 소셜 미디어의 피드 구성, 광고 타게팅, 금융 상품 제안, 구인·구직 매칭 등 사용자 개인화가 필요한 거의 모든 온라인 서비스에서 핵심 기능으로 활용된다.
사례
YouTube는 수십억 개의 동영상 가운데 딥러닝 기반 후보 생성 모델로 사용자 시청 이력과 검색 이력을 임베딩하여 수백 개의 후보를 추린 뒤, 더 많은 특징을 사용하는 랭킹 모델로 기대 시청 시간을 예측하여 홈 화면과 다음 동영상 추천 목록을 구성한다.

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.