(19) 대한민국특허청 (KR) (12) 등록특허공보 (B1) (51) 국제특허분류 (Int. Cl.) G06Q 30/06A0 (2012.01) (21) 출원번호 10-2009-0076942 (22) 출원일자 2009 년 08 월 19 일 심사청구일자 2009 년 08 월 19 일 (65) 공개번호 10-2011-0019289 (43) 공개일자 2011 년 02 월 25 일 (56) 선행기술조사문헌 KR1020070094056 A* KR1020080043140 A* JP2007041971 A KR1020090010866 A * 는심사관에의하여인용된문헌 (45) 공고일자 2013년01월02일 (11) 등록번호 10-1216969 (24) 등록일자 2012년12월24일 (73) 특허권자 주식회사디디에이치 서울특별시중구동호로 268 ( 장충동 2 가 ) 서울대학교산학협력단 서울특별시관악구관악로 1 ( 신림동 ) (72) 발명자 장병탁 서울특별시서초구방배로 21, 경남아파트 3 동 202 호 ( 방배동 ) 김권일 서울특별시관악구중앙 1 가길 28, 202 호 ( 봉천동, 도원아트빌 ) ( 뒷면에계속 ) (74) 대리인 박길님, 박지호전체청구항수 : 총 3 항심사관 : 손희수 (54) 발명의명칭상품가격을고려한상품추천시스템및그추천방법 (57) 요약 본발명은상품가격을고려한상품추천시스템및그추천방법에관한것으로서, 보다상세하게는상품이나고객간의연관성을이용하여전자상거래상의상품을추천하는협력필터링 (Collaborative Filtering) 알고리즘을기반으로하면서최종적인상품추천에는상품의가격요소에가중치를부여하여판매자의이익을극대화함과아울러, 가격가중계수를적응적으로변화시키며결정함으로써쇼핑몰고객의추천만족도를해하지않는범위내에서매출을극대화할수있는상품가격을고려한상품추천시스템및그추천방법에관한것이다. 대표도 - 1 -
(72) 발명자 신원진 서울특별시금천구금하로 793, 501 동 1202 호 ( 시흥동, 벽산아파트 ) 김현우 서울특별시강남구삼성로 212, 31 동 1010 호 ( 대치동, 은마아파트 ) 오동환 서울특별시종로구진흥로 462 ( 구기동 ) 이재호 서울특별시강남구학동로 609, 삼익아파트 9 동 808 호 ( 청담동 ) 김지현 서울특별시성북구길음로 23, 삼성래미안 1 차 10 9 동 1101 호 ( 길음동 ) 김주영 경기도고양시일산서구산현로 34, 동문 1 차 102 동 702 호 ( 일산동 ) - 2 -
특허청구의범위청구항 1 인터넷등의통신망상에서상품을판매하는쇼핑몰웹서버 ; 상기쇼핑몰웹서버에서제공하는상품과고객의구매정보등을저장하는데이터베이스서버 ; 상기데이터베이스서버에저장된고객의구매이력을토대로고객이구매한상품을나타내는고객별주문행렬과, 모든고객이구매한상품을나타내는전체주문행렬을생성하고, 상기고객별주문행렬과전체주문행렬을기반으로협력필터링기반의알고리즘에의하여각상품에대한추천점수를연산하는협력필터링추천부 ; 상기각상품들의가격의고저에따른가격가중치를연산하는가격가중치연산부 ; 일정기간마다대상고객이추천상품을선택할평균확률과전체매출값의변화정도를비교하여상기가격가중치를연산하는가격가중계수 (C) 를변화시키며결정하는가격가중계수최적화부 ; 상기추천점수와상기가격가중치를연산하여, 각상품의가격가중치가고려된가중추천점수를결정하는가중추천점수연산부 ; 및상기가중추천점수에따른추천상품목록을선정하여상기쇼핑몰웹서버로전송하는추천상품선정부 ; 를포함하되, 상기협력필터링추천부는, i번째고객이지금까지구매한상품들을 1 N 상품크기의행렬, b i = [b i1,, b ij,, b in상품 ] 로나타내어고객별주문행렬 (b i ) 을생성하는고객별주문행렬생성모듈 ; 상기고객별주문행렬을모든고객에대하여모아서 N 고객 N 상품크기의행렬, B = [b 1,, bi,, bn 고객 ] 로 나타내어전체주문행렬 (B) 을생성하는전체주문행렬생성모듈 ; 상품추천을받기원하는대상고객이현재까지구매한상품들을 1 N 상품크기의행렬, b = [b 1,, b j,, b N 상품 ] 로나타내어대상고객주문행렬 (b ) 을생성하는대상고객주문행렬생성모듈 ; 및 상기대상고객주문행렬 (b ) 에전체주문행렬의전치연산값 (B ) 을곱한후, 전체주문행렬 (B) 을곱하여구해지는추천점수 (s j ) 를나타내는행렬, s=[s 1,, s 2,, s N상품 ]=b B B 을연산하는추천점수연산모듈 ; 를포함하여이루어디며, 상기상품가격행렬생성모듈은전체상품들의가격을 1 N 상품크기의행렬 w=[w 1,, w j,, w N상품 ] 로나타내어상품가격행렬을생성하고, 상기가격가중치변환모듈은식 (C 는가격가중계수로서 0 보다큰상수 ) 에의하여각상품 의가격가중치를연산함으로써, 상기상품가격행렬에있는각상품의값을 1 N 상품크기의행렬 로변환하여가격가중치행렬을생성하도록구성되며, 상기가중추천점수연산부는상기협력필터링추천부에서연산된추천점수 (s) 에상기가격가중치연산부에서 연산된가격가중치 ( ) 를더하여상품가격가중치가반영된최종적인가중추천점수 ( ) 를 상기가격가중계수최적화부는, 와같이연산하도록구성되며, - 3 -
고객이추천상품을선택할평균확률 (P) 을연산하는평균확률연산모듈 ; 상기평균확률연산모듈에서과거에연산하였던평균확률 (P old ) 과현재새로이연산된평균확률 (P new ) 의값을비교하는평균확률비교모듈 ; 일정기간동안의전체매출 (W) 을연산하는전체매출연산모듈 ; 상기전체매출연산모듈에서과거에연산하였던전체매출 (W old ) 과현재새로이연산된전체매출 (W new ) 의값을비교하는전체매출비교모듈 ; 및상기평균확률비교모듈과상기전체매출비교모듈에서의결과값에따라가격가중계수 (C) 의값을최적화시키는가격가중계수최적화모듈 ; 을포함하여구성되며, 상기가격가중계수최적화모듈은, 상기새로이연산된평균확률 (P new ) 값이과거에연산하였던평균확률 (P old ) 값보다작을경우, 과거의가격가중계수 (C old ) 에서일정한가격가중치변화정도 (ΔC) 를뺀값을새로운가격가중계수 (C new ) 로결정하고, 상기새로이연산된평균확률 (P new ) 값이과거에연산하였던평균확률 (P old ) 값보다크고, 상기새로이연산된전체매출 (W new ) 이과거에연산하였던전체매출 (W old ) 보다작을경우, 과거의가격가중계수 (C old ) 에서일정한가격가중치변화정도 (ΔC) 를더한값을새로운가격가중계수 (C new ) 로결정하며, 상기새로이연산된평균확률 (P new ) 값이과거에연산하였던평균확률 (P old ) 값보다크고, 새로이연산된전체매출 (W new ) 도과거에연산하였던전체매출 (W old ) 보다클경우, 과거의가격가중계수 (C old ) 를현재의새로운가격가중계수 (C new ) 로그대로유지하도록구성되는것을특징으로하는상품가격을고려한상품추천시스템. 청구항 2 삭제청구항 3 제1항에있어서, 상기가격가중치연산부는, 상기쇼핑몰웹서버에서판매하는상품들의가격을행렬로생성하는상품가격행렬생성모듈 ; 및상기상품가격행렬을상기추천점수와의연산을위한가격가중치값으로변환시키는가격가중치변환모듈을포함하여구성되는것을특징으로하는상품가격을고려한상품추천시스템. 청구항 4 삭제청구항 5 삭제청구항 6 삭제청구항 7 삭제청구항 8 삭제 - 4 -
청구항 9 삭제청구항 10 삭제청구항 11 삭제청구항 12 제1항의상품추천시스템을이용하는상품추천방법에있어서, 상기협력필터링추천부를통하여협력필터링 (Collaborative Filtering) 알고리즘에의해상품별로부과되는추천점수 (s) 를연산하는협력필터링기반의추천점수연산단계 (S10); 상기가격가중치연산부를통하여상기추천점수 (s) 와동일한형태를갖는 1 N 상품크기의상품가격행렬 (w) 을생성하고, 이를동일한크기의가격가중치행렬 ( ) 로변환하는가격가중치연산단계 (S20); 상기가격가중계수최적화부를통하여, 일정기간마다대상고객이추천상품을선택할평균확률과전체매출 값의변화정도를비교하여상기가격가중치를연산하는가격가중계수 (C) 를변화시키며결정하는가격가중계수 최적화단계 (S30); 상기추천점수 (s) 에상기가격가중치행렬 ( ) 을더하는연산에 의하여가격가중치가반영된최종적인가중추천점수 ( 추천점수연산단계 (S40); 및 ) 를상기가중추천점수연산부에서연산하는가중 대상고객이구매하지않은상품들중상기가중추천점수 ( ) 가높은순서대로다수개의상품을상기추천상품선정부를통하여선택한후상기쇼핑몰웹서버로전송하여표출시키는추천상품선정단계 (S50); 를포함하되, 상기협력필터링기반의추천점수연산단계 (S10) 는, 특정고객들이지금까지쇼핑몰에서구매한상품들을 1 N 상품크기의고객별주문행렬 b i = [b i1,, b ij,, b in 상 품 ] 로생성하고, 이러한고객별주문행렬을모든고객에대해모아서 N 고객 N 상품크기의전체주문행렬 B = [b 1,, bi,, bn 고객 ] 를생성하며, 상품추천을받기원하는대상고객이현재까지구매한상품들을 1 N 상품크 기의대상고객주문행렬 b = [b 1,, b j,, b N 상품 ] 로생성하는행렬생성과정 (S11); 및 상기대상고객주문행렬 (b ) 에전체주문행렬의전치연산값 (B ) 을곱한후, 전체주문행렬 (B) 을다시곱해서추천점수 (s j ) 를나타내는행렬, s=[s 1,, s 2,, s N상품 ]=b B B 을연산하는추천점수연산과정 (S12); 을포함하며, 상기가격가중치연산단계 (S20) 는상품가격행렬 w=[w 1,, w j,, w N상품 ] 을로그스케일로변환하고가격가중 계수 (C) 를곱하는의연산에의해각상품의값을가격가중치행렬 로변환하도록구성되며, - 5 -
상기가격가중계수최적화단계 (S30) 는, 가격가중계수최적화부에구비된평균확률연산모듈에서고객이추천상품을선택할평균확률 (P) 을연산하는평균확률연산과정 (S31); 평균확률비교모듈에서과거에연산하였던평균확률 (P old ) 과새로이연산한평균확률 (P new ) 의값을비교하는평균확률비교과정 (S32); 전체매출연산모듈에서해당기간동안의전체매출 (W) 을연산하는전체매출연산과정 (S33); 전체매출비교모듈에서과거에연산하였던전체매출 (W old ) 과현재새로이연산한전체매출 (W new ) 의값을비교하는전체매출비교과정 (S34); 및상기평균확률과전체매출의비교결과값에따라상기가격가중계수 (C) 의값을최적화시키는가격가중계수최적화과정 (S35); 을포함하여구성되며, 상기가격가중계수최적화과정 (S35) 은상기새로이연산된평균확률 (P new ) 값이과거에연산하였던평균확률 (P old ) 값보다작을경우, 과거의가격가중계수 (C old ) 에서일정한가격가중치변화정도 (ΔC) 를뺀값을새로운가격가중계수 (C new ) 로결정하고, 상기새로이연산된평균확률 (P new ) 값이과거에연산하였던평균확률 (P old ) 값보다크고, 상기새로이연산된전체매출 (W new ) 이과거에연산하였던전체매출 (W old ) 보다작을경우, 과거의가격가중계수 (C old ) 에서일정한가격가중치변화정도 (ΔC) 를더한값을새로운가격가중계수 (C new ) 로결정하며, 상기새로이연산된평균확률 (P new ) 값이과거에연산하였던평균확률 (P old ) 값보다크고, 새로이연산된전체매출 (W new ) 도과거에연산하였던전체매출 (W old ) 보다클경우, 과거의가격가중계수 (C old ) 를현재의새로운가격가중계수 (C new ) 로그대로유지하도록구성되는것을특징으로하는상품가격을고려한상품추천방법. 청구항 13 삭제청구항 14 삭제청구항 15 삭제청구항 16 삭제청구항 17 삭제청구항 18 삭제청구항 19 삭제 명세서 발명의상세한설명 - 6 -
[0001] 기술분야본발명은상품가격을고려한상품추천시스템및그추천방법에관한것으로서, 보다상세하게는상품이나고객간의연관성을이용하여전자상거래상의상품을추천하는협력필터링 (Collaborative Filtering) 알고리즘을기반으로하면서최종적인상품추천에는상품의가격요소에가중치를부여하여판매자의이익을극대화함과아울러, 가격가중계수를적응적으로변화시키며결정함으로써쇼핑몰고객의추천만족도를해하지않는범위내에서매출을극대화할수있는상품가격을고려한상품추천시스템및그추천방법에관한것이다. [0002] [0003] [0004] [0005] [0006] 배경기술현재인터넷을이용한전자상거래는이미보편적으로정착되었으며, 근래에는전자상거래서비스를제공하는웹사이트를운영하는운영자나웹마스터가단순히판매상품을선정하여보여주는것을넘어서, 구매하고자하는사용자의성향등다양한정보를취합하고분석하여사용자가선호할것으로예상되는상품을선정하여제공하는맞춤형서비스들이제안되고있다. 그에따라자동화된정보필터링기술을이용하여많은정보중사용자에게필요한정보만을추출하여추천할수있는알고리즘과추천시스템들이제안되고있다. 이러한추천시스템중협력필터링 (Collaborative Filtering) 은고객들의기존물품구매목록이나선호도를이용하여데이터베이스를구축하고, 추천대상고객과구매성향이가장비슷한이웃고객들을선정한후, 그러한이웃고객들의구매이력을분석하여추천대상고객이선호할것으로예상되는상품들을추천하는알고리즘으로이루어진다. 이러한협력필터링을기반으로하는상품추천은추천대상고객인사용자가기존에구매한것과유사한제품을추천하는종래의내용기반추천알고리즘의단점을보완하여, 사용자가구입하지않은새로운종류나품목의제품도추천할수있다는장점이있어현재가장널리이용되고있다. 그러나, 이와같이현재널리이용되는협력필터링기반의상품추천은상품별가격차이가크지않은도서구매나영화예매에서는가격차이로인한매출증감의문제가발생하지않게되지만, 상품별가격차가큰다수의상품들을판매하는일반쇼핑몰사이트에서는비슷한추천점수를갖는상품간에도가격차가큰경우가발생할수있음에도이러한상품의가격차를적절하게반영하지못하고무조건추천점수가높은상품을우선적으로추천하게되므로매출을극대화하지못하게되는문제점이있었다. 또한, 종래에는추천된다수의상품을단순히가격의고저에따라재배열하는것만이제안되어있었는바, 가격을기준으로추천상품들을재배열할경우추천점수와는무관한상품의배열이이루어지게되어협력필터링에의한상품추천의의미가현저히퇴색되는문제점이있었다. 발명의내용 [0007] 해결하고자하는과제본발명이해결하고자하는기술적과제는, 상품별가격차가큰일반쇼핑몰에서상품을추천함에있어고객의상품선호도를고려하여추천대상을선정하는협력필터링기반의추천에서고객이느끼는추천만족도, 즉상품선호도를고려한추천점수에큰영향을미치지않는범위내에서가격차에따른가중치를부과하여판매자의매출을극대화시킬수있게한상품가격을고려한상품추천시스템및그추천방법을제공함에있다. [0008] 과제해결수단상기과제를이루기위한상품가격을고려한상품추천시스템은, 인터넷등의통신망상에서상품을판매하는쇼핑몰웹서버 ; 상기쇼핑몰웹서버에서제공하는상품과고객의구매정보등을저장하는데이터베이스서버 ; 상기데이터베이스서버에저장된고객의구매이력을토대로고객이구매한상품을나타내는고객별주문행렬과, 모든고객이구매한상품을나타내는전체주문행렬을생성하고, 상기고객별주문행렬과전체주문행렬을기반으로협력필터링기반의알고리즘에의하여각상품에대한추천점수를연산하는협력필터링추천부 ; 상기각상품들의가격의고저에따른가격가중치를연산하는가격가중치연산부 ; 상기추천점수와상기가격가중치를연산하여, 각상품의가격가중치가고려된가중추천점수를결정하는가중추천점수연산부 ; 및상기가중추천점수에따른추천상품목록을선정하여상기쇼핑몰웹서버로전송하는추천상품선정부를포함하여구성되는것을특징으로한다. - 7 -
[0009] [0010] [0011] 또한, 본발명은상기가격가중치연산부가상기쇼핑몰웹서버에서판매하는상품들의가격을행렬로생성하는상품가격행렬생성모듈 ; 및상기상품가격행렬을상기추천점수와의연산을위한가격가중치값으로변환시키는가격가중치변환모듈을포함하여구성되는것을특징으로한다. 또한, 본발명은상기가격가중치변환모듈은각상품의가격을로그스케일로변환하여가격가중치값을생성하고, 일정기간마다대상고객이추천상품을선택할평균확률과전체매출값의변화정도를비교하여상기가격가중치를연산하기위한가격가중계수 (C) 를변화시키며결정하는가격가중계수최적화부를더포함하여구성되는것을특징으로한다. 또한, 본발명에따른상품가격을고려한상품추천방법은, 협력필터링 (Collaborative Filtering) 알고리즘에의해상품별로부과되는추천점수 (s) 를연산하는협력필터링기반의추천점수연산단계 (S10); 상기추천점수 (s) 와동일한형태를갖는 1 N 상품크기의상품가격행렬 (w) 을생성하고, 이를동일한크기의가격가중치행 렬 ( ) 로변환하는가격가중치연산단계 (S20); 상기추천점수 (s) 에상기가격가중치행렬 ( ) 을더하는 연산에의하여가격가중치가반영된최종적인가중추천점수 ( ) 를 연산하는가중추천점수연산단계 (S40); 및대상고객이구매하지않은상품들중상기가중추천점수 ( ) 가높은순서대로다수개의상품을선택한후상기쇼핑몰웹서버로전송하여표출시키는추천상품선정단계 (S50) 를포함하여구성되는것을특징으로한다. [0012] 또한, 본발명은상기가격가중치연산단계 (S20) 에서상품가격행렬 w=[w 1,, w j,, w N 상품 ] 을로그스케일로 변환하고가격가중계수 (C) 를곱하는 의연산에의해각상품의값을가격가중치행렬 로변환하도록구성되는것을특징으로한다. [0013] 효과본발명은고객의상품선호도를고려하여추천상품목록을선정함에있어서높은추천정확도라는협력필터링기반의장점을그대로유지하면서도, 높은가격대의상품구매를유도하여매출증가를구현할수있는장점이있다. [0014] [0015] [0016] [0017] [0018] [0019] 발명의실시를위한구체적인내용이하에서는본발명의구체적인실시예를도면을참조하여상세히설명하도록한다. 도 1은본발명에따른상품가격을고려한상품추천시스템의블록구성도이다. 도 1을참조하면, 본발명에따른상품가격을고려한상품추천시스템은인터넷등의통신망상에서다양한상품을판매하는쇼핑몰웹서버 (100) 와, 상기쇼핑몰웹서버에서제공하는상품과고객의구매정보등을저장하는데이터베이스서버 (200) 와, 상품선호도를기준으로추천점수를연산하는협력필터링추천부 (300) 와, 상품의가격을기준으로가중치를연산하는가격가중치연산부와, 상기가격가중치를연산하는가격가중계수를적응적으로결정하는가격가중계수최적화부 (500) 와, 상기가격가중치가고려된각상품의추천점수를결정하는가중추천점수연산부 (600), 및상기가중추천점수에따른추천상품목록을선정하여상기쇼핑몰웹서버로전송하는추천상품선정부 (700) 를포함하여구성된다. 상기쇼핑몰웹서버 (100) 는인터넷등을통하여상품을구매하고자하는고객의클라이언트시스템이접속하여상품의구매가이루어지는웹사이트를운영하는통상적인웹서버로구성된다. 이때, 상기쇼핑몰웹서버 (100) 는상품을구매하고자하는고객에게추천점수가높은상품목록을추천할수있도록해당고객의아이디등을상기협력필터링추천부 (300) 로전달함과아울러, 최종적으로선정된추천상품목록을상기추천상품선정부 (700) 로부터수신하여표출하게된다. 이경우상기쇼핑몰웹서버는상품명, 링크, 사진과함께상기추천상품목록을생성하여표출시키도록구성될수있음은물론이다. 또한, 상기쇼핑몰웹서버는고객의인적정보와최종적인구매내역등을상기데이터베이스서버에저장하고 - 8 -
독출할수있도록상기데이터베이스서버 (200) 에연동되게구성된다. [0020] [0021] [0022] [0023] 상기쇼핑몰웹서버 (100) 는상품간의가격차이가큰상품을판매하는웹사이트를운영하는것이가격가중치에의한매출극대화를꾀할수있으나, 가격차이가크지않은도서나영화예매등의전자상거래서비스를제공하는웹사이트를운영하는것도무방함은물론이다. 상기데이터베이스서버 (200) 는상기쇼핑몰웹서버와연동하며인적정보및상품정보를저장하고, 상기협력필터링추천부와가격가중치연산부, 및가격가중계수최적화부 (500) 에연동하면서고객정보와상품정보를독출하도록구성된다. 이때, 상기데이터베이스서버 (200) 는고객의인적정보와구매정보를저장하는고객데이터베이스와, 상품의가격정보등을저장하는상품데이터베이스를포함하여구성된다. 또한, 상기데이터베이스서버 (200) 는적절한상품추천목록을생성할수있도록, 모든구매기록과, 상품들의가격과, 추천상품목록을확인한고객이추천상품을선택할확률, 및전체매출에대한통계치를저장하도록구성될수있음은물론이다. 상기협력필터링추천부 (300) 는협력필터링 (Collaborative Filtering) 기반의알고리즘으로상품추천목록을보기원하는대상고객의아이디나, 그고객이선택한상품들의아이디를상기쇼핑몰웹서버로부터수신하여모든상품들의추천점수 (s j ) 를연산하기위해, 고객별주문행렬생성모듈 (310) 과, 전체주문행렬생성모듈 (32 0) 과, 추천점수연산모듈 (340) 주문행렬생성모듈 (330), 및추천점수연산모듈 (340) 을포함하여구성된다. [0024] 상기고객별주문행렬생성모듈 (310) 은 i 번째고객이구매한상품들을나타내는고객별주문행렬 (b i ) 을생성하 는것으로서, 한쇼핑몰에서제공하는총상품의개수가 N 상품이고총고객의수가 N 고객인경우, i번째고객이지금까지구매한상품들을 1 N 상품크기의행렬, b i = [b i1,, b ij,, b in상품 ] 로나타내도록구성된다. 이때, 상기 b ij 는 i번째고객이 j번째상품을구매하였는지를나타내며, 해당고객이그물품을구매하였을경우에는 1, 구매하지않았을경우에는 0으로표현된다. [0025] 상기전체주문행렬생성모듈 (320) 은상기고객별주문행렬을모든고객에대하여모아서 N 고객 N 상품크기의 행렬로나타낸전체주문행렬 (B) 을생성하도록구성되며, 상기전체주문행렬은 B = [b 1,, bi,, bn 고객 ] 로 표현된다. 이때, 상기 는행렬의전치 (transpose) 연산을지칭한다. [0026] 상기주문행렬생성모듈 (330) 은상품추천을받기원하는고객이현재까지구매한상품들을 1 N 상품크기의행 렬, b = [b 1,, b j,, b N 상품 ] 로나타내도록구성된다. [0027] 상기추천점수연산모듈 (340) 은하기의수학식 1 과같이상기주문행렬 (b ) 에전체주문행렬의전치연산값 (B ) 을곱한후전체주문행렬 (B) 을곱하여구해지는각상품의추천점수 (s j ) 를연산하도록구성된다. 이때, 상 기추천점수는각상품에대하여연산된다. 수학식 1 [0028] [0029] [0030] [0031] 종래의협력필터링기반의상품추천시스템에서는이와같이연산된추천점수를나타내는행렬에서추천점수가높은순서대로특정개수, 예를들어 n개만큼뽑아서고객에게추천하게되며, 이때, 상기추천점수가높은상품중고객이이미구매한상품, 즉 b j =1인상품은제외된다. 그러나, 본발명에서는이러한협력필터링에의해연산된추천점수에의해얻을수있는높은정확도라는장점을유지하면서매출을극대화시킬수있는가격가중치를후술하는바와같이연산하여부가함으로써최종추천상품을선택하게된다. 상기가격가중치연산부 (400) 는상기쇼핑몰웹서버에서판매하는상품들의가격을행렬로생성하는상품가격행렬생성모듈 (410) 과, 상기상품가격행렬을상기추천점수와의연산을위한가격가중치로변환시키는가격가중치변환모듈 (420) 을포함하여구성된다. - 9 -
[0032] 이때, 상기상품가격행렬생성모듈 (410) 은 j 번째상품의가격을 w j 라할때전체상품들의가격을 1 N 상품 크기의행렬 w=[w 1,, w j,, w N 상품 ] 로표현하도록구성된다. [0033] 상기가격가중치변환모듈 (420) 은상기상품가격행렬생성모듈 (410) 에서생성된상품가격행렬에있는각상 품의값을가격가중치행렬, 로변환하도록구성된다. [0034] 이때, 상기상품가격을가격가중치로변환하는연산은하기의수학식 2 에의해이루어진다. 수학식 2 [0035] [0036] [0037] [0038] [0039] [0040] 상기수학식 2에서 C는가격가중계수로서 0보다큰상수를나타내며, log 10 은밑이 10인로그를지칭한다. 이와같이, 가격가중치를연산함에있어서로그함수를이용하여상품간의큰가격차이가로그스케일로반영되게함으로써, 상기가격가중치가협력필터링에기반한추천결과를크게바꾸지않도록구성된다. 상기가격가중계수최적화부 (500) 는일정기간마다추천점수연산모듈 (340) 이추천상품을선택할평균확률과전체매출값의변화정도를비교하여상기가격가중계수 (C) 를적응적으로변화시키며결정할수있도록, 평균확률연산모듈 (510) 과, 평균확률비교모듈 (520) 과, 전체매출연산모듈 (530) 과, 전체매출비교모듈 (540) 과, 가격가중계수최적화모듈을포함하여구성된다. 이때, 상기평균확률연산모듈 (510) 에서는고객이추천상품을선택할평균확률 (P) 을연산하고, 상기전체매출연산모듈 (530) 에서는해당기간동안의전체매출 (W) 을연산하도록구성된다. 또한, 상기평균확률비교모듈 (520) 에서는과거에연산하였던평균확률 (P old ) 와상기평균확률연산모듈 (510) 에 서현재새로이연산된평균확률 (P new ) 의값을비교하도록구성되며, 상기전체매출비교모듈 (540) 에서도과거 에연산하였던전체매출 (W old ) 과상기전체매출연산모듈 (530) 에서현재새로이연산된전체매출 (W new ) 의값을 비교하도록구성된다. [0041] 그리고, 상기가격가중계수최적화모듈에서는먼저상기평균확률비교모듈 (520) 에서의비교결과를확인하여 현재의평균확률 (P new ) 값이과거의평균확률 (P old ) 값보다작을경우에는, 과거의가격가중계수 (C old ) 에서일정한 가격가중치변화정도 (ΔC) 를뺀값을새로운가격가중계수 (C new ) 로결정하도록구성된다. [0042] 또한, 상기평균확률비교모듈 (520) 에서의비교결과현재의평균확률 (P new ) 값이과거의평균확률 (P old ) 값보다 클경우에는, 상기전체매출비교모듈 (540) 에서의비교결과를확인하여현재의전체매출 (W new ) 이과거의전체 매출 (W old ) 보다작을경우에는, 과거의가격가중계수 (C old ) 에서일정한가격가중치변화정도 (ΔC) 를더한값을 새로운가격가중계수 (C new ) 로결정하도록구성된다. [0043] 그외의경우즉, 현재의평균확률 (P new ) 값이과거의평균확률 (P old ) 값보다크고, 현재의전체매출 (W new ) 이과 거의전체매출 (W old ) 보다클경우에는, 과거의가격가중계수 (C old ) 를그대로현재의새로운가격가중계수 (C new ) 로 유지하도록구성된다. [0044] [0045] 또한, 상기가격가중치가로그함수의스케일로반영되고, 상기가격가중계수 (C) 가일정시간마다동적으로자동조절되게함으로써, 쇼핑몰고객이협력필터링에기반하여느끼는추천만족도를해치지않는범위내에서매출을최대화할수있게된다. 상기가중추천점수연산부 (600) 는상기협력필터링추천부 (300) 에서연산된추천점수 (s) 에상기가격가중치 연산부에서연산된가격가중치 ( ) 를더하여최종적인가중추천점수 ( ) 를하기의수학식 3 과같이연 산하도록구성된다. - 10 -
수학식 3 [0046] [0047] 상기추천상품선정부 (700) 는추천점수연산모듈 (340) 이구매하지않은상품들중에서, 상기가중추천점수 (s j ) 가높은순서대로일정개수, 즉 n 개를선택한후상기쇼핑몰웹서버 (100) 로전송하도록구성된다. 그에 따라, 상기쇼핑몰웹서버는상기추천상품선정부 (700) 로부터수신한추천상품들을통신망상에서추천점수 연산모듈 (340) 의클라이언트시스템으로표출시킨다. [0048] [0049] [0050] [0051] [0052] 다음에는본발명에따른상품가격을고려한상품추천방법을설명한다. 도 2는본발명에따른상품가격을고려한상품추천방법의구성도이며, 도 3은본발명에따른가격가중계수최적화단계의판단순서도이다. 도 2를참조하면, 상품가격을고려한상품추천방법은, 협력필터링기반의추천점수연산단계 (S10) 와, 가격가중치연산단계 (S20) 와, 가격가중계수최적화단계 (S30) 와, 가중추천점수연산단계 (S40) 와, 추천상품선정단계 (S50) 를포함하여구성된다. 상기협력필터링기반의추천점수연산단계 (S10) 는통상적인협력필터링 (Collaborative Filtering) 알고리즘에의해상품별로부과되는추천점수를연산하는단계로서, 고객별주문행렬과전체주문행렬및대상고객주문행렬을생성하는행렬생성과정 (S11) 과, 생성된행렬을이용하여추천점수를연산하는추천점수연산과정 (S12) 을포함하여구성된다. 상기행렬생성과정 (S11) 은협력필터링을기반으로유사한취향을갖는다른고객들이구매한상품목록을기반으로상품을추천하기위한추천점수의연산이용이하게이루어질수있게, 쇼핑몰웹서버를통하여획득한고객들의인적정보와상품정보를기반으로특정고객들이지금까지쇼핑몰에서구매한상품들을 1 N 상품크기 의고객별주문행렬 (b i ) 로생성하고, 이러한고객별주문행렬을모든고객에대해모아서 N 고객 N 상품크기의전 체주문행렬 (B) 을생성하며, 상품추천을받기원하는대상고객이현재까지구매한상품들을 1 N 상품크기의 대상고객주문행렬로생성하도록구성된다. [0053] 그에따라, 협력필터링추천부에구비된고객별주문행렬생성모듈 (310) 에서 i 번째고객이지금까지구매한 상품들을 1 N 상품크기의고객별주문행렬, b i = [b i1,, b ij,, b in 상품 ] 을생성하고, 전체주문행렬생성모듈 (320) 에서 N 고객 N 상품크기의전체주문행렬, B = [b 1,, bi,, bn 고객 ] 을생성하며, 대상고객주문행렬생 성모듈에서 1 N 상품크기의대상고객주문행렬, b = [b 1,, b j,, b N 상품 ] 을생성하게된다. [0054] 상기추천점수연산과정 (S12) 은상기협력필터링추천부에구비된추천점수연산모듈에서상기대상고객주문 행렬 (b ) 에전체주문행렬의전치연산값 (B ) 을곱한후, 전체주문행렬 (B) 을곱해서구해지는각상품의추천 점수 (s j ) 를연산하도록구성된다. 이때, 상기추천점수는각상품에대하여연산되며, 상기추천점수를나타내는 행렬은 s=[s 1,, s 2,, s N 상품 ]=b B B 으로표현된다. [0055] 상기가격가중치연산단계 (S20) 는상기추천점수 (s) 와의용이한연산을위해, 가격가중치연산부에서추천점 수와동일한형태를갖는 1 N 상품크기의상품가격행렬 (w) 을생성하고, 이를동일한크기의가격가중치행렬 ( ) 로변환하도록구성된다. [0056] 이때, 상기가격가중치연산부에구비된가격가중치변환모듈에서상품가격행렬 w=[w 1,, w j,, w N 상품 ] 을 로그스케일로변환하고가격가중계수 (C) 를곱하는 에의해각상품의값을가격가중 치행렬로변환하게된다. - 11 -
[0057] [0058] 이경우, 상기가격가중계수 (C) 는 0보다큰상수를나타내며후술하는가격가중계수최적화단계에서자동으로조절되며, 상품들간의큰가격차이가로그스케일로변환된가격가중치로반영되므로상기가격가중치가협력필터링에기반한추천결과를크게바꾸지않게된다. 그에따라상품을추천받고자하는대상고객에게여전히높은추천정확도를유지하는상품추천정보가제공될수있게된다. 또한, 상기행렬생성과정에서생성되는행렬과추천점수를나타내는행렬이상품의개수에따른 1 N 상품의크 기를갖고, 상기가격가중치행렬도이와동일한크기를갖게되므로, 상품의가격가중치를상기추천점수에 반영하는대수적인연산이용이하게이루어질수있게된다. [0059] 상기가격가중계수최적화단계 (S30) 는일정기간마다대상고객이추천상품을선택할평균확률과전체매출값의변화정도를비교하여가격가중계수 (C) 를적절하게변화시켜결정하는것으로서, 가격가중계수최적화부에구비된평균확률연산모듈에서고객이추천상품을선택할평균확률 (P) 을연산하는평균확률연산과정 (S31) 과, 평균확률비교모듈에서과거에연산하였던평균확률 (P old ) 과새로이연산한평균확률 (P new ) 의값을비교하는평균 확률비교과정 (S32) 과, 전체매출연산모듈에서해당기간동안의전체매출 (W) 을연산하는전체매출연산과정 (S33) 과, 전체매출비교모듈에서과거에연산하였던전체매출 (W old ) 과현재새로이연산한전체매출 (W new ) 의 값을비교하는전체매출비교과정 (S34), 및가격가중계수최적화과정 (S35) 을포함하여구성된다. [0060] 도 3 을참조하면, 상기가격가중계수최적화과정 (S35) 은가격가중계수최적화모듈에서먼저상기평균확률비교 모듈에서의비교결과를확인하여현재의평균확률 (P new ) 값이과거의평균확률 (P old ) 값보다작을경우 (Y1) 에는, 과거의가격가중계수 (C old ) 에서일정한가격가중치변화정도 (ΔC) 를뺀값을새로운가격가중계수 (C new ) 로결정 하도록구성된다. [0061] 그리고, 상기평균확률비교모듈에서의비교결과현재의평균확률 (P new ) 값이과거의평균확률 (P old ) 값보다클 경우 (N1) 에는, 상기전체매출비교모듈에서의비교결과를확인하여현재의전체매출 (W new ) 이과거의전체매 출 (W old ) 보다작을경우 (Y2) 에는, 과거의가격가중계수 (C old ) 에서일정한가격가중치변화정도 (ΔC) 를더한값 을새로운가격가중계수 (C new ) 로결정하도록구성된다. [0062] 그외의경우즉, 현재의평균확률 (P new ) 값이과거의평균확률 (P old ) 값보다크고, 현재의전체매출 (W new ) 이과 거의전체매출 (W old ) 보다클경우 (N2) 에는, 과거의가격가중계수 (C old ) 를그대로현재의새로운가격가중계수 (C new ) 로유지하도록구성된다. [0063] [0064] 이와같이, 상기가격가중계수최적화단계에서상기가격가중계수 (C) 가일정시간마다동적으로자동조절되게함으로써, 쇼핑몰고객이협력필터링에기반하여느끼는추천만족도를해치지않는범위내에서매출을최대화할수있게된다. 상기가중추천점수연산단계 (S40) 는가중추천점수연산부에서상기협력필터링추천부에서연산된추천점수 (s) 에상기가격가중치연산부에서연산된가격가중치 ( ) 를더하여, 즉 연산에의하여최종적인가중추천점수 ( ) 를연산하도록구성된다. [0065] 추천상품선정단계 (S50) 는상기가중추천점수연산단계에서가격가중치를고려하여연산된가중추천점수 ( ) 를고려하여, 즉대상고객이구매하지않은상품들중가중추천점수 (s j ) 가높은순서대로일정개수의 상품을선택한후상기쇼핑몰웹서버로전송하여표출하도록구성된다. [0066] [0067] 이와같이, 상품선호도를충족시키기위해제공되는협력필터링기반의알고리즘에, 추천받고자하는대상고객이추천상품을선택하는평균확률과전체매출의증감을반영하여연산되는가격가중계수를갖는계수로가지며로그스케일로변환된상품의가격가중치를반영함으로써, 대상고객이느끼는추천만족도를해하지않는범위내에서쇼핑몰운영자의매출을극대화시킬수있게된다. 이상에서는본발명에대한기술사상을첨부도면과함께서술하였지만이는본발명의바람직한실시예를예시적으로설명한것이지본발명을한정하는것은아니다. 또한본발명이속하는기술분야에서통상의지식을 - 12 -
가진이라면누구나본발명의기술적사상의범주를이탈하지않는범위내에서다양한변형및모방이가능함 은명백한사실이다. [0068] [0069] [0070] [0071] [0072] [0073] [0074] [0075] 도면의간단한설명도 1은본발명에따른상품가격을고려한상품추천시스템의블록구성도. 도 2는본발명에따른상품가격을고려한상품추천방법의구성도. 도 3은본발명에따른가격가중계수최적화단계의판단순서도 < 도면의주요부분에대한부호의설명 > 100 - 쇼핑몰웹서버 200 - 데이터베이스서버 300 - 협력필터링추천부 400 - 가격가중치연산부 500 - 가격가중계수최적화부 600 - 가중추천점수연산부 700 - 추천상품선정부 - 13 -
도면 도면 1-14 -
도면 2 도면 3-15 -