Item recommendation based on collaborative filtering is often based on similar user clustering. A user belonging to a similar preference group is recommended with the items that are also preferably consumed by the other users in the group. For this, similar user clustering is a key issue for reliable recommendation. In this thesis, we study a dynamic sequential clustering method for time-varying data, which is more often applicable for automatic recommendation of TV programs to active TV viewers in IPTV environments.
The traditional clustering methods have often focused on time-invariant data. In TV watching environments, a user preference vector is defined as the representative of each TV viewer, which is time-variant because the user preference on TV programs is changing over time. To cope with this, we study a dynamic clustering method that handles such time-variant sequential data.
To group similar users for recommendation, our proposed dynamic clustering method roughly consists of four parts: (1) clustering time-variant user’s preference vectors; (2) merging the clusters which are closely located; (3) splitting a cluster which can be divided into two or more smaller user groups ; (4) updating the user membership.
The proposed dynamic clustering method is tested with user’s TV watching history data by Nelson Korea but in order to see the effectiveness of the our proposed method, we also test it with artificially generated data sets as well.
클러스터링은 미리 주어진 정보 없이 데이터를 군집화 하기 위한 방법이다. 클러스터링은 데이터의 종류와 목적에 따라 다양한 방법이 존재한다. K-means, 혹은 fuzzy c-means와 같은 클러스터링 방법은 기존에 데이터가 모두 존재한다고 가정하고 군집의 개수를 미리 지정하여 클러스터링을 하게 된다. 이에 반해 데이터가 미리 존재하지 않고 순차적으로 들어오는 경우에는 순차적 클러스터링을 이용하여 데이터가 들어 오는 동시에 클러스터링을 하게 된다. 이렇듯 기존의 클러스터링 방법은 데이터의 존재 유무에 따라서 다른 클러스터링 방법이 존재하지만, 기존의 데이터의 변화 값에 대해서는 그 방법이 연구 되어 있지 않다. 가령 TV 시청 시 사용자의 프로그램에 대한 선호도는 그 사람의 기분이나 성향 변화에 따라 시시각각 변할 수 있으며, 상품 구매에 대해서도 그 구매자의 선호 정도에 따라 그 데이터가 변할 수 있는 것이다. 그리하여 여기서는 변하는 데이터 값에 대한 새로운 클러스터링 방법에 대해서 논할 것이다. 추가적으로 TV 시청 시에 가입자가 미리 존재하지 않고, 순차적, 혹은 산발적으로 가입자가 새로 생겨나는 상황을 고려하여 순차적 클러스터링을 이에 결합한다. 이를 통해 실시간으로 변하는 사용자 데이터에 대한 클러스터링을 유연하게 적용할 수 있었으며, 클러스터 결합과 클러스터 분리를 통해 최신 사용자 정보를 이용한 클러스터링을 수행할 수 있었다.
이 실험에서는 데이터의 부재로 가상 데이터를 통해 결과를 검증할 수밖에 없었지만 앞으로는 사용자의 성향이 급격히 변화하거나, 긴 시간 동안 수집된 사용자 데이터를 통해 이 알고리즘의 성능을 다시 한번 검토해 봐야 할 필요성을 느꼈다. 또한 클러스터 분리 과정에 있어 여러 클러스터링 방법을 적용하며, 더욱 좋은 성능을 낼 수 있도록 전체적인 알고리즘을 개선해 나갈 수도 있을 것이다.