저장소
[추천시스템] 01. 추천시스템 개요 본문
1. 추천 시스템이란?
- 사용자(User)와 아이템(Item)으로 구성
- Item, User 구분 없이 관심 갖을만한 정보를 관련도에 따라 리스트(list) 형태로 추천
- 사용자의 정보 수집 소요 시간 줄이기가 목적
2. 사용자(User)와 아이템(Item)
- 사용자-아이템 관계 분석 + 연관 관계 찾기 + 연관 관계 점수화
- 사용자-아이템 정보 활용

(1) 사용자 프로필(Profile)
- 사용자 or 사용자 그룹별 분석 가능 요소로 프로파일링
- 사용자 구분 가능 정보 활용: ID, 쿠키, 행동 패턴, ...
- 수집 방법
- 직접적(Explicit): 설문조사, 평가, 피드백 등
- 간접적(Implicit): 웹 페이지 잔류 시간, 행동 패턴, 검색 로그 등
(2) 아이템 프로필
- 플랫폼마다 정의하는 아이템의 종류가 상이하고 관련있는 상품(or 아이템)만 추천
- 아이템 프로필 정보 활용: 아이템 ID, 고유 정보(크기, 색, 가격 등), 구매자 정보 등
3. 추천점수
- 분석된 사용자-아이템 정보(feature)를 활용해 정량화된 기준을 바탕으로 추천점수 계산
- 어떤 정보를 사용할지에 따라 추천 알고리즘 결정
- 추천 알고리즘의 목적 = 점수화(Scoring)
4. 추천 시스템 활용
(1) 예시
- 넷플릭스(콘텐츠 추천), 인스타그램(광고 노출), 쿠팡(상품 추천) 등
(2) 데이터 종류
- Items: 추천 항목, 가치와 데이터의 복잡함에 따라 구분
- Users: 여러 목적과 특징을 갖는 집단
- 프로필 수집: 유저 모델링
- 협업 필터링: 평점 리스트 생성
- 사회적인 요인 활용
- Transaction: 유저-아이템 간 상호작용
- 유저의 인터넷에 남긴 로그에서 중요 정보 추출 가능
(3) 풀고자 하는 문제
- 랭킹 문제
- 특정 유저-아이템 사이의 선호도에 따른 Top-K를 선정 가능해야 함
- 예측 문제
- 유저(m명)-아이템(n명)의 m*n 행렬을 채우는 문제
- 비어있는 부분 존재
- 관측값(Observed value): 모델 학습에 사용
- 결측값(Missing value): 모델 평가에 사용

5. 추천 시스템 알고리즘

- 대상 상품에서 후보 상품 추출 => 추출 상품에 대한 예측 or 필터링 => 순위 매기기
(1) Content-based Recommender System: 콘텐츠 기반 추천시스템

- 사용자가 과거에 좋아했던 아이템 파악 => 비슷한 아이템 추천
(2) Collaborative Filtering: 협업 필터링

- 비슷한 성향 또는 취향을 갖는 다른 유저가 좋아한 아이템을 현재 유저에게 추천
- 간단하지만 수준 높은 정확도
(3) Hybrid Recommender System

- 콘텐츠 기반 + 협업 필터링의 장-단점 상호보완
- 협업 필터링 = 새로운 아이템에 대한 추천 부족
- 콘텐츠 기반 = cold-start 문제에 도움
- cold-start: 추천 시스템이 새로운 또는 어떤 유저들에 대한 충분한 정보가 수집되지 않아서 해당 유저들에게 적절한 아이템을 추천해주지 못하는 문제
(4) Other Recommendation Algorithms
- Context-based Recommendation: 맥락 기반 추천시스템
- Context-aware
- 유저가 처한 상황, 맥락에 기초한 상품추천 방법
- Ex) Location-Based(위치), Real-time or Time-Sensitive(시간) Recommender
- Community-based Recommendation: 커뮤니티 기반 추천 시스템
- 친구, 커뮤니티 등 관계 대상의 선호 기반 추천 방법
- SNS 뉴스 피드, 네트워크 데이터 등 활용
- Knowledge-based Recommendation: 지식 기반 추천 시스템
- 특정 도메인(산업) 지식 기반 고객/아이템 특성 활용 추천
- Ex) Case-based(사례 기반: 사용자의 needs 중 가장 적합한 것), Constraint-based(제약 기반: 경험이나 전문 지식을 통해 정해진 규칙)

6. 추천 시스템 한계
종류 | 특징 |
Scalability | 학습 or 분석 사용 데이터와 실전 데이터의 차이 Ex) 트렌드 변화, 예상치 못한 아이템의 선호도 급증 |
Proactive Recommender System | 특별 요청이 없어도 사전에 먼저 제공하는 추천서비스 Ex) push-information: 유저의 갈증 해소를 위해 끊임없이 정보를 추천해야 함 |
Colde-Star Problem | 데이터 부족 협업필터링 모델 구축 어려움 콘텐츠 기반 or 지식 기반 방법 => 서비스로 적용 어려움 |
Privacy preserving Recommender System | 개인정보 등 유저 정보 접근/직접 사용 어려움 |
Mobile devices and Usage Contexts | 개별 상황 또는 환경 등에 따라 다른 context 사용 |
Long-term and Short-term user preference | 개인 or 그룹의 단기/장기 관심사항: 추천받고 싶은 아이템이 어느 시기와 관련 있는지 파악 어려움 |
Generic User models and Cross Domain Recommender System | 유사 도메인 데이터 활용 시에도 동일 성능 보장X |
Starvation and Diversity |

- Long Tail Economy
- 10% 데이터만 활용하여 추천 => 치중될 수 있음
- 나머지 90% 데이터 활용 필요
'IT > 인공지능' 카테고리의 다른 글
[추천시스템] 02. 추천 알고리즘_컨텐츠기반 (0) | 2022.04.12 |
---|---|
[AtoI] Chapter 04. Sequence-to-Sequence (0) | 2021.11.08 |