KR20210061739A - 사용자 맞춤형 추천정보 제공장치 및 제공방법, 이를 실행시키기 위한 프로그램을 기록한 컴퓨터 해독 가능한 기록 매체 - Google Patents

사용자 맞춤형 추천정보 제공장치 및 제공방법, 이를 실행시키기 위한 프로그램을 기록한 컴퓨터 해독 가능한 기록 매체 Download PDF

Info

Publication number
KR20210061739A
KR20210061739A KR1020190149631A KR20190149631A KR20210061739A KR 20210061739 A KR20210061739 A KR 20210061739A KR 1020190149631 A KR1020190149631 A KR 1020190149631A KR 20190149631 A KR20190149631 A KR 20190149631A KR 20210061739 A KR20210061739 A KR 20210061739A
Authority
KR
South Korea
Prior art keywords
recommendation
user
information
variable
deep learning
Prior art date
Application number
KR1020190149631A
Other languages
English (en)
Other versions
KR102262118B1 (ko
Inventor
임일
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to KR1020190149631A priority Critical patent/KR102262118B1/ko
Publication of KR20210061739A publication Critical patent/KR20210061739A/ko
Application granted granted Critical
Publication of KR102262118B1 publication Critical patent/KR102262118B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 복수의 추천 엔진이 만들어 내는 개별적인 추천 결과를 상황에 맞게 최적화해서 결합하여 사용자의 현재 상황에 적합한 사용자 맞춤형 추천정보를 제공하는 장치 및 방법, 기록 매체에 관한 것으로,
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공장치는,
사용자 단말기를 통한 웹 서버에 접속시, 사용자 정보를 수신하는 사용자 정보 수신부; 사용자 단말기를 통한 웹 서버에 접속시의 적어도 하나 이상의 상황변수를 추출하는 상황변수 추출부; 상기 사용자 정보 수신부에서 수신된 사용자 정보를 이용하여 개별적으로 예측값을 출력하는 복수개의 추천 엔진을 포함하는 추천 엔진부; 상기 복수개의 추천 엔진에서 출력된 복수개의 예측값과, 상기 상황변수 추출부에서 추출된 상황변수를 입력값으로 딥러닝을 수행하여 최종 예측값을 출력하는 딥러닝부;를 포함한다.

Description

사용자 맞춤형 추천정보 제공장치 및 제공방법, 이를 실행시키기 위한 프로그램을 기록한 컴퓨터 해독 가능한 기록 매체 {Apparatus and method for providing user-customized recommending-information, and computer-readable recording media recorded a program for executing it}
본 발명은 사용자 맞춤형 추천정보를 제공하는 장치 및 방법에 관한 것으로, 보다 구체적으로는 복수의 추천 엔진이 만들어 내는 개별적인 추천 결과를 상황에 맞게 최적화해서 결합하여 사용자의 현재 상황에 적합한 사용자 맞춤형 추천정보를 제공하는 장치 및 방법, 기록 매체에 관한 것이다.
전자상거래 사이트에서 사용자의 다양한 정보를 바탕으로 사용자에게 적합한 개인화된 추천은 매출 증대나 사용자 만족 향상을 위한 중요한 기술이다. 개인화된 추천을 위한 기술은 다양한 방법이 개발되어 있다.
예를 들어, 한국 등록 특허 제 10-1278284호, 제 10-1565339호, 제 10-1747532호, 제 10-1981136호 등에 사용자 정보를 이용해서 자동으로 상품을 추천하는 방법에 대한 기술이 개시되어 있다.
현재 사용되는 추천 시스템 혹은 추천 엔진은 보통 한가지 기술을 기반으로 해서 그 기술을 최적화 하거나, 혹은 복수의 기술(예를 들어 협업필터링과 내용기반 필터링)을 사용하더라도 한 추천 시스템 안에서 결합해서 정확한 추천 결과를 내는 데 초점을 맞추고 있다.
이러한 현재 추천 기술은 크게 두 가지 한계를 가지고 있다.
첫째, 한 추천 시스템이 한 사용자에 대해서 제시하는 추천 결과(예를 들어 아이템 1, 2, 3을 사용자 A에게 추천)는 상황에 관계없이 거의 동일하다. 즉, 상황에 따라 그 상황에 적합한 추천을 제공하지 못한다. 여기서 상황이라고 하는 것은 사용자들에게 공통적으로 적용되는 날씨, 시간, 특정 이벤트 발생(예를 들어, 사건, 사고, 운동경기, 명절 등), 상품의 도메인, 등을 말한다. 이들 상황변수는 개인별 변수가 아니기 때문에 개인화된 추천을 제공하는 개별 추천 시스템에서는 사용되지 않거나 사용되더라도 보조적인 역할을 하는 것이 보통이다. 시간이 지나면서 사용자의 데이터가 추가되고 추천 알고리즘이 개선되면 같은 사용자에 대해서도 다른 결과를 보여줄 수는 있지만 특정 시점에서는 같은 추천 결과를 내며 상황을 고려한 추천을 제시하지 못한다.
둘째, 다양한 추천 기술이 한 추천 시스템 안에서 결합되기 때문에 몇 개의 추천 기술을 사용하든지 추천 결과는 한 가지로 나오게 된다. 복수의 추천 기술이 한 시스템 안에서 결합되기 위해 다양한 기법들이 적용되기는 하지만 최종적으로는 통합되어 한 추천 시스템의 추천 결과는 하나가 되며, 이 역시 상황을 고려하지 못하는 문제가 있다.
한국 등록 특허 제10-1278284호 한국 등록 특허 제10-1565339호 한국 등록 특허 제10-1747532호 한국 등록 특허 제10-1981136호
본 발명은 복수의 추천 엔진이 만들어 내는 개별적인 추천 결과를 상황에 맞게 최적화해서 결합하여 사용자의 현재 상황에 적합한 사용자 맞춤형 추천정보를 제공하는 장치 및 방법, 기록 매체를 제공하는 것을 목적으로 한다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공장치는,
사용자 단말기를 통한 웹 서버에 접속시, 사용자 정보를 수신하는 사용자 정보 수신부; 사용자 단말기를 통한 웹 서버에 접속시의 적어도 하나 이상의 상황변수를 추출하는 상황변수 추출부; 상기 사용자 정보 수신부에서 수신된 사용자 정보를 이용하여 개별적으로 예측값을 출력하는 복수개의 추천 엔진을 포함하는 추천 엔진부; 상기 복수개의 추천 엔진에서 출력된 복수개의 예측값과, 상기 상황변수 추출부에서 추출된 상황변수를 입력값으로 딥러닝을 수행하여 최종 예측값을 출력하는 딥러닝부;를 포함한다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공장치에 있어서, 상기 적어도 하나 이상의 상황변수는, 사용자가 추천을 요청한 요일, 시간, 위치, 지역, 날씨, 특정 이벤트 발생, 상품의 도메인 중 적어도 어느 하나를 포함할 수 있다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공장치에 있어서, 상기 추천 엔진은, 딥러닝 알고리즘, 협업 필터링 알고리즘, 내용기반 필터링 알고리즘, 연관규칙 기반 추천 알고리즘 중 적어도 어느 하나이거나, 또는 상기 알고리즘 중 적어도 2개 이상 결합한 혼합 알고리즘일 수 있다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공장치에 있어서, 상기 딥러닝부는, 상기 복수개의 추천 엔진에서 출력된 복수개의 예측값과, 상기 상황변수 추출부에서 추출된 적어도 하나 이상의 상황변수를 입력값으로 딥러닝을 수행하여, 상기 복수개의 추천 엔진 각각에 대해 상기 상황변수에 대한 가중치를 부여하고, 상기 복수개의 추천 엔진 각각은 상기 가중치를 이용하여 최종 예측값을 출력할 수 있다. 여기서, 상기 추천 엔진이 딥러닝 알고리즘을 포함하는 경우, 추천 엔진을 구성하는 딥러닝 알고리즘에 의해 수행되는 딥러닝과, 상기 딥러닝부에 의해 수행되는 딥러닝은 서로 독립적인 것이다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공장치에 있어서, 상기 가중치는, 상기 적어도 하나 이상의 상황변수 각각에 대해, 상기 딥러닝부의 학습 과정에서 사용자의 실제 행동 데이터와 상기 최종 예측값의 차이인 예측 오차를 최소화하는 방향으로 상기 복수의 추천 엔진 각각에 대해 부여될 수 있다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공장치에 있어서, 상기 딥러닝부는, 상기 복수개의 추천 엔진 별로 상기 상황변수에 따른 가중치가 적용된 최종 예측값들 중에서 가장 높은 값을 갖는 최종 예측값을 사용자 맞춤형 추천 정보로 하여 상기 사용자 단말기로 전송되도록 할 수 있다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공장치에 있어서, 상기 사용자 맞춤형 추천 정보를 출력한 데이터 세트를 새로운 학습 데이터 세트로 하여 상기 딥러닝부를 재학습시킬 수 있다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공장치에 있어서, 상기 복수개의 추천 엔진 중 어느 하나 이상의 추천 엔진의 예측 정확도가 기설정된 기준치 이하인 경우, 해당 추천 엔진을 상기 추천 엔진부에서 제거하고 새로운 추천 엔진을 추가할 수 있다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공방법은,
사용자 단말기를 통한 웹 서버에 접속시, 사용자 정보 수신부가 사용자 정보를 수신하는 단계; 사용자 단말기를 통한 웹 서버에 접속시, 상황변수 추출부가 적어도 하나 이상의 상황변수를 추출하는 단계; 복수개의 추천 엔진이 상기 사용자 정보를 이용하여 개별적으로 예측값을 출력하는 단계; 상기 복수개의 추천 엔진에서 출력된 복수개의 예측값과, 상기 상황변수 추출부에서 추출된 상황변수를 입력값으로 딥러닝을 수행하여 최종 예측값을 출력하는 단계;를 포함한다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공방법에 있어서, 상기 적어도 하나 이상의 상황변수는, 사용자가 추천을 요청한 요일, 시간, 위치, 지역, 날씨, 특정 이벤트 발생, 상품의 도메인 중 적어도 어느 하나를 포함할 수 있다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공방법에 있어서, 상기 추천 엔진은, 딥러닝 알고리즘, 협업 필터링 알고리즘, 내용기반 필터링 알고리즘, 연관규칙 기반 추천 알고리즘 중 적어도 어느 하나이거나, 또는 상기 알고리즘 중 적어도 2개 이상 결합한 혼합 알고리즘일 수 있다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공방법에 있어서, 상기 딥러닝부는, 상기 복수개의 추천 엔진에서 출력된 복수개의 예측값과, 상기 상황변수 추출부에서 추출된 적어도 하나 이상의 상황변수를 입력값으로 딥러닝을 수행하여, 상기 복수개의 추천 엔진 각각에 대해 상기 상황변수에 대한 가중치를 부여하고, 상기 복수개의 추천 엔진 각각은 상기 가중치를 이용하여 최종 예측값을 출력할 수 있다. 여기서, 상기 추천 엔진이 딥러닝 알고리즘을 포함하는 경우, 추천 엔진을 구성하는 딥러닝 알고리즘에 의해 수행되는 딥러닝과, 상기 딥러닝부에 의해 수행되는 딥러닝은 서로 독립적인 것이다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공방법에 있어서, 상기 가중치는, 상기 적어도 하나 이상의 상황변수 각각에 대해, 상기 딥러닝부의 학습 과정에서 사용자의 실제 행동 데이터와 상기 최종 예측값의 차이인 예측 오차를 최소화하는 방향으로 상기 복수의 추천 엔진 각각에 대해 부여될 수 있다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공방법에 있어서, 상기 딥러닝부는, 상기 복수개의 추천 엔진 별로 상기 상황변수에 따른 가중치가 적용된 최종 예측값들 중에서 가장 높은 값을 갖는 최종 예측값을 사용자 맞춤형 추천 정보로 하여 상기 사용자 단말기로 전송되도록 할 수 있다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공방법에 있어서, 상기 사용자 맞춤형 추천 정보를 출력한 데이터 세트를 새로운 학습 데이터 세트로 하여 상기 딥러닝부를 재학습시킬 수 있다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공방법에 있어서, 상기 복수개의 추천 엔진 중 어느 하나 이상의 추천 엔진의 예측 정확도가 기설정된 기준치 이하인 경우, 해당 추천 엔진을 상기 추천 엔진부에서 제거하고 새로운 추천 엔진을 추가할 수 있다.
본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공방법은, 컴퓨터에 의해 실행되며, 사용자 단말기를 통한 웹 서버에 접속시, 사용자 정보를 수신하는 단계; 사용자 단말기를 통한 웹 서버에 접속시, 적어도 하나 이상의 상황변수를 추출하는 단계; 복수개의 추천 엔진이 상기 사용자 정보를 이용하여 개별적으로 예측값을 출력하는 단계; 상기 복수개의 추천 엔진에서 출력된 복수개의 예측값과, 상기 상황변수 추출부에서 추출된 상황변수를 입력값으로 딥러닝을 수행하여 최종 예측값을 출력하는 단계;를 실행시키기 위한 프로그램을 기록한 컴퓨터 해독 가능한 기록 매체에 의해 수행될 수 있다.
본 발명의 실시예에 따른 컴퓨터 프로그램은, 상기 사용자 맞춤형 추천정보 제공방법을 실행시키는 기록매체에 저장된 컴퓨터 프로그램일 수 있다.
본 발명의 실시예에 따른 컴퓨터 프로그램은, 기 복수개의 추천 엔진 중 어느 하나 이상의 추천 엔진의 예측 정확도가 기설정된 기준치 이하인 경우, 해당 추천 엔진을 상기 추천 엔진부에서 제거하고 새로운 추천 엔진을 추가할 수 있는 사용자 맞춤형 추천정보 제공방법을 실행시킬 수 있다.
기타 본 발명의 다양한 측면에 따른 구현예들의 구체적인 사항은 이하의 상세한 설명에 포함되어 있다.
본 발명의 실시 형태에 따르면,
복수의 추천 엔진의 장점을 최대화 할 수 있다. 개별 추천 엔진은 상황에 따라 잘 맞거나 안 맞을 수가 있는데 주어진 상황에서 정확한 추천엔진에 가중치를 더 부여함으로써 최종 추천 결과의 정확성을 향상시킬 수 있다.
또한, 기존 추천 시스템은 상황에 관계없이 한 사용자에게 하나의 결과만 제시하는데 비해 본 발명은 상황에 따라 같은 사용자에게도 다양한 추천을 제시함으로써 사용자의 만족도를 높일 수 있다.
또한, 필요에 따라 개별 추천 엔진이 제거되거나 추가될 수 있기 때문에 새로운 추천 엔진이 개발되면, 해당 추천 엔진을 추가적인 추천 엔진으로서 포함시킬 수 있다. 따라서 최신 추천 엔진을 즉시 적용하는 추천 엔진 플랫폼기능을 수행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 사용자 맞춤형 추천정보 시스템이 도시된 도면이다.
도 2는 본 발명의 일 실시예에 따른 사용자 맞춤형 추천정보 제공장치가 도시된 도면이다.
도 3은 본 발명의 일 실시예에 따른 사용자 맞춤형 추천정보 제공장치에서 딥러닝부의 학습 과정이 도시된 순서도이다.
도 4는 본 발명의 일 실시예에 따른 사용자 맞춤형 추천정보 제공장치에서 사용자 맞춤형 추천정보를 제공하는 과정이 도시된 순서도이다.
도 5는 본 발명의 실시예에 따른 컴퓨팅 장치를 나타내는 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예를 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, '포함하다' 또는 '가지다' 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 이하, 도면을 참조하여 본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공장치 및 제공방법을 설명한다.
도 1은 본 발명의 일 실시예에 따른 사용자 맞춤형 추천정보 시스템이 도시된 도면이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 사용자 맞춤형 추천정보 시스템은, 사용자 단말기(UE)와 통신망와 웹 서버(WS)와 사용자 맞춤형 추천정보 제공장치(100, 이하 ‘추천 장치(100)’로도 약칭함)를 포함한다.
사용자 단말기(UE, User Equipment)는 통신망를 경유하여 웹 서버(WS, Web Server)와 데이터를 송수신할 수 있는 단말기를 의미하며, 이동통신 단말기(Mobile Communication Terminal), 개인휴대용 정보단말기(PDA: Personal Digital Assistant), 태블릿, 노트북, 데스크탑 컴퓨터 등 중 어느 하나일 수 있으며, 유무선 데이터 송수신을 위한 프로그램을 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 단말기를 의미한다.
통신망는 유무선 네트워크가 될 수 있으며, LAN, WAN 등을 포함하는 어떠한 네트워크도 가능하나 인터넷 네트워크로 구현하는 것이 바람직하다.
웹 서버(WS)는 사용자에 대한 추천 상황에 따라 추천 정보를 제공하게 되는 쇼핑몰 사이트 또는 포털 사이트(또는 추천 사이트) 등 일 수 있다. 또한, 다른 구현 방법으로서 포털 사이트 등과 링크되어 사용자의 요청에 따라 정보를 제공하는 일반적인 웹 사이트일 수 있다.
한편, 추천의 요청은 사용자 본인이 직접 요청하는 경우도 있고, 또는 사용자가 접속하고 있는 웹 사이트가 사용자의 명시적 요청이 없더라도 독자적인 판단에 따라 사용자를 대신해서 요청할 수도 있다. 예컨대, 사용자의 웹 사이트 방문시 추천을 위한 웹 페이지 제공시에는 사용자의 추천 요청이 없어도 웹 사이트에서 자체적으로 추천 목록을 제공할 수가 있다. 이하, 설명에서는 설명의 편의를 위해 상기 두 가지 상황 모두를 '사용자의 추천 요청'으로 통일하여 설명한다.
추천 장치(100)는 사용자 정보와 상황변수를 이용하여 사용자 맞춤형 추천정보를 생성하고, 생성된 추천정보를 웹 서버(WS)를 통해 사용자 단말기(UE)로 제공한다. 추천 장치(100)는 복수개의 추천 엔진을 포함하며, 사용자 정보를 이용하여 각각의 추천 엔진에서 출력된 예측값과 상황변수를 입력값으로 하는 딥러닝을 수행하여 최종 예측값을 출력한다.
도 2를 참조하여 추천 장치(100)에 대해 상세히 설명한다. 도 2는 본 발명의 일 실시예에 따른 사용자 맞춤형 추천정보 제공장치(추천 장치(100))가 도시된 도면이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 추천 장치(100)는, 사용자 정보 수신부(110)와 상황변수 추출부(120)와 추천 엔진부(130)와 딥러닝부(140)를 포함할 수 있다.
사용자 정보 수신부(110)는 사용자가 사용자 단말기(UE)를 통해 통신 네크워크(N)를 경유하여 웹 서버(WS)에 접속할 때, 사용자에 의해 입력되는 사용자 정보를 수신한다. 사용자 정보는, 예를 들어, 로그인 정보일 수 있다. 로그인 정보는 사용자의 동일성을 확인하는 수단이 된다. 구체적으로, 사용자가 추천을 요청하면 사용자 정보(예컨대, 사용자의 아이디)는 웹 서버(WS)를 통해 사용자 정보 수신부(110)로 전송되고, 사용자 정보 수신부(110)는 사용자의 로그인 정보를 사용자 정보 데이터베이스(111)에 저장한다. 사용자의 과거 정보도 사용자 정보 데이터베이스(111)에서 독출하여 추천에 이용할 수 있으므로 보다 정확한 추천이 가능해지게 된다.
상황변수 추출부(120)는 사용자가 사용자 단말기(UE)를 통해 통신 네크워크(N)를 경유하여 웹 서버(WS)에 접속할 때, 여러 사용자에게 공통된 상황 변수를 추출한다. 사용자 정보는 주관적인 추천 조건이고, 상황변수는 객관적인 추천 조건이다. 예를 들어, 상황변수는 추천을 요청한 요일, 시간, 위치 또는 지역, 날씨, 특정 이벤트 발생(예를 들어, 사건, 사고, 운동경기, 명절 등), 상품의 도메인 등 사용자의 선호도와 관계없이 정해지며 모든 사용자에게 공통적으로 적용되는 추천 조건이다. 또한, 상황변수는 사용자가 현재 처해 있는 상황을 나타내는 변수이다. 어떤 사용자가 비가 오는 금요일 오후 9시에 집 거실에서 신발을 판매하는 온라인 쇼핑몰에서 신발을 쇼핑하고 있는 경우를 예를 들면, 이때 날씨(비), 요일(금요일), 시간(오후 9시), 위치(집), 도메인(신발 쇼핑몰) 등은 모두 현 사용자의 상황을 나타낸다. 이러한 상황변수의 특징은 개별 사용자에게 해당되는 변수가 아니라 많은 사용자에게 공통적으로 적용되지만 수시로 변한다는 점이다.
상황변수 추출부(120)는 사용자의 추천 요청시 기설정된 각종 상황 변수를 인식하여 추출한다. 상황변수 추출부(120)는 사용자 정보 수신부(110)에서 수신된 사용자 정보를 통해 사용자의 현재 위치 또는 지역에 대한 정보를 추출할 수 있다. 이때, 사용자 정보(구체적으로, 로그인 정보)는 사용자 단말기(UE)의 고유 IP 주소를 포함할 수 있으며, 고유 IP 주소로부터 사용자의 현재 위치 정보를 추출할 수 있다. 또는 사용자 단말기(UE)가 이동통신 단말기인 경우, 사용자 정보는 GPS 정보를 포함할 수 있으며, 이 GPS 정보로부터 사용자의 현재 위치 정보를 추출할 수 있다. 또한, 상황변수 추출부(120)는 자체적으로 내장된 달력과 시계를 통해 추천 요청시의 요일, 시간 정보를 추출할 수 있다. 또한, 상황변수 추출부(120)는 외부 서버로부터 실시간으로 날씨 정보를 수신하여, 추천 요청시의 날씨 정보를 추출할 수 있다.
이상에서 상황변수 추출부(120)에서 추출되는 상황변수에 대해 요일, 시간, 위치 또는 지역, 날씨, 특정 이벤트 발생(예를 들어, 사건, 사고, 운동경기, 명절 등), 상품의 도메인 등을 예시하였으나, 본 발명에서 정의하는 상황변수는 반드시 이에 한정되는 것은 아니며, 추천 요청시 여러 사용자에게 공통적으로 적용될 수 있는 모든 추천 조건이 상황변수가 될 수 있다.
추천 엔진부(130)는 사용자 정보 수신부(110)에서 수신된 사용자 정보를 이용하여 개별적으로 예측값을 출력하는 복수개의 추천 엔진(130a ~ 130n)을 포함한다.
추천 엔진(130a ~ 130n)은 구현 방식에 따라 크게 딥러닝 (deep learning) 알고리즘, 협업 필터링(collaborative filtering) 알고리즘, 내용기반 필터링(content-based filtering) 알고리즘, 연관규칙 기반(association rule-based) 추천 알고리즘을 사용하거나, 또는 이들 알고리즘을 2개 또는 그 이상 결합한 혼합 알고리즘을 사용할 수 있다.
딥러닝 알고리즘은 인공신경망 (artificial neural network) 중 은닉층 (hidden layer)이 2개 이상인 신경망을 구성해서 추천에 활용하는 방법을 말한다. 구체적으로는, 입력변수로서 사용자나 제품의 특징을 나타내는 변수를 설정하고 출력변수로서 사용자의 아이템에 대한 선호도로 설정해서 주어진 입력변수로 출력변수를 최대한 정확하게 예측할 수 있도록 신경망을 훈련시킨다. 그리고 나서 추천을 제공하고자 하는 사용자의 다양한 아이템에 대한 예상 선호도를 도출해서 그 중에서 가장 높은 선호도를 가질 것으로 기대되는 아이템을 추천한다.
협업 필터링 알고리즘은 현재 사용자로부터 기존에 구매하여 사용하였던 상품에 관한 평가를 점수로 입력 받고, 이 평가 정보를 가지고 다른 사용자 중 비슷한 평가를 한 사람들을 추출(이하, 이들을 '준거 집단'으로 칭함)한 후, 이들이 좋게 평가한 제품 중에서 현재 사용자가 구입하지 않은 상품을 골라서 추천한다. 예를 들어, 상품 A를 준거 집단의 사람들이 평균 4.5로 높게 평가하였으나 현재 사용자는 아직 구매하지 않았다고 가정하면, 상기 준거 집단의 상품 선호도와 현재 사용자의 상품 선호도가 비슷하므로 현재 사용자가 상품 A를 좋아할 가능성이 매우 높다고 할 수 있다. 따라서 상품 A가 현재 사용자에게 추천된다.
내용기반 필터링 알고리즘은 상품을 기술한 문서(설명서 혹은 상품 소개 웹페이지)의 내용을 분석하여 추천을 한다. 예를 들어, 현재 사용자가 상품 B에 관한 웹 페이지를 관심 있게 읽고 있다면 이 페이지의 내용을 문헌 정보학 분야에서 잘 알려진 키워드 빈도 분석(term frequency/inverse document frequency: tf.idf) 방법을 이용하여 이와 비슷한 내용을 포함하고 있는 페이지를 찾는다. 이때, 상기 페이지가 담고 있는 상품은 현재 사용자가 보고 있는 상품 B와 비슷한 것일 것이므로 현재 사용자가 관심을 가질 가능성이 크다. 따라서 상기 페이지 또는 상기 페이지에 포함된 상품들을 현재 사용자에게 추천한다.
연관규칙 기반 추천 알고리즘은 사용자들의 과거 구매 이력을 통해 추천을 하는 방법이다. 예를 들어, 어떤 온라인 쇼핑몰의 사용자의 구매 기록에서, 상품 C를 구매한 사람들의 다른 상품 구매기록을 살펴보면 상품 C와 함께 구매하게 되는 다른 상품의 리스트를 작성할 수 있다. 예를 들어, 상품 C를 구매한 사람 중 50%의 사람이 상품 D를 구매하였고, 30%의 사람이 상품 E를 구매하였고, 등과 같은 식으로 구매비율이 높은 순으로 상품 리스트를 작성할 수 있다. 이것이 상품 C와 다른 상품이 연관되어 있는 규칙이다. 상기에서 만일 현재 사용자가 상품 C를 구매하였다면, 이 사용자는 상품 D를 구매할 가능성도 크므로 상품 D를 추천할 수 있다.
이상, 추천 엔진부(130)를 구성하는 개별 추천 엔진(130a ~ 130n)에 대해 일부 엔진을 예시로 하여 설명하였으나, 개별 추천 엔진(130a ~ 130n)은 반드시 이에 한정되지 않는다.
추천 엔진(130a ~ 130n)은 각 엔진을 구성하는 알고리즘에 의해 개별적인 예측값을 출력한다. 추천 엔진(130a ~ 130n)에 의해 출력된 예측값은 사용자 정보를 이용하여 예측된 선호도(또는 선호 상품)로서 동일한 사용자에 대해 동일한 추천 엔진의 추천 결과(예측값)는 상황변수와 관계없이 실질적으로 동일하다. 즉, 실시간으로 가변하는 상황에 부합하는 예측값을 제공하지 못한다.
이에 본 발명의 실시예에서, 딥러닝부(140)는 추천 엔진(130a ~ 130n)의 예측값들과, 상황변수 추출부(120)에서 추출된 상황변수들을 입력값으로 딥러닝을 수행하여 사용자의 실제 행동과 가장 부합하는 최종 예측값을 출력한다. 구체적으로 딥러닝부(140)는 복수개의 추천 엔진(130a ~ 130n)에서 출력된 복수개의 예측값과, 상황변수 추출부(120)에서 추출된 상황변수를 입력값으로 딥러닝을 수행하여, 복수개의 추천 엔진(130a ~ 130n) 각각에 대해 복수개의 상황변수 각각에 대한 가중치를 산출하여 부여하고, 복수개의 추천 엔진(130a ~ 130n) 각각은 각각의 상황변수 별로 추천 엔진에 부여된 가중치를 이용하여 최종 예측값을 출력한다. 여기서, 추천 엔진(130a ~ 130n)을 구성하는 딥러닝 알고리즘에 의해 수행되는 딥러닝은 사용자나 제품의 특징을 나타내는 변수를 입력값으로 하고 사용자의 아이템에 대한 선호도를 출력값으로 하는 것으로, 추천 엔진(130a ~ 130n)의 예측값들과 상황변수 추출부(120)에서 추출된 상황변수들을 입력값으로 하여 딥러닝부(140)에 의해 수행되는 딥러닝은 서로 독립적인 것이다.
예측값들과 상황변수들을 결합하여 딥러닝을 수행하기 위해서는 딥러닝부(140)는 학습 과정과 적용 과정의 두 단계를 거쳐야 한다. 이하, 도 3을 참조하여 딥러닝부(140)의 학습 과정에 대해 상세히 설명한다. 도 3은 본 발명의 일 실시예에 따른 사용자 맞춤형 추천정보 제공장치에서 딥러닝부의 학습 과정이 도시된 순서도이다.
S110 단계 : 먼저, 사용자의 각 아이템에 대한 실제 행동 데이터를 수집한다. 이때, 각 실제 행동이 실행될 당시의 상황변수도 같이 수집한다. 실제 행동 데이터는 추천 엔진의 추천 대상이 무엇이냐에 따라 특정 아이템에 대한 선호도값이 되거나 또는 상품 구매 내역이 될 수 있다.
S120 단계 : 수집된 실제 행동 데이터를 학습을 위한 훈련(train) 세트와 정확도 계산을 위한 시험(test) 세트로 무작위로 나눈다.
S130 단계 : 각 추천 엔진(130a ~ 130n)은 각자의 알고리즘으로 각 아이템에 대한 사용자의 행동에 대한 예측값을 계산한다. 예를 들어, 사용자의 선호도를 예측하는 것이 목적이라면 추천 엔진(130a ~ 130n)은 각 아이템에 대한 현재 사용자의 예측 평가값을 출력할 것이다. 만일 사용자의 구매를 예측하는 것이 목적이라면 추천 엔진(130a ~ 130n)의 출력은 각 아이템에 대한 현재 사용자의 구매 확률이 될 것이다.
S140 단계 : 상기 S130 단계에서 출력된 각 아이템에 대한 각 추천 엔진(130a ~ 130n)의 예측값과, 상기 S110 단계에서 수집된 상황변수를 입력값으로 하여 딥러닝부(140)는 딥러닝을 수행한다. 즉, 한 명의 사용자로부터 수집된 하나의 실제 행동 데이터(평가값, 혹은 구매여부 등)로 하나의 입력변수 세트를 구성할 수 있다.
하나의 입력변수 세트는, (추천 엔진1의 출력, 추천엔진 2의 출력, …추천엔진 n의 출력, 상황변수1, 상황변수2, …상황변수 m)으로 구성되고 출력값은 (각 상황변수에 대한 사용자의 실제 행동값)이 된다. 예를 들어, 현재 n개의 추천 엔진의 결과를 m개의 상황변수를 사용해서 결합하려 한다면 입력값은 (n + m)개가 되고, 목표값은 1개(실제 행동)가 된다.
딥러닝은 입력값을 바탕으로 최종 예측값을 계산하는 것이 목표이며 목표값과 비교해서 예측 오차를 계산하여, 이를 학습에 사용한다. 이 과정을 식으로 표시하면 아래와 같다.
입력값
입력변수 세트1: (예측값11, 예측값12, … 예측값1n, 상황변수11, 상황변수12, … 상황변수1m)
입력변수 세트 2: (예측값21, 예측값22, … 예측값2n, 상황변수21, 상황변수22, … 상황변수2m)
.
.
입력변수 세트i: (예측값i1, 예측값i2, … 예측값in, 상황변수i1, 상황변수i2, … 상황변수im)
여기서, 예측값ij는 i 경우에 대한 j 추천엔진의 예측값이고, 상황변수ij는 i 경우에 대한 j 상황변수의 값이다.
목표값
목표값 세트1: (사용자의 실제행동1)
목표값 세트2: (사용자의 실제행동2)
.
.
목표값 세트i: (사용자의 실제행동i)
여기서, 실제행동i는 i 경우에 대한 사용자의 실제 행동이고, 이 실제 행동을 예측하는 것이 목표이다
최종 예측값
최종 예측값 세트1: f (예측값11, 예측값12, … 예측값1n, 상황변수11, 상황변수12, … 상황변수1m) = 최종 예측값1
최종 예측값 세트2: f (예측값21, 예측값22, … 예측값2n, 상황변수21, 상황변수22, … 상황변수2m) = 최종 예측값2
.
.
최종 예측값 세트i: f (예측값i1, 예측값i2, … 예측값in, 상황변수i1, 상황변수i2, … 상황변수im) = 최종 예측값i
여기서, 최종 예측값i는 본 발명의 실시예에 따른 추천 장치(100)가 출력하는 예측값이다.
오차값
오차값 세트1: (사용자의 실제행동1) -(최종 예측값1)
오차값 세트2: (사용자의 실제행동2) -(최종 예측값2)
.
.
오차값 세트i: (사용자의 실제행동i) -(최종 예측값i)
여기서, 오차값 세트는 목표값과 최종 예측값의 차이이다.
상기와 같은 데이터 세트를 사용해서 다수의 사용자의 다수의 아이템에 대해서 예측을 할 수 있다. 또한, 상기 입력값, 목표값, 최종 예측값, 오차값은 훈련 세트와 시험 세트가 각각 별도로 계산될 수 있다.
S150 단계 : 상기 S140 단계에서 구성되는 입력값과 목표값 중 훈련 세트에 해당되는 데이터가 딥러닝부(140)의 학습에 사용된다. 딥러닝부(140)는 학습 과정에서 예측 오차를 최소화하는 방향으로 각 상황에 따라 각 추천 엔진에 부여하는 가중치를 학습해서 최종 예측값을 계산하게 된다. 예를 들어, 어떤 특정 상황에서(상황변수가 특정한 값을 가질 때에) 특정 추천엔진이 실제값과 비교해서 정확한 예측 결과를 보였다면 이 상황변수의 값이 주어졌을 때 해당 추천 엔진의 예측치에 더 큰 가중치가 걸리도록 신경망이 학습되게 할 수 있다. 이렇게 학습된 가중치는 주어진 훈련 세트에 의한 가중치라고 할 수 있다.
S160 단계 : 상기 S120 단계에서 별도로 분리해 놓은 시험 세트를 사용하여 상기 S150 단계의 학습 과정을 통해 정해진 가중치의 정확도를 측정한다. 즉, 시험 세트의 입력값을 사용해서 각 추천 엔진이 각자 예측값을 계산하면 상기 S150 단계에서 학습된 상황별 가중치를 각 추천 엔진에 부여해서 최종 예측값을 계산하고 이를 실제 사용자의 행동과 비교해서 얼마나 정확한지를 계산할 수 있다.
S170 단계 : 필요하다면 상기 S160 단계의 시험 결과를 상기 S150 단계의 학습 과정에 피드백해서 학습을 더 정확히 하도록 할 수 있다. 예를 들어, 시험 결과가 최적화되도록 딥러닝의 네트워크의 구성이나 활성화 함수의 종류, dropout의 비율 등을 관리자가 조정할 수 있다.
S180 단계 : 상기 S110 ~ S170 단계를 거쳐 학습이 끝나면 그 결과로 주어진 상황에서 각 추천 엔진에 부여할 가중치가 정해진다. 예를 들어, S150 단계에서 구해진 가중치가 최종 가중치일 수 있으며, 경우에 따라, S150 단계에서 구해진 가중치는 S160 ~ S170 단계를 거치면서 최종 가중치가 수정 변경될 수도 있다. 즉, 각각의 추천 엔진(130a ~ 130n)에 대해 여러 상황변수에 따른 가중치가 결정될 수 있다. 예를 들어, 상황변수가 특정 요일인 경우, 각 추천 엔진(130a ~ 130n)은 해당 요일에 대응하는 가중치가 부여되고, 상황변수가 특정 시간인 경우, 각 추천 엔진(130a ~ 130n)은 해당 시간에 대응하는 가중치가 부여되고, 상황변수가 특정 날씨인 경우, 각 추천 엔진(130a ~ 130n)은 해당 날씨에 대응하는 가중치가 부여된다. 또는 각각의 추천 엔진(130a ~ 130n)에는 여러 상황변수가 결합된 상태에 대한 가중치가 결정될 수 있다. 예를 들어, 요일, 시간, 위치 또는 지역, 날씨, 특정 이벤트 발생(예를 들어, 사건, 사고, 운동경기, 명절 등), 상품의 도메인 중 적어도 어느 2개가 결합된 상태에 대한 가중치가 결정될 수 있다.
상기의 학습 과정을 거친 딥러닝부(140)를 포함하는 추천 장치(100)는 특정 사용자의 사용자 정보와 상황변수를 결합하여 특정 사용자에게 최적화된 사용자 맞춤형 추천정보를 제공할 수 있게 된다. 상기의 학습이 완료된 추천 장치(100)는 다음과 같은 과정으로 사용자 맞춤형 추천정보를 제공한다. 이를 도 4를 참조하여 설명한다. 도 4는 본 발명의 일 실시예에 따른 사용자 맞춤형 추천정보 제공장치에서 사용자 맞춤형 추천정보를 제공하는 과정이 도시된 순서도이다.
S210 단계 : 사용자가 사용자 단말기(UE)를 통해 통신 네크워크(N)를 경유하여 웹 서버(WS)에 접속할 때, 사용자 정보 수신부(110)는 사용자에 의해 입력되는 사용자 정보(예, 로그인 정보)를 수신한다.
S220 단계 : 사용자가 사용자 단말기(UE)를 통해 통신 네크워크(N)를 경유하여 웹 서버(WS)에 접속할 때, 상황변수 추출부(120)는 웹 서버(WS) 접속할 때의 상황변수를 추출한다. 예를 들어, 상황변수는 요일, 시간, 위치 또는 지역, 날씨, 특정 이벤트 발생(예를 들어, 사건, 사고, 운동경기, 명절 등), 상품의 도메인 중 적어도 어느 하나를 포함할 수 있다.
S230 단계 : 사용자 정보를 각각의 추천 엔진(130a ~ 130n)에 적용하여 각각의 추천 엔진(130a ~ 130n)에 의한 예측값을 계산 출력한다.
S240 단계 : 상기 S230 단계에서 계산된 예측값에, 상기 학습 과정에서 결정된 각 추천 엔진(130a ~ 130n) 별 가중치를 적용하여 최종 예측값을 계산 출력한다. 이때, 가중치는 상기 S220 단계에서 추출된 상황변수에 대응하는 가중치이다.
S250 단계 : 상기 S240 단계에서 각 추천 엔진(130a ~ 130n) 별로 상황변수에 따른 가중치가 적용된 최종 예측값들 중에서 가장 높은 값을 갖는 아이템을 사용자 맞춤형 추천 정보로 하여 사용자 단말기(UE)로 전송되도록 한다. 이때, 가장 높은 값을 갖는 단일 아이템 뿐만 아니라, 최종 예측값이 높은 순서로 분류된 다수개의 아이템을 사용자 맞춤형 추천 정보로 하여 사용자 단말기(UE)로 전송되도록 할 수 있다.
S260 단계 : 주기적으로 또는 비주기적으로, 상기 S210 ~ S250 단계를 거친 데이터(사용자 맞춤형 추천 정보)를 새로운 학습 데이터 세트로 하여 상기의 학습 과정(S110 ~ S180)를 실행하여 딥러닝부(140)를 재학습시켜서 각 추천 엔진(130a ~ 130n)에 대해 여러 상황변수 가중치를 갱신할 수 있다.
한편, 본 발명의 실시예에 따른 사용자 맞춤형 추천정보 제공장치는, 추천 엔진부(130) 자체를 갱신할 수도 있다. 즉, 추천 엔진부(130)를 구성하는 개별 추천 엔진(130a ~ 130n)은 필요에 따라 추가되거나 제거될 수 있다. 예를 들어, 특정 추천 엔진의 예측 정확도가 기준치 이하로 떨어지는 경우, 해당 추천 엔진을 추천 엔진부(130)에서 제거하고, 새로운 추천 엔진을 추가할 수 있다. 추천 엔진의 제거/추가는 컴퓨터에서 특정 프로그램을 제거/추가하는 방식으로 수행될 수 있다. 추천 엔진이 추가되거나 제거될 경우, 상기 학습 과정(S110 ~ S180)를 재실행하여 새로운 가중치를 도출할 수 있다. 이와 같은 추천 엔진부(130)는 실질적으로 추천 엔진 플랫폼의 기능을 수행하게 된다.
상기와 같은 본 발명의 실시예에 따르면, 복수의 추천 엔진의 장점을 최대화할 수 있다. 개별 추천 엔진은 상황에 따라 잘 맞거나 안 맞을 수가 있는데 상황에 따라 정확한 추천엔진에 가중치를 더 부여함으로써 최종 추천 결과의 정확성을 향상시킬 수 있다.
또한, 기존 추천 시스템은 상황에 관계없이 한 사용자에게 하나의 결과만 제시하는데 비해 본 발명은 상황에 따라 같은 사용자에게도 다양한 추천을 제시함으로써 사용자의 만족도를 높일 수 있다.
또한, 필요에 따라 개별 추천 엔진이 제거되거나 추가될 수 있기 때문에 새로운 추천 엔진이 개발되면, 해당 추천 엔진을 추가적인 추천 엔진으로서 포함시킬 수 있다. 따라서 최신 추천 엔진을 즉시 적용하는 추천 엔진 플랫폼기능을 수행할 수 있다.
도 5는 본 발명의 실시예에 따른 컴퓨팅 장치를 나타내는 도면이다. 도 5의 컴퓨팅 장치(TN100)는 본 명세서에서 기술된 사용자 맞춤형 추천정보 제공장치일 수 있다.
도 5의 실시예에서, 컴퓨팅 장치(TN100)는 적어도 하나의 프로세서(TN110), 송수신 장치(TN120), 및 메모리(TN130)를 포함할 수 있다. 또한, 컴퓨팅 장치(TN100)는 저장 장치(TN140), 입력 인터페이스 장치(TN150), 출력 인터페이스 장치(TN160) 등을 더 포함할 수 있다. 컴퓨팅 장치(TN100)에 포함된 구성 요소들은 버스(bus)(TN170)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(TN110)는 메모리(TN130) 및 저장 장치(TN140) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(TN110)는 중앙 처리 장치(CPU: central processing unit), 그래픽 처리 장치(GPU: graphics processing unit), 또는 본 발명의 실시예에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 프로세서(TN110)는 본 발명의 실시예와 관련하여 기술된 절차, 기능, 및 방법 등을 구현하도록 구성될 수 있다. 프로세서(TN110)는 컴퓨팅 장치(TN100)의 각 구성 요소를 제어할 수 있다.
메모리(TN130) 및 저장 장치(TN140) 각각은 프로세서(TN110)의 동작과 관련된 다양한 정보를 저장할 수 있다. 메모리(TN130) 및 저장 장치(TN140) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(TN130)는 읽기 전용 메모리(ROM: read only memory) 및 랜덤 액세스 메모리(RAM: random access memory) 중에서 적어도 하나로 구성될 수 있다.
송수신 장치(TN120)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다. 송수신 장치(TN120)는 네트워크에 연결되어 통신을 수행할 수 있다.
한편, 앞서 설명된 본 발명의 실시예에 따른 방법들은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CDROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상, 본 발명의 일 실시예에 대하여 설명하였으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 특허청구범위에 기재된 본 발명의 사상으로부터 벗어나지 않는 범위 내에서, 구성 요소의 부가, 변경, 삭제 또는 추가 등에 의해 본 발명을 다양하게 수정 및 변경시킬 수 있을 것이며, 이 또한 본 발명의 권리범위 내에 포함된다고 할 것이다.
UE : 사용자 단말기 WS : 웹 서버
100 : 사용자 맞춤형 추천정보 제공장치
110 : 사용자 정보 수신부 120 : 상황변수 추출부
130 : 추천 엔진부 130a ~ 130n : 추천 엔진
140 : 딥러닝부

Claims (13)

  1. 사용자 단말기를 통한 웹 서버에 접속시, 사용자 정보를 수신하는 사용자 정보 수신부;
    사용자 단말기를 통한 웹 서버에 접속시의 적어도 하나 이상의 상황변수를 추출하는 상황변수 추출부;
    상기 사용자 정보 수신부에서 수신된 사용자 정보를 이용하여 개별적으로 예측값을 출력하는 복수개의 추천 엔진을 포함하는 추천 엔진부;
    상기 복수개의 추천 엔진에서 출력된 복수개의 예측값과, 상기 상황변수 추출부에서 추출된 상황변수를 입력값으로 딥러닝을 수행하여 최종 예측값을 출력하는 딥러닝부;
    를 포함하는 사용자 맞춤형 추천정보 제공장치.
  2. 청구항 1에 있어서, 상기 딥러닝부는,
    상기 복수개의 추천 엔진에서 출력된 복수개의 예측값과, 상기 상황변수 추출부에서 추출된 적어도 하나 이상의 상황변수를 입력값으로 딥러닝을 수행하여, 상기 복수개의 추천 엔진 각각에 대해 상기 상황변수에 대한 가중치를 부여하고, 상기 복수개의 추천 엔진 각각은 상기 가중치를 이용하여 최종 예측값을 출력하는 사용자 맞춤형 추천정보 제공장치.
  3. 사용자 단말기를 통한 웹 서버에 접속시, 사용자 정보 수신부가 사용자 정보를 수신하는 단계;
    사용자 단말기를 통한 웹 서버에 접속시, 상황변수 추출부가 적어도 하나 이상의 상황변수를 추출하는 단계;
    복수개의 추천 엔진이 상기 사용자 정보를 이용하여 개별적으로 예측값을 출력하는 단계;
    상기 복수개의 추천 엔진에서 출력된 복수개의 예측값과, 상기 상황변수 추출부에서 추출된 상황변수를 입력값으로 딥러닝을 수행하여 최종 예측값을 출력하는 단계;
    를 포함하는 사용자 맞춤형 추천정보 제공방법.
  4. 청구항 3에 있어서, 상기 적어도 하나 이상의 상황변수는,
    사용자가 추천을 요청한 요일, 시간, 위치, 지역, 날씨, 특정 이벤트 발생, 상품의 도메인 중 적어도 어느 하나를 포함하는 사용자 맞춤형 추천정보 제공방법.
  5. 청구항 3에 있어서, 상기 추천 엔진은,
    딥러닝 알고리즘, 협업 필터링 알고리즘, 내용기반 필터링 알고리즘, 연관규칙 기반 추천 알고리즘 중 적어도 어느 하나이거나, 또는 상기 알고리즘 중 적어도 2개 이상 결합한 혼합 알고리즘인 사용자 맞춤형 추천정보 제공방법.
  6. 청구항 3에 있어서, 상기 딥러닝부는,
    상기 복수개의 추천 엔진에서 출력된 복수개의 예측값과, 상기 상황변수 추출부에서 추출된 적어도 하나 이상의 상황변수를 입력값으로 딥러닝을 수행하여, 상기 복수개의 추천 엔진 각각에 대해 상기 상황변수에 대한 가중치를 부여하고, 상기 복수개의 추천 엔진 각각은 상기 가중치를 이용하여 최종 예측값을 출력하는 사용자 맞춤형 추천정보 제공방법.
  7. 청구항 6에 있어서, 상기 가중치는,
    상기 적어도 하나 이상의 상황변수 각각에 대해, 상기 딥러닝부의 학습 과정에서 사용자의 실제 행동 데이터와 상기 최종 예측값의 차이인 예측 오차를 최소화하는 방향으로 상기 복수의 추천 엔진 각각에 대해 부여되는 사용자 맞춤형 추천정보 제공방법.
  8. 청구항 6에 있어서, 상기 딥러닝부는,
    상기 복수개의 추천 엔진 별로 상기 상황변수에 따른 가중치가 적용된 최종 예측값들 중에서 가장 높은 값을 갖는 최종 예측값을 사용자 맞춤형 추천 정보로 하여 상기 사용자 단말기로 전송되도록 하는 사용자 맞춤형 추천정보 제공방법.
  9. 청구항 8에 있어서,
    상기 사용자 맞춤형 추천 정보를 출력한 데이터 세트를 새로운 학습 데이터 세트로 하여 상기 딥러닝부를 재학습시키는 사용자 맞춤형 추천정보 제공방법.
  10. 청구항 3 내지 청구항 9 중 어느 한 항에 있어서,
    상기 복수개의 추천 엔진 중 어느 하나 이상의 추천 엔진의 예측 정확도가 기설정된 기준치 이하인 경우, 해당 추천 엔진을 상기 추천 엔진부에서 제거하고 새로운 추천 엔진을 추가할 수 있는 사용자 맞춤형 추천정보 제공방법.
  11. 컴퓨터에 의해 실행되며,
    사용자 단말기를 통한 웹 서버에 접속시, 사용자 정보를 수신하는 단계;
    사용자 단말기를 통한 웹 서버에 접속시, 적어도 하나 이상의 상황변수를 추출하는 단계;
    복수개의 추천 엔진이 상기 사용자 정보를 이용하여 개별적으로 예측값을 출력하는 단계;
    상기 복수개의 추천 엔진에서 출력된 복수개의 예측값과, 상기 상황변수 추출부에서 추출된 상황변수를 입력값으로 딥러닝을 수행하여 최종 예측값을 출력하는 단계;
    를 실행시키기 위한 프로그램을 기록한 컴퓨터 해독 가능한 기록 매체.
  12. 청구항 3 내지 청구항 9 중 어느 한 항에 기재된 사용자 맞춤형 추천정보 제공방법을 실행시키는 기록매체에 저장된 컴퓨터 프로그램.
  13. 청구항 12에 있어서,
    상기 복수개의 추천 엔진 중 어느 하나 이상의 추천 엔진의 예측 정확도가 기설정된 기준치 이하인 경우, 해당 추천 엔진을 상기 추천 엔진부에서 제거하고 새로운 추천 엔진을 추가할 수 있는 사용자 맞춤형 추천정보 제공방법을 실행시키는 기록매체에 저장된 컴퓨터 프로그램.
KR1020190149631A 2019-11-20 2019-11-20 사용자 맞춤형 추천정보 제공장치 및 제공방법, 이를 실행시키기 위한 프로그램을 기록한 컴퓨터 해독 가능한 기록 매체 KR102262118B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190149631A KR102262118B1 (ko) 2019-11-20 2019-11-20 사용자 맞춤형 추천정보 제공장치 및 제공방법, 이를 실행시키기 위한 프로그램을 기록한 컴퓨터 해독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190149631A KR102262118B1 (ko) 2019-11-20 2019-11-20 사용자 맞춤형 추천정보 제공장치 및 제공방법, 이를 실행시키기 위한 프로그램을 기록한 컴퓨터 해독 가능한 기록 매체

Publications (2)

Publication Number Publication Date
KR20210061739A true KR20210061739A (ko) 2021-05-28
KR102262118B1 KR102262118B1 (ko) 2021-06-07

Family

ID=76140631

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190149631A KR102262118B1 (ko) 2019-11-20 2019-11-20 사용자 맞춤형 추천정보 제공장치 및 제공방법, 이를 실행시키기 위한 프로그램을 기록한 컴퓨터 해독 가능한 기록 매체

Country Status (1)

Country Link
KR (1) KR102262118B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023182693A1 (ko) * 2022-03-24 2023-09-28 메이즈 주식회사 카페 큐레이션 장치 및 카페 큐레이션 방법
KR102617823B1 (ko) * 2022-09-02 2023-12-27 우송대학교 산학협력단 철도 인프라 bim 교육 컨텐츠 추천 시스템

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070013371A (ko) * 2005-07-26 2007-01-31 연세대학교 산학협력단 사용자의 상황에 따라 추천 엔진별 가중치를 부여하는장치, 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는기록 매체
KR101278284B1 (ko) 2012-01-18 2013-06-24 엔에이치엔(주) 자동으로 컨텐츠를 추천하는 모바일 시스템, 컨텐츠 추천 시스템 및 컨텐츠 추천 방법
KR20150112089A (ko) * 2014-03-26 2015-10-07 에스케이플래닛 주식회사 추천 상품 제공 서비스 방법 및 이를 위한 장치
KR101565339B1 (ko) 2010-11-03 2015-11-04 네이버 주식회사 집단지성을 이용한 추천 시스템 및 방법
KR101747532B1 (ko) 2015-09-23 2017-06-16 네이버 주식회사 여행성 질의에 대응하는 검색 결과로 코스를 추천하는 방법 및 시스템
KR101981136B1 (ko) 2017-06-01 2019-05-22 네이버 주식회사 추천 컨텐츠 제공 시스템, 방법 및 프로그램
KR102037279B1 (ko) * 2019-02-11 2019-11-15 주식회사 딥노이드 딥러닝 시스템 및 그 최적 학습 모델 결정 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070013371A (ko) * 2005-07-26 2007-01-31 연세대학교 산학협력단 사용자의 상황에 따라 추천 엔진별 가중치를 부여하는장치, 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는기록 매체
KR101565339B1 (ko) 2010-11-03 2015-11-04 네이버 주식회사 집단지성을 이용한 추천 시스템 및 방법
KR101278284B1 (ko) 2012-01-18 2013-06-24 엔에이치엔(주) 자동으로 컨텐츠를 추천하는 모바일 시스템, 컨텐츠 추천 시스템 및 컨텐츠 추천 방법
KR20150112089A (ko) * 2014-03-26 2015-10-07 에스케이플래닛 주식회사 추천 상품 제공 서비스 방법 및 이를 위한 장치
KR101747532B1 (ko) 2015-09-23 2017-06-16 네이버 주식회사 여행성 질의에 대응하는 검색 결과로 코스를 추천하는 방법 및 시스템
KR101981136B1 (ko) 2017-06-01 2019-05-22 네이버 주식회사 추천 컨텐츠 제공 시스템, 방법 및 프로그램
KR102037279B1 (ko) * 2019-02-11 2019-11-15 주식회사 딥노이드 딥러닝 시스템 및 그 최적 학습 모델 결정 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023182693A1 (ko) * 2022-03-24 2023-09-28 메이즈 주식회사 카페 큐레이션 장치 및 카페 큐레이션 방법
KR102617823B1 (ko) * 2022-09-02 2023-12-27 우송대학교 산학협력단 철도 인프라 bim 교육 컨텐츠 추천 시스템

Also Published As

Publication number Publication date
KR102262118B1 (ko) 2021-06-07

Similar Documents

Publication Publication Date Title
US11514333B2 (en) Combining machine-learning and social data to generate personalized recommendations
US20230328051A1 (en) Methods, systems, and media for presenting information related to an event based on metadata
JP6523498B1 (ja) 学習装置、学習方法および学習プログラム
US9367878B2 (en) Social content suggestions based on connections
US20210312312A1 (en) Similarity learning-based device attribution
US9467744B2 (en) Comment-based media classification
US9542451B2 (en) Mobile application search ranking
CN109417644B (zh) 跨屏广告投放的收益优化
US9864951B1 (en) Randomized latent feature learning
CN108595493B (zh) 媒体内容的推送方法和装置、存储介质、电子装置
JP2017509960A (ja) コンテンツ推奨のための方法、装置およびシステム
US11430024B2 (en) System and method of providing a virtual guestbook
Hwang et al. An algorithm for movie classification and recommendation using genre correlation
KR101981136B1 (ko) 추천 컨텐츠 제공 시스템, 방법 및 프로그램
US20210012363A1 (en) Device, method and computer-readable medium for analyzing customer attribute information
KR102262118B1 (ko) 사용자 맞춤형 추천정보 제공장치 및 제공방법, 이를 실행시키기 위한 프로그램을 기록한 컴퓨터 해독 가능한 기록 매체
Zhang et al. Aggregated recommendation through random forests
CN109829593B (zh) 目标对象的信用度确定方法、装置、存储介质及电子装置
US20240037616A1 (en) Systems and methods for customizing electronic marketplace applications
US11561761B2 (en) Information processing system, method, and storage medium
JP2020035409A (ja) 特性推定装置、特性推定方法、及び特性推定プログラム等
KR102506640B1 (ko) 고객 및 기업 간 계약을 위한 고객 맞춤형 계약 중개인 매칭 방법, 장치 및 시스템
KR20200142871A (ko) 명시적 및 내연적 평가 정보를 이용한 아이템 추천 방법 및 장치
JP7000259B2 (ja) 生成装置、生成方法、および生成プログラム
JP7418379B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant