KR102249466B1 - 인공지능 추천 모델을 사용하여 추천 정보를 제공하는 데이터 카탈로그 제공 방법 및 시스템 - Google Patents

인공지능 추천 모델을 사용하여 추천 정보를 제공하는 데이터 카탈로그 제공 방법 및 시스템 Download PDF

Info

Publication number
KR102249466B1
KR102249466B1 KR1020200174053A KR20200174053A KR102249466B1 KR 102249466 B1 KR102249466 B1 KR 102249466B1 KR 1020200174053 A KR1020200174053 A KR 1020200174053A KR 20200174053 A KR20200174053 A KR 20200174053A KR 102249466 B1 KR102249466 B1 KR 102249466B1
Authority
KR
South Korea
Prior art keywords
data
user
recommendation
algorithm
data set
Prior art date
Application number
KR1020200174053A
Other languages
English (en)
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 KR1020200174053A priority Critical patent/KR102249466B1/ko
Application granted granted Critical
Publication of KR102249466B1 publication Critical patent/KR102249466B1/ko
Priority to US17/384,869 priority patent/US20220188286A1/en

Links

Images

Classifications

    • 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
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Abstract

데이터베이스에 저장된 데이터 셋들에 대한 관리 및 검색과 관련된 기능을 제공하도록 구성되는 데이터 카탈로그를 제공하는 방법이 제공된다. 데이터 카탈로그를 제공하는 방법은, 데이터 카탈로그를 사용하여 데이터 셋을 조회하는 사용자들의 로그 데이터를 수집하고, 로그 데이터 및/또는 데이터 셋들에 기반하여, 인공지능(Artificial Intelligence; AI) 추천 모델을 사용하여, 사용자에 대해 추천 정보를 제공한다. AI 추천 모델은 수집된 로그 데이터에 기반하여 학습된 것으로서, 축적된 로그 데이터의 양에 따라 상이한 추천 알고리즘을 사용하여 추천 정보를 생성한다.

Description

인공지능 추천 모델을 사용하여 추천 정보를 제공하는 데이터 카탈로그 제공 방법 및 시스템{DATA CATALOG PROVIDING METHOD AND SYSTEM FOR PROVIDING RECOMMENDATION INFORMATION USING ARTIFICIAL INTELLIGENCE RECOMMENDATION MODEL}
아래의 설명은 데이터베이스에 저장된 데이터 셋들에 대한 관리 및 검색과 관련된 기능을 제공하도록 구성되는 데이터 카탈로그를 제공하는 방법에 관한 것으로, 인공지능(Artificial Intelligence; AI) 추천 모델을 사용하여, 데이터 카탈로그를 사용하는 사용자에 대해 추천 정보를 제공하는 방법에 관한 것이다.
4차 산업이 활성화되고 이에 대한 관심이 높아짐에 따라, IT, 금융, 경제, 의료 등 여러 업종들 및 분야들에서 다양한 종류의 데이터가 대규모로 생성되고 있으며, 이러한 데이터를 매개로 하는 새로운 생태계인 데이터 경제의 중요성이 부각되고 있다.
방대한 빅데이터를 자산화하기 위해, 대상 데이터(원천/가공 데이터)를 유통 및 거래하기 위한 데이터 거래소가 구축되어 활용될 수 있다. 이러한 데이터 거래소는 데이터를 거래 및 유통하기 위한 플랫폼으로서, 사용자는 이러한 데이터 거래소를 통해 원하는 데이터를 조회(즉, 검색, 사용, 열람 및/또는 다운로드)할 수 있다.
이러한 데이터 거래소를 비롯한 데이터 거래 및 유통 플랫폼을 제공함에 있어서, 데이터 자산에 대한 보다 효율적인 조회, 공유 및 유통을 지원하기 위한 기술에 대한 요구가 증가하고 있다.
한편, 한국공개특허 제10-2014-0133383호(공개일 2014년 11월 19일)는 데이터 관리 장치, 데이터 관리 방법 및 데이터 관리 시스템으로서, 클라우드 환경 하에서 외부 저장 공간에 데이터와 키워드를 암호화하여 저장하고, 키워드들에 대한 검색 가능한 암호문을 생성하여, 검색하려는 키워드에 대한 토큰을 이용해 암호화된 키워드들로부터 해당 키워드를 포함하는 데이터의 검색 등을 가능하게 하는 기술에 관해 개시하고 있다.
상기에서 설명된 정보는 단지 이해를 돕기 위한 것이며, 종래 기술의 일부를 형성하지 않는 내용을 포함할 수 있다.
데이터베이스에 저장된 데이터 셋들에 대한 관리 및 검색과 관련된 기능을 제공하도록 구성되는 데이터 카탈로그를 제공하는 방법을 제공할 수 있다.
데이터 카탈로그를 통해 추천 정보를 제공하는 방법으로서, 데이터 카탈로그를 사용하여 데이터 셋을 조회하는 사용자들의 로그 데이터를 수집하고, 로그 데이터 및/또는 데이터 셋들에 기반하여, 인공지능(Artificial Intelligence; AI) 추천 모델을 사용하여, 사용자에 대해 추천 정보를 제공할 수 있다.
수집된 로그 데이터에 기반하여 학습된 AI 추천 모델을 통해, 축적된 로그 데이터의 양에 따라 상이한 추천 알고리즘을 사용하여 추천 정보를 생성 및 제공할 수 있다.
일 측면에 있어서, 컴퓨터 시스템에 의해 수행되는, 데이터 카탈로그를 제공하는 방법에 있어서, 상기 데이터 카탈로그는 데이터베이스에 저장된 데이터 셋들에 대한 관리 및 검색과 관련된 기능을 제공하도록 구성되고, 상기 데이터 카탈로그를 사용하여 상기 데이터 셋들 중 적어도 일부를 조회하는 사용자들의 로그 데이터를 수집하는 단계 및 상기 로그 데이터 및 상기 데이터 셋들 중 적어도 하나에 기반하여, 인공지능(Artificial Intelligence; AI) 추천 모델을 통해, 상기 데이터 카탈로그를 사용하여 상기 데이터 셋들 중 적어도 일부를 조회하는 사용자에 대해 추천 정보를 제공하는 단계를 포함하고, 상기 AI 추천 모델은 상기 수집된 로그 데이터에 기반하여 학습된 것이고, 축적된 상기 수집된 로그 데이터의 양에 따라 상이한 추천 알고리즘을 사용하여 상기 추천 정보를 생성하는, 데이터 카탈로그를 제공하는 방법이 제공된다.
상기 추천 정보는, 상기 데이터 셋들 중 상기 사용자가 조회한 데이터 셋과는 다른 데이터 셋에 관한 정보로서, 상기 사용자가 조회한 데이터 셋을 조회한 다른 사용자가 상기 데이터 카탈로그를 사용하여 조회한 상기 다른 데이터 셋에 관한 정보를 포함할 수 있다.
상기 로그 데이터를 수집하는 단계는, 상기 사용자의 로그 데이터로서 복수의 항목들의 각 항목에 대응하는 로그 데이터를 수집하는 단계 및 상기 수집된 각 항목에 대응하는 로그 데이터를 가공함으로써 상기 AI 추천 모델을 학습시키기 위한 학습용 데이터를 생성하는 단계를 포함하고, 상기 복수의 항목들은, 상기 사용자의 사용자 ID를 나타내는 제1 항목, 상기 사용자가 속하는 사용자 그룹을 나타내는 제2 항목, 상기 사용자가 조회한 데이터 셋의 그룹을 나타내는 제3 항목, 상기 사용자가 조회한 데이터 셋의 속성 또는 설명을 나타내는 제4 항목, 상기 사용자가 데이터 셋을 조회함에 따라 생성되는 인보이스 정보를 나타내는 제5 항목, 상기 인보이스 정보가 생성된 시간을 나타내는 제6 항목, 상기 사용자가 조회한 데이터 셋에 대응하는 코드를 나타내는 제7 항목 및 상기 사용자가 조회한 데이터 셋을 등록한 등록자를 나타내는 제8 항목 중 적어도 2개를 포함하고, 상기 AI 추천 모델은 상기 학습용 데이터에 기반하여 학습되고, 상기 로그 데이터를 수집하는 단계는, 상기 복수의 항목들 중 특정 항목에 대응하는 로그 데이터가 수집될 수 없는 경우, 상기 사용자에게 상기 특정 항목에 대응하는 로그 데이터의 입력을 요청하는 단계를 더 포함할 수 있다.
상기 추천 정보를 제공하는 단계는, 상기 수집된 로그 데이터의 양이 소정량 이하인 경우, 제1 추천 알고리즘을 사용하여 제1 추천 정보를 생성하는 단계 및 상기 수집된 로그 데이터의 양이 상기 소정량을 초과하는 경우, 상기 제1 추천 알고리즘과는 상이한 제2 추천 알고리즘을 사용하여 제2 추천 정보를 생성하는 단계를 포함할 수 있다.
상기 제1 추천 알고리즘은 K 프로토타입 알고리즘을 사용하는 추천 알고리즘을 포함하고, 상기 제1 추천 정보를 생성하는 단계는, 상기 K 프로토타입 알고리즘을 적용하여, 카테고리 변수(categorical variable)를 사용하여, 상기 데이터 셋들을 복수의 클러스터들로 클러스터링하는 단계 및 상기 복수의 클러스터들 중 상기 사용자와 관련도가 가장 높은 클러스터에 속하는 데이터 셋들에 기반하여, 상기 제1 추천 정보에 포함되는 데이터 셋들을 결정하는 단계를 포함하고, 상기 카테고리 변수는 상기 사용자가 속하는 그룹을 나타내는 변수 및 상기 사용자가 조회한 데이터 셋이 속하는 그룹을 나타내는 변수 중 적어도 하나일 수 있다.
상기 결정하는 단계는, 상기 사용자와 관련도가 가장 높은 클러스터에 속하는 데이터 셋들 중 상기 데이터 카탈로그를 통한 조회의 빈도가 상위인 소정의 수의 데이터 셋들을 상기 제1 추천 정보에 포함되는 것으로 결정하거나, 상기 사용자와 관련도가 가장 높은 클러스터에 속하는 데이터 셋들에 대한 조회의 빈도가 상위인 소정의 수의 사용자들이 과거에 조회한 데이터 셋들을 상기 제1 추천 정보에 포함되는 것으로 결정할 수 있다.
상기 제2 추천 알고리즘은 협업 필터링(Collaborative Filtering; CF) 알고리즘을 사용하는 추천 알고리즘을 포함하고, 상기 제2 추천 정보를 생성하는 단계는, 상기 CF 알고리즘을 적용하여, 상기 사용자가 조회한 데이터 셋들에 대응하는 제1 데이터 행렬과 적어도 하나의 다른 사용자가 조회한 데이터 셋들에 대응하는 제2 데이터 행렬을 비교하는 단계 및 상기 비교의 결과에 기반하여, 상기 제2 추천 정보에 포함될 데이터 셋으로서, 상기 사용자에게 추천할 데이터 셋을 결정하는 단계를 포함하고, 상기 사용자가 과거에 조회한 데이터 셋은 상기 제2 추천 정보를 통한 추천에서 배제될 수 있다.
상기 다른 사용자는, 상기 데이터 카탈로그를 사용한 사용자들을 소정의 등급으로 구분하기 위한 등급 벡터에 기반하여 결정된 상기 사용자에 대한 유사 사용자일 수 있다.
상기 제2 데이터 행렬에 포함되는 데이터 셋들은, 상기 데이터 카탈로그를 사용한 사용자들로부터 획득된 데이터 셋들에 대한 평가를 나타내는 평가 벡터에 기반하여, 상기 사용자가 조회한 데이터 셋들과 유사한 것으로 결정된 데이터 셋들일 수 있다.
상기 제2 추천 알고리즘은 깊은 신경망(Deep Neural Network; DNN) 알고리즘을 사용하는 추천 알고리즘을 더 포함하고, 상기 제2 추천 정보를 생성하는 단계는, 상기 DNN 알고리즘을 적용하여, 시간 정보 및 상기 사용자의 행동 패턴에 기반하여, 상기 데이터베이스에 저장된 데이터 셋들 중 상기 사용자에 추천할 데이터 셋을, 상기 제2 추천 정보에 포함될 데이터 셋으로서, 결정하는 단계를 포함하고, 상기 제2 추천 정보는 상기 사용자에 대한 추천 데이터 셋으로서, 상기 DNN 알고리즘에 기반하여 결정된 적어도 하나의 데이터 셋 및 상기 CF 알고리즘에 기반하여 결정된 적어도 하나의 데이터 셋을 포함할 수 있다.
실시예들을 통해서는, 데이터 셋들에 대한 관리 및 검색과 관련된 기능을 제공하도록 구성되는 데이터 카탈로그를 제공함에 있어서, 데이터 카탈로그를 이용하여 데이터 셋을 조회(검색, 사용, 열람 및/또는 다운로드)하는 사용자에 대해 적절한 추천 정보가 제공될 수 있다.
추천 정보를 제공하는 AI 추천 모델은, 데이터 카탈로그를 사용한 사용자들과 관련하여 축적된 로그 데이터의 양에 따라 상이한 추천 알고리즘을 사용하여 사용자를 위한 추천 정보를 생성할 수 있고, 따라서, 축적된 로그 데이터가 없거나 그 양이 적은 경우에도, 사용자에 대해 적절한 추천 정보를 제공할 수 있다.
데이터 카탈로그를 사용하는 사용자에 대해, 사용자의 행동 패턴과 시간 정보에 기반한 추천 정보가 제공될 수 있음으로써, 데이터 카탈로그를 통한 데이터 셋의 검색 및 관리의 편의성을 높일 수 있다.
도 1은 일 실시예에 따른, AI 추천 모델을 사용하여, 데이터 카탈로그를 사용하는 사용자에 대해 추천 정보를 제공하는 방법을 나타낸다.
도 2는 일 실시예에 따른, AI 추천 모델을 사용하여 추천 정보를 제공하는 데이터 카탈로그를 제공하는 컴퓨터 시스템을 나타낸다.
도 3은 일 실시예에 따른, AI 추천 모델을 사용하여 추천 정보를 제공하는 데이터 카탈로그를 제공하는 방법을 나타내는 흐름도이다.
도 4는 일 예에 따른, K 프로토타입 알고리즘을 포함하는 추천 알고리즘을 사용하여 추천 정보를 제공하는 방법을 나타낸다.
도 5는 일 예에 따른, 협업 필터링(Collaborative Filtering; CF) 알고리즘을 포함하는 추천 알고리즘을 사용하여 추천 정보를 제공하는 방법을 나타낸다.
도 6은 일 예에 따른, 깊은 신경망(Deep Neural Network; DNN) 알고리즘을 포함하는 추천 알고리즘을 사용하여 추천 정보를 제공하는 방법을 나타낸다.
도 7은 일 예에 따른, 추천 정보를 제공하기 위해 사용되는 컴퓨터 시스템의 AI 추천 모델의 구성을 나타낸다.
도 8은 일 예에 따른, AI 추천 모델을 학습시키기 위한 학습용 데이터를 생성하는 방법을 나타낸다.
도 9a 및 도 9b는 일 예에 따른, 데이터 카탈로그를 통해 조회 가능한 데이터 셋의 메타데이터를 나타낸다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 일 실시예에 따른, AI 추천 모델을 사용하여, 데이터 카탈로그를 사용하는 사용자에 대해 추천 정보를 제공하는 방법을 나타낸다.
도 1을 참조하여, 데이터 카탈로그(100)를 제공하는 방법에 대해 설명한다. 데이터 카탈로그(100)는 컴퓨터 시스템에 의해 제공되는 것으로서, 데이터베이스(10)에 저장된 데이터 셋들에 대한 관리 및 검색과 관련된 기능(들)을 제공하도록 구성될 수 있다.
예컨대, 데이터 카탈로그(100)는 기 구축된 데이터 셋들을 유통 및 거래하기 위한 데이터 거래소의 일부이거나, 데이터 거래소에 의해 제공되는 기능일 수 있다. 말하자면, 데이터 카탈로그(100)는 데이터 거래소가 구축되는 플랫폼의 일부로서 구현될 수 있다.
데이터 카탈로그(100)는, 사용자에 의한 조회(검색, 사용, 열람 및/또는 다운로드)의 대상이 되는 데이터베이스(10)에 저장된 데이터 셋들에 대한 관리 및 검색과 관련된 기능(들)을 제공할 수 있다. 예컨대, 도시된 것처럼, 사용자는 검색어를 입력하는 것을 통해 해당 검색어에 매칭되는 데이터 셋(들)을 조회할 수 있다. 도시된 데이터 카탈로그(100)는 이러한 사용자가 사용하는 사용자 단말의 화면으로서, 데이터 카탈로그(100)에 접속한 사용자 단말의 화면을 나타내는 것일 수 있다.
한편, 데이터베이스(10)는 데이터 카탈로그(100)(및 데이터 거래소)를 제공하는 컴퓨터 시스템의 내부에 배치되는 것이거나, 컴퓨터 시스템과는 별도로 배치되는 것일 수 있다. 데이터베이스(10)는 하나만 도시되었으나 복수일 수 있다.
데이터 카탈로그(100)는, 데이터 셋들의 거래 및 유통을 위한 데이터 자산의 공유를 지원하기 위한 기능들을 제공할 수 있다. 이러한 데이터 카탈로그(100)는 예컨대, 기업이 보유한 데이터 자산들에 해당하는 데이터 셋들의 목록을 생성하고 관리하는 도구일 수 있다. 데이터 카탈로그(100)는 데이터 분석가 또는 데이터 사이언티스트 등과 같은 사용자들에 의해 사용될 수 있고, 데이터 레이크 또는 클라우드 등과 같이 기업 내부 또는 외부에 분산되어 존재하는 데이터 셋을 쉽게 조회할 수 있도록 하는 기능을 제공할 수 있다. 데이터 카탈로그(100)는, 예컨대, 데이터 셋과 연관된 메타데이터에 기반하여, 데이터 셋이 1) 조회(검색 등)되고, 2) 이해되고, 3) (일정 수준의 표준과 품질이 확보되도록) 관리되고, 4) 분석 등에 활용될 수 있도록 할 수 있다. 즉, 데이터 카탈로그(100)는 데이터의 활용성을 극대화하기 위해 사용될 수 있다.
데이터 셋은 그 자체로도 의미를 가질 수 있는 것이지만, 데이터 셋들 간의 융합 분석을 통해 새로운 데이터 서비스가 만들어질 경우 추가적인 부가가치가 창출될 수 있으므로, 이러한 경우, 데이터 셋들은 자산으로서의 가치가 높아질 수 있다. 데이터 카탈로그(100)는, 이와 같은 데이터 셋들을 통한 가치의 창출을 위해, 데이터 셋 또는 이를 구성하는 데이터 항목(데이터 상품)이 직관적이고 용이하게 조회되도록 하는 기능을 제공할 수 있다. 데이터 상품은 가치를 가지고 유통되는 상품으로서의 데이터 셋(또는 그 데이터 항목)을 의미할 수 있다. 데이터 카탈로그(100)는 조회의 대상을 데이터 셋(또는 데이터 상품)으로 하는 카탈로그 시스템일 수 있다.
실시예의 데이터 카탈로그(100)를 통해서는, 데이터 셋을 조회하는 사용자에게 그 조회의 결과(데이터 셋에 대한 정보)와 함께 추천 정보가 제공될 수 있다. 추천 정보는 사용자 또는 사용자가 조회하는 데이터 셋과 연관되는 것으로서, 사용자가 조회한 데이터 셋 외에 사용자가 관심을 가질만한 다른 데이터 셋(예컨대, 사용자가 조회한 데이터 셋과 유사한 데이터 셋 또는 동일 데이터 셋을 조회한 다른 사용자가 조회한 다른 데이터 셋 등)에 대한 정보를 포함할 수 있다.
이러한 추천 정보는 인공지능(Artificial Intelligence; AI) 추천 모델(50)을 사용하여 제공될 수 있다. 예컨대, AI 추천 모델(50)은 사용자에 대해 수집된 로그 데이터 및/또는 데이터베이스(10)에 저장된 데이터 셋들을 분석하여, 사용자에 대한 추천 정보를 생성할 수 있고, 이를 사용자에게 제공할 수 있다.
AI 추천 모델(50)은 데이터 카탈로그(100)(및 데이터 거래소)를 제공하는 컴퓨터 시스템의 내부에 배치되는 것이거나, 컴퓨터 시스템과는 별도로 배치되는 것일 수 있다. AI 추천 모델(50)은 적어도 하나의 인공 신경망 모델을 포함할 수 있다. 예컨대, AI 추천 모델(50)은 딥러닝 모델로서, CNN 기반의 모델, RNN 기반의 모델 또는 DNN 기반의 모델을 포함할 수 있다.
AI 추천 모델(50)을 사용한다는 점에서, 데이터 카탈로그(100)는 AI 기반 데이터 카탈로그로 명명될 수 있다.
AI 추천 모델(50)에 의한 구체적인 추천 정보의 생성 및 제공에 대해서는, 후술될 도 2 내지 도 8를 참조하여 더 자세하게 설명된다.
한편, 아래에서는, 데이터 카탈로그(100)를 통해 조회되는 데이터 셋(또는 데이터 상품)에 대해 더 자세하게 설명한다.
관련하여, 도 9a 및 도 9b는 일 예에 따른, 데이터 카탈로그를 통해 조회 가능한 데이터 셋의 메타데이터를 나타낸다.
실시예의 데이터 카탈로그(100)를 구성하기 위해서는 데이터 셋(또는 데이터 상품)을 설명하는 데이터 거래/유통 메타데이터 체계가 데이터 카탈로그(100)에 정의되어야 할 수 있다. 이러한 메타데이터 체계는 예컨대, 데이터 카탈로그 간 검색 및 상호운영성 확보를 위한 국제 표준을 준용할 수 있다. 국제 표준은 일례로, DCAT (Data Catalog Vocabulary)일 수 있다.
도 9a 및 9b에서 도시된 것처럼, 데이터 셋의 거래 및 유통을 위해 필요한 메타데이터는 예시된, 31개의 상위 항목 및 그 하위 항목으로서 정의될 수 있다. 또는, 데이터 셋의 메타데이터 항목들은 DCAT의 Catalog, Resource, Dataset, Distribution, DataService 구조를 참조하여 정의된 것으로서, 데이터 셋 정보, 데이터 셋 상세, 데이터 셋 카테고리, 데이터 셋 상세 정, 및 데이터 서비스 상세정보의 5개로 정의될 수 있다.
전술한 추천 정보는, 추천되는 데이터 셋의 항목에 대한 정보를 포함할 수 있다. 데이터 카탈로그(100)는, 데이터 셋을 조회하는 사용자에 대해, 다른 데이터 셋을 추천하는 것뿐만 아니라 해당 다른 데이터 셋(혹은 또 다른 데이터 셋)의 각 항목에 대해서도 추천할 수 있다.
도 2는 일 실시예에 따른, AI 추천 모델을 사용하여 추천 정보를 제공하는 데이터 카탈로그를 제공하는 컴퓨터 시스템을 나타낸다.
도 2에서 도시한 바와 같이, 컴퓨터 시스템(200)은 데이터 카탈로그(100)를 제공하고, 데이터 카탈로그(100)를 통해 추천 정보를 제공하기 위한 방법을 실행하기 위한 구성요소로서 프로세서(210), 메모리(220), 스토리지(230), 버스(240), 입출력 인터페이스(250) 및 네트워크 인터페이스(260)를 포함할 수 있다. 컴퓨터 시스템(200)은 도시된 것과는 달리 복수의 컴퓨터 시스템들로 구성될 수도 있다. 컴퓨터 시스템(200)은, 예컨대, (데이터베이스(10)에 유지되는) 데이터 셋들을 관리 및 활용하는 기업 또는 단체나 그 계열사 혹은 본사에서 사용하는. 데이터 셋들을 관리하기 위한 서버 또는 기타 컴퓨터일 수 있다.
프로세서(210)는 데이터 카탈로그(100)를 제공하고, 데이터 카탈로그(100)를 통해 추천 정보를 제공하기 위한 방법을 구현하기 위한 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(210)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(210)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼 등에 포함될 수 있다. 프로세서(210)는 버스(240)를 통해 메모리(220)에 접속될 수 있다.
메모리(220)는 컴퓨터 시스템(200)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 메모리(220)는 예를 들어 랜덤 액세스 메모리(RAM: random access memory) 및/또는 다이내믹 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(220)는 컴퓨터 시스템(200)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(220)는 예를 들어, 데이터 카탈로그(100)를 제공하고, 데이터 카탈로그(100)를 통해 추천 정보를 제공하기 위한 방법의 수행을 위한 명령어들을 포함하는 컴퓨터 시스템(200)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(200)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(210)를 포함할 수 있다.
버스(240)는 컴퓨터 시스템(200)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(240)는 예를 들어, 컴퓨터 시스템(200)의 컴포넌트들 사이에서, 예를 들어, 프로세서(210)와 메모리(220) 사이에서 데이터를 운반할 수 있다. 버스(240)는 컴퓨터 시스템(200)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.
스토리지(230)는 (예를 들어, 메모리(220)에 비해) 안 데이터를 저장하기 위해 컴퓨터 시스템(200)에 의해 사용되는 바와 같은 메모리 또는 다른 스토리지와 같은 컴포넌트들을 포함할 수 있다. 스토리지(230)는 컴퓨터 시스템(200) 내의 프로세서(210)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 스토리지(230)는 예를 들어, 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.
전술된 AI 추천 모델(50)은 메모리(220) 또는 스토리지(230) 내에서 구현되어 있을 수 있다. 또는, 이러한 AI 추천 모델(50)은 컴퓨터 시스템(200)의 외부에 존재하는 다른 컴퓨터 시스템 상에서 구현되어 있을 수 있다.
입출력 인터페이스(250)는 키보드, 마우스, 음성 명령 입력, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다.
네트워크 인터페이스(260)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(260)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다.
또한, 다른 실시예들에서의 컴퓨터 시스템(200)은 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요는 없다. 예를 들어, 컴퓨터 시스템(200)은 상술한 입출력 인터페이스(250)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
이러한 컴퓨터 시스템(200)을 통해 구현되는 실시예들을 통해서는, 데이터 셋들에 대한 조회 및 관리 기능을 제공하는 데이터 카탈로그(100)가 제공될 수 있으며, 데이터 카탈로그(100)를 통해 추천 정보가 제공될 수 있다.
이상 도 1 및 도 9를 참조하여 전술된 기술적 특징들에 대한 설명은 도 2에 대해서도 그대로 적용될 수 있는 바, 중복되는 설명은 생략한다.
후술될 상세한 설명에서, 컴퓨터 시스템(200)의 구성(예컨대, 프로세서(210))에 의해 수행되는 동작은 설명의 편의상 컴퓨터 시스템(200)에 의해 수행되는 동작으로 설명될 수 있다.
도 3은 일 실시예에 따른, AI 추천 모델을 사용하여 추천 정보를 제공하는 데이터 카탈로그를 제공하는 방법을 나타내는 흐름도이다.
단계(310)에서, 컴퓨터 시스템(200)은 데이터 카탈로그(100)를 사용하여 (데이터베이스(10)에서 유지되는) 데이터 셋들 중 적어도 일부를 조회하는 사용자들의 로그 데이터를 수집할 수 있다. 수집되는 로그 데이터는 추천 정보를 제공하기 위한 AI 추천 모델(50)을 학습(훈련)시키기 위해 사용될 수 있다. 즉, AI 추천 모델(50)은 데이터 카탈로그(100)를 사용하는 사용자들로부터 수집된 로그 데이터에 기반하여 학습된 것일 수 있다.
로그 데이터는, 데이터 카탈로그(100)를 통해 사용자가 데이터 셋을 조회함에 있어서의 사용자의 행동 이력을 나타내는 데이터일 수 있다. 예컨대, 로그 데이터는 데이터 카탈로그(100)를 통해 사용자가 검색한 데이터 셋에 관한 정보(데이터 셋에 관한 식별 정보 등) 및 사용자 자체에 관한 정보(식별 정보 등)을 포함할 수 있다.
로그 데이터의 수집은 사용자가 데이터 카탈로그(100)를 통해 데이터 셋을 조회할 때(예컨대, 데이터 셋을 조회하기 위한 검색어를 입력한 때) 이루어질 수 있다.
아래에서, 단계들(312 내지 316)을 참조하여, 사용자들의 로그 데이터를 수집하는 방법에 대해 더 자세하게 설명한다. 사용자들의 각각은 데이터 카탈로그(100)를 통해 데이터 셋을 조회한(또는 검색, 사용, 열람 또는 다운로드한) 사용자일 수 있다.
단계(312)에서, 컴퓨터 시스템(200)은 사용자(들)의 로그 데이터로서 복수의 항목들의 각 항목에 대응하는 로그 데이터를 수집할 수 있다.
단계(316)에서, 컴퓨터 시스템(200)은 수집된 각 항목에 대응하는 로그 데이터를 가공함으로써 AI 추천 모델(50)을 학습시키기 위한 학습용 데이터를 생성할 수 있다.
수집되는 로그 데이터를 구성하는 복수의 항목들은, 예컨대, 사용자의 사용자 ID를 나타내는 제1 항목, 사용자가 속하는 사용자 그룹을 나타내는 제2 항목, 사용자가 조회한 데이터 셋의 그룹을 나타내는 제3 항목, 사용자가 조회한 데이터 셋의 속성 또는 설명을 나타내는 제4 항목, 사용자가 데이터 셋을 조회함에 따라 생성되는 인보이스 정보를 나타내는 제5 항목, 인보이스 정보가 생성된 시간을 나타내는 제6 항목, 사용자가 조회한 데이터 셋에 대응하는 코드를 나타내는 제7 항목 및 사용자가 조회한 데이터 셋을 등록한 등록자를 나타내는 제8 항목 중 적어도 하나를 포함할 수 있다. 또는, 로그 데이터를 구성하는 복수의 항목들은 상기 제1 내지 제8 항목들 중 적어도 2개 혹은 전부를 포함할 수 있다.
단계(316)에서 생성된 AI 추천 모델(50)을 학습시키기 위한 학습용 데이터는 전술한 제1 내지 제8 항목들 외에 추가적인 항목의 로그 데이터를 더 포함할 수도 있다. 전술한 제1 내지 제8 항목들은 다음과 같이 정의될 수 있다. 제1 내지 제8 항목의 각각은 사용자가 속하는 조직(회사 등)에 따라 상이하게 정의될 수 있다.
제1 내지 제8 항목의 각각은 예컨대, 아래와 같이 정의될 수 있다.
제1 항목: 사용자 ID, 사용자 ID는 어떠한 사용자가 어떠한 데이터 셋에 접근했는지 알기 위한 식별 정보로서, 사용자 ID는 각 사용자마다 고유값을 가질 수 있다.
제2 항목: 사용자 그룹, 제2 항목은 사용자가 어떠한 그룹에 속해 있는지 알려주는 식별 정보를 포함할 수 있다. 예컨대, 사용자 그룹은 사용자가 속한 기업 또는 회사를 나타내는 식별 정보, 또는, 기업 또는 회사 내의 사용자의 소속(재경/인사/연구소 등)을 나타내는 식별 정보를 포함할 수 있다.
제3 항목: 데이터 셋 그룹(아이템), 제3 항목은 사용자가 조회한 데이터 셋이 속해 있는 그룹을 나타내는 식별 정보를 포함할 수 있다. 예컨대, 제3 항목은 데이터 셋이 속하는 분야(일례로, 비즈니스 관련 데이터, 인구통계 관련 데이터 등)의 카테고리를 나타내거나, 이를 더 세분화 한 서브 카테고리를 나타낼 수 있다.
제4 항목: 속성/설명, 제3 항목은, 사용자가 조회한 데이터 셋을 나타내는 (물품) 코드만으로는 그것이 무엇인지를 확인할 수 없다는 점을 고려하여, 어떤 데이터 셋인지를 나타내는 데이터 셋에 대한 설명/속성 정보 및 해당 데이터 셋의 구성 요소들에 대한 설명/속성 정보를 포함할 수 있다.
제5 항목: 인보이스 정보(번호), 제5 항목이 포함하는 인보이스 정보는 데이터 셋에 대한 거래(또는 조회) 시 주요 내용이 작성되는 문서(인보이스)에 포함되는 정보일 수 있다. 인보이스 정보는, 사용자가 데이터 카탈로그(100)에 대한 한 번의 사용(즉, 한 번의 데이터 셋 조회 및/또는 로그인)으로 조회한 데이터 셋에 관한 정보가 기록될 수 있다. 인보이스 정보는, 사용자의 데이터 카탈로그(100)에서의 활동에 따라, 시간 순으로 차례대로 (정수로) 축적될 수 있다.
제6 항목: 인보이스 시간, 제6 항목이 포함하는 인보이스 시간은 제5 항목에서의 인보이스가 어떤 시간에 일어났는지(즉, 인보이스 정보가 생성된 시간)를 사용자 ID와 함께 해당 시간을 로그로 저장한 것일 수 있다.
제7 항목: 데이터 셋 코드, 제7 항목이 포함하는 데이터 셋 코드는, 각 데이터 셋이 무엇인지를 식별하기 위한 코드일 수 있다. 말하자면, 각각의 데이터 셋에는 고유한 코드가 할당되어 있을 수 있다. 한편, 제7 항목은, 사용자가 조회한 데이터 셋을 식별하기 위한 코드 대신에, 사용자의 로그 데이터를 식별하기 위한 코드를 포함할 수도 있다.
제8 항목: 등록자, 제7 항목은 데이터 셋을 등록한 사람의 ID 또는 이름을 포함할 수 있다. 한편, 제8 항목은, 사용자가 조회한 데이터 셋의 등록자에 대한 정보 대신에, 사용자의 로그 데이터를 등록한 등록자(즉, 사용자와 등록자가 상이한 경우)에 대한 정보를 포함할 수도 있다.
한편, 전술된 '그룹'은 '카테고리'를 포괄하는 용어로서 사용될 수 있다.
전술한 바와 같이, 제1 항목 내지 제8 항목에 해당하는 로그 데이터는, AI 추천 모델(50)을 학습시키기 위해 필요한 학습용 데이터를 구성할 수 있다. 데이터 카탈로그(100)는 사용자로부터의 활동에 따라, 전술한 제1 항목 내지 제8 항목에 해당하는 로그 데이터를 획득할 수 있도록 구성될 수 있다.
컴퓨터 시스템(200)은 제1 항목 내지 제8 항목에 해당하는 로그 데이터를 종합하여 AI 추천 모델(50)을 학습시키기 위한 학습용 데이터(데이터 셋)을 생성할 수 있다.
한편, 경우에 따라, 복수의 항목들 중 특정 항목에 대응하는 로그 데이터가 수집될 수 없는 경우가 있을 수 있다. 이 때, 컴퓨터 시스템(200)은, 단계(314)에서처럼, 사용자(사용자의 사용자 단말)에게 (수집될 수 없는) 특정 항목에 대응하는 로그 데이터의 입력을 요청할 수 있다. 또는, 컴퓨터 시스템(200)은, 단계(314)에서처럼, 사용자(사용자의 사용자 단말)에게 (수집될 수 없는) 특정 항목에 대응하는 로그 데이터의 수집에 대한 동의를 요청할 수 있다.
사용자로부터 입력된 데이터 또는 데이터 수집에 대한 동의에 따라, 컴퓨터 시스템(200)은 단계(310)의 로그 데이터의 수집을 완료할 수 있다.
아래에서는, 도 8을 참조하여, AI 추천 모델(50)을 학습시키기 위한 학습용 데이터를 생성하는 방법에 대해 좀 더 자세하게 설명한다.
도 8은 일 예에 따른, AI 추천 모델을 학습시키기 위한 학습용 데이터를 생성하는 방법을 나타낸다.
데이터 카탈로그(100)는 빅데이터 포털 또는 데이터 거래소의 데이터 유통 포털을 위한 검색 엔진을 제공할 수 있다. 컴퓨터 시스템(200)은 데이터 카탈로그(100)를 통해 사용자가 조회한 데이터 셋(데이터 상품)의 이력 정보를 로그 데이터(전술한 로그 데이터에 대응)로서 저장할 수 있다. (조회된) 데이터 셋(데이터 상품)의 메타데이터는 컴퓨터 시스템(200)의 데이터 거래 유통 메타데이터 리포지토리(예컨대, 데이터베이스(10) 또는 다른 데이터베이스)에 저장될 수 있다. 사용자가 데이터 셋의 조회를 위해 검색한 키워드와 연관되는 데이터 셋(데이터 상품)의 메타데이터가 이러한 리포지토리로부터 추출되어 AI 추천 모델(50)을 학습시키기 위한 데이터 셋(즉, 학습용 데이터 셋)이 생성될 수 있다. 예컨대, 데이터 카탈로그(100)의 검색 창을 통해 '고객'이라는 키워드가 입력되어 데이터 셋에 대한 검색이 수행된 경우, 데이터 거래 유통 메타데이터 리포지토리로부터 '%고객%'을 포함하는 데이터 셋(데이터 상품)에 관한 정보가 추출될 수 있다(일례로, '이탈고객.csv', '재구매고객.csv' 등). 이러한 주출된 정보는 데이터 셋의 ID와 사용자 ID의 정보 등을 포함할 수 있고, 컴퓨터 시스템(200)은 이러한 주출된 정보로부터 AI 추천 모델(50)의 학습에 필요한 데이터의 속성을 획득하여 학습용 데이터를 생성할 수 있다.
데이터 카탈로그(100)에서의 사용자의 활동에 따라 수집되는 데이터 로그들은 사용자가 속한 회사/기업/기관마다 그 명명법 및 로그 데이터의 축적 방법이 상이할 수 있다. 즉, 데이터 카탈로그(100)가 회사/기업/기관에 적용되는 경우에 있어서, 축적되는 로그 데이터는 회사/기업/기관에 따라 상이하게 될 수 있는 바, 이러한 로그 데이터는 데이터 카탈로그(100)를 위한 AI 추천 모델(50)을 학습시키기 위한 데이터로서 적절하게 가공되어야 할 수 있다.
도 8에서 도시된 것처럼, (데이터) 상품 정보, 상품 상세, 상품 카테고리, 상품 상세정보, 데이터 서비스 상세 정보 등, 회사마다 취급하는 다양한 로그 데이터들이 필요에 따라 저장될 수 있다. 이러한 로그 데이터들 내에는 (데이터) 상품 ID, 상품명, 상품 정보, 등록자, 등록일, 수정자, 수정일, 상품 이용 조건, 상품 부제목, 데이터 상품 요약, 가격 정보, 이용 시간 시작일자, 이용 종료일자, 데이터 제공 등을 포함하는 데이터가 포함될 수 있고, 기업 측에서 설정한 바에 따라 다양한 로그 데이터가 저장될 수 있다. 이러한 다양한 로그 데이터는 사용자의 데이터 카탈로그(100)에서의 활동에 따라 수집될 수 있다.
컴퓨터 시스템(200)은 이러한 다양한 로그 데이터를 실시예의 데이터 카탈로그(100)를 위한 AI 추천 모델(50)을 학습시키기 위한 데이터로서 적절하게 가공할 수 있다. 즉, 도시된 것처럼, 컴퓨터 시스템(200)은 상기 기업 측에서 설정한 바에 따라 저장된 다양한 로그 데이터를 선별하여, 전술한 제1 항목 내지 제8 항목에 대응하는 로그 데이터를 획득할 수 있고, 이러한 제1 항목 내지 제8 항목에 대응하는 로그 데이터를 가공(종합)하여 AI 추천 모델(50)을 학습시키기 위한 학습용 데이터를 생성할 수 있다.
단계(320)에서, 컴퓨터 시스템(200)은 로그 데이터 및 데이터 셋들 중 적어도 하나에 기반하여, AI 추천 모델(50)을 통해, 데이터 카탈로그(100)를 사용하여 데이터 셋들 중 적어도 일부를 조회하는 사용자에 대해 추천 정보를 제공할 수 있다. 즉, 컴퓨터 시스템(200)은 AI 추천 모델(50)을 통해 데이터 카탈로그(100)를 사용하여 데이터 셋을 조회하는 사용자에 대해 제공할 추천 정보를 생성할 수 있고, 생성된 추천 정보를 사용자에게 제공할 수 있다.
사용자에게 제공되는 추천 정보는, (데이터베이스(10)에 유지되는) 데이터 셋들 중 사용자가 조회한 데이터 셋과는 다른 데이터 셋에 관한 정보를 포함할 수 있다. 예컨대, 다른 데이터 셋에 관한 정보로서, 사용자가 조회한 데이터 셋을 조회한 다른 사용자가 데이터 카탈로그(100)를 사용하여 조회한 다른 데이터 셋에 관한 정보를 포함할 수 있다. 즉, 사용자는 자신이 조회한 데이터 셋을 조회한 다른 사용자가 어떠한 데이터 셋(또는 어떠한 데이터 셋의 어떤 항목)을 조회했는지를 추천 정보를 통해 확인할 수 있다. 또는, 추천 정보는, 사용자가 조회한 데이터 셋과 관련하여, 동일한 데이터 셋을 조회한 다른 사용자가 조회한 해당 데이터 셋의 항목에 관한 정보를 포함할 수도 있다. 또는, 추천 정보는, 사용자가 조회한 데이터 셋과 동일 또는 유사한 카테고리의 데이터 셋에 관한 정보(또는, 동일 또는 유사한 카테고리의 데이터 셋들 중 다른 사용자의 조회 빈도가 높은 데이터 셋에 관한 정보)를 포함할 수 있다.
추천 정보는, 사용자의 사용자 단말의 데이터 카탈로그(100)가 실행된 화면에서 데이터 셋에 대한 조회의 결과와 함께 표시될 수 있다.
단계(325)에서처럼, 컴퓨터 시스템(200)은 데이터 카탈로그(100)를 사용한 사용자들과 관련하여 축적(누적)된 로그 데이터의 양에 따라 상이한 추천 알고리즘을 사용하여 추천 정보를 생성할 수 있다.
예컨대, 컴퓨터 시스템(200)은 수집된 로그 데이터가 없거나 수집된 로그 데이터의 양이 소정량 이하인 경우, AI 추천 모델(50)의 제1 추천 알고리즘을 사용할 수 있고, 이에 따라, 제1 추천 정보를 생성할 수 있다. 한편, 컴퓨터 시스템(200)은 수집된 로그 데이터의 양이 소정량을 초과하는 경우, 제1 추천 알고리즘과는 상이한 AI 추천 모델(50)의 제2 추천 알고리즘을 사용할 수 있고, 이에 따라, 제2 추천 정보를 생성할 수 있다. 한편, 제1 추천 알고리즘 및 제2 추천 알고리즘은 각각 상이한 AI 추천 모델에 의해 구현되는 것일 수도 있다.
실시예에 따라, 추천 정보를 제공하는 AI 추천 모델(50)은, 데이터 카탈로그(100)를 사용한 사용자들과 관련하여 축적된 로그 데이터의 양에 따라 상이한 추천 알고리즘을 사용하여 사용자를 위한 추천 정보를 생성할 수 있다. 따라서, AI 추천 모델(50)은 축적된 로그 데이터가 없거나 그 양이 적은 경우에도, 사용자에 대해 적절한 추천 정보를 제공할 수 있다.
제1 추천 알고리즘 및 제2 추천 알고리즘에 기반한 구체적인 추천 정보의 생성 및 제공 방법에 대해서는 후술될 도 4 내지 도 7을 참조하여 더 자세하게 설명된다.
관련하여, 도 4는, 제1 추천 알고리즘의 일 예로서, K 프로토타입 알고리즘을 포함하는 추천 알고리즘을 사용하여 추천 정보를 제공하는 방법을 나타낸다.
전술한 제1 추천 알고리즘은 K 프로토타입(K prototype) 알고리즘을 사용하는 추천 알고리즘을 포함할 수 있다.
단계(410)에서, 컴퓨터 시스템(200)은, 이러한 K 프로토타입 알고리즘을 적용하여, 소정의 카테고리 변수(categorical variable)를 사용하여, (예컨대, 데이터베이스(10)에 유지되는) 데이터 셋들을 복수의 클러스터들로 클러스터링할 수 있다.
단계(420)에서, 컴퓨터 시스템(200)은, 복수의 클러스터들 중 사용자와 관련도가 가장 높은 클러스터에 속하는 데이터 셋들에 기반하여, 제1 추천 정보에 포함되는 데이터 셋들을 결정할 수 있다. 결정된 데이터 셋들은 추천 대상이 되는 데이터 셋들일 수 있고, 따라서, 이러한 결정된 데이터 셋들에 대한 정보가 추천 정보가 될 수 있다.
단계(410)에서 데이터 셋들의 클러스터링을 위해 사용하는 카테고리 변수는 (데이터 셋을 조회하는) 사용자가 속하는 그룹(또는, 사용자를 분류하기 위한 그룹)을 나타내는 변수 및 해당 사용자가 조회한 데이터 셋이 속하는 그룹(또는, 데이터 셋을 분류하기 위한 그룹)을 나타내는 변수 중 적어도 하나를 포함할 수 있다.
단계(520)에서 추천 대상이 되는 데이터 셋들을 결정함에 있어서, 컴퓨터 시스템(200)은 사용자와 관련도가 가장 높은 클러스터에 속하는 데이터 셋들 중 데이터 카탈로그(100)를 통한 (사용자들의) 조회의 빈도가 상위인 소정의 수의 데이터 셋들을 제1 추천 정보에 포함되는 것으로 결정할 수 있다. 또는, 컴퓨터 시스템(200)은 사용자와 관련도가 가장 높은 클러스터에 속하는 데이터 셋들에 대한 조회의 빈도가 상위인 소정의 수의 사용자들이 과거에 조회한 데이터 셋들을 제1 추천 정보에 포함되는 것으로 결정할 수 있다.
i) 사용자와 관련도가 가장 높은 클러스터는 사용자가 조회한 데이터 셋의 그룹과 가장 일치하는 그룹에 속하는 데이터 셋들이 포함되는 클러스터일 수 있다. 또는, ii) 사용자와 관련도가 가장 높은 클러스터는 사용자의 그룹과 가장 일치하는 그룹의 사용자들이 조회한 데이터 셋들이 포함되는 클러스터일 수 있다. 또는, i) 및 ii)의 조합에 따라 결정된 클러스터에 속하는 데이터 셋들일 수 있다.
전술된 바에 따라, 제1 추천 정보에는, 예컨대, 사용자가 조회한 데이터 셋과 동일/유사한 카테고리의 데이터 셋들 중 다른 사용자들에 의한 조회 빈도가 상위인 데이터 셋들이 포함되거나, 사용자가 조회한 데이터 셋과 동일/유사한 카테고리의 데이터 셋들에 대한 조회 빈도가 상위인 다른 사용자들이 조회한 데이터 셋들이 포함될 수 있다.
전술한 '그룹'은 사용자 또는 데이터 셋이 속하는 카테고리를 나타내는 것일 수 있고, 또는, 사용자들 또는 데이터 셋들을 복수의 클러스터들로 그룹핑하기 위한 별도의 기준을 나타낼 수 있다.
아래에서는, K 프로토타입을 알고리즘을 사용하여 추천 정보를 제공하는 방법에 대해 좀 더 자세하게 설명한다. K 프로토타입 알고리즘을 사용하여 추천 정보를 제공하는 방법은, 축적된 로그 데이터가 없거나, 적은 경우에 있어서 사용자에게 추천 정보를 제공하기 위해 사용될 수 있다.
K 프로토타입을 알고리즘은, Numerical과 카테고리 값(categorical value)(전술한 카테고리 변수)가 둘 다가 존재하는 경우, K modes와 k means를 함께 사용하는 기법일 수 있다. K 프로토타입을 알고리즘을 통한 데이터 셋들의 클러스터링은 다음의 과정에 따라 수행될 수 있다.
1. 데이터 셋들에서 k개의 초기 프로토타입을 선택할 수 있다. 각 클러스터에 대해 하나의 프로토타입이 선택될 수 있다. 프로토타입은 전술한 카테고리 변수에 기반하여 정해지는 것일 수 있다.
2. 데이터 셋들의 각 객체(각 데이터 셋)을 프로토타입이 가장 가까운 클러스터에 할당할 수 있다. 이 할당은 비유사성(dissimilarity measure)을 고려하여 수행될 수 있다. 비 유사성은, 두 데이터 셋 간의 차이에 대한 수치 측정하는 것으로서, 양자가 더 비슷할 때 더 낮은 값이 될 수 있다. 최소 비 유사성은 0이 될 수 있고, 그 상한은 다양하게 결정될 수 있다. 이에 따라, 데이터 셋 간의 유사성 및 비 유사성이 식별될 수 있다.
3. 모든 데이터 셋이 클러스터에 할당되었다면, 프로토타입에 대한 데이터 셋의 유사성이 다시 테스트될 수 있다. 이 때, 클러스터의 프로토타입에 가장 가까운 데이터 셋이 발견되는 경우, 해당 클러스터와 상기 데이터 셋이 속하는 클러스터의 프로토타입이 업데이트될 수 있다.
4. 클러스터에 속하는 데이터 셋에 대해 클러스터의 변경이 일어나지 않을 때까지, 3의 과정을 반복할 수 있다.
K 프로토타입을 알고리즘의 경우, K means 알고리즘에 비해, 카테고리 변수를 고려하여 데이터 셋들을 클러스터링할 수 있다.
전술한 것처럼, 카테고리 변수로는 사용자가 속하는 그룹 또는 데이터 셋이 속하는 그룹을 사용할 수 있다. 즉, 컴퓨터 시스템(200)은, 사용자가 속하는 그룹에 해당하는 카테고리 변수를 사용하여 데이터 셋들을 클러스터링하거나, 데이터 셋이 속하는 그룹에 해당하는 카테고리 변수를 사용하여 데이터 셋들을 클러스터링할 수 있다.
사용자가 속하는 그룹에 해당하는 카테고리 변수를 사용하여 클러스터링하는 경우, 이러한 카테고리 변수가 고려된 K 프로토타입들에 따라 클러스터링된 클러스터들 중 사용자와 관련도가 가장 높은 클러스터에 속하는 데이터 셋들이 추천 정보로서 결정될 수 있다. 이 때, 해당 클러스터에 포함된 모든 데이터 셋들이 추천되거나, 가장 빈도수(예컨대, 사용자들에 의한 조회 빈도수)가 가장 높은 상위 50개 또는 100개 등의 데이터 셋들이 추천될 수 있다. 추천 수는 사용자의 선호도 또는 설정에 따라 변경될 수 있다.
데이터 셋이 속하는 그룹에 해당하는 카테고리 변수를 사용하여 클러스터링하는 경우, 이러한 카테고리 변수가 고려된 K 프로토타입들에 따라 클러스터링된 클러스터들 중 사용자와 관련도가 가장 높은 클러스터에 속하는 데이터 셋들이 추천 정보로서 결정될 수 있다. 예컨대, 컴퓨터 시스템(200)은, 사용자가 조회한 데이터 셋의 그룹과 가장 가까운 데이터 셋들이 속하는 클러스터에 속하는 데이터 셋들에 대해, 해당 데이터 셋들에 대한 빈도(예컨대, 조회 빈도)가 높은 상위 5명의 사용자들의 (행동) 이력을 분석하여, 해당 사용자들이 조회한 데이터 셋들을 확인할 수 있고, 이들 데이터 셋들에 대한 정보를 추천 정보로서 제공할 수 있다. 제공되는 데이터 셋들에 대한 정보는 익명으로 제공될 수 있다. 따라서, 사용자의 개인 정보가 보호될 수 있고, 단지 사용자가 조회한 데이터 셋(즉, 구매한 데이터 상품)에 대한 정보만이 노출될 수 있다.
아래에서는, 제2 추천 알고리즘을 사용하는 추천 정보를 제공하는 방법에 대해 더 자세하게 설명한다.
도 5는, 제2 추천 알고리즘의 일 예로서, 협업 필터링(Collaborative Filtering; CF) 알고리즘을 포함하는 추천 알고리즘을 사용하여 추천 정보를 제공하는 방법을 나타낸다.
전술한 제2 추천 알고리즘은 협업 필터링(Collaborative Filtering; CF) 알고리즘을 사용하는 추천 알고리즘을 포함할 수 있다.
단계(510)에서, 컴퓨터 시스템(200)은, CF 알고리즘을 적용하여, 사용자가 조회한 데이터 셋들에 대응하는 제1 데이터 행렬과 적어도 하나의 다른 사용자가 조회한 데이터 셋들에 대응하는 제2 데이터 행렬(들)을 생성할 수 있고, 생성된 제1 데이터 행렬 및 제2 데이터 행렬(들)을 비교할 수 있다. 각 데이터 셋(또는, 그 식별 정보)은 데이터 행렬의 일 요소(element)에 대응할 수 있다.
단계(520)에서, 컴퓨터 시스템(200)은, 단계(510)에서의 비교의 결과에 기반하여, 제2 추천 정보에 포함될 데이터 셋으로서, 사용자에게 추천할 데이터 셋을 결정할 수 있다. 사용자에게 추천할 데이터 셋은 제2 데이터 행렬(들)에 포함되는 데이터 셋들 중 적어도 일부에 해당할 수 있다. 이 때, 제2 추천 정보는 사용자가 과거에 조회한 데이터 셋을 포함하지 않을 수 있다. 말하자면, 사용자가 과거에 조회한 데이터 셋은 제2 추천 정보를 통한 추천에서 배제될 수 있다.
한편, 단계(510)에서 생성되는 제2 데이터 행렬과 연관되는 다른 사용자는 데이터 카탈로그(100)를 사용한 사용자들 중에서, 추천 정보가 제공되는 사용자에 대한 유사 사용자로서 결정된 사용자일 수 있다. 예컨대, 상기 다른 사용자는, 데이터 카탈로그(100)를 사용한 사용자들을 소정의 등급으로 구분하기 위한 등급 벡터에 기반하여 결정된 상기 사용자에 대한 유사 사용자일 수 있다. 소정의 등급은 복수일 수 있고 각 등급에 대응하여 등급 벡터가 존재할 수 있다. 유사 사용자는, 일례로, 사용자와 동일 또는 유사 그룹에 속하는 사용자일 수 있다.
말하자면, 사용자에 대한 유사 사용자가 조회한 데이터 셋들이 전술한 비교의 대상이 될 수 있다.
한편, 제1 데이터 행렬과 비교 대상이 되는, 제2 데이터 행렬에 포함되는 데이터 셋들은, 데이터 카탈로그(100)를 사용한 사용자들로부터 획득된 데이터 셋들에 대한 평가를 나타내는 평가 벡터에 기반하여, 사용자가 조회한 데이터 셋들(즉, 제1 데이터 행렬에 포함되는 데이터 셋들)과 유사한 것으로 결정된 데이터 셋들일 수 있다. 유사한 데이터 셋은, 일례로, 사용자가 조회한 데이터 셋과 동일 또는 유사 그룹에 속하는 데이터 셋일 수 있다. 또는, 유사도는 후술될 유사도의 결정 방법에 따라 결정되는 것일 수 있다.
말하자면, 사용자가 조회한 데이터 셋과 유사한 데이터 셋들이 전술한 비교의 대상이 될 수 있다.
아래에서는, 협업 필터링 알고리즘을 사용하여 추천 정보를 제공하는 방법에 대해 좀 더 자세하게 설명한다.
협업 필터링 알고리즘은 아이템(즉, 데이터 셋)에 대해 행렬을 생성하여, 아이템들 간의 연관 관계를 분석하는 것일 수 있다.
컴퓨터 시스템(200)은, 협업 필터링 알고리즘을 사용하여, 데이터 셋의 연관 관계를 이용하여 사용자에게 데이터 셋을 추천할 수 있다.
협업 필터링 알고리즘은 많은 사용자들을 검색하고, 특정 사용자와 비슷한 취향을 가진 소수의 사용자를 찾는 방식으로 작동할 수 있다. 즉, 사용자가 선호하는 항목들을 확인한 후, 비교 및 조합 작업 후 추천 목록이 생성하여 제공될 수 있다.
협업 필터링 알고리즘은 항목(데이터 셋)들 간의 관계에 기반하여 데이터 셋을 추천하는 것으로서, 데이터 셋 자체의 연관 관계에 기반한 추천 알고리즘에 해당할 수 있다.
먼저, 데이터 셋들에 대해 데이터별 행렬(전술한 데이터 행렬에 대응)이 생성될 수 있다. 이것은 데이터 셋을 조회한 사용자들을 행렬로 나타낸 것으로서, 행렬은 비교 대상에 해당할 수 있다. 이러한 비교에 따라 양 행렬들의 유사도가 측정될 수 있다. 이에 따라, 사용자가 조회한 것과 유사도가 (가장) 높은(또는 유사도가 상위의) 데이터 셋(들)이 추천될 수 있다.
예컨대, 두 사용자 집단(데이터 셋 X를 구매한 사용자 목록과 데이터 Y를 구매한 사용자 목록) 간의 교집합이 되는 사용자의 수를 합집합에 해당하는 사용자 수로 나눔으로써 두 집단 간의 유사도가 측정될 수 있다.
유사도 계산에 있어서, 교집합과 합집합 간의 비율이 사용될 때, 비교대상 데이터들의 popularity와 빈도수는 무시될 수 있고, 또는, 이를 추가적인 가중치를 적용할 수 있다. 예컨대, 합집합에 대해서는 무시하고 교집합에 대해 추가적인 가중치를 적용할 수 있다. 이는 컴퓨터 시스템(200) 또는 사용자에 의한 설정 또는 요청에 따라 커스터마이즈될 수 있다. 추천에 있어서는, 이미 조회한 데이터 셋은 추천에서 배제될 수 있다.
한편, 유사도의 측정 방법에는, Cosine Similarity, Euclidean Distance score 등의 방법이 적용될 수 있다.
또한, 협업 필터링 알고리즘의 경우에도, 추가로 사용자 기반의 조건(User based)을 고려하거나, 데이터 셋 기반의 조건(item based)을 더 고려할 수 있다.
사용자 기반의 조건을 고려하는 경우, 카탈로그(100)를 사용한 사용자들을 소정의 등급(항목 등급)으로 구분하기 위한 등급 벡터에 기반하여 사용자와의 유사 사용자 집합이 결정될 수 있다. 등급이 지정되지 않은 사용자에 대한 등급은 등급이 정해진 사용자들의 목록에서 N 명의 (유사한) 사용자를 선택하는 것에 기반하여 결정될 수 있다. 즉, 등급이 지정되지 않은 사용자의 등급은 N명의 사용자들의 등급에 기반하여 계산될 수 있습니다.
일례로, 사용자와 유사 사용자에 해당하는 사용자들에 대해 협업 필터링 알고리즘이 적용될 수 있다.
데이터 셋 기반의 조건을 고려하는 경우, 데이터 카탈로그(100)를 사용한 사용자들로부터의 평가로 구성되는 평가 벡터에 기반하여, 데이터 셋들이 유사 데이터 셋들의 집합으로 구분될 수 있다. 이 때, 평가되지 않은 사용자의 평가는 사용자가 평가한 (유사한) 데이터 셋들에 대한 N 개의 평가들로부터 계산될 수 있다.
일례로, 사용자가 조회한 데이터 셋과 유사한 데이터 셋들에 대해 협업 필터링 알고리즘이 적용될 수 있다.
한편, 사용자들로부터의 평가가 많을수록, 추천 정보의 정확도가 높아질 수 있다.
도 6은, 제2 추천 알고리즘의 일 예로서, 깊은 신경망(Deep Neural Network; DNN) 알고리즘을 포함하는 추천 알고리즘을 사용하여 추천 정보를 제공하는 방법을 나타낸다.
전술한 제2 추천 알고리즘은 깊은 신경망(Deep Neural Network; DNN) 알고리즘을 사용하는 추천 알고리즘을 더 포함할 수 있다.
단계(610)에서, 컴퓨터 시스템(200)은, DNN 알고리즘을 적용하여, 시간 정보 및 사용자의 행동 패턴에 기반하여, (데이터베이스(10)에 저장된(또는 유지된)) 데이터 셋들 중 사용자에 추천할 데이터 셋을, 제2 추천 정보에 포함될 데이터 셋으로서, 결정할 수 있다.
제2 추천 정보는 사용자에 대한 추천 데이터 셋으로서, DNN 알고리즘에 기반하여 결정된 적어도 하나의 데이터 셋 및 도 5를 참조하여 전술한 CF 알고리즘에 기반하여 결정된 적어도 하나의 데이터 셋을 포함할 수 있다. 말하자면, 추천 정보에는 DNN 알고리즘에 기반하여 추천된 데이터 셋에 관한 정보와 CF 알고리즘에 기반하여 추천된 데이터 셋에 대한 정보가 모두 포함될 수 있다.
이처럼, DNN 알고리즘 및 CF 알고리즘은 데이터 셋의 추천에 있어서 병행하여 사용될 수 있다.
다만, 사용자의 입장에서, 제공된 추천 정보에서는 DNN 알고리즘에 기반하여 추천된 데이터 셋에 관한 정보와 CF 알고리즘에 기반하여 추천된 데이터 셋에 대한 정보는 서로 구분되지 않을 수 있다. 그러나, 실시예에 따라서는 이를 구분하여 표시할 수도 있다.
아래에서는, DNN 알고리즘을 사용하여 추천 정보를 제공하는 방법에 대해 좀 더 자세하게 설명한다.
DNN 알고리즘의 전술한 K 프로토타입 알고리즘 및 협업 필터링 알고리즘과의 차별점은 DNN 알고리즘은 사용자의 과거의 사용자 행동 시그널(즉, 행동 이력/패턴)에 기반하여 사용자의 미래의 이용 패턴을 예측할 수 있다는 것에 있다.
즉, DNN 알고리즘을 사용하는 AI 추천 모델(50)은 시간 정보와 사용자의 (데이터 카탈로그(100)에서의) 행동 패턴에 기반하여, 사용자에 대해 장기적인 추천(예컨대, 롱텀(매월, 매분기, 매년 등)의 주기적인 시간을 고려한 추천) 또는 단기적인 추천 정보(현재의 시점(시간 혹은 시간대) 또는 환경 정보(날씨 등)를 고려한 추천)를 제공할 수 있다.
DNN 알고리즘의 입력(즉, 입력 피쳐)는 상위(Top) N개의 사용빈도 데이터 셋(예컨대, 사용자(들)의 조회 빈도가 높은 상위 N개의 데이터 셋들)으로 구성할 수 있다. 여기서, N은 사용자/컴퓨터 시스템(200)에 의한 설정 및/또는 추천되는 데이터 셋의 수에 따라 변경될 수 있다.
또한, 데이터 셋과 사용자의 속성 또는 특성(성향)에 따라 DNN 알고리즘에 입력되는 데이터 셋의 피처들은 가감될 수 있다. 예컨대, DNN 알고리즘에는 전술한 제1 항목 내지 제8 항목에 해당하는 로그 데이터가 입력 피쳐로서 사용될 수 있으나, 훈련 리소스, 비용, 효율성 등을 고려하여 제1 항목 내지 제8 항목 중 일부가 제외될 수도 있다. 이 때, DNN 알고리즘을 사용하는 AI 추천 모델(50)은 나머지의 로그 데이터로 훈련된 후, 추가 작업을 통해 제외된 피쳐를 고려한 재훈련 작업이 수행될 수 있고, 따라서, AI 추천 모델(50)이 업데이트될 수 있다.
DNN 알고리즘은 시간 정보(시간)(time)을 변수로서 사용하므로, 추천 정보의 제공을 위해 DNN 알고리즘을 활용함에 있어서는 기간이 구분될 수 있다. 다만, 기간을 구분하지 않고 모든 기간(전기간)을 DNN 알고리즘의 학습에 사용할 수도 있다.
예컨대, DNN 알고리즘을 활용함에 있어서는, DNN 알고리즘의 훈련을 위해 사용하는 제1 기간과, 평가(evaluation)를 위해 사용하는 제2 기간을 구분할 수 있다. 예컨대, 제1 기간과 제2 기간은 4:1의 비율이 될 수 있다. 또는, 제1 기간과 제2 기간은 각각 여러 sub 기간들로 구분될 수도 있다.
각 기간에 대해서는, 예컨대, 데이터 셋의 사용여부, 데이터 셋의 빈도, 인보이스의 횟수 등이 타겟 변수가 될 수 있고, 이는 AI 추천 모델(50)의 구성에 따라 커스터마이즈될 수 있다.
DNN 알고리즘을 사용하는 AI 추천 모델(50)은 시퀀스 모델(Sequential Model)로 정의될 수 있고, 밀집 레이어(dense layer) 및 드롭아웃 레이어(dropout layer)를 포함할 수 있다. 레이어의 개수 및 구조는, 학습에 사용되는 데이터 셋들(로그 데이터)의 크기에 따라 파라미터의 수가 가감될 수 있으므로, 상이하게 될 수 있다. AI 추천 모델(50)의 최적화기(optimizer)는, 예컨대, 아담 최적화기(adam optimizer)가 사용될 수 있으나, 여기에 제한되지는 않는다. 활성화 함수(activation function)는, 예컨대, relu, sigmoid 등이 사용될 수 있다. 실시예의 DNN 알고리즘은 relu를 활용할 수 있다. 한다. AI 추천 모델(50)의 배치 크기(batch size)는 16, 32, 64 등이 사용될 수 있고, 에포크는 100, 150, 200 등이 사용될 수 있다. 상기 수치에 의한 시험을 통해 최적화된 AI 추천 모델(50)이 결정될 수 있다. 또한, AI 추천 모델(50)은 소프트맥스(softmax) 레이어를 더 포함할 수 있고, 이에 따라, 랭킹 시스템에 더 최적화 된 모델이 구축될 수 있다.
일례로, AI 추천 모델(50)에 의해 사용자에게 5개의 데이터 셋들을 포함하는 추천 정보가 제공되는 경우, 2개는 DNN 알고리즘에 기반하여 추천된 것일 수 있고, 3개는 협업 필터링 알고리즘에 기반하여 추천된 것일 수 있다. 다만, 이 때의 추천 정보는, 사용자가 추천된 데이터 셋이 어떠한 알고리즘에 기반하여 추천된 것인지는 식별할 수 없도록 제공될 수 있다.
도 7은 일 예에 따른, 추천 정보를 제공하기 위해 사용되는 컴퓨터 시스템의 AI 추천 모델의 구성을 나타낸다.
도시된 AI 추천 모델(50)은 전술된 제1 추천 알고리즘 및 제2 추천 알고리즘을 사용하는 모델(들)을 포함할 수 있다. AI 추천 모델(50)은, 전술한 것처럼, 컴퓨터 시스템(200)에 포함되거나, 컴퓨터 시스템(200)과는 별도의 컴퓨터 시스템에 의해 구현될 수 있다. 도 7에서, 컴퓨터 시스템(200)은 AI 카탈로그 추천 시스템으로 명명되었다.
도시된 것처럼, 최초로 데이터 카탈로그(100)가 도입된 경우에는 사용자(들)에 대한 로그 데이터가 존재하지 않거나 축적된 로그 데이터의 양이 적으므로, 컴퓨터 시스템(200)이 보유하고 있는 데이터 셋들에 대한 데이터에 기반하여 사용자에게 추천 정보가 제공될 수 있다. 이 때, AI 추천 모델(50)은 K 프로토타입 알고리즘을 활용하여 추천 정보를 생성 및 제공할 수 있다. 도시된 것처럼, K 프로토타입 알고리즘은 데이터 셋(아이템)(데이터 셋의 그룹)에 기반한 프로토타입을 사용하는 것이거나 사용자(사용자의 그룹)에 기반한 프로토타입을 사용하는 것일 수 있다.
이에 따라, AI 추천 모델(50)이 충분히 학습되기 전까지는(즉, AI 추천 모델(50)을 위한 충분한 학습용 데이터가 구축되기 전까지는) 기존의 데이터에 기반하여 K 프로토타입 알고리즘을 사용하는 것을 통해 추천 정보가 생성 및 제공될 수 있다. 또한, 사용자에 대한 로그 데이터가 수집됨에 따라, AI 추천 모델(50)은 업데이트(커스터마이징)될 수 있다.
AI 추천 모델(50)을 훈련시키기 위해 충분한 데이터 셋(로그 데이터)이 마련된 경우(또는, AI 추천 모델(50)이 이러한 데이터 셋(로그 데이터)에 의해 충분히 훈련된 경우), AI 추천 모델(50)은 협업 필터링 알고리즘 및 DNN 알고리즘을 추천 정보의 생성 및 제공에 활용하도록 확장될 수 있다.
AI 추천 모델(50)은 수집되는 로그 데이터에 기반하여 주기적으로 또는 실시간으로 업데이트될 수 있다. 예컨대, AI 추천 모델(50)은 일정한 주기로 재훈련되어 전술한 K 프로토타입 알고리즘, 협업 필터링 알고리즘 및 DNN 알고리즘을 업데이트할 수 있고, 따라서, 추천의 정확성을 높일 수 있다.
실시예에서는, AI 추천 모델(50)의 도입의 초반에는, 사용자들에 대한 데이터가 적으므로 K 프로토타입 알고리즘에 기반하여 추천이 이루어질 수 있고, 사용자들에 대한 데이터가 축적됨에 따라 협업 필터링 알고리즘 및 DNN 알고리즘을 활용한 추천이 이루어질 수 있다.
이상 도 1 및 도 9를 참조하여 전술된 기술적 특징들에 대한 설명은 도 2 내지 도 8에 대해서도 그대로 적용될 수 있는 바, 중복되는 설명은 생략한다.
전술한 것처럼, 실시예의 데이터 카탈로그(100)는 데이터 거래 유통 플랫폼의 기반이 되는 데이터 검색 엔진과 연계하여 사용될 수 있다. 이에 따라, 데이터 카탈로그(100)는 데이터 셋의 메타데이터 관리, 데이터 품질 관리, 데이터 흐름관리, 기준정보 관리의 기능을 사용자에게 제공할 수 있다. 이러한 기능을 제공하기 위해, 데이터 카탈로그(100)를 제공하는 컴퓨터 시스템(200)은, 사용자의 경험을 분석 가능한 형태의 동적인 메타데이터(전술된 로그 데이터)로서 수집 및 저장할 수 있다. 실시예에서는, 사용자의 로그 데이터에 기반한 추천 정보를 제공하기 위해 3가지의 추천 알고리즘이 사용될 수 있으며, 따라서, 추천 서비스의 정확도를 고도화하고 사용자의 선택권을 확장할 수 있다.
전술된 데이터 카탈로그(100)를 제공하는 플랫폼에서 필요한 서비스는 API로 제공될 수 있고, 데이터 카탈로그(100)를 통해 제공되는 데이터 셋의 검색을 위한 포털은 기업이나 기관의 프로세스와 취향에 맞게 커스터마이즈될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (10)

  1. 컴퓨터 시스템에 의해 수행되는, 데이터 카탈로그를 제공하는 방법에 있어서,
    상기 데이터 카탈로그는 데이터베이스에 저장된 데이터 셋들에 대한 관리 및 검색과 관련된 기능을 제공하도록 구성되고,
    상기 데이터 카탈로그를 사용하여 상기 데이터 셋들 중 적어도 일부를 조회하는 사용자들의 로그 데이터를 수집하는 단계; 및
    상기 로그 데이터 및 상기 데이터 셋들에 기반하여, 인공지능(Artificial Intelligence; AI) 추천 모델을 통해, 상기 데이터 카탈로그를 사용하여 상기 데이터 셋들 중 적어도 일부를 조회하는 사용자에 대해 추천 정보를 제공하는 단계
    를 포함하고,
    상기 AI 추천 모델은 상기 수집된 로그 데이터에 기반하여 학습된 것이고, 축적된 상기 수집된 로그 데이터의 양에 따라 상이한 추천 알고리즘을 사용하여 상기 추천 정보를 생성하고,
    상기 로그 데이터를 수집하는 단계는,
    상기 사용자의 로그 데이터로서 복수의 항목들의 각 항목에 대응하는 로그 데이터를 수집하는 단계; 및
    상기 수집된 각 항목에 대응하는 로그 데이터를 가공함으로써 상기 AI 추천 모델을 학습시키기 위한 학습용 데이터를 생성하는 단계
    를 포함하고,
    상기 복수의 항목들은,
    상기 사용자의 사용자 ID를 나타내는 제1 항목, 상기 사용자가 속하는 사용자 그룹을 나타내는 제2 항목, 상기 사용자가 조회한 데이터 셋의 그룹을 나타내는 제3 항목, 상기 사용자가 조회한 데이터 셋의 속성 또는 설명을 나타내는 제4 항목, 상기 사용자가 데이터 셋을 조회함에 따라 생성되는 인보이스 정보를 나타내는 제5 항목, 상기 인보이스 정보가 생성된 시간을 나타내는 제6 항목, 상기 사용자가 조회한 데이터 셋에 대응하는 코드를 나타내는 제7 항목 및 상기 사용자가 조회한 데이터 셋을 등록한 등록자를 나타내는 제8 항목을 포함하고,
    상기 AI 추천 모델은 상기 학습용 데이터에 기반하여 학습되고,
    상기 로그 데이터를 수집하는 단계는,
    상기 복수의 항목들 중 특정 항목에 대응하는 로그 데이터가 수집될 수 없는 경우, 상기 사용자에게 해당 특정 항목에 대응하는 로그 데이터의 입력을 요청하는 단계; 및
    상기 복수의 항목들 중 특정 항목에 대응하는 로그 데이터가 수집될 수 없는 경우, 상기 사용자에게 해당 특정 항목에 대응하는 로그 데이터의 수집에 대한 동의를 요청하는 단계
    를 포함하고,
    상기 추천 정보를 제공하는 단계는,
    상기 수집된 로그 데이터의 양이 소정량 이하인 경우, 제1 추천 알고리즘을 사용하여 제1 추천 정보를 생성하는 단계; 및
    상기 수집된 로그 데이터의 양이 상기 소정량을 초과하는 경우, 상기 제1 추천 알고리즘과는 상이한 제2 추천 알고리즘을 사용하여 제2 추천 정보를 생성하는 단계
    를 포함하고,
    상기 제1 추천 알고리즘은 K 프로토타입 알고리즘을 사용하는 추천 알고리즘을 포함하고,
    상기 제1 추천 정보를 생성하는 단계는,
    상기 K 프로토타입 알고리즘을 적용하여,
    상기 사용자가 속하는 그룹을 나타내는 변수를 포함하는 카테고리 변수(categorical variable)를 사용하여, 상기 데이터 셋들을 복수의 클러스터들로 클러스터링하는 단계; 및
    상기 복수의 클러스터들 중 상기 사용자와 관련도가 가장 높은 클러스터에 속하는 데이터 셋들에 기반하여, 상기 제1 추천 정보에 포함되는 데이터 셋들을 결정하되, 상기 사용자와 관련도가 가장 높은 클러스터에 속하는 데이터 셋들에 대한 조회의 빈도가 상위인 소정의 수의 사용자들이 과거에 조회한 데이터 셋들을 상기 제1 추천 정보에 포함되는 것으로 결정하는 단계
    를 포함하고,
    상기 제2 추천 알고리즘은 협업 필터링(Collaborative Filtering; CF) 알고리즘을 사용하는 추천 알고리즘 및 깊은 신경망(Deep Neural Network; DNN) 알고리즘을 사용하는 추천 알고리즘을 포함하고,
    상기 CF 알고리즘 및 상기 DNN 알고리즘은 상기 제2 추천 정보를 생성하기 위해 병행하여 사용되고,
    상기 제2 추천 정보를 생성하는 단계는, 상기 CF 알고리즘을 적용하여,
    상기 사용자가 조회한 데이터 셋들에 대응하는 제1 데이터 행렬과 적어도 하나의 다른 사용자가 조회한 데이터 셋들에 대응하는 제2 데이터 행렬을 비교하는 단계; 및
    상기 비교의 결과에 기반하여, 상기 제2 추천 정보에 포함될 데이터 셋으로서, 상기 사용자에게 추천할 제1 데이터 셋을 결정하는 단계
    를 포함하고,
    상기 제2 데이터 행렬에 포함되는 데이터 셋들은, 상기 데이터 카탈로그를 사용한 사용자들로부터 획득된 데이터 셋들에 대한 평가를 나타내는 평가 벡터에 기반하여, 상기 사용자가 조회한 데이터 셋들과 유사한 것으로 결정된 데이터 셋들이고,
    상기 제1 데이터 셋에서는 상기 사용자가 과거에 조회한 데이터 셋은 배제되고.
    상기 다른 사용자는, 상기 데이터 카탈로그를 사용한 사용자들을 소정의 등급으로 구분하기 위한 등급 벡터에 기반하여 결정된 상기 사용자에 대한 유사 사용자이고,
    상기 제2 추천 정보를 생성하는 단계는, 상기 DNN 알고리즘을 적용하여, 시간 정보 및 상기 사용자의 행동 패턴에 기반하여, 상기 데이터베이스에 저장된 데이터 셋들 중 상기 사용자에 추천할 데이터 셋을, 상기 제2 추천 정보에 포함될 제2 데이터 셋으로서, 결정하는 단계
    를 포함하고,
    상기 제2 추천 정보는 상기 CF 알고리즘에 기반하여 결정된 상기 제1 데이터 셋 및 상기 DNN 알고리즘에 기반하여 결정된 상기 제2 데이터 셋을 포함하고,
    상기 제2 추천 정보가 상기 사용자에 대해 제공됨에 있어서, 상기 제1 데이터 셋과 상기 제2 데이터 셋은 서로 구분하여 표시되도록 제공되는, 데이터 카탈로그를 제공하는 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
KR1020200174053A 2020-12-14 2020-12-14 인공지능 추천 모델을 사용하여 추천 정보를 제공하는 데이터 카탈로그 제공 방법 및 시스템 KR102249466B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200174053A KR102249466B1 (ko) 2020-12-14 2020-12-14 인공지능 추천 모델을 사용하여 추천 정보를 제공하는 데이터 카탈로그 제공 방법 및 시스템
US17/384,869 US20220188286A1 (en) 2020-12-14 2021-07-26 Data Catalog Providing Method and System for Providing Recommendation Information Using Artificial Intelligence Recommendation Model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200174053A KR102249466B1 (ko) 2020-12-14 2020-12-14 인공지능 추천 모델을 사용하여 추천 정보를 제공하는 데이터 카탈로그 제공 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102249466B1 true KR102249466B1 (ko) 2021-05-11

Family

ID=75914680

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200174053A KR102249466B1 (ko) 2020-12-14 2020-12-14 인공지능 추천 모델을 사용하여 추천 정보를 제공하는 데이터 카탈로그 제공 방법 및 시스템

Country Status (2)

Country Link
US (1) US20220188286A1 (ko)
KR (1) KR102249466B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220110418A (ko) * 2021-01-30 2022-08-08 주식회사 모비노마 인공지능을 이용한 부품 워런티 팩 추천 시스템
KR20230020680A (ko) * 2021-08-04 2023-02-13 한국과학기술정보연구원 인공지능 기반의 콘텐츠 추천을 위한 방법 및 장치
KR102545575B1 (ko) * 2022-07-21 2023-06-21 (주)시큐레이어 고객군별 특성에 따른 이중화 서비스 플로우를 적용한 플랫폼을 통한 ai모델 자동추천 구독 서비스 방법 및 서버
WO2023242618A1 (en) * 2022-06-16 2023-12-21 Coupang Corp. Dynamic product recommendations on affiliate website

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130035660A (ko) * 2011-09-30 2013-04-09 주식회사 케이티 추천 시스템 및 추천 방법
KR20130050582A (ko) * 2011-11-08 2013-05-16 주식회사 넥슨코리아 사용자 로그 분석 장치 및 방법
KR20140056716A (ko) * 2012-10-31 2014-05-12 에스케이플래닛 주식회사 상품 추천 서비스 시스템, 그 시스템에서의 협업 필터링 기반 상품 추천을 위한 방법 및 장치
KR20150101538A (ko) * 2014-02-26 2015-09-04 에스케이플래닛 주식회사 사용자의 실행 패턴을 이용한 상품 추천 시스템, 사용자의 실행 패턴을 이용한 상품 추천 방법 및 이를 위한 장치
KR20180121466A (ko) * 2017-04-06 2018-11-07 네이버 주식회사 딥러닝을 활용한 개인화 상품 추천
KR20200057209A (ko) * 2018-11-16 2020-05-26 이윤열 K-means Clustering을 활용한 맞춤형 도서를 추천하는 방법 및 그 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10803055B2 (en) * 2017-12-15 2020-10-13 Accenture Global Solutions Limited Cognitive searches based on deep-learning neural networks
US11250347B2 (en) * 2018-06-27 2022-02-15 Microsoft Technology Licensing, Llc Personalization enhanced recommendation models
US11636486B2 (en) * 2019-06-13 2023-04-25 Paypal, Inc. Determining subsets of accounts using a model of transactions
US11741358B2 (en) * 2020-02-14 2023-08-29 Intuit, Inc. Application recommendation machine learning system
US11461824B2 (en) * 2020-05-18 2022-10-04 Salesforce, Inc. Systems and methods of product recommendation and integrated language modelling

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130035660A (ko) * 2011-09-30 2013-04-09 주식회사 케이티 추천 시스템 및 추천 방법
KR20130050582A (ko) * 2011-11-08 2013-05-16 주식회사 넥슨코리아 사용자 로그 분석 장치 및 방법
KR20140056716A (ko) * 2012-10-31 2014-05-12 에스케이플래닛 주식회사 상품 추천 서비스 시스템, 그 시스템에서의 협업 필터링 기반 상품 추천을 위한 방법 및 장치
KR20150101538A (ko) * 2014-02-26 2015-09-04 에스케이플래닛 주식회사 사용자의 실행 패턴을 이용한 상품 추천 시스템, 사용자의 실행 패턴을 이용한 상품 추천 방법 및 이를 위한 장치
KR20180121466A (ko) * 2017-04-06 2018-11-07 네이버 주식회사 딥러닝을 활용한 개인화 상품 추천
KR20200057209A (ko) * 2018-11-16 2020-05-26 이윤열 K-means Clustering을 활용한 맞춤형 도서를 추천하는 방법 및 그 장치

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220110418A (ko) * 2021-01-30 2022-08-08 주식회사 모비노마 인공지능을 이용한 부품 워런티 팩 추천 시스템
KR102462955B1 (ko) 2021-01-30 2022-11-04 주식회사 모비노마 인공지능을 이용한 부품 워런티 팩 추천 시스템
KR20230020680A (ko) * 2021-08-04 2023-02-13 한국과학기술정보연구원 인공지능 기반의 콘텐츠 추천을 위한 방법 및 장치
KR102637821B1 (ko) * 2021-08-04 2024-02-19 한국과학기술정보연구원 인공지능 기반의 콘텐츠 추천을 위한 방법 및 장치
WO2023242618A1 (en) * 2022-06-16 2023-12-21 Coupang Corp. Dynamic product recommendations on affiliate website
KR102545575B1 (ko) * 2022-07-21 2023-06-21 (주)시큐레이어 고객군별 특성에 따른 이중화 서비스 플로우를 적용한 플랫폼을 통한 ai모델 자동추천 구독 서비스 방법 및 서버

Also Published As

Publication number Publication date
US20220188286A1 (en) 2022-06-16

Similar Documents

Publication Publication Date Title
KR102249466B1 (ko) 인공지능 추천 모델을 사용하여 추천 정보를 제공하는 데이터 카탈로그 제공 방법 및 시스템
JP4378646B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US10019442B2 (en) Method and system for peer detection
Rodas-Silva et al. Selection of software product line implementation components using recommender systems: An application to wordpress
CN102521233A (zh) 自适应图像检索数据库
CN103733194A (zh) 动态组织云计算资源以便于发现
JP6703572B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
Ismail et al. Data mining in electronic commerce: benefits and challenges
Hammond et al. Cloud based predictive analytics: text classification, recommender systems and decision support
Gosh et al. Recommendation system for e-commerce using alternating least squares (ALS) on apache spark
Dias et al. Automating the extraction of static content and dynamic behaviour from e-commerce websites
US20190243914A1 (en) Parallel query processing in a distributed analytics architecture
El-Kishky et al. k NN-Embed: Locally Smoothed Embedding Mixtures for Multi-interest Candidate Retrieval
Zhao et al. Monochromatic and bichromatic ranked reverse boolean spatial keyword nearest neighbors search
US11741099B2 (en) Supporting database queries using unsupervised vector embedding approaches over unseen data
Kurdija et al. Candidate classification and skill recommendation in a cv recommender system
CA2485814A1 (en) Method and apparatus for range processing in an n-dimensional space
Cho et al. Periodicity analysis using weighted sequential pattern in recommending service
Vinoth Kumar et al. An Improved Scheme for Organizing E-Commerce-Based Websites Using Semantic Web Mining
CN116561134B (zh) 业务规则处理方法、装置、设备及存储介质
US11842379B2 (en) Method and system for obtaining item-based recommendations
CN113420096B (zh) 指标体系的构建方法、装置、设备及存储介质
Tyagi et al. A Personalized Recommender System Using Real-Time Search Data Integrated with Historical Data
Lv et al. Big Data Personalized Recommendation Algorithm Based on Hadoop e-Commerce Platform
Martín Muñoz et al. Development of a travel recommender system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant