오늘날 인터넷의 전반적인 보급 및 전자상거래의 확산으로 인하여 정보의 홍수를 이루게 되었고, 고객들은 자신이 원하는 제품이나 서비스를 선택하기 위해서 정보를 탐색하는 작업이 더욱 어려워지게 되었다. 이러한 고객들에게 좀 더 편리하게 자신이 원하는 제품이나 서비스를 선택하도록 도와주는 것이 추천 시스템으로서, 고객 관계 관리의 중요한 부분으로 자리 잡게 되었다. 본 연구에서는, 인터넷 서점을 이용하는 고객에게 그가 관심을 가질만한 서적을 추천하여 줌으로써 구입할 서적의 선택을 도와주는 서적 추천 시스템을 개발하였다. 기존의 서적 추천 시스템 개발에 협업 필터링 기법이 주로 활용되어 왔다. 하지만 협업 필터링 기법을 적용하기 위해서는 각 서적에 대한 구매자들의 평가치가 수집되어야 하는데, 이러한 평가치들은 시스템 개발 이전에 오랜 기간에 걸쳐 정교한 계획 하에서 수집되어야 한다. 더욱이 구매자들이 평가치 제공에 협조하지 않을 경우에는 추천 시스템 자체의 작동이 불가능하게 된다. 그러므로 본 연구에서는 고객들의 구매기록만으로 서적 추천을 수행할 수 있도록 사례기반추론 기법을 활용하여 시스템을 개발 하였는데, 서적의 소분류 코드를 예측하는 상황에서 약 40% 수준의 적중률을 보였다.
오늘날 인터넷의 전반적인 보급 및 전자상거래의 확산으로 인하여 정보의 홍수를 이루게 되었고, 고객들은 자신이 원하는 제품이나 서비스를 선택하기 위해서 정보를 탐색하는 작업이 더욱 어려워지게 되었다. 이러한 고객들에게 좀 더 편리하게 자신이 원하는 제품이나 서비스를 선택하도록 도와주는 것이 추천 시스템으로서, 고객 관계 관리의 중요한 부분으로 자리 잡게 되었다. 본 연구에서는, 인터넷 서점을 이용하는 고객에게 그가 관심을 가질만한 서적을 추천하여 줌으로써 구입할 서적의 선택을 도와주는 서적 추천 시스템을 개발하였다. 기존의 서적 추천 시스템 개발에 협업 필터링 기법이 주로 활용되어 왔다. 하지만 협업 필터링 기법을 적용하기 위해서는 각 서적에 대한 구매자들의 평가치가 수집되어야 하는데, 이러한 평가치들은 시스템 개발 이전에 오랜 기간에 걸쳐 정교한 계획 하에서 수집되어야 한다. 더욱이 구매자들이 평가치 제공에 협조하지 않을 경우에는 추천 시스템 자체의 작동이 불가능하게 된다. 그러므로 본 연구에서는 고객들의 구매기록만으로 서적 추천을 수행할 수 있도록 사례기반추론 기법을 활용하여 시스템을 개발 하였는데, 서적의 소분류 코드를 예측하는 상황에서 약 40% 수준의 적중률을 보였다.
As volumes of electronic commerce increase rapidly, customers are faced with information overload, and it becomes difficult for them to find necessary information and select what they need. In this situation, recommender systems can help the customers search and select the products and services they...
As volumes of electronic commerce increase rapidly, customers are faced with information overload, and it becomes difficult for them to find necessary information and select what they need. In this situation, recommender systems can help the customers search and select the products and services they need more conveniently. These days, the recommender systems play important roles in customer relationship management. In this research, we develop a recommender system that recommends the books to the customers of Internet bookstore. In previous researches on recommender systems, collaborative filtering technique has been often employed. For the collaborative filtering technique to be used, the rating scores on books given by previous purchasers have to be collected. However, the collection of rating scores is not an easy task in reality. Therefore, in this research, we employed case-based reasoning technique that can work only with the book purchase history of customers. The accuracy of recommendation of the resulting book recommender system was about 40% on the level 3 classification code.
As volumes of electronic commerce increase rapidly, customers are faced with information overload, and it becomes difficult for them to find necessary information and select what they need. In this situation, recommender systems can help the customers search and select the products and services they need more conveniently. These days, the recommender systems play important roles in customer relationship management. In this research, we develop a recommender system that recommends the books to the customers of Internet bookstore. In previous researches on recommender systems, collaborative filtering technique has been often employed. For the collaborative filtering technique to be used, the rating scores on books given by previous purchasers have to be collected. However, the collection of rating scores is not an easy task in reality. Therefore, in this research, we employed case-based reasoning technique that can work only with the book purchase history of customers. The accuracy of recommendation of the resulting book recommender system was about 40% on the level 3 classification code.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 연구에서는 이러한 한계점들로부터 자유로운 기법인 사례기반추론을 이용하여 서적 추천시스템을 개발하고자 한다. 본 연구에서 개발하는 추천 시스템에서는 아이템의 평가치가 필요하지 않으며, 단지 고객별 구매기록만 있으면 작동이 가능한 시스템이다.
이 사례들 중에서 2번-사례베이스용과 3번-사례베이스용으로는 1,500개의 사례를 무작위로 추출하여 사용하였고, 4번-사례베이스용으로는 900개의 사례를 무작위로 추출하여 사용하였다. 생성된 사례를 전부 사용하지 않고, 일부만을 추출하여 사용한 이유는, 사례기반 추론 기법이 협업필터링과는 달리 단지 고객별 구매기록만 있으면 작동이 가능한 시스템임을 보이는데 본 연구의 목적이 있기 때문이다. 생성된 사례를 전부 사용하여도 문제는 없으나, 일부 사례만을 사용하여도 본 연구의 목적을 충분히 달성할 수 있기 때문에 적은 개수의 사례로 시스템을 구축한 것이다.
[모델 3]과 [모델 4]는 속성들에게 상이한 가중치를 줄 때에 추천적중률의 향상이 있는 지를 알아보는 것이다. 본 연구에서는 속성 가중치를 0 또는 1로 부여함으로써 속성 선정의 목적으로 사용하였다. 즉, 추천의 적중률을 향상시키는 최적의 가중치를 찾기보다는 사례에 포함된 속성 중에서 적중률에 부정적인 영향을 주는 속성을 제거하기 위함이었다.
이러한 이진(Binary) 가중치들은 한번에 하나의 속성의 가중치만을 변화시키면서 추천 적중률의 변화를 관찰하여 획득하였다. 이를 통해 어떤 속성이 추천 적중률에 긍정적 효과 또는 부정적인 효과를 주는지도 확인하게 된다.
일반적으로 추천시스템의 실제 적중률은추천된 것들 중에서 실제로 구매가 발생했는 지 또는 추천시스템으로 인해 매출의 향상이 있었는지에 대해 사후적으로 데이터를 분석 한 후에나 측정이 가능하다. 따라서 본 연구에서는 시점을 과거로 돌려 연구 대상이 되는 고객들이 최종에 구입한 서적을 아직 구입하지 않았다고 가정하고, 최종 구매 서적바로 직전 서적까지만 새로운 사례로 입력하 였을때 최종서적에 대한 정보(소분류 코드:lev_3)를 얼마나 정확히 예측할 수 있는지를 살펴보았다. <그림 8>은 입력 사례의 생성 과 추천 방식을 보여 주고 있다.
본 연구의 목표는 차기 구매 서적의 소분류 코드를 예측하는 것이지만 대분류 코드및 중분류 코드의 적중률 측정도 수행하였으며, 평가용 사례에 대한 네 가지 모델의 결과는 와 같다.
본 논문에서는 온라인 서점의 서적 추천 시스템의 개발 기법으로 사례기반 추론을 선정한 후에, 다양한 모델을 개발하여 우수한 적중률을 내는 모델을 찾아내는 연구를 수행 하였다. 본 연구에서는 먼저, 한 고객의 구매 이력 레코드로부터 구매 회수별로 복수개의 사례를 생성함으로써 사례 베이스를 풍부하게 확보하였다.
가설 설정
본 연구의 한계점은 다음과 같다. 첫째, 모델 구축에 사용될 속성의 선정에 관해 별도의 연구가 없었다는 것이다. 다시 말해서, 원시 데이터 내에 있는 수많은 속성들 중에서 어느 것들을 모델구축에 사용할 것인가의 결정을 할 때에, 통계적 또는 실험적 분석을 수행하지 않고, 본 저자의 판단에 따라 사용할 속성을 선정하였다.
제안 방법
<표 1>의 설명에서 언급하였듯이, 2회, 3회, 4회의 구매실적이 가장 많이 발생하였다. 그러므로 본 연구에서는 5회 이상의 구매실적도 2회, 3회, 4회 구매한 형태로 사례를 변형하여 각각 2번-사례베이스, 3번-사례베이스, 4번-사례베이스를 만들었다. <그림 3> 은 사례베이스를 구성하는 예를 보여준다.
<그림 5>에서 보듯이, 그 동안의 구매내역 중에서 가장 최근에 이루어진 4차 구매의 서적 정보와 5차 구매의 서적 정보를 가져와 사례를 구성한다. 이것을 3번-사례베이스의 첫 번째 서적과 두 번째 서적의 속성과 비교하여 유사도를 구한 후, 유사도가 높은 순으로 사례베이스의 사례를 정렬하여 상위 10개 사례의 세 번째 서적을 초기 추천 목록에 포함시킨다. 고객이 이미 구매한 서적을 추천 목록에 포함시키면 안되므로 초기 추천 목록에 포함된 서적에 대해서는 고객의 구매 이력과 비교하여 과거에 구매한 서적인지를 검사한다.
<그림 6>에서 보는 바와 같이, 차기 구매 서적을 추천 받기 원하는 사용자가 로그인을 하게 되면 시스템은 사용자의 그 동안의 구매내역을 검색한다. 구매내역을 검색한 후, CbBR은 제 4.1절에서 언급한 바와 같이 사례베이스와 비교하기 위한 입력사례를 구성하고, 본 절에서 언급한 바와 같은 방식으로 유사도 점수가 높은 10개의 사례를 검색 하여 사용자에게 10권의 서적을 추천한다.
따라서본 연구에서는 대 · 중 · 소분류의 코드 값들 상호간 유사성에 대하여 전문가의 의견을 참조하여 2차원 테이블의 형태로 유사도 점수 매트릭스를 작성하였다.
CbBR의 성능을 측정하기 위해서 먼저, 준비된 사례들을 8:1:1의 비율로 학습용 사례, 테스트용 사례, 그리고 평가용 사례로 구분하였다. <표 10>은 각 번호별 사례베이스의 사례 개수와 측정에 사용된 학습용, 테스트용, 평가용 사례 개수를 나타내고 있다.
학습용은 CbBR의 사례베이스 자체로 사용하였고, 테스트용은 속성 가중치 등 모델의 파라메터들을 조정하기 위한 용도로 사용하였고, CbBR의 최종 성능은 평가용을 사용 하여 측정하였다. 제 4.
본 연구에서는 과 같이 네 가지 모델을 구축하여 성능을 측정하였다.
즉, 추천의 적중률을 향상시키는 최적의 가중치를 찾기보다는 사례에 포함된 속성 중에서 적중률에 부정적인 영향을 주는 속성을 제거하기 위함이었다. 만일 어떤 속성에 가중치를 0으로 부여한 경우에 시스템의 추천 적중률이 증가하거나 변화가 없다면, 이 속성은 추천 적중률 향상에 부정적인 영향을 미친다고 판단하고 이를 제거하였다. 이러한 이진(Binary) 가중치들은 한번에 하나의 속성의 가중치만을 변화시키면서 추천 적중률의 변화를 관찰하여 획득하였다.
본 논문에서는 온라인 서점의 서적 추천 시스템의 개발 기법으로 사례기반 추론을 선정한 후에, 다양한 모델을 개발하여 우수한 적중률을 내는 모델을 찾아내는 연구를 수행 하였다. 본 연구에서는 먼저, 한 고객의 구매 이력 레코드로부터 구매 회수별로 복수개의 사례를 생성함으로써 사례 베이스를 풍부하게 확보하였다. 이러한 사례 베이스를 대상으로 하여, 사례기반 추론 기법 적용시 고려하여야 할 사항에 변화를 줌으로써 4개의 모델을 구축하였고, 그들의 적중률을 비교하였다.
본 연구에서는 먼저, 한 고객의 구매 이력 레코드로부터 구매 회수별로 복수개의 사례를 생성함으로써 사례 베이스를 풍부하게 확보하였다. 이러한 사례 베이스를 대상으로 하여, 사례기반 추론 기법 적용시 고려하여야 할 사항에 변화를 줌으로써 4개의 모델을 구축하였고, 그들의 적중률을 비교하였다. 이 모델들 중에 가장 우수한 성능을 보인 것은 [모델 3]으로서 소분류 코드 적중률에서 39.
첫째, 모델 구축에 사용될 속성의 선정에 관해 별도의 연구가 없었다는 것이다. 다시 말해서, 원시 데이터 내에 있는 수많은 속성들 중에서 어느 것들을 모델구축에 사용할 것인가의 결정을 할 때에, 통계적 또는 실험적 분석을 수행하지 않고, 본 저자의 판단에 따라 사용할 속성을 선정하였다. 본 연구에서 구현한 일부의 모델에서 속성의 가중치를 0 또는 1로 부여하며 속성 선정 과정을 부분적으로 수행하기는 하였지만, 제한적이었다.
추천 적중률은 각각의 사례베이스를 통한 추천이 실제 추천과 일치하는 지를 비교하여 계산하는데, 에서 2번-사례베이스는 고객의 4차 구매 서적에 대해 ‘M’을 추천 하였고, 3번-사례베이스는 ‘E’를 추천하였고, 4번-사례베이스는 ‘K’를 추천하였다.
대상 데이터
본 데이터는 관계형 데이터베이스 구조로 되어 있으며 크게 고객, 구매내역, 그리고 서적의 세 개의 테이블로 구성되어 있고 각각의 서적을 분류한 대 · 중 · 소분류 테이블을 가지고 있다.
본 연구에 사용된 데이터는 국내 인터넷 서점인 A사의 5개월 간의 구매내역 데이터이다. 본 데이터는 관계형 데이터베이스 구조로 되어 있으며 크게 고객, 구매내역, 그리고 서적의 세 개의 테이블로 구성되어 있고 각각의 서적을 분류한 대 · 중 · 소분류 테이블을 가지고 있다.
<그림 2>와 같은 구조의 최초 원시 데이터는 고객 테이블 224,355건, 서적 테이블 257,196건, 그리고 구매내역 테이블 119,952건의 레코드로 구성되어 있었으나 본 연구에서는 이를 정제하여 48,193건의 데이터를 사용하였다. 정제과정에서 구매회수가 한 번인 경우의 데이터는 제거 되었다.
이러한 과정을 거쳐서, 2번-사례베이스용으로 11,920개의 사례, 3번-사례베이스용으로 2,448개의 사례, 4번-사례베이스용으로 913개의 사례를 만들었다. 이 사례들 중에서 2번-사례베이스용과 3번-사례베이스용으로는 1,500개의 사례를 무작위로 추출하여 사용하였고, 4번-사례베이스용으로는 900개의 사례를 무작위로 추출하여 사용하였다. 생성된 사례를 전부 사용하지 않고, 일부만을 추출하여 사용한 이유는, 사례기반 추론 기법이 협업필터링과는 달리 단지 고객별 구매기록만 있으면 작동이 가능한 시스템임을 보이는데 본 연구의 목적이 있기 때문이다.
이론/모형
최근접 이웃 검색에서 일반적으로 가장 많이 사용되는 방법은 현재 사례와 가장 유사한 k개의 사례를 검색해 주는 k-NN(k Nearest Neighbors) 방법이다. 본 연구에서는 k-NN 방법을 사용하여 유사 사례를 검색하였는데, 자세한 방법은 제 4.4절에서 설명한다.
성능/효과
본 연구에서는 이러한 한계점들로부터 자유로운 기법인 사례기반추론을 이용하여 서적 추천시스템을 개발하고자 한다. 본 연구에서 개발하는 추천 시스템에서는 아이템의 평가치가 필요하지 않으며, 단지 고객별 구매기록만 있으면 작동이 가능한 시스템이다. 우리는 이 시스템을 CbBR(Case-based Book Recommender) 시스템으로 명명하였다.
[모델 3]의소분류 코드 적중률은 에서 보듯이 39.6%이다.
즉, 10번 이상의 무작위 추출을 통해 성능 측정에 사용되는 사례 베이스를 여러 개 만들어서, 사례 베이스의 구성의 차이로 인하여 적중률의 차이가 생기는지를 확인하는 연구를 수행하지 못하였다. 그러므로 본 연구의 의의는 어떤 모델이 다른 모델보다 우수함을 보였다는 관점보다는, 사례기반 추론 기법이 협업 필터링 기법을 적용할 수 없는 상황에서도 무리 없이 적용될 수 있으며, 무작위 추천 보다 매우 우수한 성능을 보인다는 면에 있다고 하겠다. 셋째, 분류 코드 간 유사도 점수 매트릭스는 변할 수 있다는 것이다.
그러므로 본 연구의 의의는 어떤 모델이 다른 모델보다 우수함을 보였다는 관점보다는, 사례기반 추론 기법이 협업 필터링 기법을 적용할 수 없는 상황에서도 무리 없이 적용될 수 있으며, 무작위 추천 보다 매우 우수한 성능을 보인다는 면에 있다고 하겠다. 셋째, 분류 코드 간 유사도 점수 매트릭스는 변할 수 있다는 것이다. 본 연구에서 사용한 분류 코드 간 유사도 점수 매트릭스는 본 저자와 온라인 서점의 담당 실무자의 논의를 통하여 작성한 것이다.
후속연구
다시 말해서, 원시 데이터 내에 있는 수많은 속성들 중에서 어느 것들을 모델구축에 사용할 것인가의 결정을 할 때에, 통계적 또는 실험적 분석을 수행하지 않고, 본 저자의 판단에 따라 사용할 속성을 선정하였다. 본 연구에서 구현한 일부의 모델에서 속성의 가중치를 0 또는 1로 부여하며 속성 선정 과정을 부분적으로 수행하기는 하였지만, 제한적이었다. 분석적 기법을 도입하여 속성 선정을 수행한다면, 적중률의 향상을 기대할 수도 있을 것이다.
분석적 기법을 도입하여 속성 선정을 수행한다면, 적중률의 향상을 기대할 수도 있을 것이다. 둘째, 성능 측정을 통해 여러 가지 모델간의 추천 적중률의 차이를 기술 하였으나, 적중률 간의 차이가 통계학적으로 의미가 있는지에 관한 검증을 하지 못하였다. 즉, 10번 이상의 무작위 추출을 통해 성능 측정에 사용되는 사례 베이스를 여러 개 만들어서, 사례 베이스의 구성의 차이로 인하여 적중률의 차이가 생기는지를 확인하는 연구를 수행하지 못하였다.
둘째, 성능 측정을 통해 여러 가지 모델간의 추천 적중률의 차이를 기술 하였으나, 적중률 간의 차이가 통계학적으로 의미가 있는지에 관한 검증을 하지 못하였다. 즉, 10번 이상의 무작위 추출을 통해 성능 측정에 사용되는 사례 베이스를 여러 개 만들어서, 사례 베이스의 구성의 차이로 인하여 적중률의 차이가 생기는지를 확인하는 연구를 수행하지 못하였다. 그러므로 본 연구의 의의는 어떤 모델이 다른 모델보다 우수함을 보였다는 관점보다는, 사례기반 추론 기법이 협업 필터링 기법을 적용할 수 없는 상황에서도 무리 없이 적용될 수 있으며, 무작위 추천 보다 매우 우수한 성능을 보인다는 면에 있다고 하겠다.
하지만, 이것은 유사도를 사용하는 사례기반 추론 기법의 특성으로 이해해야 할 것이다. 향후에는 전문가집단에 대한 설문조사와 논의 등의 방법을 통하여좀 더 일반화되고 검증된 분류 코드 간 유사도 점수 매트릭스를 마련하는 것이 바람직하다고 하겠다.
질의응답
핵심어
질문
논문에서 추출한 답변
사례베이스로부터 유사 사례를 찾기 위한 대표적인 검색 방법에는 어떠한 것이 있는가?
사례베이스로부터 유사 사례를 찾기 위한 대표적인 검색 방법으로는 귀납적 검색(Inductive Retrieval)과 최근접 이웃 검색(Nearest Neighbor Retrieval)이 있다. 귀납적 검색은 사례를 가장 잘 구분시켜주는 속성들을 찾아서 이 속성들을 사용하여 유사 사례를 검색 하는 방법이다.
사례기반추론은 어떠한 기법인가?
사례기반추론(CBR:Case-Based Reasoning)은 분류 및 예측 문제 모두에 효과적으로 적용 가능한 기계학습(Machine Learning) 기법이다. CBR은 Exemplar-based Reasoning, Instance-based Reasoning, Memory -based Reasoning, Analogy-based Reasoning등 다양한 용어로 사용되지만, 그 기본 개념은 유사하다[4].
추천시스템의 대표격인 협업 필터링은 어떠한 기법인가?
추천시스템은 다양한 기법을 통해 구현될 수있는데 최근 전자상거래 분야에서 쓰이는 기법 중에서 대표적인 것이 협업 필터링(Collaborative Filtering)이다. 협업 필터링은 고객들이 아이템들을 경험하고 나서 부여한 평가치들을 기반으로 목표고객이 평가하지 않은 아이템들 중에서 높게 평가할 것이라고 예상되는 아이템을 추천하는 기법이다[11, 14]. 즉, 대상이 되는 수많은 아이템들에 대해서 기존의 많은 고객들이 경험한 후에 부여한 평가치들이 존재하여야만 작동이 되는 기법이다. 하지만, 현실적으로 고객들로부터 평가 치를 수집하는 것이 쉽지 않을 뿐만 아니라, 수집된 평가치들의 진정성도 확신할 수 없다.
이 논문을 인용한 문헌
저자의 다른 논문 :
활용도 분석정보
상세보기
다운로드
내보내기
활용도 Top5 논문
해당 논문의 주제분야에서 활용도가 높은 상위 5개 콘텐츠를 보여줍니다. 더보기 버튼을 클릭하시면 더 많은 관련자료를 살펴볼 수 있습니다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.