Content-Aware Recommender Systems (CARS)

김동준·2025년 12월 17일

Recommend System

목록 보기
13/14

Content-Aware Recommender Systems (CARS)

대학원 추천시스템 특론 | 60분 강의


1. 강의 개요 및 학습목표 (5분)

학습목표

  • Content-Aware Recommender Systems의 핵심 개념과 필요성 이해
  • 전통적 추천시스템의 한계점과 CARS의 해결 방안 파악
  • CARS의 주요 아키텍처와 실무 적용 사례 학습
  • 최신 딥러닝 기반 CARS 기법 이해

선수지식

  • 기본적인 추천시스템 개념 (Collaborative Filtering, Content-Based Filtering)
  • 머신러닝 기초 (특히 embedding, neural networks)
  • Python 및 기본적인 데이터 처리 경험

2. 추천시스템의 진화와 CARS의 등장 배경 (10분)

2.1 전통적 추천시스템의 분류

Collaborative Filtering (CF)

  • User-based CF: 유사한 사용자들의 선호도 기반
  • Item-based CF: 유사한 아이템 간의 패턴 기반
  • Matrix Factorization: 잠재요인 모델 (SVD, ALS 등)

Content-Based Filtering (CBF)

  • 아이템의 속성/특징 기반 추천
  • 사용자 프로필과 아이템 프로필 매칭

2.2 전통적 방법론의 한계

Collaborative Filtering의 문제점
1. Cold-Start Problem

  • 신규 사용자: 충분한 상호작용 데이터 부재
  • 신규 아이템: 평가 데이터 부족으로 추천 불가
  1. Data Sparsity

    • 전체 user-item matrix의 99% 이상이 비어있는 경우 일반적
    • 롱테일 아이템에 대한 추천 품질 저하
  2. Scalability Issues

    • 사용자/아이템 수 증가 시 계산 복잡도 급증
    • 실시간 추천의 어려움

Content-Based Filtering의 문제점
1. Limited Content Analysis

  • 수작업 feature engineering 필요
  • 도메인 지식 의존성 높음
  1. Over-Specialization

    • 사용자가 이미 소비한 것과 유사한 것만 추천
    • Serendipity(우연한 발견) 부족
  2. Feature 추출의 한계

    • 텍스트, 이미지, 오디오 등 비정형 데이터 처리 어려움

2.3 CARS의 등장

핵심 아이디어: CF의 패턴 학습 능력 + CBF의 콘텐츠 이해 능력

CARS는 다음을 통합:

  • User-Item 상호작용 행렬 (implicit/explicit feedback)
  • Item의 메타데이터 (장르, 카테고리, 태그 등)
  • Rich content (텍스트 설명, 이미지, 비디오, 오디오)
  • Contextual information (시간, 위치, 디바이스 등)

3. CARS의 핵심 구성요소 (15분)

3.1 Content Feature Extraction

텍스트 콘텐츠

전통적 방법:
- TF-IDF: 단어 빈도 기반 벡터화
- Word2Vec/GloVe: 단어 임베딩
- LDA: 토픽 모델링

딥러닝 방법:
- BERT/RoBERTa: 문맥 기반 언어 모델
- Sentence-BERT: 문장 수준 임베딩
- GPT 기반 feature extraction

이미지 콘텐츠

전통적 방법:
- SIFT, HOG: 수작업 feature
- Color histogram: 색상 분포

딥러닝 방법:
- CNN (ResNet, EfficientNet): 이미지 분류
- Vision Transformer (ViT): attention 기반
- CLIP: 이미지-텍스트 공동 임베딩

멀티모달 콘텐츠

- 텍스트 + 이미지 결합
- 비디오에서 프레임 + 오디오 + 자막 추출
- Cross-modal attention mechanisms

3.2 Feature Integration 전략

Early Fusion (조기 결합)

[User Features] ⊕ [Item Content Features] → [ML Model] → Prediction
  • 장점: 단순하고 구현 용이
  • 단점: feature 차원이 커지면 학습 어려움

Late Fusion (후기 결합)

[CF Model] → Score_1
[Content Model] → Score_2
[Ensemble] → Final Score
  • 장점: 각 모델을 독립적으로 최적화
  • 단점: 모델 간 상호작용 학습 어려움

Deep Fusion (심층 결합)

Neural Network 내부에서 다층 레벨로 결합
- Attention mechanisms으로 중요 feature 자동 선택
- Cross-feature interaction 학습

3.3 대표적인 CARS 아키텍처

1. Factorization Machines (FM) 계열

y = w_0 + Σw_i·x_i + ΣΣ<v_i, v_j>·x_i·x_j

여기서:
- x_i: user ID, item ID, content features 모두 포함
- v_i, v_j: feature embedding vectors
- <·,·>: 내적 (feature interaction 모델링)

장점:

  • Sparse features 효과적 처리
  • Content features를 자연스럽게 통합
  • 2차 feature interaction 자동 학습

2. Neural Collaborative Filtering + Content

Architecture:
User ID → User Embedding ┐
Item ID → Item Embedding ┼→ [Concatenate] → [MLP Layers] → Score
Item Content → Content Embedding ┘

3. Two-Tower Model

User Tower:                    Item Tower:
User ID                        Item ID
User History    → Embedding    Item Content  → Embedding
User Features                  Item Features

Final Score = cosine_similarity(User_Vector, Item_Vector)

장점:

  • User/Item 임베딩을 독립적으로 계산 가능
  • 실시간 서빙에 유리 (Item 임베딩 사전 계산)
  • Approximate Nearest Neighbor (ANN) 검색 가능

3.4 Cold-Start 해결 메커니즘

신규 아이템 (Item Cold-Start)

상호작용 데이터 없음
    ↓
Content Features 활용
    ↓
유사 아이템의 패턴 차용 (Content-Based KNN)
    ↓
점진적 학습 (상호작용 데이터 축적 시)

신규 사용자 (User Cold-Start)

방법 1: Content-based onboarding
- 선호 장르/카테고리 직접 선택
- 샘플 아이템 평가

방법 2: Demographic/Context 활용
- 나이, 성별, 지역 등 메타데이터
- 디바이스, 시간대 등 컨텍스트

방법 3: Zero-shot/Few-shot Learning
- 소수 상호작용만으로 빠른 적응

4. 실전 CARS 구현 사례 (15분)

4.1 Netflix: 비디오 추천

콘텐츠 특징 활용

  • Thumbnail 이미지: CNN으로 시각적 feature 추출
  • 메타데이터: 장르, 배우, 감독, 제작년도
  • 자막/스크립트: NLP로 줄거리, 분위기 분석
  • 비디오 자체: 씬 분석, 색감, 템포

Two-Tower 아키텍처 변형

User Tower:
- 시청 이력 임베딩 평균
- 명시적 선호 (좋아요, 평점)
- 시청 패턴 (시간대, 완료율)

Item Tower:
- 영상 콘텐츠 임베딩 (CNN)
- 메타데이터 임베딩
- Collaborative signal (인기도, 평균 평점)

효과:

  • Cold-start 아이템 추천 성능 40% 개선
  • 신규 출시 콘텐츠의 초기 CTR 25% 증가

4.2 Amazon: 전자상거래 추천

제품 콘텐츠 활용

  • 제품 이미지: 다중 앵글, zoom-in views
  • 제품 설명: 제목, 상세설명, 리뷰 텍스트
  • 구조화 정보: 브랜드, 가격대, 스펙
  • 사용자 생성 콘텐츠: 리뷰, Q&A

Graph-based CARS

User-Item Interaction Graph + Content Similarity Graph

Node: Users, Items
Edges:
- Purchase/View 관계
- Content similarity (이미지, 텍스트 기반)

Graph Neural Network로 임베딩 학습

특징:

  • Session-based 추천 (단기 관심사 반영)
  • 가격 민감도를 content feature로 통합
  • Cross-category 추천 (유사 콘텐츠 기반)

4.3 Spotify: 음악 추천

오디오 콘텐츠 특징

  • Mel-spectrogram: 오디오 시각화
  • Tempo, Key, Mode: 음악 이론적 특징
  • Loudness, Energy: 감정/분위기 지표
  • CNN for Audio: 자동 feature extraction

Content2Vec 접근법

1. Audio CNN으로 곡 임베딩 생성
2. Collaborative Filtering으로 사용자-곡 임베딩 학습
3. Joint Training:
   - Audio 유사도 손실
   - CF 손실
   - 통합 임베딩 공간 구축

Contextual CARS:

  • 시간대별 추천 (출근 시간 vs 저녁 시간)
  • 활동 기반 (운동, 집중, 수면)
  • Playlist continuation: 곡의 흐름 고려

4.4 Pinterest: 이미지 기반 추천

Visual Search + Recommendation

User uploads image
    ↓
CNN (ResNet) extracts visual features
    ↓
ANN search in image embedding space
    ↓
Ranking with collaborative signals

Multi-task Learning

Shared CNN Backbone
    ├→ Classification (카테고리)
    ├→ Object Detection (주요 객체)
    ├→ Style Recognition (예술 스타일)
    └→ Embedding for Recommendation

Loss = α·L_cls + β·L_det + γ·L_style + δ·L_rec

5. 최신 연구 동향 및 고급 기법 (10분)

5.1 Transformer 기반 CARS

Self-Attention for Recommendation

User History: [item_1, item_2, ..., item_n]
    ↓
Item Embeddings (Content + ID)
    ↓
Transformer Encoder (BERT4Rec)
    ↓
Contextualized Item Representations
    ↓
Next Item Prediction

장점:

  • 순서 정보 (sequential pattern) 효과적 모델링
  • Long-range dependencies 학습
  • Content와 sequence 정보 자연스럽게 통합

대표 모델:

  • BERT4Rec: Bidirectional self-attention
  • SASRec: Self-attentive sequential recommendation
  • BST (Behavior Sequence Transformer)

5.2 Contrastive Learning in CARS

핵심 아이디어: 같은 아이템의 다른 view는 유사하게, 다른 아이템은 멀게

Positive Pairs:
- 같은 아이템의 (이미지, 텍스트)
- 같은 사용자가 선호한 (아이템_i, 아이템_j)

Negative Pairs:
- 랜덤 샘플링된 다른 아이템들

Loss = -log(exp(sim(z_i, z_j)/τ) / Σexp(sim(z_i, z_k)/τ))

효과:

  • 라벨 없이도 고품질 임베딩 학습
  • Domain adaptation 용이
  • Cold-start 성능 크게 개선

5.3 Multi-Modal Fusion with Cross-Attention

MMSS (Multi-Modal Self-Supervised) Framework

Text Encoder (BERT)  ──┐
                        ├→ Cross-Attention → Fused Representation
Image Encoder (ViT)  ──┘

Cross-Attention:
Q from Text, K,V from Image (and vice versa)
→ 모달 간 상호보완적 정보 학습

실무 적용:

  • E-commerce: 제품 이미지 + 설명
  • Video platform: 썸네일 + 제목 + 태그
  • News recommendation: 기사 사진 + 본문

5.4 Knowledge Graph Enhanced CARS

Knowledge Graph 구축

Entities: Users, Items, Attributes, Concepts
Relations:
- User -[likes]-> Item
- Item -[has_feature]-> Attribute
- Item -[belongs_to]-> Category
- Category -[similar_to]-> Category

Graph Neural Network 활용

1. Node Embedding 초기화 (Content features)
2. Message Passing:
   h_v^(l+1) = σ(Σ W·h_u^(l) / sqrt(|N(v)|))
3. Multi-hop Aggregation
4. User-Item score = f(h_user, h_item)

대표 모델:

  • KGAT (Knowledge Graph Attention Network)
  • RippleNet: Preference propagation
  • KGCN: Knowledge-aware Graph Convolution

5.5 Large Language Models (LLMs) in CARS

LLM as Feature Extractor

Item Description → GPT-4/Claude → Rich Semantic Embedding
User Queries → LLM → Intent Understanding

LLM as Recommender (Few-shot)

Prompt Engineering:
"Based on these items the user liked:
- Item A (description)
- Item B (description)

Recommend similar items and explain why."

→ Zero-shot 추천 가능

Challenges:

  • 추론 비용 높음
  • Latency 문제 (실시간 서빙 어려움)
  • Hallucination (존재하지 않는 아이템 추천)

실용적 접근:

  • LLM으로 오프라인 feature 생성
  • Small model distillation
  • Retrieval-Augmented Generation (RAG)

6. CARS 구축 시 실무 고려사항 (10분)

6.1 시스템 아키텍처 설계

오프라인 파이프라인

Raw Content → Feature Extraction → Embedding DB
            ↓
Interaction Logs → Model Training → Model Registry

온라인 서빙

User Request → Candidate Generation (ANN) → Ranking → Re-ranking
             ↓                            ↓           ↓
         User Embedding                Content Score  Business Rules

Latency 요구사항:

  • Candidate generation: < 20ms
  • Ranking: < 50ms
  • 전체: < 100ms (실시간 추천)

6.2 Feature Engineering Best Practices

콘텐츠 전처리
1. 정규화: 이미지 크기, 텍스트 길이 통일
2. Augmentation: 데이터 증강으로 robustness 향상
3. Versioning: Feature 변경 이력 관리

Feature Selection

# 예시: Feature 중요도 분석
from sklearn.inspection import permutation_importance

result = permutation_importance(model, X_val, y_val)
important_features = [f for f, imp in zip(features, result.importances_mean) 
                      if imp > threshold]

Embedding Dimension 결정

  • 너무 작으면: 정보 손실
  • 너무 크면: 과적합, 계산 비용 증가
  • 경험적 규칙: 64-256 차원 (도메인에 따라)

6.3 Cold-Start 전략

Tiered Recommendation Approach

Level 1: Pure Content-Based (0 interactions)
    ↓
Level 2: Hybrid (1-10 interactions)
    ↓
Level 3: CF-dominant (10+ interactions)

Active Learning

  • 정보 가치가 높은 아이템을 우선 노출
  • 사용자 선호도를 빠르게 파악

Transfer Learning

  • 다른 도메인의 사전학습 모델 활용
  • 예: ImageNet 사전학습 → E-commerce 상품 이미지

6.4 평가 지표

오프라인 평가

  • Precision@K, Recall@K, NDCG@K
  • Coverage: 추천된 아이템의 다양성
  • Novelty: 새로운 아이템 추천 비율

온라인 A/B 테스팅

  • CTR (Click-Through Rate)
  • Conversion Rate
  • Engagement metrics (재생 시간, 완료율)
  • User retention

콘텐츠 품질 평가

Metric: Serendipity (우연한 발견)
= (Relevant ∩ Unexpected) / Total Recommendations

Unexpected: 사용자 이력과 콘텐츠 유사도 낮음
Relevant: 실제 긍정적 상호작용 발생

6.5 Scalability & Infrastructure

분산 학습

  • Parameter Server architecture
  • Data parallelism (batch 분산)
  • Model parallelism (큰 모델 분할)

Embedding Storage

Faiss (Facebook AI Similarity Search):
- GPU 가속 ANN 검색
- 수억 개 벡터에서 ms 단위 검색

ScaNN (Google):
- Learned quantization
- 압축률과 정확도 trade-off

Feature Store

  • Feast, Tecton 등 활용
  • 실시간 feature serving
  • Point-in-time correctness 보장

6.6 윤리적 고려사항

Filter Bubble 방지

  • Exploration vs Exploitation 균형
  • Diversity-aware ranking
  • Periodic random recommendations

편향성 (Bias) 완화

  • Demographic parity 검증
  • Counterfactual evaluation
  • Debiasing techniques

투명성

  • Explainable AI: 추천 이유 설명
  • User control: 추천 알고리즘 설정 옵션

7. 실습 프로젝트 가이드 (5분)

프로젝트 주제 예시

1. 영화 추천 시스템

  • Dataset: MovieLens + IMDb metadata
  • Content: 포스터, 줄거리, 장르, 배우
  • 목표: Cold-start 영화 추천 성능 개선

2. 뉴스 추천

  • Dataset: MIND (Microsoft News Dataset)
  • Content: 기사 제목, 본문, 카테고리
  • 목표: 실시간 개인화 뉴스 추천

3. E-commerce 추천

  • Dataset: Amazon Product Dataset
  • Content: 제품 이미지, 설명, 리뷰
  • 목표: Cross-category 추천

구현 스택 권장사항

# Feature Extraction
- Transformers (Hugging Face)
- torchvision (이미지)
- librosa (오디오)

# Recommendation Models
- PyTorch / TensorFlow
- LightFM (Hybrid recommender)
- Surprise (전통적 CF)

# Serving
- FastAPI
- Redis (cache)
- Milvus/Faiss (vector search)

평가 체크리스트

  • Cold-start 시나리오 성능 비교
  • Content feature 기여도 분석 (Ablation study)
  • 추론 latency 측정
  • Diversity/Coverage 지표 계산
  • 추천 이유 설명 기능 구현

8. 결론 및 향후 방향 (5분)

CARS의 핵심 가치

  1. Robustness: Cold-start, sparsity 문제 완화
  2. Scalability: 신규 아이템 즉시 추천 가능
  3. Explainability: 콘텐츠 기반 설명 가능
  4. Personalization: 다층적 선호도 모델링

미래 연구 방향

1. Foundation Models for Recommendation

  • 대규모 사전학습 모델 (Universal Recommender)
  • Cross-domain transfer learning
  • Few-shot adaptation

2. Multimodal Fusion

  • 더 많은 모달리티 통합 (센서 데이터, 음성 등)
  • Dynamic modal selection (상황에 따라 중요 모달 자동 선택)

3. Real-time Adaptation

  • Online learning with streaming data
  • Contextual bandits
  • Reinforcement learning

4. Privacy-Preserving CARS

  • Federated learning for recommendations
  • Differential privacy
  • On-device personalization

산업 트렌드

  • Generative Recommendation: LLM이 추천 이유를 자연어로 설명
  • Interactive Recommendation: 대화형 추천 (ChatGPT 스타일)
  • Omnichannel: 온라인-오프라인 통합 추천
  • Sustainable AI: 탄소발자국을 고려한 효율적 모델

참고문헌 및 추가 학습 자료

핵심 논문
1. He et al. (2017) - Neural Collaborative Filtering
2. Covington et al. (2016) - Deep Neural Networks for YouTube Recommendations
3. Wang et al. (2019) - KGAT: Knowledge Graph Attention Network
4. Sun et al. (2019) - BERT4Rec: Sequential Recommendation with BERT

오픈소스 프로젝트

  • Microsoft Recommenders (github.com/microsoft/recommenders)
  • Nvidia Merlin (GPU 가속 추천시스템)
  • RecBole (통합 추천시스템 프레임워크)

온라인 강의

  • Stanford CS246: Mining Massive Datasets
  • Google Machine Learning Crash Course - Recommendation Systems

실무 블로그

  • Netflix Tech Blog
  • Spotify Engineering Blog
  • Meta AI Research Blog

Q&A 및 토론 주제

  1. 여러분의 도메인에서 CARS를 적용한다면 어떤 콘텐츠 특징이 가장 중요할까요?
  2. Cold-start vs Personalization trade-off를 어떻게 조절해야 할까요?
  3. LLM이 전통적 추천시스템을 완전히 대체할 수 있을까요?
  4. 추천시스템의 사회적 책임은 무엇이라고 생각하시나요?

다음 강의 예고: Graph Neural Networks for Recommendation Systems

profile
Story Engineer

0개의 댓글