유비쿼터스 컴퓨팅 환경에서는 기업뿐만 아니라 개인까지도 일상활동에서 발생하는 많은 양의 데이터를 축적할 수 있게 된다. 따라서 이렇게 축적한 데이터를 이용하여 사용자가 효과적이고 효율적인 의사결정을 내리도록 도와주는 추천시스템의 필요성은 더욱 증가될 것이다. 유비쿼터스 컴퓨팅 환경에서의 추천시스템은 추천시점의 사용자 상황을 반영하여 그 상황에 적합한 상품이나 서비스를 사용자가 거부감을 느끼지 않도록 조용히 제공하는 형태로 진화되어야 한다. 이것이 가능해지기 위해서는 사용자가 어떤 상황에 처해 있는지를 컴퓨터가 인식할 수 있는 상황인식 기술이 추천시스템의 구현에 접목되어야 한다.
이에 본 연구에서는 상황인식 추천시스템의 구조 및 설계 방법을 사례기반추론 기법으로 구현한 음악추천 시스템을 통해 제안한다. 제안한 상황인식 음악추천시스템은 C²_Music, C²A_Music, M³ 그리고 C²_M4G 총 네 가지이며, 각 시스템들은 ‘목표대상’, ‘상황인식 수준’ 그리고 ‘참조데이터’에 따라 각기 다른 특성을 가진다. 네 가지의 시스템들 중에서 C²_Music, C²A_Music 그리고 M³는 개인사용자를 위한 시스템이고, C²_M4G는 불특정 다수의 사용자 즉, 그룹사용자를 위한 시스템이다. 이 시스템들은 ‘계절’, ‘월’, ‘요일’, ‘날씨’ 그리고 ‘기온’ 등과 같은 외부 상황 변화에 따라 사용자 또는 그룹사용자에게 그 상황에 적합한 음악을 추천한다.
제안시스템들은 세 개의 층 즉, 인터페이스 층, 응용프로그램 층 그리고 리파지토리 층으로 구성되어 있다. C²_Music의 응용프로그램 층은 하나의 Recommendation Module로 구성되며, 사용자와 유사한 특성을 가진 다른 사용자들이 현재의 사용자 상황과 유사한 상황에서 주로 들었던 노래를 추천음악으로 선정한다. C²A_Music의 응용프로그램 층은 Intention Module과 Recommendation Module로 구성된다. C²A_Music은 먼저, 사용자가 음악을 듣고 싶어하는 상태인지 아닌지를 Intention Module을 통해 추론한 후에, 추론결과가 사용자가 음악을 듣고 싶어하는 상태인 경우에만 Recommendation Module을 통해 추천음악을 제공한다. 이때 Recommendation Module은 C²_Music의 Recommendation Module과 동일한 방식으로 추천음악을 선정한다. M³의 응용프로그램 층은 Intention Module, Mood Module 그리고 Recommendation Module로 구성된다. Intention Module은 C²A_Music의 Intention Module과 동일하게 사용자가 음악을 듣고 싶어하는 상태인지 아닌지를 추론한다. 사용자가 음악을 듣고 싶어하는 상태라고 추론되면, 사용자가 어떤 장르의 음악을 듣고 싶어하는 상태인지를 Mood Module을 통해 추론한다. 장르가 결정되면, Recommendation Module은 그 장르에 해당하는 노래들 중 사용자가 최근에 선호했던 노래들을 추천한다. 마지막으로 C²_M4G의 응용프로그램 층은 Context Change Monitor Module과 Recommendation Module로 구성된다. Context Change Monitor Module은 그룹사용자의 현재 상황을 모니터링 하면서 이전 상황과의 차이를 분석하여 상황의 변화여부를 판정한다. 만약 현재의 상황이 이전 상황과 일정수준이상 차이를 보인다면 현재의 상황이 변화된 것으로 간주하고, 이를 Recommendation Module로 전달한다. Recommendation Module은 전달된 외부 상황 데이터와 사용자그룹의 프로파일 데이터를 이용하여 추천음악을 선정한다.
본 연구에서는 제안시스템들의 유용성을 확인하기 위해 실제 데이터를 이용한 실험을 수행하였고, 비교시스템들과 그 성능을 비교 및 평가하였다. 실험결과를 통해 확인한 결과를 요약하면 다음과 같다. 첫째, 사용자 또는 그룹사용자의 상황 데이터를 추천에 고려하는 것은 추천성능의 향상을 가져올 수 있다. 둘째, 사용자의 사용이력 데이터가 지속적으로 수집될 수 있다면 사용자 자신의 데이터만을 가지고도 효과적인 추천이 가능하다. 셋째, 사용자의 사용이력 데이터와 상황 데이터가 축적된다면, 사용자의 내면적인 의도나 분위기와 같은 상위 수준의 상황을 데이터 마이닝 기법을 이용하여 추론하는 것이 가능하며, 그 결과를 추천에 고려함으로써 추천성능의 향상을 가져올 수 있다.
Alternative Abstract
In ubiquitous computing environment, individuals as well as companies will be able to store a large amount of data that is generated from daily activities, and the amount of data that the user must process before they make decisions will be increased. Therefore, the role of the recommendation systems that help the user make decisions effectively and efficiently will be more and more important. The recommendation systems in ubiquitous computing environment must be evolved to calmly recommend the most suitable product and/or service considering the user’s context. To make it possible, it is necessary to incorporate the context-aware technology in the recommendation systems.
In this research, we proposed the framework and the design methodology of the context-aware recommendation systems, and implemented four context-aware music recommendation systems using case-based reasoning techniques, i.e., C²_Music, C²A_Music, M³ and C²_M4G. Each of them has different characteristics from the viewpoint of ‘recommendation receiver’, ‘context-aware level’, and ‘reference data’. C²_Music, C²A_Music and M³ are for individual users, and C²_M4G is for group users. These systems recommend the music to the individual or group users according to the environmental context, such as ‘season’, ‘month’, ‘weekday’, ‘weather’, ‘temperature’ and so forth.
Each system consists of three layers, i.e., Interface Layer, Application Layer, and Repository Layer. The Application Layer of C²_Music contains only Recommendation Module. The songs that mostly listened by similar users in similar context are selected for recommendation. The Application Layer of C²A_Music consists of Intention Module and Recommendation Module. The Intention Module performs context reasoning that infers whether a user wants to listen to music or not by using the environmental context data. If it infers that the user wants to listen to music, then the Recommendation Module performs recommendation in the same way as C²_Music. The Application Layer of M³ consists of Intention Module, Mood Module, and Recommendation Module. The Intention Module performs the same inference as C²A_Music. If it infers that the user wants to listen to music, then the Mood Module infers the genre of the music suitable to the user’s context. Once the genre is determined, the Recommendation Module selects the songs that mostly listened by the user recently, and recommends them to the user. The Application Layer of C²_M4G consists of Context Change Monitor Module and Recommendation Module. The Context Change Monitor Module monitors whether the context is changed. If it judges that the context is changed, the Recommendation Module selects the songs using the changed context and the profile information of the group, and recommends them to the group users.
In order to show practicality of our proposed systems, we evaluated the performance of our systems using the real data obtained from a streaming music service company in Korea. The results are summarized as follows: First, we can improve the performance of the recommendation system by using the context data. Secondly, if we can collect a specific user’s usage history data continuously, we can implement an effective recommendation system using that user’s data only. Finally, if we can accumulate the user’s usage history data and the corresponding context data, we can infer the high level context such as the user’s intention and mood by employing data mining techniques. By using the high level context as well as the low level context, we can improve the performance of the recommendation system even more.