인공지능 아키텍처 - 추천엔진 (Recmmendation Engine), 협업필터링
태그 :
- 개념
- 규칙기반모델, 전문가시스템, 의사결정트리, 콘텐츠기반, 사용자기반
## Ⅰ. 전문가시스템의 하나, 추천엔진 (Recommendation Engine) 의 개요
### 가. 추천엔진 (Recommendation Engine) 의 정의
- 콘텐츠 내용에서 유사한 정보를 찾거나, 사용자와 연관된 정보를 추천하는 일종의 전문가시스템
### 나. 추천엔진의 분류
| 구분 | 설명 |
| -------- | -------- |
| **Contents-based** | - 콘텐츠 내용 자체를 분석하여 유사한 상품, 기사 등을 추천
- 상품 설명에 의존
- 적은 자료로 추천 가능하나, 좁은 추천 범위 | | **User-Based** |- 사용자의 활동이력(검색, 구매 등)을 이용하여 추천
- 여러 사람의 평가 정보를 활용
- 많은 자료 필요, 다양한 범위 추천 가능| 사용자 기반의 추천엔진, 협업 필터링(Collaboration Filtering)을 주로 활용 ## Ⅱ. 사용자 기반 추천엔진, 협업필터링(Collaboration Filtering) ### 가. 협업필터링 알고리즘 개념도 ![](/upload/editor/images/협업필터링알고리즘개념도.png) ### 나. 협업필터링 알고리즘 설명 | 구분|User based Filtering | Item Based Filtering |
| -------- | -------- | -------- |
| 개념 | 나와 유사한 성향을 지는 사람을 기반으로 그 사람들의 성향의 유사도를 측정하여 추천 | 내가 선호하는 아이템을 기반으로 아이템의 유사도를 측정하여 추천 |
| 절차 | - Step1: 같은 패턴을 가지는 사용자를 찾음
예) A라는 아이템에 대해 별 5개를 준 고객이 있다고 할 경우, 이와 같은 등급을 부여한 B라는 고객을 찾음
- Step2: 같은 유형의 사람들이 했던 패턴을 예측(Prediction) 정보로 제공한다 |- Step1: 아이템에 대해 서로의 관계를 알 수 있는 매트릭스를 만듦
- Step2: 사용자와 일치하는 데이터를 찾아 매트릭스에 대입하여 현재 사용자의 선호도를 예측| ## Ⅲ. 협업필터링 알고리즘 상세 분류 |항목 | Memory-Based CF | Model-Based CF | Hybrid CF |
| -------- | -------- | -------- | -------- |
| 개념 | - 사용자의 선호도(Rating) 기반으로 사용자(User) 또는 아이템(Item)의 유사도를 계산하는 방법 | - Usage 데이터를 기반으로 Training을 하여 패턴을 발견하는 과학적인 기법 | - Memory-Based CF와 Model-Based CF를 혼용하는 방법 |
| 알고리즘 | - Nearest Neighbor Algorithm, Top-N 추천 알고리즘
- User-User / Item-Item Based | - 베이지안, 클러스터링
- 회귀, 시맨틱 등 수학적 모델, 차원축소 CF 등|- Content-Based CF
Combining Algorithms| | 사례 | - 쇼핑몰이나 VOD 서비스에서 제공하는 대다수의 추천 기술 | - 실제 Data에 대한 예측을 하는데 이용
- 일기예보 등 | - Google의 뉴스 추천 서비스 | | 단점 | - 사람의 선호도(Rating) 의존적
- 표본데이터 모수가 적으면 성능도 떨어짐 → 새로운 사용자나 아이템이 추가되는데 따르는 확장성(Scalability) 떨어짐 | - 반대로 모델을 만드는데 고비용
- 데이터가 클수록 성능이 떨어짐| - 적은 모수의 소스에 대해서도 대응이 가능 | ## IV. 추천 알고리즘의 문제점, 필터버블(Filter Bubble) - 추천 알고리즘은 음악, 영화, 광고, 온라인 뉴스, 친구 소개 등 거의 모든 온라인 시스템에서 사용되며, 추천 시스템은 정보를 추려서(filtering) 사용자에게 제공함으로써 사용자가 전체 정보를 볼 기회를 박탈당할 수 있음
→ (필터버블)추천 시스템이 고도화될수록 사용자의 입맛에 맞는 정보만 제공되고 나머지 정보는 감추어지는 위험 현상 ![](/upload/editor/images/필터버블.png) →(문제점) 상품이나 광고의 경우에는 이러한 현상의 심각성이 크지 않을 수 있다. 하지만 뉴스나 정보의 경우, 예기치 않은 정보의 차단이 큰 문제가 될 수도 있을 것이다. 예를 들어 본인의 정치적 입맛에 맞는 뉴스만 계속 추천받아 보는 경우가 가능해지는 것이다. 보고 싶은 정보만 보고, 보기 불편한 정보는 자동으로 건너뛰는 것이 기술적으로 가능해지면서 야기될 수 있는 **정보의 편향적제공**은 **극단적인 양극화와 같은 사회적 문제**를 가져올 수도 있다. 2014년에 페이스북 연구진이PNAS에 발표한 논문(Kramer et al. 2014)에서 보이듯, **추천되는 정보에 따라서 사용자의 감정도 조정할 수 있다**는 사실이 밝혀지기도 했음
(출처: KOCCA, 콘텐츠 추천 알고리즘의 진화, 2016)
- 상품 설명에 의존
- 적은 자료로 추천 가능하나, 좁은 추천 범위 | | **User-Based** |- 사용자의 활동이력(검색, 구매 등)을 이용하여 추천
- 여러 사람의 평가 정보를 활용
- 많은 자료 필요, 다양한 범위 추천 가능| 사용자 기반의 추천엔진, 협업 필터링(Collaboration Filtering)을 주로 활용 ## Ⅱ. 사용자 기반 추천엔진, 협업필터링(Collaboration Filtering) ### 가. 협업필터링 알고리즘 개념도 ![](/upload/editor/images/협업필터링알고리즘개념도.png) ### 나. 협업필터링 알고리즘 설명 | 구분|
예) A라는 아이템에 대해 별 5개를 준 고객이 있다고 할 경우, 이와 같은 등급을 부여한 B라는 고객을 찾음
- Step2: 같은 유형의 사람들이 했던 패턴을 예측(Prediction) 정보로 제공한다 |- Step1: 아이템에 대해 서로의 관계를 알 수 있는 매트릭스를 만듦
- Step2: 사용자와 일치하는 데이터를 찾아 매트릭스에 대입하여 현재 사용자의 선호도를 예측| ## Ⅲ. 협업필터링 알고리즘 상세 분류 |
- User-User / Item-Item Based | - 베이지안, 클러스터링
- 회귀, 시맨틱 등 수학적 모델, 차원축소 CF 등|- Content-Based CF
Combining Algorithms| | 사례 | - 쇼핑몰이나 VOD 서비스에서 제공하는 대다수의 추천 기술 | - 실제 Data에 대한 예측을 하는데 이용
- 일기예보 등 | - Google의 뉴스 추천 서비스 | | 단점 | - 사람의 선호도(Rating) 의존적
- 표본데이터 모수가 적으면 성능도 떨어짐 → 새로운 사용자나 아이템이 추가되는데 따르는 확장성(Scalability) 떨어짐 | - 반대로 모델을 만드는데 고비용
- 데이터가 클수록 성능이 떨어짐| - 적은 모수의 소스에 대해서도 대응이 가능 | ## IV. 추천 알고리즘의 문제점, 필터버블(Filter Bubble) - 추천 알고리즘은 음악, 영화, 광고, 온라인 뉴스, 친구 소개 등 거의 모든 온라인 시스템에서 사용되며, 추천 시스템은 정보를 추려서(filtering) 사용자에게 제공함으로써 사용자가 전체 정보를 볼 기회를 박탈당할 수 있음
→ (필터버블)추천 시스템이 고도화될수록 사용자의 입맛에 맞는 정보만 제공되고 나머지 정보는 감추어지는 위험 현상 ![](/upload/editor/images/필터버블.png) →(문제점) 상품이나 광고의 경우에는 이러한 현상의 심각성이 크지 않을 수 있다. 하지만 뉴스나 정보의 경우, 예기치 않은 정보의 차단이 큰 문제가 될 수도 있을 것이다. 예를 들어 본인의 정치적 입맛에 맞는 뉴스만 계속 추천받아 보는 경우가 가능해지는 것이다. 보고 싶은 정보만 보고, 보기 불편한 정보는 자동으로 건너뛰는 것이 기술적으로 가능해지면서 야기될 수 있는 **정보의 편향적제공**은 **극단적인 양극화와 같은 사회적 문제**를 가져올 수도 있다. 2014년에 페이스북 연구진이PNAS에 발표한 논문(Kramer et al. 2014)에서 보이듯, **추천되는 정보에 따라서 사용자의 감정도 조정할 수 있다**는 사실이 밝혀지기도 했음
(출처: KOCCA, 콘텐츠 추천 알고리즘의 진화, 2016)