Home [추천시스템] CH05 - Knowledge-Based Recommender Systems
Post
Cancel

[추천시스템] CH05 - Knowledge-Based Recommender Systems

Introduction

Knowledge-Based 추천시스템은 사용자의 명시적 요구사항도메인 지식을 활용하여 아이템을 추천한다. 평점 이력에 의존하지 않으므로 cold-start 문제에 강하며, 구매 빈도가 낮은 고가 상품(부동산, 자동차, 전자제품 등)에 특히 적합하다.

Collaborative나 Content-Based 방식은 과거 데이터로부터 선호를 학습하지만, Knowledge-Based 시스템은 사용자가 현재 세션에서 직접 요구사항을 명세하고 시스템이 이를 충족하는 아이템을 반환하는 대화형(conversational) 구조를 가진다.


Constraint-Based 추천시스템

기본 구조

사용자의 요구사항을 제약 조건(constraint)으로 정의하고, 이를 만족하는 아이템을 도메인 지식과 함께 검색한다.

1
2
3
4
5
6
7
8
9
10
사용자 요구사항 (예: "예산 50만원 이하, 화면 15인치 이상")
     │
     ▼
[제약 조건 생성]   사용자 요구 → 필터 조건 + 호환성 제약
     │
     ▼
[아이템 검색]     제품 카탈로그에서 모든 제약을 만족하는 아이템 필터링
     │
     ▼
[결과 랭킹]       유틸리티 함수로 정렬하여 상위 아이템 반환

제약 조건 유형

  • 필터 조건(Filter conditions): 사용자 요구를 직접 아이템 속성에 매핑 (예: 가격 ≤ 50만원)
  • 호환성 제약(Compatibility constraints): 도메인 지식 기반의 규칙 (예: “게임용이면 GPU 메모리 ≥ 8GB”)

제약 만족 문제 (CSP)

형식적으로, Constraint Satisfaction Problem은 세 가지 요소로 정의된다:

  • $\mathcal{V} = {V_1, V_2, \ldots, V_n}$: 변수 집합 (아이템 속성)
  • $\mathcal{D} = {D_1, D_2, \ldots, D_n}$: 각 변수의 도메인 (가능한 값의 범위)
  • $\mathcal{C} = {C_1, C_2, \ldots, C_m}$: 제약 조건 집합

목표는 모든 제약을 동시에 만족하는 아이템을 찾는 것이다.

빈 결과 집합 처리

제약이 너무 엄격하여 결과가 없을 때의 전략:

  1. 제약 완화(Constraint relaxation): 사용자에게 제약 조건 수정을 제안 (예: “예산을 60만원으로 올리면 3개 상품이 있습니다”)
  2. 최소 충돌 제약 식별: 결과를 비게 만드는 최소 제약 부분집합을 찾아 사용자에게 제시
  3. 우선순위 기반 완화: 사용자가 지정한 제약 우선순위에 따라 낮은 우선순위 제약부터 완화

Case-Based 추천시스템

유사도 기반 검색

사용자가 원하는 아이템의 속성을 질의(query)로 입력하면, 제품 카탈로그에서 가장 유사한 아이템을 검색한다.

가중 유사도 함수:

\[\text{sim}(\mathbf{q}, \mathbf{c}) = \frac{\sum_{i=1}^{d} w_i \cdot \text{sim}_i(q_i, c_i)}{\sum_{i=1}^{d} w_i}\]
  • $\mathbf{q}$: 사용자 질의 벡터
  • $\mathbf{c}$: 후보 아이템 벡터
  • $w_i$: 속성 $i$의 중요도 가중치
  • $\text{sim}_i$: 속성별 로컬 유사도 함수

로컬 유사도 함수

속성 유형에 따라 다른 유사도 함수를 적용한다:

속성 유형유사도 함수예시
수치형$1 - \frac{|q_i - c_i|}{\max - \min}$가격, 화면 크기
범주형일치 시 1, 불일치 시 0브랜드, 색상
순서형순위 차이 기반 거리등급 (상/중/하)

다양성 반영

유사도만으로 랭킹하면 지나치게 유사한 아이템이 상위에 몰린다. 결과의 다양성(diversity)을 확보하기 위해, 유사도와 기존 추천 목록과의 비유사성을 결합한 점수를 사용한다.


Critiquing (크리틱)

크리틱은 사용자가 현재 추천 결과를 피드백하여 점진적으로 개선하는 대화형 메커니즘이다.

Simple Critiques

단일 속성에 대한 방향성 피드백:

  • “더 저렴한 것” → 가격 속성에 하한 제약 추가
  • “화면이 더 큰 것” → 화면 크기에 하한 조정

Compound Critiques

여러 속성을 동시에 조정:

  • “더 저렴하면서 더 가벼운 것” → 가격 ↓ AND 무게 ↓

Compound critique는 연관 규칙 마이닝(Apriori 알고리즘)을 통해 자동 생성할 수 있다. 현재 추천 결과와 나머지 아이템 간의 속성 차이 패턴에서 지지도(support)와 신뢰도(confidence)가 높은 규칙을 추출한다.

Dynamic Critiques

시스템이 남은 아이템 공간을 분석하여 자동으로 의미 있는 크리틱을 생성하여 사용자에게 제안한다. 사용자가 직접 크리틱을 구성할 필요 없이, 제안된 옵션 중 선택하면 된다.


설명과 신뢰

Knowledge-Based 시스템은 추천 이유를 제약 조건 충족 여부로 직접 설명할 수 있다:

  • “이 제품은 예산 50만원 이하, 15인치 이상, SSD 256GB 이상 조건을 모두 만족합니다”
  • “화면 크기를 14인치로 낮추면 3개 추가 옵션이 있습니다”

이러한 투명한 설명은 사용자 신뢰를 높이고, 제약 완화 시 어떤 트레이드오프가 발생하는지 이해하게 돕는다.


지속적 개인화 (Persistent Personalization)

전통적 Knowledge-Based 시스템은 세션 간 사용자 모델을 유지하지 않는다(stateless). 그러나 반복 방문 사용자의 과거 요구사항과 크리틱 이력을 저장하면 장기 사용자 모델을 구축할 수 있다.

이를 통해:

  • 초기 제약 조건을 과거 선호로 사전 설정
  • 크리틱 패턴에서 사용자의 중요 속성 가중치를 학습
  • Collaborative Filtering과 결합하여 하이브리드 시스템 구성

Knowledge-Based vs 다른 접근 비교

항목Knowledge-BasedCollaborativeContent-Based
Cold-Start면역취약부분 취약
필요 데이터도메인 지식 + 요구사항다수 사용자 평점아이템 속성 + 이력
적합 도메인고가/저빈도 상품다빈도 소비 상품텍스트/미디어
개인화 수준세션 내 (기본)높음중간
유지보수 비용높음 (지식베이스 관리)낮음중간
대화형지원미지원미지원

Reference

  • Aggarwal, C.C. Recommender Systems: The Textbook. Springer, 2016. Chapter 5.

[추천시스템] CH04 - Content-Based Recommender Systems

[추천시스템] CH06 - Ensemble-Based and Hybrid Recommender Systems