본문 바로가기

추천 시스템 | Recommender System

추천 시스템 02. Demographic Filtering 인구통계학적 필터링

첫 번째로 살펴볼 Recommendation System 접근법은 Demographic Filtering, 인구통계학적 접근법입니다.

 

이전 포스팅에서 간단히 설명했듯이, Demographic Filtering은 인구통계학적 정보를 기반으로 미리 유저 그룹을 정의해두고, 타깃 유저를 그중 하나의 그룹으로 분류합니다. 이 과정을 조금 더 고급지게 표현하자면 Stereotyping, 정형화라고 부를 수 있습니다.

 


Stereotyping. 정형화.

 

(Stereotype이라고 하면 보통 '고정관념'이라는 부정적 함의를 가진 단어로 해석이 되는데요. 여기서는 그런 부정적인 의미보다는 '대표 이미지'라는 개념으로 받아들이시면 될 것 같습니다. ت )

 

Stereotyping을 통한 recommendation은, 머신러닝 학습법 중에서도 classification task와 유사하다고 볼 수 있습니다. Classification task는 결과물이 범주형 데이터(categorical data)라는 특징을 가지고 있는데, Stereotyping 또한 주어진 인풋을 학습한 후 '유저 그룹 A', '유저 그룹 B' 등 타깃 유저와 가장 부합하는 유저 그룹을 결과로 내놓기 때문입니다.

 

 

Streotyping의 인풋인 유저에 대한 인구통계학적 정보들은 보통 '가입 양식'을 작성할 때 수집하게 되는데요. 구체적으로 예를 들자면, 개인에 대한 정보 (나이, 성별 등), 거주지에 대한 정보 (도시, 행정구역, 우편번호 등), 그리고 라이프스타일에 대한 정보 (직업, 취미 등) 등을 수집할 수 있습니다.

 


Case Study: LifeStyle Finder

 

글의 서두에서 "유저 그룹은 사전에 정의가 되어있어야 한다"라고 언급했는데요. 그렇다면 이 유저 그룹은 어떤 과정을 통해 정의되는 걸까요? 실제 사례를 통해서 한 번 알아보도록 하겠습니다. (물론 이 사례에서 다루는 방법만이 정답인 것은 아니지만요. ت )

 

우리가 살펴볼 사례는 인터넷에 대한 관심이 막 뜨거워지기 시작하던 (무려) 1997년에 발표된 LifeStyle Finder라는 논문입니다. Demographic Filtering만을 다룬 논문이 많이 없다 보니 거슬러 거슬러 올라가 1997년까지 가게 되었네요..

 

✎ 유저 그룹은 어떻게 정의하나요?

 

LifeStyle Finder는 총 62개의 유저 그룹을 기준으로 타깃 유저를 분류하는데, 이 유저 그룹은 마케팅 업체 Claritas Corporation의 PRIZM이라는 market segmentation method를 차용하여 정의되었습니다. 즉, 모델링을 통해 기계학습을 시키기보다는 구매 기록 분석, 설문조사 등을 통해 마케터들이 손수 작업하여 만들어 낸 체계를 빌려 사용한 것이죠. 

 

참고로 PRIZM은 무려 600개 이상의 변수를 기준으로 유저 그룹을 정의했습니다. 강아지를 키우는지, 매달 캐나다 산 위스키를 구매하는지, HBO 케이블 TV를 구독하는지 등 굉장히 디테일한 변수들을 사용한 것을 보면 마케터들의 피, 땀, 눈물이 느껴집니다.

 

✎ 어떤 유저 그룹에 속하는지 어떻게 결정하나요?

 

PRISM을 활용하여 유저 그룹을 정의하고 나면, 이제 타깃 유저를 분류할 차례입니다. 우선, LifeStyle Finder는 600여 개의 변수에서 세 가지 정도를 선정하여 타깃 유저에게 질문을 던집니다. 그리고 그에 대한 답들을 constraint으로 활용하여 62개의 유저 그룹을 필터링합니다. 

 

예를 들어, 타깃 유저가 '나는 취미로 테니스를 친다'라는 답을 주었다면, '테니스 치기' 변수에 대해 0.5 이상의 값을 가지고 있는 (0과 1 사이의 값을 가진다고 한다면) 유저 그룹들만이 살아남는 것이죠. 

 

각 답변에 대해 이와 같은 필터링 과정을 거친 후, 최종적으로 한 개의 유저 그룹만 남는다면 분류 과정이 바로 종료되고, 여전히 여러 그룹이 남는다면, 그룹 간에 가장 다른 경향을 보이는 변수 하나를 선정하여 타깃 유저에게 추가적인 질문을 하게 됩니다. 한 개의 유저 그룹이 남을 때까지.

 

LifeStyle Finder 프로세스 (Source: Kruwich, 1997)

 

위와 같은 과정을 거치고 나면 타깃 유저는 아래의 그림처럼 무엇을 사면 좋을지, 어디를 가면 좋을지 다양한 recommendation 결과를 받게 됩니다. 이 recommendation은 자신이 최종적으로 속하게 된 유저 그룹의 선호도를 반영한 것이죠.   

 

LifeStyle Finder의 추천 결과물 (Source: Krulwich, 1997)

 


Demographic Filtering이 많이 쓰이지 않는 이유

 

Content-based Filtering, Collaborative Filtering에 비해 Demographic Filtering의 인기는 다소 약한 편입니다. 

 

유저의 구매 기록, 리뷰 기록 등을 필요로 하지 않기 때문에 데이터를 저장해야 되는 부담도 적고, 필터링을 통해 유저 그룹을 추려내는 간단한 프로세스이기 때문에 연산 비용이 많이 들지도 않는데, 왜 인기가 시들할까요?

 

우선 가장 큰 이유는 인풋이 되는 인구통계학적 정보를 얻기 힘들기 때문입니다. '개인 정보 보호'가 중요한 이 시대에 유저의 나이, 직업, 사는 곳 등을 사용한다는 것은 다소 위험성이 있습니다. 그리고 상대적으로 단순한 접근법이라는 점도 단점으로 작용할 수 있습니다. 타깃 유저를 개성을 지닌 '개인'이라고 보기보다는 유저 그룹 '집단'에 속하는 일부로 보기 때문에, 비교적 광범위한 추천 결과를 내놓게 되죠. 

 

물론 유저 그룹의 개수를 대폭 늘려서 조금 더 '개인화'스러운 추천을 할 수도 있지만, 이렇게 유저 그룹 수를 늘리게 되면 연산 비용이 낮다는 장점을 잃게 되는 trade-off 상황이 발생하게 됩니다. 그렇다면 굳이 Demographic Filtering을 써야 하는 메리트가 줄어들게 되겠죠.

 


 

지금까지 올드한 사례와 함께 Demographic Filtering에 대해서 알아봤는데요. 다음 포스팅에서는 유저에 대한 정보가 아닌, 아이템에 대한 정보를 활용하는 Content-based Filtering에 대해 다루도록 하겠습니다. 그럼 다음 글에서 만나요! Happy machine learning! ت

 

Demographic Filtering 한판 요약 
  • 인풋: 타깃 유저의 개인 정보 (나이, 직업, 거주지, 취미 등) 
  • 아웃풋: 타깃 유저와 가장 잘 부합하는 유저 그룹 & 해당 그룹의 선호도를 반영한 추천 결과
      * 유저 그룹의 정의는 마케팅에서 사용하는 시장 분류법을 그대로 사용할 수 있음
  • 장점:  1/ 대규모의 구매 및 리뷰 기록 저장 불필요 (간단한 개인 정보로 추천 가능)
              2/ 비교적 단순한 프로세스로 연산 비용 낮음 
  • 단점:  1/ 데이터 취득 어려움 (개인 정보 민감)
              2/ 진정한 의미의 개인화 추천이 아님 (개인의 취향보다는 집단의 취향을 반영)

 

 


Reference

1. Montaner, M., López, B., & De La Rosa, J. L. (2003). A taxonomy of recommender agents on the internet. Artificial intelligence review, 19(4), 285-330. https://doi.org/10.1023/A:1022850703159

2. Krulwich, B. (1997).Lifestyle finder: Intelligent user profiling using large-scale demographic data. AI magazine, 18(2), 37-37. https://ojs.aaai.org/index.php/aimagazine/article/view/1292