Recsys Study Ch5. Knowledge-Based Recommender Systems

Smiling Sammy·2022년 7월 29일
0

recsys-study

목록 보기
5/5

출처

  • Charu C. Aggarwal (2021) 추천시스템 : 기초부터 실무까지 머신러닝 추천 시스템 교과서. 에이콘 출판사 219-254p
  • Charu C. Aggarwal (2016). Recommendation System. Springer International Publishing 189-219p

5.1 개요

  • 사용자에 맞게 customize된 제품일수록 cold start 문제가 심함
  • 지식 기반 추천시스템은 사용자 요구 사항에 의존하기 때문에 해결 가능
    • 협업필터링: 나와 비슷한 사용자 그룹의 선호도
    • 콘텐츠 기반 추천시스템: 내가 선호하는 제품 기반 비슷한 유형의 제품 추천
    • 지식 기반 추천시스템: 내가 미리 지정한 선호 기반 추천
  • 지식 기반 추천 시스템이 적합한 경우
    • 고객이 자신의 요구사항을 자세히 명시할 때
    • 도메인의 복잡성으로 평점을 얻기 어려운 경우
    • 도메인이 시간에 민감한 경우 (ex. 오래된 컴퓨터)
  • 유형
    • 제약 조건 기반 추천 시스템
      • 사용자가 요구 사항 or 제약 조건을 지정
      • 특정 도메인에 대한 지식은 요구 사항에 매칭하는데 사용됨
        (ex. 1970년 이전의 자동차는 크루저컨트롤이 없음)
      • 종종 항목 속성에 대한 사용자 속성과 관련된 규칙을 만듦
        (ex. 고위험 투자자는 초고위험 상품에 투자하지 않는다)
      • 결과의 수와 유형에 따라 사용자의 요구 사항을 수정할 수 있음
        (ex. 결과 수가 너무 적은 경우 → 제약 조건 완화)
    • 사례 기반 추천 시스템
      • 사용자가 특정 사례를 타겟 or 주요 포인트로 지정
      • 타겟과 유사한 항목을 검색하기 위해 항목 특성에 유사도 메트릭을 정의
      • 사용자가 자신이 요구 사항을 원하는 대로 수정을 할 수 있음
      • 타깃이 상호작용을 통해 사용자에 의해 수정 or 검색 결과의 직접적 수정을 통해 정리

지식 기반 시스템은 고도로 맞춤화되어 있으며, 다양한 도메인에서 쉽게 일반화 할 수 없음

  • 사용자와 추천 모델 간 상호작용
    • 대화형 시스템 → 피드백 루프의 맥락에서 결정됨
    • 검색 기반 시스템 → 미리 설정된 질문을 사용하여 도출
      • 제약 조건 기반 추천 모델
    • 탐색 기반 추천 (= 비평 추천 시스템) → 현재 추천 중인 항목에 대한 변경 요청
      • 사례 기반 추천 모델

5.2 제약 조건 기반 추천 시스템

  1. 사용자가 요구 사항 or 제약 조건을 지정
    1. 고객과 추천 시스템 간의 대화 중에 지정됨
  2. 일련의 규칙 사용 → 고객 요구사항을 항목 특성과 일치시키기 위함

추천 제품을 필터하기 위해서는 고객 속성/요구 사항을 제품 특성에 매핑할 수 있어야 한다.

→ 매핑할 수 있는 ‘룰'이 필요

→ 룰의 유형은 제품 도메인 or 데이터 세트의 마이닝으로부터 파생 될 수 있음
(*호환성 조건: 제품 도메인과 사용자가 지정한 요구 사항의 불일치를 신속하게 검색하는데 사용)

기본 입력 유형

  1. 사용자의 고유한 속성 및 특정 제품 요구 사항을 설명하는 속성
    1. 고객 속성 및 요구 사항: 대화식 세션에서 지정 → 지정한대로 동일한 결과를 얻음
  2. 다양한 제품 속성에 고객 특성/요구 사항을 매핑하는 기술
    1. 직접적: 엄격한 요구 사항

      ex. 최소 침실 수 ≥3 ⇒ 가격 ≥ 100,000

    2. 간접적: 일반적으로 예상되는 제품 요구사항과 관련시킴

      ex. 가족 수 ≥ 5 ⇒ 최소 침실 수 ≥ 3

  3. 제품 카탈로그에는 해당 항목 속성과 모든 제품의 목록이 포함

5.2.1 관련 결과 반환

카탈로그의 각 항목을 속성에 대한 제약으로 보고, 카탈로그를 disjunctive normal 형식으로 표현

(= 일련의 규칙 및 요구사항을 카탈로그의 데이터로 필터링하는 작업)

  • Disjunctive Normal Form(DNF): 논리합 정규형 (논리곱 절들이 논리합으로 연결되어 있는 논리식)

이미지 출처: https://blog.naver.com/PostView.nhn?blogId=bycho211&logNo=221160392448&parentCategoryNo=&categoryNo=11&viewDate=&isShowPopularPosts=false&from=postView

→ 지식 기반의 규칙과 결합되어 제품 공간의 상호 일관된 영역이 존재하는지 여부를 결정

필터링 쿼리를 만드는 과정

  1. 사용자 인터페이스에서 고객이 지정한 요구사항에 대해 지식 기반 규칙 선행 조건과 일치하는지 확인
    1. 일치 → 해당 규칙 결과가 유효한 선택 조건으로 처리됨
    2. 가족 수 ≥ 5 ⇒ 최소 침실 수 ≥3 >> 최소 침실 수 ≥3 ⇒ 침실 수 ≥3
  2. 확장된 요구 사항은 논리곱 정규형 (CNF)으로 DB Query를 구성하는데 사용됨
  3. 선택 쿼리는 사용자 요구사항과 관련된 카탈로그 사례를 검색하는데 사용

지정된 정보는 지속되지 않음 → 동일한 입력은 동일한 결과를 얻게됨

제약 조건을 충족하는 결과 목록이 사용자에게 표시됨

5.2.2 상호 작용 접근법

전반적인 접근 방식은 반복적인 피드백 루프를 통해 사용자가 의미있는 결정을 내릴 수 있도록 지원

사용가능한 선택에 대한 인식을 높이는 요구 사항에 대해 안내할 수 있는 시스템 설계가 중요

  1. 대화형 인터페이스로 사용자의 초기 설정을 지정
    1. 기본 값을 제안 → 기본값의 목표는 옵션의 대체가 아닌 사용자가 선택할 수 있게 안내하는 것
  2. 사용자에게 순위화된 매칭 아이템 목록 표시 + 아이템이 반환되는 이유에 대한 설명 제공
  3. 사용자는 반환된 결과에 따라 요구 사항을 구체화 → 요구 사항 추가 or 제거

5.2.3 일치 항목 순위 지정

간단한 접근방식: 사용자가 지정한 기준으로 단일 숫자 속성을 지정할 수 있도록 하는 것

→ 단일 특성을 사용하면 다른 특성의 중요성이 감소되는 단점이 있음

일반적인 방식: 효용 함수를 사용

U(V)=j=1dwjfj(vj)U(\overline V) = \sum^d_{j=1}{w_j\cdot f_j(v_j)}

  • wjw_j, fj()f_j(\cdot)의 값을 인스턴스화 해야됨
  • 도메인별 지식 + 과거 사용자 상호작용의 학습 데이터가 필요

5.2.4 허용되지 않는 결과 or 공집합 처리

쿼리 반환 결과가 없는 경우

  1. 시작점으로 돌아가서 다시 선택
  2. 제약 조건 변경 or 완화 (repair proposal)

5.2.5 제약 조건 추가

반환되는 결과 수가 너무 많아서 사용자에게 제약 조건을 제안해야 될 수도 있음

제약 조건에 대한 특성은 종종 기록 세션 로그를 마이닝하여 선택하기도함

  • 로그 정의 대상
    • 모든 사용자
    • 특정 사용자 → 콜드 스타트 문제

기록 세션 데이터 사용 방법 → 인기 있는 제약 조건 선택

  • 사용자가 지정한 제약 조건을 포함하는 세션 로그 식별
  • Top-K 세션 중 가장 인기 있는 제약 조건을 후보로 제안

5.3 사례 기반 추천

지정된 대상(or 사례)과 유사한 예시를 검색하는데 사용

엄격한 제약 조건 (min or max)이 적용되지 않음

유사도 함수로 사용자가 지정한 대상과 유사한 예제를 검색

적절한 해결책을 찾을 때까지 사용자 쿼리 요구 사항을 반복적으로 수정

  • 한 주기에서 다음 주기로 넘어가야 반환되는 응답 수가 줄어듦
  • 초기 결과와 다른 최종 결과에 도달 가능 → 사용자가 처음부터 원하는 모든 기능을 표현하기 어렵기 때문

비평 (critiquing)

  • 사용자가 검색된 결과 중 하나 이상을 선택하고 다음 형식의 추가 쿼리를 지정할 수 있는 것
  • 목적: 사용자가 검색된 예제를 통해 사용할 수 있는 추가 옵션을 점차적으로 알게 되는 대화형 검색을 지원
  • Give me more items like X, but they are different in attribute(s) Y according to guidance Z

5.3.1 유사도 측정

유사도 함수: f(T,X)=iSwiSim(ti,xi)iSwif(\overline T, \overline X) = \Large{\sum_{i \in S}{w_i\cdot Sim(t_i, x_i)} \over \sum_{i \in S}w_i}

대칭 메트릭: 두 특성 간의 차이에 의해 유사도가 정의됨

Sim(ti,xi)=1tiximaximiniSim(t_i, x_i) = 1 - \Large{{|t_i-x_i|}\over {max_i-min_i}}

Sim(ti,xi)=max{0,1tiximaximini}Sim(t_i, x_i) = max\Large\{ \small0, 1 - \Large{{|t_i-x_i|}\over {max_i-min_i}} \}

비대칭 메트릭: 대상 속성 값이 작거나 큰 지에 따라 비대칭 보상을 추가할 수 있음

  • αi\alpha_i의 값은 도메인에 의해 선택됨
    • αi\alpha_i > 1: 대상과 멀어짐
    • αi\alpha_i = 1: 어느쪽 방향도 신경 쓰지 않음
    • 0< αi\alpha_i < 1: 사용자가 타깃값을 선호하지만 비대칭성 선호를 가질 수 있음

Sim(ti,xi)=1tiximaximini+αiI(xi>ti)tiximaximiniSim(t_i, x_i) = 1 - \Large{{|t_i-x_i|}\over {max_i-min_i}} \small + \alpha_i\cdot I(x_i > t_i)\cdot \Large{{|t_i-x_i|}\over {max_i-min_i}}

범주형 데이터 → 유사도 값을 결정하기 어려움

  • 원천에서 도메인 계층 구조를 사용 or 직접 손으로 구성

다양한 특성의 상대적 중요도 결정

  • 도메인 전문가가 경험을 통해 wiw_i값을 직접 코딩
  • 사용자 피드백과 함께 wiw_i값을 학습

5.3.2 비평 방법론

사용자가 초기 쿼리에서는 자신이 원하는 것을 정확히 명시할 수 없다는 부분에서 시작

  • 방향성 비평 (ex. 더 저렴)
    • 사용자가 정확하게 특성 값을 지정하거나 변경할 필요 없이 자신의 기본 설정을 명시하고 후보군 안에서 탐색할 수 있음 (정확한 값을 모르는 도메인에서 중요)
    • 간단한 대화 스타일을 가지고 있음
    • 탐색이 힘듦
  • 대체 비평 (ex. 다른 색상)

비평 종류

  • 간단한 비평: 권장 항목 중 하나로 지정 (방향성 비평 사용)
  • 복합 비평:
    • 추천 주기의 길이를 줄이기 위해 개발
    • 사용자에게 변화의 조합을 거의 다 보여줌
    • 권장 사항의 여러 기능을 변경할 수 있음
      • 사용자가 새로운 쿼리를 실행하거나 이전 쿼리의 검색 결과를 제거하기 위함
    • 정적임 → 사용자에게 표시되는 기준 옵션이 검색된 결과에 의존하지 않는다는 점
  • 동적 비평
    • 검색된 결과에 대한 데이터 마이닝을 사용하여 가장 유익한 탐색 방법을 찾아 사용자에게 제공
    • 사용자에게 변화의 조합을 거의 다 보여줌 (관련성이 높은 조합만)

5.3.3 비평에 대한 설명

비평의 질을 향상시키는 법

  1. Trade-Off 특성을 자동으로 결정
  2. 복합 수정을 만족시키는 예시의 일부를 정보로 제공

5.4 지식 기반 시스템의 지속적인 개인화

사용자 상호작용 데이터를 사용할 수 있는 경우, 지식 기반 시스템의 여러 단계를 개인화 할 수 있음

  1. 효용/유사도 함수의 다양한 특성에 대한 학습
  2. 사용자에게 제약조건을 제안하는 단계
  3. 관련 패턴을 결정하기 위해 해당 유저로부터 충분한 데이터를 사용할 수 있는 경우

But 특정 사용자에 대한 충분한 세션 데이터를 활용할 수 없기 때문에,
지식 기반 시스템에서 개인화의 수준이 일반적으로 제한됨

profile
Data Scientist, Data Analyst

0개의 댓글