추천기술
Saltlux
목차 |
개요
현재 웹 사용자들은 웹 환경의 발전으로 인해 수많은 정보들을 접하게 됩니다. 하지만, 사용자 개인의 욕구와 상황에 맞는 적합한 정보를 찾는 일은 쉽지 않습니다. 따라서, 사용자 개인의 선호 및 상황에 맞는 정보를 검색하거나, 추천해줄 수 있는 기술이 요구되고 있습니다. 추천 시스템은 사용자의 프로파일 정보나 선호 정보 등을 통한 추천 기술을 활용하여 사용자가 관심 있어 할만한 정보를 제공합니다. 위키피디아에 따르면 추천 시스템을 다음과 같이 정의하고 있습니다.
Recommender systems form a specific type of information filtering (IF) technique that attempts to present information items (movies, music, books, news, images, web pages) that are likely of interest to the user.
즉 추천 시스템은 개인별로 관심 있는 정보를 필터와 같이 추려서 제공해 주는 시스템이라고 할 수 있겠습니다. 아래는 이 시스템 관련한 주요 기술 요소를 설명합니다.
추천 방식
2. 추천 Approach
추천 결과를 제공하기 위한 방법으로 사용되는 information filtering은 크게 사용자가 선택한 콘텐트의 속성 정보에 기반한 content-based approach와 사용자의 사회적 환경 및 관계 정보에 기반한 collaborative filtering approach, 인구 통계학적 기법을 근간으로 하여, 사용자를 대표하는 군집을 추출하고 이들 공통 패턴과 속성을 뽑아 이를 사용자의 선호정보로 이용하는 demographic filtering approach, 사용자의 명시적인 입력에 의하여 추천하는 knowledge-based approach 등으로 나뉩니다.
1) Content-based filtering
CBF은 사용자의 선호 정보를 제공받아 그와 가장 유사한 아이템을 검색해 주는 기법입니다. 정보검색 기술에 기반을 두고 있는 CBF 기법은 공학적인 관점에서 볼 때 매우 상식적인 접근이라 할 만하나, 몇 가지 단점을 가지고 있습니다. 사용자들 자신이 입력한 좁은 프로필 안에 가두게 될 염려가 있으며, 기법 자체가 추천 아이템의 도메인에 지나치게 종속적인 점이 문제입니다. 또한 사용자는 되도록 적게 입력하게 양질의 추천을 얻으려는 성향이 있어서, 사용자의 온전한 선호 정보 프로파일을 얻는 것은 쉬운 일이 아닙니다.
아래 그램에서는 사용자의 정보에 따라 동일한 종류의 상품이라도 다르게 추천되어야 하는 경우를 보여줍니다.
CBF의 알고리즘은 대상 도메인의 아이템에 대하여 속성과 값을 추출하고 아이템을 구성하는 속성의 중요도를 계산하고 각 속성에 대한 사용자의 민감도를 계산합니다. 민감도는 사용자가 색상, 브랜드, 제조국가에 영향 받는 정도를 의미하며, CBF 점수를 계산하는데 가중치로 사용됩니다. 민감도는 상위 50%의 하위분류 값들의 평균과 하위 50% 하위분류 값들의 평균의 차이를 통해 계산됩니다. 즉, 사용자의 평가점수의 편차가 큰 요소에 대해서는 사용자의 선호도의 차이가 크다고 가정한 것입니다. 이는 도메인에 따라서 다르게 적용이 가능합니다. 민감도의 값들의 합이 1이 되도록 보정한 후, 앞에서 구한 요소들의 점수에 가중치로 사용하여 CBF 스코어를 계산합니다.
2) Collaborative Filtering
사회적인 관점에서 볼 때, CBF 기법은 사용자 개인의 내부에서 기인하는 추천이고, CF 기법은 사용자의 외부의 다른 사람으로부터 오는 추천이라고 할 수 있습니다. 외부의 다른 사람들 소리에 귀를 기울이고 따를 것인가의 문제는 각 개인에게 있어 중요한 아이템 결정의 요소가 됩니다.
CF 기법은 대상 아이템이 상세한 설명 정보를 갖고 있지 않거나, 컴퓨터가 프로세싱하기 어려운 분야의 것이라고 해도 적용이 가능합니다. 사용자로부터의 상세한 선호 정보가 없어도 적용이 가능합니다. 이를 아이템과 사용자의 관계를 분석하기에 아이템에 대한 상세한 선호 정보가 없어도 가능합니다. 단점으로는 아이템에 대한 사용자들의 평가가 필요하다는 점과 시스템에 새로운 아이템이 추가되어도 평가 전에는 추천될 경로가 봉쇄된다는 점입니다. 이는 새로운 사용자가 추가되어도 협업자를 도출하기 전까지는 마찬가지입니다.
CF 알고리즘은 대표적으로 피어슨 상관관계와 스피어맨 순위 상관관계 등의 유사 가중치 방법을 이용합니다. 특히 많이 사용되는 피어슨 상관관계식은 선형 회기 분석 모델을 근간으로 구성되며, 선형이 아닌 경우 에러의 폭이 커지는 단점이 있습니다. 위 그림의 수식은 피어슨 상관관계 상수에 의해 정의된 사용자 a와 이웃u 간의 항목 i에 대한 유사도 가중치를 나타냅니다. 만약 사회관계망의 신뢰할 만한 결과를 이용한다면 CF의 정확도는 더욱 향상될 것입니다.
3) Demographic Filtering
DF 기법은 인구 통계학적 기법을 근간으로 하여, 사용자를 대표하는 군집을 추출하고 이들 공통 패턴과 속성을 뽑아 이를 사용자의 선호정보로 이용하는 기법입니다. 마케팅 자료로 많이 이용되어 왔으며, 공학적인 추천 기법으로는 외면되어 왔습니다. 하지만, 대표적으로 같은 성별로부터 온 추천, 전문가 그룹에서 온 추천, 영화의 박스오피스와 같은 실제 유효성이 존재하는 추천 방식으로 구현이 가능하므로, 다중 필터 중 하나로 DF를 구현하여 추천에 복합적으로 사용할 수도 있습니다. 데이터마이닝의 같은 축적된 자료로부터 공통의 그룹을 형성하고 패턴을 추출하는 기법을 적용하여 DF 기법의 근간이 되는 통계학적 자료를 마련하고 이를 통해 추천의 정확성과 해석을 기대할 수 있습니다.
4) Knowledge-based Filtering
KF 기법은 사용자의 명시적인 입력에 의하여, 상황과 서비스, 아이템 따른 추천 컨텐츠를 입력하게 하여, 사용자에게 제공하는 기법으로 가장 단순하지만, 효과가 좋은 기법이라고 할 수 있습니다. 역으로 사용자가 제외하고 싶은 아이템에 대해서도 적용할 수 있습니다. 하지만 사용자에게 명시적으로 다양한 서비스, 상황에 따른 추천 받을 아이템을 입력 받는 것이 쉽지만 않으므로, CBF 기법과 마찬가지로 암묵적으로 이러한 사용자의 선호를 추출하는 기법에 대한 연구를 병행하여야 할 것입니다.
구축사례 - 모바일 환경에서 콘텐트 추천
본 사례는 KTF의 “E-3G 기반 유무선 복합 IP 멀티미디어 컨버젼스 제공 기술 개발” 국책 과제에서 솔트룩스가 참여한 IMS 기반 차세대 지능형 컨텐츠 전달 시스템에 대한 설명입니다.
모바일 단말 환경의 어플리케이션 콘텐트들을 단말 사용자에게 적절히 추천하기 위해, [IN2]DOR, Ontobroker 등의 제품과 리즈닝 및 추론, 온톨로지, 상황인식, 데이터 마이닝 등의 기술이 활용되었고, 다음과 같은 추천 방법을 사용하였습니다.
1) 추천 대상 콘텐트 수집
모바일 서비스 어플리케이션들로부터 추천 대상 콘텐트를 수집합니다. 수집 정보는 해당 콘텐트를 나타내는 메타 정보와 몇 가지의 대표 속성 정보로서, 이를 통하여 추천에 필요한 콘텐트 정보를 구성합니다.
2) 추천 규칙
어떤 상황에서, 어느 사용자에게, 어떤 콘텐트를 추천할 것인지에 대한 추천 규칙을 정의합니다. 추천 규칙은 외부의 관리자가 작성하여 등록할 수 있도록 표준화된 인터페이스를 제공하여 다양한 형태의 추천 규칙이 동적으로 실행될 수 있도록 합니다. 등록된 추천 규칙은 추천 에이전트 관리기를 통해 분석되고, 추천 에이전트는 규칙에 정의된 적절한 추천 시점이 되면 추천기로부터 콘텐트 추천을 요청하여 그 결과를 사용자에게 제공합니다. 
3) 추천 엔진
추천 엔진은 내부적으로 개인의 선호 정보를 기반으로 하여 다중 필터를 사용합니다. 기본 필터로는 Content-Based Filter, Collaborative Filter, Demographic Filter, Knowledge-based Filter를 이용합니다. 또한, Ontology-based Filtering을 통해 개인의 선호 정보를 통해 적절한 컨텐츠 정보를 찾는 Ontology 규칙을 활용하였습니다.
4) 선호 정보
추천 필터에 사용된 기본 정보는 개인의 선호 정보입니다. 이는 모바일 환경에서의 레거시 정보 (통화 이력, 서비스 사용 이력, 과금 정보 등)를 통해 식별된 정보입니다. 또한, 개인 사용자의 사회 관계망 정보를 추출해내고 이들의 선호 정보를 통해 얻어진 관계 그룹 선호 정보를 활용하였고, 대표 그룹의 선호 정보를 활용하기도 합니다. 그리고, 모바일 단말을 통해 사용자의 선호 정보를 직접 입력 받아, 레거시 데이터로부터 식별된 개인 선호의 부족한 부분을 보완합니다.










