KR20210051287A - Coffee menu recommendation apparatus that makes coffee menu recommendations through a learning model based on weather and weather condition data and operating method thereof - Google Patents

Coffee menu recommendation apparatus that makes coffee menu recommendations through a learning model based on weather and weather condition data and operating method thereof Download PDF

Info

Publication number
KR20210051287A
KR20210051287A KR1020190136350A KR20190136350A KR20210051287A KR 20210051287 A KR20210051287 A KR 20210051287A KR 1020190136350 A KR1020190136350 A KR 1020190136350A KR 20190136350 A KR20190136350 A KR 20190136350A KR 20210051287 A KR20210051287 A KR 20210051287A
Authority
KR
South Korea
Prior art keywords
vector
weather
coffee
dimensional
recommendation
Prior art date
Application number
KR1020190136350A
Other languages
Korean (ko)
Other versions
KR102309558B1 (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 KR1020190136350A priority Critical patent/KR102309558B1/en
Publication of KR20210051287A publication Critical patent/KR20210051287A/en
Application granted granted Critical
Publication of KR102309558B1 publication Critical patent/KR102309558B1/en

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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01WMETEOROLOGY
    • G01W1/00Meteorology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

Disclosed are a coffee menu recommendation device for making coffee menu recommendations through a learning model based on weather and meteorological data, and an operating method thereof. According to the coffee menu recommendation device and the operation thereof according to the present invention, by building a recommendation model based on machine learning which can make predetermined coffee menu recommendations according to weather information and meteorological data, an appropriate coffee menu may be recommended to the user through the recommendation model based on weather information and weather data at the current point in time.

Description

날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치 및 그 동작 방법{COFFEE MENU RECOMMENDATION APPARATUS THAT MAKES COFFEE MENU RECOMMENDATIONS THROUGH A LEARNING MODEL BASED ON WEATHER AND WEATHER CONDITION DATA AND OPERATING METHOD THEREOF}COFFEE MENU RECOMMENDATION APPARATUS THAT MAKES COFFEE MENU RECOMMENDATIONS THROUGH A LEARNING MODEL BASED ON WEATHER AND WEATHER CONDITION DATA AND OPERATING METHOD THEREOF }

본 발명은 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치 및 그 동작 방법에 대한 것이다.The present invention relates to an apparatus for recommending a coffee menu and an operating method thereof that recommends a coffee menu through a learning model based on weather and meteorological data.

로봇 기술 및 인공 지능 기술이 발전함에 따라, 인간의 행위를 유사하게 따라 할 수 있는 기계 장치들이 개발되고 있다. 이러한 기계 장치들의 일 예로, 재료들을 사전 설정된 비율에 따라 배출 및 혼합하여 커피를 제조하는 자동화 커피 머신들과 로봇 암(robot arm)이 재료들을 사전 설정된 비율에 따라 픽업한 후 혼합하여 커피를 제조하는 커피 로봇들이 존재한다.As robot technology and artificial intelligence technology advance, mechanical devices that can similarly mimic human behavior are being developed. As an example of these mechanical devices, automated coffee machines that produce coffee by discharging and mixing ingredients according to a preset ratio and a robot arm pick up ingredients according to a preset ratio and mix them to produce coffee. Coffee robots exist.

이러한 커피 로봇이 개발됨에 따라, 관리 인원과 바리스타 등 직원을 최소화함으로써 영업 이익을 극대화 하기 위하여, 바리스타를 대신하여 커피를 제조하는 커피 로봇이 배치된 무인 커피 숍이 런칭(launching)되고 있다.With the development of such coffee robots, in order to maximize operating profit by minimizing management personnel and staff such as baristas, unmanned coffee shops in which coffee robots that manufacture coffee on behalf of baristas are deployed are being launched.

한편, 유인 커피 숍에서 이용되는 일반적인 커피 메뉴 추천 시스템의 경우에는 기존의 사용자들이 선택한 정보에 기초하여 다수의 커피 메뉴들 중 일부를 선택하거나, 관리자가 원하는 추천 커피 메뉴를 선택한 후 사용자들에게 제공한다.Meanwhile, in the case of a general coffee menu recommendation system used in a manned coffee shop, some of a plurality of coffee menus are selected based on information selected by existing users, or a recommended coffee menu desired by an administrator is selected and provided to users. .

관리자가 원하는 추천 커피 메뉴를 선택한 후 사용자들에게 제공하는 커피 메뉴 추천 방식의 경우, 사용자들은 추천 커피 메뉴가 일종의 광고 모델인 것으로 생각하는 문제점이 존재한다.In the case of a coffee menu recommendation method provided to users after an administrator selects a desired coffee menu, there is a problem that users think that the recommended coffee menu is a kind of advertisement model.

또한, 기존의 사용자들이 선택한 정보에 기초하여 다수의 커피 메뉴들 중 일부를 선택한 후 사용자들에게 제공하는 커피 메뉴 추천 방식의 경우, 현재 상황에 대한 정보의 부족으로 사용자들에게 적절한 커피 메뉴를 추천하지 못한다는 문제점이 있다.In addition, in the case of a coffee menu recommendation method provided to users after selecting some of a plurality of coffee menus based on information selected by existing users, it is not possible to recommend an appropriate coffee menu to users due to lack of information on the current situation. There is a problem that it cannot.

따라서, 사용자들의 정보뿐만 아니라, 날씨와 기상 데이터와 같은 현재 상황에 대한 정보를 이용하여 사용자들에게 적절한 커피 메뉴를 추천할 수 있는 기술에 대한 연구가 필요하다.Therefore, there is a need for research on a technology capable of recommending an appropriate coffee menu to users by using information on the current situation, such as weather and meteorological data, as well as user information.

본 발명에 따른 커피 메뉴 추천 장치 및 그 동작 방법은 날씨 정보와 기상 데이터에 따라 소정의 커피 메뉴를 추천할 수 있는 추천 모델을 기계학습을 기반으로 구축함으로써, 현재 시점에서의 날씨 정보와 기상 데이터를 기초로 상기 추천 모델을 통해 사용자에게 적절한 커피 메뉴를 추천할 수 있도록 지원하고자 한다.The coffee menu recommendation apparatus and its operation method according to the present invention construct a recommendation model capable of recommending a predetermined coffee menu according to the weather information and the weather data, based on machine learning, so that the weather information and the meteorological data at the current time point are stored. As a basis, it is intended to support to recommend an appropriate coffee menu to a user through the recommendation model.

본 발명의 일실시예에 따른 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치는 미리 정해진 서로 다른 n(n은 2이상의 자연수)가지 종류의 날씨 정보들 각각에 대응되는 미리 정해진 서로 다른 n차원의 날씨 벡터가 저장되어 있는 날씨 벡터 저장부, 미리 정해진 k(k는 2이상의 자연수)개의 커피 메뉴들에 대한 정보와 상기 k개의 커피 메뉴들 각각에 대응하는 미리 정해진 서로 다른 k차원의 원-핫(one-hot) 벡터가 저장되어 있는 커피 메뉴 저장부, 미리 정해진 복수의 훈련 데이터 세트들 - 상기 복수의 훈련 데이터 세트들 각각은 상기 n가지 종류의 날씨 정보들 중에서 선택된 하나의 날씨 정보와 미리 정해진 서로 다른 n가지 종류의 기상 데이터들로 구성된 데이터 세트를 의미함 - 과 상기 복수의 훈련 데이터 세트들 각각에 대한 상기 k개의 커피 메뉴들과의 매칭 정보 - 상기 매칭 정보는 상기 복수의 훈련 데이터 세트들 각각에 대해, 상기 k개의 커피 메뉴들 중 매칭되는 것으로 사전 결정된 어느 하나의 커피 메뉴에 대한 정보를 의미함 - 가 저장되어 있는 훈련 세트 저장부, 상기 훈련 세트 저장부를 참조하여 상기 복수의 훈련 데이터 세트들 중 어느 하나인 제1 훈련 데이터 세트를 확인한 후 상기 제1 훈련 데이터 세트에 포함된 제1 날씨 정보와 n가지 종류의 제1 기상 데이터들을 확인하고, 상기 날씨 벡터 저장부를 참조하여 상기 제1 날씨 정보에 대응하는 n차원의 제1 날씨 벡터를 생성함과 동시에 상기 n가지 종류의 제1 기상 데이터들을 성분으로 갖는 n차원의 제1 기상 벡터를 생성한 후 상기 n차원의 제1 날씨 벡터와 상기 n차원의 제1 기상 벡터 간의 아다마르 곱(Hadamard product)을 연산함으로써, n차원의 입력 벡터를 생성하는 입력 벡터 생성부, 상기 n차원의 입력 벡터에 대해 둘 이상의 가중치 행렬들을 곱하여 벡터 차원 변환을 수행함으로써, k차원의 출력 벡터를 생성하는 출력 벡터 생성부, 상기 k차원의 출력 벡터와 상기 k개의 커피 메뉴들 각각에 대한 k차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 스코어(score)를 생성하는 스코어 연산부 및 상기 k개의 커피 메뉴들 각각에 대응하는 스코어를 미리 설정된 활성화 함수(Activation Function)에 입력으로 인가하여 확률 값으로 변환함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 확률 값을 생성하고, 상기 k개의 커피 메뉴들 중 상기 훈련 세트 저장부 상에서 상기 제1 훈련 데이터 세트에 매칭된 제1 커피 메뉴에 대응하는 확률 값이 최대가 되도록 상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습을 수행하는 학습 수행부를 포함한다.According to an embodiment of the present invention, a coffee menu recommendation device that recommends a coffee menu through a learning model based on weather and meteorological data according to an embodiment of the present invention is provided with each of n (n is a natural number of 2 or more) types of weather information. A weather vector storage unit in which corresponding predetermined different n-dimensional weather vectors are stored, information on k (k is a natural number of 2 or more) coffee menus, and predetermined information corresponding to each of the k coffee menus. A coffee menu storage unit in which different k-dimensional one-hot vectors are stored, a plurality of predetermined training data sets-Each of the plurality of training data sets is among the n types of weather information Means a data set consisting of one selected weather information and n types of weather data that are predetermined differently-and matching information of the k coffee menus for each of the plurality of training data sets-the matching information Means for each of the plurality of training data sets, information on any one coffee menu that is predetermined to be matched among the k coffee menus-a training set storage unit in which is stored, and the training set storage unit After checking the first training data set, which is one of the plurality of training data sets, check first weather information and n types of first weather data included in the first training data set with reference, and the weather vector An n-dimensional first weather vector corresponding to the first weather information is generated with reference to a storage unit, and an n-dimensional first weather vector having the n types of first weather data as components is generated, and then the n An input vector generator for generating an n-dimensional input vector by calculating a Hadamard product between the n-dimensional first weather vector and the n-dimensional first weather vector, and two or more input vectors for the n-dimensional input vector. An output vector generator for generating a k-dimensional output vector by multiplying weight matrices to perform vector dimensional transformation, the A score calculator for generating a score corresponding to each of the k coffee menus by calculating the dot product between the k-dimensional output vector and the k-dimensional one-hot vector for each of the k coffee menus, and the k By applying a score corresponding to each of the coffee menus as an input to a preset activation function and converting it into a probability value, a probability value corresponding to each of the k coffee menus is generated, and the k coffee menus Among them, a learning execution unit that performs machine learning to determine the two or more weight matrices so that a probability value corresponding to the first coffee menu matched with the first training data set is maximized on the training set storage unit.

또한, 본 발명의 일실시예에 따른 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치의 동작 방법은 미리 정해진 서로 다른 n(n은 2이상의 자연수)가지 종류의 날씨 정보들 각각에 대응되는 미리 정해진 서로 다른 n차원의 날씨 벡터가 저장되어 있는 날씨 벡터 저장부를 유지하는 단계, 미리 정해진 k(k는 2이상의 자연수)개의 커피 메뉴들에 대한 정보와 상기 k개의 커피 메뉴들 각각에 대응하는 미리 정해진 서로 다른 k차원의 원-핫(one-hot) 벡터가 저장되어 있는 커피 메뉴 저장부를 유지하는 단계, 미리 정해진 복수의 훈련 데이터 세트들 - 상기 복수의 훈련 데이터 세트들 각각은 상기 n가지 종류의 날씨 정보들 중에서 선택된 하나의 날씨 정보와 미리 정해진 서로 다른 n가지 종류의 기상 데이터들로 구성된 데이터 세트를 의미함 - 과 상기 복수의 훈련 데이터 세트들 각각에 대한 상기 k개의 커피 메뉴들과의 매칭 정보 - 상기 매칭 정보는 상기 복수의 훈련 데이터 세트들 각각에 대해, 상기 k개의 커피 메뉴들 중 매칭되는 것으로 사전 결정된 어느 하나의 커피 메뉴에 대한 정보를 의미함 - 가 저장되어 있는 훈련 세트 저장부를 유지하는 단계, 상기 훈련 세트 저장부를 참조하여 상기 복수의 훈련 데이터 세트들 중 어느 하나인 제1 훈련 데이터 세트를 확인한 후 상기 제1 훈련 데이터 세트에 포함된 제1 날씨 정보와 n가지 종류의 제1 기상 데이터들을 확인하고, 상기 날씨 벡터 저장부를 참조하여 상기 제1 날씨 정보에 대응하는 n차원의 제1 날씨 벡터를 생성함과 동시에 상기 n가지 종류의 제1 기상 데이터들을 성분으로 갖는 n차원의 제1 기상 벡터를 생성한 후 상기 n차원의 제1 날씨 벡터와 상기 n차원의 제1 기상 벡터 간의 아다마르 곱(Hadamard product)을 연산함으로써, n차원의 입력 벡터를 생성하는 단계, 상기 n차원의 입력 벡터에 대해 둘 이상의 가중치 행렬들을 곱하여 벡터 차원 변환을 수행함으로써, k차원의 출력 벡터를 생성하는 단계, 상기 k차원의 출력 벡터와 상기 k개의 커피 메뉴들 각각에 대한 k차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 스코어(score)를 생성하는 단계 및 상기 k개의 커피 메뉴들 각각에 대응하는 스코어를 미리 설정된 활성화 함수(Activation Function)에 입력으로 인가하여 확률 값으로 변환함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 확률 값을 생성하고, 상기 k개의 커피 메뉴들 중 상기 훈련 세트 저장부 상에서 상기 제1 훈련 데이터 세트에 매칭된 제1 커피 메뉴에 대응하는 확률 값이 최대가 되도록 상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습을 수행하는 단계를 포함한다.In addition, the operating method of the coffee menu recommendation device for performing coffee menu recommendation through a learning model based on weather and meteorological data according to an embodiment of the present invention is a predetermined number of different n (n is a natural number of 2 or more) types. Maintaining a weather vector storage unit in which a different n-dimensional weather vector corresponding to each of the weather information is stored, information on a predetermined k (k is a natural number of 2 or more) coffee menus, and the k coffees Maintaining a coffee menu storage unit in which a different k-dimensional one-hot vector corresponding to each of the menus is stored, a plurality of predetermined training data sets-the plurality of training data sets Each means a data set composed of one weather information selected from the n types of weather information and n types of weather data that are predetermined differently-and the k pieces for each of the plurality of training data sets. Matching information with coffee menus-The matching information means information on any one coffee menu predetermined to be matched among the k coffee menus for each of the plurality of training data sets-is stored Maintaining a training set storage unit in which there is a training set storage unit, after checking a first training data set that is one of the plurality of training data sets with reference to the training set storage unit, first weather information included in the first training data set and n Identify first types of weather data, generate an n-dimensional first weather vector corresponding to the first weather information by referring to the weather vector storage unit, and simultaneously use the n types of first weather data as components. Generating an n-dimensional input vector by calculating a Hadamard product between the n-dimensional first weather vector and the n-dimensional first weather vector after generating an n-dimensional first weather vector , By performing vector dimensional transformation by multiplying two or more weight matrices for the n-dimensional input vector, generating a k-dimensional output vector, a score corresponding to each of the k coffee menus by calculating a dot product between the k-dimensional output vector and the k-dimensional one-hot vector for each of the k coffee menus Probability corresponding to each of the k coffee menus by applying a score corresponding to each of the k coffee menus as an input to a preset activation function and converting it into a probability value. A machine for generating a value and determining the two or more weight matrices such that a probability value corresponding to a first coffee menu matched to the first training data set on the training set storage unit among the k coffee menus is maximized And performing learning.

본 발명에 따른 커피 메뉴 추천 장치 및 그 동작 방법은 날씨 정보와 기상 데이터에 따라 소정의 커피 메뉴를 추천할 수 있는 추천 모델을 기계학습을 기반으로 구축함으로써, 현재 시점에서의 날씨 정보와 기상 데이터를 기초로 상기 추천 모델을 통해 사용자에게 적절한 커피 메뉴를 추천할 수 있다.The coffee menu recommendation apparatus and its operation method according to the present invention construct a recommendation model capable of recommending a predetermined coffee menu according to the weather information and the weather data, based on machine learning, so that the weather information and the meteorological data at the current time point are stored. Based on the recommendation model, an appropriate coffee menu may be recommended to a user.

도 1은 본 발명의 일실시예에 따른 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치의 동작 방법을 도시한 순서도이다.
FIG. 1 is a diagram illustrating a structure of a coffee menu recommendation apparatus that recommends a coffee menu through a learning model based on weather and weather data according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating a method of operating a coffee menu recommendation apparatus for recommending a coffee menu through a learning model based on weather and meteorological data according to an embodiment of the present invention.

이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. This description is not intended to limit the present invention to a specific embodiment, it is to be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, similar reference numerals have been used for similar elements, and unless otherwise defined, all terms used in the present specification including technical or scientific terms refer to common knowledge in the technical field to which the present invention pertains. It has the same meaning as commonly understood by someone who has it.

본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.In this document, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless otherwise stated. In addition, in various embodiments of the present invention, each component, function blocks, or means may be composed of one or more sub-components, and the electrical, electronic, and mechanical functions performed by each component are electronic. A circuit, an integrated circuit, or an application specific integrated circuit (ASIC) may be implemented with various known devices or mechanical elements, and may be implemented separately or two or more may be integrated into one.

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks of the attached block diagram and the steps in the flowchart are computer program instructions that are mounted on a processor or memory of equipment capable of processing data such as a general-purpose computer, a special-purpose computer, a portable notebook computer, and a network computer to perform specified functions. It can be interpreted as meaning. Since these computer program instructions can be stored in a memory provided in a computer device or in a memory readable by a computer, the functions described in the blocks in the block diagram or in the steps in the flowchart are produced as a product containing the instruction means for performing this. It could be. In addition, each block or each step may represent a module, segment, or part of code containing one or more executable instructions for executing the specified logical function(s). In addition, it should be noted that in some alternative embodiments, functions mentioned in blocks or steps may be executed in a different order. For example, two blocks or steps shown in succession may be performed substantially simultaneously or may be performed in reverse order, and in some cases, some blocks or steps may be omitted.

도 1은 본 발명의 일실시예에 따른 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치의 구조를 도시한 도면이다.FIG. 1 is a diagram illustrating a structure of a coffee menu recommendation apparatus that recommends a coffee menu through a learning model based on weather and meteorological data according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 커피 메뉴 추천 장치(110)는 날씨 벡터 저장부(111), 커피 메뉴 저장부(112), 훈련 세트 저장부(113), 입력 벡터 생성부(114), 출력 벡터 생성부(115), 스코어 연산부(116) 및 학습 수행부(117)를 포함한다.Referring to FIG. 1, a coffee menu recommendation device 110 according to the present invention includes a weather vector storage unit 111, a coffee menu storage unit 112, a training set storage unit 113, an input vector generation unit 114, An output vector generation unit 115, a score calculation unit 116, and a learning execution unit 117 are included.

날씨 벡터 저장부(111)에는 미리 정해진 서로 다른 n(n은 2이상의 자연수)가지 종류의 날씨 정보들 각각에 대응되는 미리 정해진 서로 다른 n차원의 날씨 벡터가 저장되어 있다.The weather vector storage unit 111 stores n-dimensional weather vectors of different predetermined dimensions corresponding to each of n different types of weather information (n is a natural number of 2 or more).

여기서, 날씨 정보란 '맑음', '흐림', '비', '눈' 등과 같은 날씨와 관련된 정보를 의미하며, n을 4라고 하는 경우, 날씨 벡터 저장부(111)에는 하기의 표 1과 같이 정보가 저장되어 있을 수 있다.Here, the weather information refers to information related to the weather such as'clear','cloudy','rain','snow', etc., and when n is 4, the weather vector storage unit 111 includes Table 1 below. Information may be stored together.

날씨 정보Weather information 날씨 벡터Weather vector 맑음Sunny [2 3 4 5][2 3 4 5] 흐림blur [1 3 4 6][1 3 4 6] ratio [5 6 8 9][5 6 8 9] Eye [3 5 7 2][3 5 7 2]

커피 메뉴 저장부(112)에는 미리 정해진 k(k는 2이상의 자연수)개의 커피 메뉴들에 대한 정보와 상기 k개의 커피 메뉴들 각각에 대응하는 미리 정해진 서로 다른 k차원의 원-핫(one-hot) 벡터가 저장되어 있다.The coffee menu storage unit 112 includes information on k (k is a natural number of 2 or more) coffee menus determined in advance, and a one-hot one-hot of different k dimensions corresponding to each of the k coffee menus. ) The vector is stored.

예컨대, k를 5라고 하였을 때, 커피 메뉴 저장부(112)는 하기의 표 2와 같이 정보가 저장되어 있을 수 있다.For example, when k is 5, the coffee menu storage unit 112 may store information as shown in Table 2 below.

커피 메뉴Coffee menu 원-핫 벡터One-hot vector 아메리카노Americano [1 0 0 0 0][1 0 0 0 0] 카페라테Cafe latte [0 1 0 0 0][0 1 0 0 0] 모카커피Mocha Coffee [0 0 1 0 0][0 0 1 0 0] 마키아토Macchiato [0 0 0 1 0][0 0 0 1 0] 에스프레소Espresso [0 0 0 0 1][0 0 0 0 1]

훈련 세트 저장부(113)에는 미리 정해진 복수의 훈련 데이터 세트들과 상기 복수의 훈련 데이터 세트들 각각에 대한 상기 k개의 커피 메뉴들과의 매칭 정보가 저장되어 있다.The training set storage unit 113 stores a plurality of predetermined training data sets and matching information of the k coffee menus for each of the plurality of training data sets.

여기서, 상기 복수의 훈련 데이터 세트들 각각은 상기 n가지 종류의 날씨 정보들 중에서 선택된 하나의 날씨 정보와 미리 정해진 서로 다른 n가지 종류의 기상 데이터들로 구성된 데이터 세트를 의미하고, 상기 매칭 정보는 상기 복수의 훈련 데이터 세트들 각각에 대해, 상기 k개의 커피 메뉴들 중 매칭되는 것으로 사전 결정된 어느 하나의 커피 메뉴에 대한 정보를 의미한다.Here, each of the plurality of training data sets means a data set composed of one weather information selected from the n types of weather information and n types of different types of weather data, and the matching information is the For each of the plurality of training data sets, it means information on any one coffee menu that is predetermined to be matched among the k coffee menus.

그리고, n가지 종류의 기상 데이터들이란 '기온', '습도', '미세먼지 수치', '자외선 수치' 등과 같은 기상 데이터를 의미한다.In addition, n types of meteorological data means weather data such as'temperature','humidity','fine dust level', and'ultraviolet light level'.

관련해서, n을 4라고 하였을 때, 훈련 세트 저장부(113)에는 하기의 표 3과 같이 정보가 저장되어 있을 수 있다.Relatedly, when n is 4, information may be stored in the training set storage unit 113 as shown in Table 3 below.

훈련 데이터 세트Training data set 날씨 정보Weather information 4가지 종류의 기상 데이터들4 types of weather data 매칭되는 커피 메뉴Matching Coffee Menu 훈련 데이터 세트 1Training data set 1 맑음Sunny 기온: 30도
습도: 30%
미세먼지 수치: 30ug/m3
자외선 수치: 4
Temperature: 30 degrees
Humidity: 30%
Fine dust level: 30ug/m 3
UV level: 4
아메리카노Americano
훈련 데이터 세트 2Training data set 2 흐림blur 기온: 20도
습도: 60%
미세먼지 수치: 40ug/m3
자외선 수치: 3
Temperature: 20 degrees
Humidity: 60%
Fine dust level: 40ug/m 3
UV level: 3
카페라테Cafe latte
...... ...... ...... ......

상기 표 3과 같은 복수의 훈련 데이터 세트들에 대한 커피 메뉴들과의 매칭 정보는 기계학습을 수행하기 위해서 개발자에 의해 미리 선정된 결과로, 개발자는 특정 날씨 정보와 기상 데이터를 가질 때 사용자들이 선호하는 커피 메뉴를 미리 조사하여 각 훈련 데이터 세트에 매칭시키는 방식으로 훈련 세트 저장부(113)의 데이터들을 구성할 수 있다.Matching information with coffee menus for a plurality of training data sets as shown in Table 3 is a result previously selected by the developer to perform machine learning, and users prefer it when the developer has specific weather information and weather data. The data of the training set storage unit 113 may be configured in such a manner that the coffee menu is examined in advance and matched to each training data set.

입력 벡터 생성부(114)는 훈련 세트 저장부(113)를 참조하여 상기 복수의 훈련 데이터 세트들 중 어느 하나인 제1 훈련 데이터 세트를 확인한 후 상기 제1 훈련 데이터 세트에 포함된 제1 날씨 정보와 n가지 종류의 제1 기상 데이터들을 확인하고, 날씨 벡터 저장부(111)를 참조하여 상기 제1 날씨 정보에 대응하는 n차원의 제1 날씨 벡터를 생성함과 동시에 상기 n가지 종류의 제1 기상 데이터들을 성분으로 갖는 n차원의 제1 기상 벡터를 생성한 후 상기 n차원의 제1 날씨 벡터와 상기 n차원의 제1 기상 벡터 간의 아다마르 곱(Hadamard product)을 연산함으로써, n차원의 입력 벡터를 생성한다.The input vector generation unit 114 refers to the training set storage unit 113 to check the first training data set, which is one of the plurality of training data sets, and then checks the first weather information included in the first training data set. And n types of first weather data are checked, and n-dimensional first weather vectors corresponding to the first weather information are generated with reference to the weather vector storage unit 111, and the n types of first weather data are generated. An n-dimensional input by generating an n-dimensional first weather vector having weather data as a component and then calculating a Hadamard product between the n-dimensional first weather vector and the n-dimensional first weather vector. Create a vector.

여기서, 아다마르 곱이란 같은 크기의 벡터나 행렬에서 각 성분을 곱하는 연산을 의미한다. 예컨대, [a b c]라는 벡터와 [x y z]라는 벡터 간의 아다마르 곱은 [ax by cz]로 연산될 수 있다.Here, the Hadamard product refers to an operation that multiplies each component in a vector or matrix of the same size. For example, the Hadamard product between the vector [a b c] and the vector [x y z] may be calculated as [ax by cz].

관련해서, 상기 표 1, 2, 3과 같이 데이터가 구성되어 있다고 하고, 상기 제1 훈련 데이터 세트를 표 3에서의 '훈련 데이터 세트 1'이라고 하는 경우, 입력 벡터 생성부(114)는 '맑음'이라는 제1 날씨 정보에 대응하는 4차원의 제1 날씨 벡터로 '[2 3 4 5]'를 생성함과 동시에 '기온: 30도, 습도: 30%, 미세먼지 수치: 30ug/m3, 자외선 수치: 4'라는 제1 기상 데이터들을 성분으로 갖는 4차원의 제1 기상 벡터로 '[30 30 30 4]'를 생성한 후 상기 제1 날씨 벡터와 상기 제1 기상 벡터 간의 아다마르 곱을 연산함으로써, '[60 90 120 20]'이라고 하는 4차원의 입력 벡터를 생성할 수 있다.Relatedly, if the data are configured as shown in Tables 1, 2, and 3, and the first training data set is referred to as'training data set 1'in Table 3, the input vector generator 114 is'clear. '[2 3 4 5]' was created as a first four-dimensional weather vector corresponding to the first weather information, and at the same time,'temperature: 30 degrees, humidity: 30%, fine dust value: 30 ug/m 3 , Ultraviolet value: After generating'[30 30 30 4]' as a four-dimensional first meteorological vector having first weather data of 4'as a component, the Hadamard product between the first weather vector and the first weather vector is calculated. By doing so, a four-dimensional input vector called'[60 90 120 20]' can be generated.

출력 벡터 생성부(115)는 상기 n차원의 입력 벡터에 대해 둘 이상의 가중치 행렬들을 곱하여 벡터 차원 변환을 수행함으로써, k차원의 출력 벡터를 생성한다.The output vector generator 115 generates a k-dimensional output vector by multiplying the n-dimensional input vector by two or more weight matrices to perform vector dimensional transformation.

이때, 상기 둘 이상의 가중치 행렬들은 모두 랜덤한 성분들로 구성된 행렬일 수 있다. 상기 둘 이상의 가중치 행렬들의 성분은 후술할 본 발명에 따른 기계학습을 통해 적절한 값으로 조정되게 된다.In this case, the two or more weight matrices may all be matrices composed of random components. Components of the two or more weight matrices are adjusted to appropriate values through machine learning according to the present invention, which will be described later.

스코어 연산부(116)는 상기 k차원의 출력 벡터와 상기 k개의 커피 메뉴들 각각에 대한 k차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 스코어(score)를 생성한다.The score calculation unit 116 calculates a dot product between the k-dimensional output vector and the k-dimensional one-hot vector for each of the k coffee menus, thereby calculating a score corresponding to each of the k coffee menus. Generate.

예컨대, 전술한 예와 같이 k를 5라고 하는 경우, 스코어 연산부(116)는 5차원의 출력 벡터와 상기 표 2와 같은 5개의 커피 메뉴들 각각에 대한 5차원의 윈-핫 벡터 간의 내적을 연산함으로써, 5개의 커피 메뉴들 각각에 대응하는 스코어를 생성할 수 있다.For example, if k is 5 as in the above example, the score calculator 116 calculates the dot product between the 5-dimensional output vector and the 5-dimensional win-hot vector for each of the five coffee menus shown in Table 2 above. By doing so, it is possible to generate a score corresponding to each of the five coffee menus.

학습 수행부(117)는 상기 k개의 커피 메뉴들 각각에 대응하는 스코어를 미리 설정된 활성화 함수(Activation Function)에 입력으로 인가하여 확률 값으로 변환함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 확률 값을 생성하고, 상기 k개의 커피 메뉴들 중 훈련 세트 저장부(113) 상에서 상기 제1 훈련 데이터 세트에 매칭된 제1 커피 메뉴에 대응하는 확률 값이 최대가 되도록 상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습을 수행한다.The learning execution unit 117 applies a score corresponding to each of the k coffee menus as an input to a preset activation function and converts it into a probability value, thereby providing a probability value corresponding to each of the k coffee menus. And determining the two or more weight matrices so that a probability value corresponding to the first coffee menu matched to the first training data set on the training set storage unit 113 among the k coffee menus is maximized. Perform machine learning.

이때, 본 발명의 일실시예에 따르면, 상기 활성화 함수는 입력 값을 0~1 사이의 확률 값으로 출력하는 소프트맥스(softmax) 함수일 수 있다.In this case, according to an embodiment of the present invention, the activation function may be a softmax function that outputs an input value as a probability value between 0 and 1.

예컨대, 전술한 예시와 같이, 상기 제1 훈련 데이터 세트가 '훈련 데이터 세트 1'이라고 하고, 스코어 연산부(116)에서 5개의 커피 메뉴들 각각에 대응하는 스코어가 생성되었다고 하는 경우, 학습 수행부(117)는 5개의 커피 메뉴들 각각에 대응하는 스코어를 소프트맥스 함수에 입력으로 인가하여 5개의 커피 메뉴들 각각에 대응하는 0~1 사이의 확률 값을 생성할 수 있다.For example, as in the above example, when the first training data set is referred to as'training data set 1'and the score calculation unit 116 generates scores corresponding to each of the five coffee menus, the learning execution unit ( 117) may generate a probability value between 0 and 1 corresponding to each of the five coffee menus by applying a score corresponding to each of the five coffee menus as an input to the softmax function.

그러고 나서, 학습 수행부(117)는 5개의 커피 메뉴들 각각에 대응하는 확률 값 중 '훈련 데이터 세트 1'에 매칭된 커피 메뉴인 '아메리카노'에 대응하는 확률 값이 최대가 되도록 상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습을 수행할 수 있다.Then, the learning execution unit 117 is the two or more weights so that the probability value corresponding to the coffee menu'Americano' matched to the'training data set 1'among the probability values corresponding to each of the five coffee menus is maximized. Machine learning can be performed to determine matrices.

이때, 학습 수행부(117)는 확률 값에 기초하여 역전파(Backpropagation) 처리를 수행함으로써, 상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습을 수행할 수 있다.In this case, the learning performing unit 117 may perform machine learning to determine the two or more weight matrices by performing backpropagation processing based on a probability value.

본 발명의 일실시예에 따르면, 커피 메뉴 추천 장치(110)는 반복 수행 제어부(118)를 더 포함할 수 있다.According to an embodiment of the present invention, the coffee menu recommendation device 110 may further include a repeat execution control unit 118.

반복 수행 제어부(118)는 상기 복수의 훈련 데이터 세트들 전체에 대해 상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습 과정의 반복 수행을 제어함으로써, 상기 둘 이상의 가중치 행렬들을 정교하게 결정할 수 있다.The iterative performance control unit 118 may elaborately determine the two or more weight matrices by controlling the repetition of the machine learning process for determining the two or more weight matrices for all of the plurality of training data sets.

본 발명의 일실시예에 따르면, 커피 메뉴 추천 장치(110)는 데이터 확인부(119), 추천용 입력 벡터 생성부(120), 추천용 출력 벡터 생성부(121), 추천용 스코어 연산부(122), 추천 커피 메뉴 선정부(123) 및 추천 커피 메뉴 전송부(124)를 더 포함할 수 있다.According to an embodiment of the present invention, the coffee menu recommendation device 110 includes a data confirmation unit 119, a recommendation input vector generation unit 120, a recommendation output vector generation unit 121, and a recommendation score calculation unit 122. ), a recommended coffee menu selection unit 123 and a recommended coffee menu transmission unit 124 may be further included.

데이터 확인부(119)는 상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습이 완료된 이후, 사용자 단말(100)로부터 상기 k개의 커피 메뉴들 중 어느 하나의 커피 메뉴에 대한 추천 요청 신호가 수신되면, 사전 지정된 기상 데이터 서버에 접속하여 현재 시점에 대한 제2 날씨 정보와 현재 시점에서의 n가지 종류의 제2 기상 데이터들을 확인한다.After the machine learning for determining the two or more weight matrices is completed, the data verification unit 119 receives a recommendation request signal for any one of the k coffee menus from the user terminal 100, in advance By accessing the designated weather data server, second weather information for the current time point and n types of second weather data at the current time point are checked.

추천용 입력 벡터 생성부(120)는 날씨 벡터 저장부(111)를 참조하여 상기 제2 날씨 정보에 대응하는 n차원의 제2 날씨 벡터를 생성함과 동시에 상기 n가지 종류의 제2 기상 데이터들을 성분으로 갖는 n차원의 제2 기상 벡터를 생성한 후 상기 n차원의 제2 날씨 벡터와 상기 n차원의 제2 기상 벡터 간의 아다마르 곱을 연산함으로써, n차원의 추천용 입력 벡터를 생성한다.The recommendation input vector generation unit 120 generates an n-dimensional second weather vector corresponding to the second weather information by referring to the weather vector storage unit 111 and simultaneously stores the n types of second weather data. An n-dimensional recommendation input vector is generated by generating an n-dimensional second weather vector as a component and then calculating a Hadamard product between the n-dimensional second weather vector and the n-dimensional second weather vector.

추천용 출력 벡터 생성부(121)는 상기 n차원의 추천용 입력 벡터에 대해 기계학습이 완료된 상기 둘 이상의 가중치 행렬들을 곱하여 벡터 차원 변환을 수행함으로써, k차원의 추천용 출력 벡터를 생성한다.The recommendation output vector generation unit 121 generates a k-dimensional recommendation output vector by multiplying the n-dimensional recommendation input vector by the two or more weight matrices completed with machine learning to perform vector dimensional transformation.

추천용 스코어 연산부(122)는 상기 k차원의 추천용 출력 벡터와 상기 k개의 커피 메뉴들 각각에 대한 k차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 추천용 스코어를 생성한다.The recommendation score calculator 122 calculates a dot product between the k-dimensional recommendation output vector and the k-dimensional one-hot vector for each of the k coffee menus, thereby recommending a recommendation corresponding to each of the k coffee menus. Create a dragon score.

추천 커피 메뉴 선정부(123)는 상기 k개의 커피 메뉴들 각각에 대응하는 추천용 스코어를 상기 활성화 함수에 입력으로 인가하여 확률 값으로 변환함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 추천용 확률 값을 생성하고, 상기 k개의 커피 메뉴들 중 상기 추천용 확률 값이 최대인 커피 메뉴를 사용자 단말(100)로 전송할 추천 커피 메뉴로 선정한다.The recommended coffee menu selection unit 123 applies a recommendation score corresponding to each of the k coffee menus as an input to the activation function and converts it into a probability value, so that the recommendation probability corresponding to each of the k coffee menus A value is generated, and a coffee menu having the highest recommendation probability value among the k coffee menus is selected as a recommended coffee menu to be transmitted to the user terminal 100.

추천 커피 메뉴 전송부(124)는 상기 추천 커피 메뉴에 대한 정보를 사용자 단말(100)로 전송한다.The recommended coffee menu transmission unit 124 transmits information on the recommended coffee menu to the user terminal 100.

즉, 본 발명에 따른 커피 메뉴 추천 장치(110)는 상기 둘 이상의 가중치 행렬들에 대한 기계학습이 완료된 이후, 사용자 단말(100)로부터 커피 메뉴에 대한 추천 요청이 수신되면, 현재 시점에서의 날씨 정보와 기상 데이터를 획득하여 소정의 입력 벡터를 만든 후 상기 입력 벡터를 상기 둘 이상의 가중치 행렬들로 구성되는 히든층에 인가해서 출력 벡터를 생성하고, 상기 출력 벡터와 커피 메뉴들에 대한 원-핫 벡터 간의 내적을 연산함으로써, 각 커피 메뉴에 대한 스코어를 연산한 후 스코어를 기초로 각 커피 메뉴에 대해서 연산되는 확률 값이 최대인 커피 메뉴를 사용자에게 추천할 커피 메뉴로 결정할 수 있다.That is, when the coffee menu recommendation device 110 according to the present invention receives a recommendation request for a coffee menu from the user terminal 100 after machine learning for the two or more weight matrices is completed, weather information at the current time point is received. And weather data to obtain a predetermined input vector, and then apply the input vector to a hidden layer composed of the two or more weight matrices to generate an output vector, and a one-hot vector for the output vector and coffee menus By calculating the inner product of the liver, after calculating a score for each coffee menu, a coffee menu having a maximum probability value calculated for each coffee menu based on the score may be determined as a coffee menu to be recommended to the user.

이때, 본 발명의 일실시예에 따르면, 커피 메뉴 추천 장치(110)는 인증된 사용자만이 본 발명에 따른 커피 메뉴 추천 서비스를 이용할 수 있도록 하기 위한 구성을 더 포함할 수 있다. 관련해서, 본 발명의 일실시예에 따르면, 데이터 확인부(119)는 유클리드 거리 저장부(125), 요청부(126), 인증부(127) 및 확인부(128)를 포함할 수 있다.In this case, according to an embodiment of the present invention, the coffee menu recommendation device 110 may further include a configuration for allowing only an authenticated user to use the coffee menu recommendation service according to the present invention. In relation to this, according to an embodiment of the present invention, the data verification unit 119 may include a Euclidean distance storage unit 125, a request unit 126, an authentication unit 127, and a verification unit 128.

유클리드 거리 저장부(125)에는 사용자 인증에 사용하기 위한 기설정된 유클리드 거리(Euclidean Distance)에 대한 정보가 저장되어 있다.The Euclidean distance storage unit 125 stores information on a preset Euclidean distance for use in user authentication.

여기서, 유클리드 거리란 두 개의 벡터가 존재한다고 하였을 때, 두 벡터 간의 거리를 의미하는 것으로 하기의 수학식 1에 따라 연산될 수 있다.Here, the Euclidean distance means a distance between the two vectors when two vectors are present, and can be calculated according to Equation 1 below.

Figure pat00001
Figure pat00001

상기 수학식 1에서 D는 유클리드 거리, Ai와 Bi는 두 벡터에 포함되어 있는 i번째 성분들을 의미한다. 보통, 두 벡터 간의 유클리드 거리가 작을수록 두 벡터는 유사한 벡터라고 볼 수 있고, 두 벡터 간의 유클리드 거리가 클수록 두 벡터는 비유사한 벡터라고 볼 수 있다.In Equation 1, D denotes the Euclidean distance, and A i and B i denote the i-th components included in the two vectors. Generally, as the Euclidean distance between two vectors is smaller, the two vectors can be regarded as similar vectors, and as the Euclidean distance between two vectors is larger, the two vectors can be considered to be dissimilar vectors.

요청부(126)는 사용자 단말(100)로부터 상기 커피 메뉴에 대한 추천 요청 신호가 수신되면, 랜덤 벡터를 랜덤하게 생성하고, 상기 랜덤 벡터를 사용자 단말(100)로 전송하면서, 사용자 단말(100)로 상기 랜덤 벡터에 대응되는 피드백 벡터의 전송을 요청한다.When a recommendation request signal for the coffee menu is received from the user terminal 100, the request unit 126 randomly generates a random vector and transmits the random vector to the user terminal 100, while the user terminal 100 Request to transmit a feedback vector corresponding to the random vector.

이때, 사용자 단말(100)은 메모리 상에 상기 기설정된 유클리드 거리를 저장하고 있으며, 커피 메뉴 추천 장치(110)로부터 상기 랜덤 벡터가 수신되면, 상기 랜덤 벡터와의 유클리드 거리가 상기 메모리 상에 저장되어 있는 상기 기설정된 유클리드 거리로 연산되는 제1 피드백 벡터를 랜덤하게 생성하여 커피 메뉴 추천 장치(110)로 전송할 수 있다.At this time, the user terminal 100 stores the preset Euclidean distance in a memory, and when the random vector is received from the coffee menu recommendation device 110, the Euclidean distance with the random vector is stored in the memory. A first feedback vector calculated with the preset Euclidean distance may be randomly generated and transmitted to the coffee menu recommendation device 110.

인증부(127)는 사용자 단말(100)로부터 상기 랜덤 벡터에 대응되는 피드백 벡터로 상기 제1 피드백 벡터가 수신되면, 상기 제1 피드백 벡터와 상기 랜덤 벡터 간의 제1 유클리드 거리를 연산하고, 상기 제1 유클리드 거리가 상기 기설정된 유클리드 거리와 동일한지 확인함으로써, 사용자 단말(100)에 대한 인증을 수행한다.When the first feedback vector is received from the user terminal 100 as a feedback vector corresponding to the random vector, the authentication unit 127 calculates a first Euclidean distance between the first feedback vector and the random vector, and 1 By checking whether the Euclidean distance is the same as the preset Euclidean distance, authentication of the user terminal 100 is performed.

즉, 상기 제1 유클리드 거리가 상기 기설정된 유클리드 거리와 동일한 것으로 확인되었다는 것은 사용자 단말(100)이 상기 기설정된 유클리드 거리를 사전에 공유하고 있는 인증된 사용자 단말이 맞는 것으로 볼 수 있기 때문에 인증부(127)는 두 유클리드 거리가 서로 일치하는 것으로 확인되면, 사용자 단말(100)에 대한 인증을 수행할 수 있다.That is, the fact that the first Euclidean distance is confirmed to be the same as the preset Euclidean distance means that the user terminal 100 can see that the authenticated user terminal that shares the preset Euclidean distance in advance is correct. If it is determined that the two Euclidean distances coincide with each other, 127 may perform authentication for the user terminal 100.

확인부(128)는 사용자 단말(100)에 대한 인증이 완료되면, 상기 기상 데이터 서버에 접속하여 상기 제2 날씨 정보와 상기 n가지 종류의 제2 기상 데이터들을 확인한다.When the authentication for the user terminal 100 is completed, the verification unit 128 accesses the weather data server to check the second weather information and the n types of second weather data.

도 2는 본 발명의 일실시예에 따른 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치의 동작 방법을 도시한 순서도이다.FIG. 2 is a flowchart illustrating a method of operating a coffee menu recommendation apparatus for recommending a coffee menu through a learning model based on weather and meteorological data according to an embodiment of the present invention.

단계(S210)에서는 미리 정해진 서로 다른 n(n은 2이상의 자연수)가지 종류의 날씨 정보들 각각에 대응되는 미리 정해진 서로 다른 n차원의 날씨 벡터가 저장되어 있는 날씨 벡터 저장부를 유지한다.In step S210, a weather vector storage unit in which different n-dimensional weather vectors are stored corresponding to each of n different types of weather information (n is a natural number of 2 or more) is stored.

단계(S220)에서는 미리 정해진 k(k는 2이상의 자연수)개의 커피 메뉴들에 대한 정보와 상기 k개의 커피 메뉴들 각각에 대응하는 미리 정해진 서로 다른 k차원의 원-핫 벡터가 저장되어 있는 커피 메뉴 저장부를 유지한다.In step S220, a coffee menu in which information on k (k is a natural number greater than or equal to 2) coffee menus determined in advance and a one-hot vector of k-dimensions of different predetermined dimensions corresponding to each of the k coffee menus are stored. Maintain storage.

단계(S230)에서는 미리 정해진 복수의 훈련 데이터 세트들(상기 복수의 훈련 데이터 세트들 각각은 상기 n가지 종류의 날씨 정보들 중에서 선택된 하나의 날씨 정보와 미리 정해진 서로 다른 n가지 종류의 기상 데이터들로 구성된 데이터 세트를 의미함)과 상기 복수의 훈련 데이터 세트들 각각에 대한 상기 k개의 커피 메뉴들과의 매칭 정보(상기 매칭 정보는 상기 복수의 훈련 데이터 세트들 각각에 대해, 상기 k개의 커피 메뉴들 중 매칭되는 것으로 사전 결정된 어느 하나의 커피 메뉴에 대한 정보를 의미함)가 저장되어 있는 훈련 세트 저장부를 유지한다.In step S230, a plurality of predetermined training data sets (each of the plurality of training data sets is one weather information selected from the n types of weather information and n types of different types of weather data. (Meaning a configured data set) and matching information of the k coffee menus for each of the plurality of training data sets (the matching information is the k coffee menus for each of the plurality of training data sets) It maintains a training set storage unit in which information on any one coffee menu predetermined to be matched is stored.

단계(S240)에서는 상기 훈련 세트 저장부를 참조하여 상기 복수의 훈련 데이터 세트들 중 어느 하나인 제1 훈련 데이터 세트를 확인한 후 상기 제1 훈련 데이터 세트에 포함된 제1 날씨 정보와 n가지 종류의 제1 기상 데이터들을 확인하고, 상기 날씨 벡터 저장부를 참조하여 상기 제1 날씨 정보에 대응하는 n차원의 제1 날씨 벡터를 생성함과 동시에 상기 n가지 종류의 제1 기상 데이터들을 성분으로 갖는 n차원의 제1 기상 벡터를 생성한 후 상기 n차원의 제1 날씨 벡터와 상기 n차원의 제1 기상 벡터 간의 아다마르 곱을 연산함으로써, n차원의 입력 벡터를 생성한다.In step S240, after checking the first training data set, which is one of the plurality of training data sets, referring to the training set storage unit, first weather information and n types of first weather information included in the first training data set are checked. 1 Checking the weather data, generating an n-dimensional first weather vector corresponding to the first weather information by referring to the weather vector storage unit, and at the same time, an n-dimensional having the n types of first weather data as components. After generating a first weather vector, an n-dimensional input vector is generated by calculating a Hadamard product between the n-dimensional first weather vector and the n-dimensional first weather vector.

단계(S250)에서는 상기 n차원의 입력 벡터에 대해 둘 이상의 가중치 행렬들을 곱하여 벡터 차원 변환을 수행함으로써, k차원의 출력 벡터를 생성한다.In step S250, a k-dimensional output vector is generated by performing vector dimensional transformation by multiplying the n-dimensional input vector by two or more weight matrices.

단계(S260)에서는 상기 k차원의 출력 벡터와 상기 k개의 커피 메뉴들 각각에 대한 k차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 스코어를 생성한다.In step S260, a score corresponding to each of the k coffee menus is generated by calculating the dot product between the k-dimensional output vector and the k-dimensional one-hot vector for each of the k coffee menus.

단계(S270)에서는 상기 k개의 커피 메뉴들 각각에 대응하는 스코어를 미리 설정된 활성화 함수에 입력으로 인가하여 확률 값으로 변환함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 확률 값을 생성하고, 상기 k개의 커피 메뉴들 중 상기 훈련 세트 저장부 상에서 상기 제1 훈련 데이터 세트에 매칭된 제1 커피 메뉴에 대응하는 확률 값이 최대가 되도록 상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습을 수행한다.In step S270, a score corresponding to each of the k coffee menus is applied as an input to a preset activation function and converted into a probability value, thereby generating a probability value corresponding to each of the k coffee menus, and the k Machine learning is performed to determine the two or more weight matrices so that a probability value corresponding to the first coffee menu matched with the first training data set is maximized on the training set storage unit among the coffee menus.

이때, 본 발명의 일실시예에 따르면, 상기 활성화 함수는 입력 값을 0~1 사이의 확률 값으로 출력하는 소프트맥스 함수일 수 있다.In this case, according to an embodiment of the present invention, the activation function may be a softmax function that outputs an input value as a probability value between 0 and 1.

또한, 본 발명의 일실시예에 따르면, 상기 커피 메뉴 추천 장치의 동작 방법은 상기 복수의 훈련 데이터 세트들 전체에 대해 상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습 과정의 반복 수행을 제어하는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, the method of operating the coffee menu recommendation apparatus includes controlling the iterative execution of a machine learning process for determining the two or more weight matrices for all of the plurality of training data sets. It may contain more.

이때, 본 발명의 일실시예에 따르면, 상기 커피 메뉴 추천 장치의 동작 방법은 상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습이 완료된 이후, 사용자 단말로부터 상기 k개의 커피 메뉴들 중 어느 하나의 커피 메뉴에 대한 추천 요청 신호가 수신되면, 사전 지정된 기상 데이터 서버에 접속하여 현재 시점에 대한 제2 날씨 정보와 현재 시점에서의 n가지 종류의 제2 기상 데이터들을 확인하는 단계, 상기 날씨 벡터 저장부를 참조하여 상기 제2 날씨 정보에 대응하는 n차원의 제2 날씨 벡터를 생성함과 동시에 상기 n가지 종류의 제2 기상 데이터들을 성분으로 갖는 n차원의 제2 기상 벡터를 생성한 후 상기 n차원의 제2 날씨 벡터와 상기 n차원의 제2 기상 벡터 간의 아다마르 곱을 연산함으로써, n차원의 추천용 입력 벡터를 생성하는 단계, 상기 n차원의 추천용 입력 벡터에 대해 기계학습이 완료된 상기 둘 이상의 가중치 행렬들을 곱하여 벡터 차원 변환을 수행함으로써, k차원의 추천용 출력 벡터를 생성하는 단계, 상기 k차원의 추천용 출력 벡터와 상기 k개의 커피 메뉴들 각각에 대한 k차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 추천용 스코어를 생성하는 단계, 상기 k개의 커피 메뉴들 각각에 대응하는 추천용 스코어를 상기 활성화 함수에 입력으로 인가하여 확률 값으로 변환함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 추천용 확률 값을 생성하고, 상기 k개의 커피 메뉴들 중 상기 추천용 확률 값이 최대인 커피 메뉴를 상기 사용자 단말로 전송할 추천 커피 메뉴로 선정하는 단계 및 상기 추천 커피 메뉴에 대한 정보를 상기 사용자 단말로 전송하는 단계를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, after the machine learning for determining the two or more weight matrices is completed, the coffee menu of any one of the k coffee menus is obtained from the user terminal. When a recommendation request signal for is received, accessing a pre-designated weather data server to check second weather information for the current time and n types of second weather data at the current time, referring to the weather vector storage unit After generating an n-dimensional second weather vector corresponding to the second weather information and generating an n-dimensional second weather vector having the n types of second weather data as components, the n-dimensional second weather vector is generated. Generating an n-dimensional recommendation input vector by calculating a Hadamard product between the weather vector and the n-dimensional second weather vector, and calculating the two or more weight matrices for which machine learning has been completed for the n-dimensional recommendation input vector. Generating a k-dimensional recommendation output vector by multiplying and performing vector dimensional transformation, by calculating the dot product between the k-dimensional recommendation output vector and the k-dimensional one-hot vector for each of the k coffee menus , Generating a recommendation score corresponding to each of the k coffee menus, applying a recommendation score corresponding to each of the k coffee menus as an input to the activation function and converting it into a probability value, Generating a recommendation probability value corresponding to each of the coffee menus, selecting a coffee menu having the highest recommendation probability value among the k coffee menus as a recommended coffee menu to be transmitted to the user terminal, and the recommended coffee menu It may further include transmitting information on the user terminal.

이때, 본 발명의 일실시예에 따르면, 상기 제2 기상 데이터들을 확인하는 단계는 사용자 인증에 사용하기 위한 기설정된 유클리드 거리에 대한 정보가 저장되어 있는 유클리드 거리 저장부를 유지하는 단계, 상기 사용자 단말로부터 상기 커피 메뉴에 대한 추천 요청 신호가 수신되면, 랜덤 벡터를 랜덤하게 생성하고, 상기 랜덤 벡터를 상기 사용자 단말로 전송하면서, 상기 사용자 단말로 상기 랜덤 벡터에 대응되는 피드백 벡터의 전송을 요청하는 단계, 상기 사용자 단말로부터 상기 랜덤 벡터에 대응되는 피드백 벡터로 제1 피드백 벡터(상기 제1 피드백 벡터는 상기 랜덤 벡터와의 유클리드 거리가 상기 사용자 단말에 기 저장되어 있는 상기 기설정된 유클리드 거리로 연산되도록 생성된 벡터임)가 수신되면, 상기 제1 피드백 벡터와 상기 랜덤 벡터 간의 제1 유클리드 거리를 연산하고, 상기 제1 유클리드 거리가 상기 기설정된 유클리드 거리와 동일한지 확인함으로써, 상기 사용자 단말에 대한 인증을 수행하는 단계 및 상기 사용자 단말에 대한 인증이 완료되면, 상기 기상 데이터 서버에 접속하여 상기 제2 날씨 정보와 상기 n가지 종류의 제2 기상 데이터들을 확인하는 단계를 포함할 수 있다.At this time, according to an embodiment of the present invention, the step of checking the second weather data includes maintaining a Euclidean distance storage unit in which information on a preset Euclidean distance for use in user authentication is stored, from the user terminal. When a recommendation request signal for the coffee menu is received, randomly generating a random vector, transmitting the random vector to the user terminal, and requesting transmission of a feedback vector corresponding to the random vector to the user terminal, A first feedback vector from the user terminal as a feedback vector corresponding to the random vector (the first feedback vector is generated so that the Euclidean distance from the random vector is calculated as the preset Euclidean distance previously stored in the user terminal. Vector) is received, the user terminal is authenticated by calculating a first Euclidean distance between the first feedback vector and the random vector, and checking whether the first Euclidean distance is the same as the preset Euclidean distance. And confirming the second weather information and the n types of second weather data by accessing the weather data server when authentication for the user terminal is completed.

이때, 상기 사용자 단말은 메모리 상에 상기 기설정된 유클리드 거리를 저장하고 있으며, 상기 커피 메뉴 추천 장치로부터 상기 랜덤 벡터가 수신되면, 상기 랜덤 벡터와의 유클리드 거리가 상기 메모리 상에 저장되어 있는 상기 기설정된 유클리드 거리로 연산되는 상기 제1 피드백 벡터를 랜덤하게 생성하여 상기 커피 메뉴 추천 장치로 전송할 수 있다.In this case, the user terminal stores the preset Euclidean distance in a memory, and when the random vector is received from the coffee menu recommendation device, the Euclidean distance with the random vector is stored in the memory. The first feedback vector calculated by the Euclidean distance may be randomly generated and transmitted to the coffee menu recommendation device.

이상, 도 2를 참조하여 본 발명의 일실시예에 따른 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치의 동작 방법은 도 1을 이용하여 설명한 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, a method of operating a coffee menu recommendation apparatus for recommending a coffee menu through a learning model based on weather and meteorological data according to an embodiment of the present invention has been described with reference to FIG. 2. Here, the operating method of the coffee menu recommendation apparatus for performing a coffee menu recommendation through a learning model based on weather and meteorological data according to an embodiment of the present invention uses a learning model based on weather and meteorological data described with reference to FIG. 1. Since it may correspond to the configuration of the operation of the coffee menu recommendation device 110 that recommends a coffee menu through, a more detailed description thereof will be omitted.

본 발명의 일실시예에 따른 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The operating method of the coffee menu recommendation device for performing coffee menu recommendation through a learning model based on weather and meteorological data according to an embodiment of the present invention is implemented as a computer program stored in a storage medium for execution through a combination with a computer. Can be.

또한, 본 발명의 일실시예에 따른 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, the operating method of the coffee menu recommendation device for recommending a coffee menu through a learning model based on weather and meteorological data according to an embodiment of the present invention is implemented in the form of program commands that can be executed through various computer means. It can be recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded in the medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, in the present invention, specific matters such as specific components, etc., and limited embodiments and drawings have been described, but this is provided only to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , If a person of ordinary skill in the field to which the present invention belongs, various modifications and variations are possible from these descriptions.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention is limited to the described embodiments and should not be defined, and all things that are equivalent or equivalent to the claims as well as the claims to be described later fall within the scope of the spirit of the present invention. .

110: 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치
111: 날씨 벡터 저장부 112: 커피 메뉴 저장부
113: 훈련 세트 저장부 114: 입력 벡터 생성부
115: 출력 벡터 생성부 116: 스코어 연산부
117: 학습 수행부 118: 반복 수행 제어부
119: 데이터 확인부 120: 추천용 입력 벡터 생성부
121: 추천용 출력 벡터 생성부 122: 추천용 스코어 연산부
123: 추천 커피 메뉴 선정부 124: 추천 커피 메뉴 전송부
125: 유클리드 거리 저장부 126: 요청부
127: 인증부 128: 확인부
100: 사용자 단말
110: A coffee menu recommendation device that recommends a coffee menu through a learning model based on weather and meteorological data
111: weather vector storage unit 112: coffee menu storage unit
113: training set storage unit 114: input vector generation unit
115: output vector generation unit 116: score calculation unit
117: learning execution unit 118: iterative execution control unit
119: data verification unit 120: recommendation input vector generation unit
121: recommendation output vector generation unit 122: recommendation score calculation unit
123: recommended coffee menu selection unit 124: recommended coffee menu transmission unit
125: Euclid street storage unit 126: Request unit
127: authentication unit 128: confirmation unit
100: user terminal

Claims (12)

미리 정해진 서로 다른 n(n은 2이상의 자연수)가지 종류의 날씨 정보들 각각에 대응되는 미리 정해진 서로 다른 n차원의 날씨 벡터가 저장되어 있는 날씨 벡터 저장부;
미리 정해진 k(k는 2이상의 자연수)개의 커피 메뉴들에 대한 정보와 상기 k개의 커피 메뉴들 각각에 대응하는 미리 정해진 서로 다른 k차원의 원-핫(one-hot) 벡터가 저장되어 있는 커피 메뉴 저장부;
미리 정해진 복수의 훈련 데이터 세트들 - 상기 복수의 훈련 데이터 세트들 각각은 상기 n가지 종류의 날씨 정보들 중에서 선택된 하나의 날씨 정보와 미리 정해진 서로 다른 n가지 종류의 기상 데이터들로 구성된 데이터 세트를 의미함 - 과 상기 복수의 훈련 데이터 세트들 각각에 대한 상기 k개의 커피 메뉴들과의 매칭 정보 - 상기 매칭 정보는 상기 복수의 훈련 데이터 세트들 각각에 대해, 상기 k개의 커피 메뉴들 중 매칭되는 것으로 사전 결정된 어느 하나의 커피 메뉴에 대한 정보를 의미함 - 가 저장되어 있는 훈련 세트 저장부;
상기 훈련 세트 저장부를 참조하여 상기 복수의 훈련 데이터 세트들 중 어느 하나인 제1 훈련 데이터 세트를 확인한 후 상기 제1 훈련 데이터 세트에 포함된 제1 날씨 정보와 n가지 종류의 제1 기상 데이터들을 확인하고, 상기 날씨 벡터 저장부를 참조하여 상기 제1 날씨 정보에 대응하는 n차원의 제1 날씨 벡터를 생성함과 동시에 상기 n가지 종류의 제1 기상 데이터들을 성분으로 갖는 n차원의 제1 기상 벡터를 생성한 후 상기 n차원의 제1 날씨 벡터와 상기 n차원의 제1 기상 벡터 간의 아다마르 곱(Hadamard product)을 연산함으로써, n차원의 입력 벡터를 생성하는 입력 벡터 생성부;
상기 n차원의 입력 벡터에 대해 둘 이상의 가중치 행렬들을 곱하여 벡터 차원 변환을 수행함으로써, k차원의 출력 벡터를 생성하는 출력 벡터 생성부;
상기 k차원의 출력 벡터와 상기 k개의 커피 메뉴들 각각에 대한 k차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 스코어(score)를 생성하는 스코어 연산부; 및
상기 k개의 커피 메뉴들 각각에 대응하는 스코어를 미리 설정된 활성화 함수(Activation Function)에 입력으로 인가하여 확률 값으로 변환함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 확률 값을 생성하고, 상기 k개의 커피 메뉴들 중 상기 훈련 세트 저장부 상에서 상기 제1 훈련 데이터 세트에 매칭된 제1 커피 메뉴에 대응하는 확률 값이 최대가 되도록 상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습을 수행하는 학습 수행부
를 포함하는 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치.
A weather vector storage unit in which different n-dimensional weather vectors of different predetermined dimensions corresponding to each of n different types of weather information (n is a natural number of 2 or more) are stored;
A coffee menu in which information on a predetermined k (k is a natural number of 2 or more) coffee menus and a predetermined k-dimensional one-hot vector corresponding to each of the k coffee menus are stored Storage;
A plurality of predetermined training data sets-Each of the plurality of training data sets refers to a data set composed of one weather information selected from the n types of weather information and n types of different types of weather data. -And matching information of the k coffee menus for each of the plurality of training data sets-the matching information is dictionary as being matched among the k coffee menus for each of the plurality of training data sets Means information on any one coffee menu determined-a training set storage unit in which is stored;
After checking the first training data set, which is one of the plurality of training data sets, with reference to the training set storage unit, first weather information and n types of first weather data included in the first training data set are checked. And generating an n-dimensional first weather vector corresponding to the first weather information with reference to the weather vector storage unit, and simultaneously generating an n-dimensional first weather vector having the n types of first weather data as components. An input vector generator for generating an n-dimensional input vector by generating a Hadamard product between the n-dimensional first weather vector and the n-dimensional first weather vector;
An output vector generator for generating a k-dimensional output vector by multiplying the n-dimensional input vector by two or more weight matrices to perform vector dimensional transformation;
A score calculator for generating a score corresponding to each of the k coffee menus by calculating a dot product between the k-dimensional output vector and the k-dimensional one-hot vector for each of the k coffee menus; And
By applying a score corresponding to each of the k coffee menus as an input to a preset activation function and converting it into a probability value, a probability value corresponding to each of the k coffee menus is generated, and the k coffee menus A learning execution unit that performs machine learning to determine the two or more weight matrices so that a probability value corresponding to the first coffee menu matched with the first training data set is maximized on the training set storage unit among coffee menus
A coffee menu recommendation device that recommends a coffee menu through a learning model based on weather and meteorological data including.
제1항에 있어서,
상기 활성화 함수는 입력 값을 0~1 사이의 확률 값으로 출력하는 소프트맥스(softmax) 함수인 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치.
The method of claim 1,
The activation function is a coffee menu recommendation device that recommends a coffee menu through a learning model based on weather and weather data, which is a softmax function that outputs an input value as a probability value between 0 and 1.
제1항에 있어서,
상기 복수의 훈련 데이터 세트들 전체에 대해 상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습 과정의 반복 수행을 제어하는 반복 수행 제어부
를 더 포함하는 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치.
The method of claim 1,
Iterative execution control unit for controlling the repetitive execution of a machine learning process for determining the two or more weight matrices for all of the plurality of training data sets
A coffee menu recommendation device that recommends a coffee menu through a learning model based on weather and meteorological data further comprising a.
제3항에 있어서,
상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습이 완료된 이후, 사용자 단말로부터 상기 k개의 커피 메뉴들 중 어느 하나의 커피 메뉴에 대한 추천 요청 신호가 수신되면, 사전 지정된 기상 데이터 서버에 접속하여 현재 시점에 대한 제2 날씨 정보와 현재 시점에서의 n가지 종류의 제2 기상 데이터들을 확인하는 데이터 확인부;
상기 날씨 벡터 저장부를 참조하여 상기 제2 날씨 정보에 대응하는 n차원의 제2 날씨 벡터를 생성함과 동시에 상기 n가지 종류의 제2 기상 데이터들을 성분으로 갖는 n차원의 제2 기상 벡터를 생성한 후 상기 n차원의 제2 날씨 벡터와 상기 n차원의 제2 기상 벡터 간의 아다마르 곱을 연산함으로써, n차원의 추천용 입력 벡터를 생성하는 추천용 입력 벡터 생성부;
상기 n차원의 추천용 입력 벡터에 대해 기계학습이 완료된 상기 둘 이상의 가중치 행렬들을 곱하여 벡터 차원 변환을 수행함으로써, k차원의 추천용 출력 벡터를 생성하는 추천용 출력 벡터 생성부;
상기 k차원의 추천용 출력 벡터와 상기 k개의 커피 메뉴들 각각에 대한 k차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 추천용 스코어를 생성하는 추천용 스코어 연산부;
상기 k개의 커피 메뉴들 각각에 대응하는 추천용 스코어를 상기 활성화 함수에 입력으로 인가하여 확률 값으로 변환함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 추천용 확률 값을 생성하고, 상기 k개의 커피 메뉴들 중 상기 추천용 확률 값이 최대인 커피 메뉴를 상기 사용자 단말로 전송할 추천 커피 메뉴로 선정하는 추천 커피 메뉴 선정부; 및
상기 추천 커피 메뉴에 대한 정보를 상기 사용자 단말로 전송하는 추천 커피 메뉴 전송부
를 더 포함하는 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치.
The method of claim 3,
After machine learning for determining the two or more weight matrices is completed, when a recommendation request signal for any one of the k coffee menus is received from a user terminal, a pre-designated weather data server is accessed and at the current time point. A data check unit that checks the second weather information for and n types of second weather data at a current time point;
By referring to the weather vector storage unit, an n-dimensional second weather vector corresponding to the second weather information is generated, and at the same time, an n-dimensional second weather vector having the n types of second weather data as components is generated. A recommendation input vector generator for generating an n-dimensional recommendation input vector by calculating a Hadamard product between the n-dimensional second weather vector and the n-dimensional second weather vector;
A recommendation output vector generator for generating a k-dimensional recommendation output vector by multiplying the n-dimensional recommendation input vector by the two or more weight matrices for which machine learning has been completed to perform vector dimensional transformation;
A recommendation score for generating a recommendation score corresponding to each of the k coffee menus by calculating the dot product between the k-dimensional recommendation output vector and the k-dimensional one-hot vector for each of the k coffee menus Operation unit;
By applying a recommendation score corresponding to each of the k coffee menus as an input to the activation function and converting it into a probability value, a recommendation probability value corresponding to each of the k coffee menus is generated, and the k coffee menus A recommended coffee menu selection unit for selecting a coffee menu having the highest recommendation probability value among menus as a recommended coffee menu to be transmitted to the user terminal; And
Recommended coffee menu transmission unit for transmitting information on the recommended coffee menu to the user terminal
A coffee menu recommendation device that recommends a coffee menu through a learning model based on weather and meteorological data further comprising a.
제4항에 있어서,
상기 데이터 확인부는
사용자 인증에 사용하기 위한 기설정된 유클리드 거리(Euclidean Distance)에 대한 정보가 저장되어 있는 유클리드 거리 저장부;
상기 사용자 단말로부터 상기 커피 메뉴에 대한 추천 요청 신호가 수신되면, 랜덤 벡터를 랜덤하게 생성하고, 상기 랜덤 벡터를 상기 사용자 단말로 전송하면서, 상기 사용자 단말로 상기 랜덤 벡터에 대응되는 피드백 벡터의 전송을 요청하는 요청부;
상기 사용자 단말로부터 상기 랜덤 벡터에 대응되는 피드백 벡터로 제1 피드백 벡터 - 상기 제1 피드백 벡터는 상기 랜덤 벡터와의 유클리드 거리가 상기 사용자 단말에 기 저장되어 있는 상기 기설정된 유클리드 거리로 연산되도록 생성된 벡터임 - 가 수신되면, 상기 제1 피드백 벡터와 상기 랜덤 벡터 간의 제1 유클리드 거리를 연산하고, 상기 제1 유클리드 거리가 상기 기설정된 유클리드 거리와 동일한지 확인함으로써, 상기 사용자 단말에 대한 인증을 수행하는 인증부; 및
상기 사용자 단말에 대한 인증이 완료되면, 상기 기상 데이터 서버에 접속하여 상기 제2 날씨 정보와 상기 n가지 종류의 제2 기상 데이터들을 확인하는 확인부
를 포함하고,
상기 사용자 단말은
메모리 상에 상기 기설정된 유클리드 거리를 저장하고 있으며, 상기 커피 메뉴 추천 장치로부터 상기 랜덤 벡터가 수신되면, 상기 랜덤 벡터와의 유클리드 거리가 상기 메모리 상에 저장되어 있는 상기 기설정된 유클리드 거리로 연산되는 상기 제1 피드백 벡터를 랜덤하게 생성하여 상기 커피 메뉴 추천 장치로 전송하는 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치.
The method of claim 4,
The data verification unit
A Euclidean distance storage unit storing information on a preset Euclidean distance for use in user authentication;
When a recommendation request signal for the coffee menu is received from the user terminal, a random vector is randomly generated, and the random vector is transmitted to the user terminal, while transmitting a feedback vector corresponding to the random vector to the user terminal. A requesting unit to request;
A first feedback vector from the user terminal to a feedback vector corresponding to the random vector-The first feedback vector is generated so that the Euclidean distance to the random vector is calculated as the preset Euclidean distance previously stored in the user terminal. If is a vector-is received, the user terminal is authenticated by calculating a first Euclidean distance between the first feedback vector and the random vector, and checking whether the first Euclidean distance is the same as the preset Euclidean distance. An authentication unit; And
When authentication for the user terminal is completed, a confirmation unit that accesses the weather data server and checks the second weather information and the n types of second weather data
Including,
The user terminal
The preset Euclidean distance is stored in a memory, and when the random vector is received from the coffee menu recommendation device, the Euclidean distance with the random vector is calculated as the preset Euclidean distance stored in the memory. A coffee menu recommendation device that recommends a coffee menu through a learning model based on weather and weather data that randomly generates a first feedback vector and transmits it to the coffee menu recommendation device.
미리 정해진 서로 다른 n(n은 2이상의 자연수)가지 종류의 날씨 정보들 각각에 대응되는 미리 정해진 서로 다른 n차원의 날씨 벡터가 저장되어 있는 날씨 벡터 저장부를 유지하는 단계;
미리 정해진 k(k는 2이상의 자연수)개의 커피 메뉴들에 대한 정보와 상기 k개의 커피 메뉴들 각각에 대응하는 미리 정해진 서로 다른 k차원의 원-핫(one-hot) 벡터가 저장되어 있는 커피 메뉴 저장부를 유지하는 단계;
미리 정해진 복수의 훈련 데이터 세트들 - 상기 복수의 훈련 데이터 세트들 각각은 상기 n가지 종류의 날씨 정보들 중에서 선택된 하나의 날씨 정보와 미리 정해진 서로 다른 n가지 종류의 기상 데이터들로 구성된 데이터 세트를 의미함 - 과 상기 복수의 훈련 데이터 세트들 각각에 대한 상기 k개의 커피 메뉴들과의 매칭 정보 - 상기 매칭 정보는 상기 복수의 훈련 데이터 세트들 각각에 대해, 상기 k개의 커피 메뉴들 중 매칭되는 것으로 사전 결정된 어느 하나의 커피 메뉴에 대한 정보를 의미함 - 가 저장되어 있는 훈련 세트 저장부를 유지하는 단계;
상기 훈련 세트 저장부를 참조하여 상기 복수의 훈련 데이터 세트들 중 어느 하나인 제1 훈련 데이터 세트를 확인한 후 상기 제1 훈련 데이터 세트에 포함된 제1 날씨 정보와 n가지 종류의 제1 기상 데이터들을 확인하고, 상기 날씨 벡터 저장부를 참조하여 상기 제1 날씨 정보에 대응하는 n차원의 제1 날씨 벡터를 생성함과 동시에 상기 n가지 종류의 제1 기상 데이터들을 성분으로 갖는 n차원의 제1 기상 벡터를 생성한 후 상기 n차원의 제1 날씨 벡터와 상기 n차원의 제1 기상 벡터 간의 아다마르 곱(Hadamard product)을 연산함으로써, n차원의 입력 벡터를 생성하는 단계;
상기 n차원의 입력 벡터에 대해 둘 이상의 가중치 행렬들을 곱하여 벡터 차원 변환을 수행함으로써, k차원의 출력 벡터를 생성하는 단계;
상기 k차원의 출력 벡터와 상기 k개의 커피 메뉴들 각각에 대한 k차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 스코어(score)를 생성하는 단계; 및
상기 k개의 커피 메뉴들 각각에 대응하는 스코어를 미리 설정된 활성화 함수(Activation Function)에 입력으로 인가하여 확률 값으로 변환함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 확률 값을 생성하고, 상기 k개의 커피 메뉴들 중 상기 훈련 세트 저장부 상에서 상기 제1 훈련 데이터 세트에 매칭된 제1 커피 메뉴에 대응하는 확률 값이 최대가 되도록 상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습을 수행하는 단계
를 포함하는 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치의 동작 방법.
Maintaining a weather vector storage unit in which different n-dimensional weather vectors that are predetermined and different n (n is a natural number of 2 or more) corresponding to each of the predetermined different types of weather information are stored;
A coffee menu in which information on a predetermined k (k is a natural number of 2 or more) coffee menus and a predetermined k-dimensional one-hot vector corresponding to each of the k coffee menus are stored Maintaining a storage unit;
A plurality of predetermined training data sets-Each of the plurality of training data sets refers to a data set composed of one weather information selected from the n types of weather information and n types of different types of weather data. -And matching information of the k coffee menus for each of the plurality of training data sets-the matching information is dictionary as being matched among the k coffee menus for each of the plurality of training data sets Maintaining the training set storage unit in which the determined information on any one coffee menu is stored;
After checking the first training data set, which is one of the plurality of training data sets, with reference to the training set storage unit, first weather information and n types of first weather data included in the first training data set are checked. And generating an n-dimensional first weather vector corresponding to the first weather information with reference to the weather vector storage unit, and simultaneously generating an n-dimensional first weather vector having the n types of first weather data as components. Generating an n-dimensional input vector by calculating a Hadamard product between the n-dimensional first weather vector and the n-dimensional first weather vector after generating;
Generating a k-dimensional output vector by performing vector-dimensional transformation by multiplying the n-dimensional input vector by two or more weight matrices;
Generating a score corresponding to each of the k coffee menus by calculating a dot product between the k-dimensional output vector and the k-dimensional one-hot vector for each of the k coffee menus; And
By applying a score corresponding to each of the k coffee menus as an input to a preset activation function and converting it into a probability value, a probability value corresponding to each of the k coffee menus is generated, and the k coffee menus Performing machine learning for determining the two or more weight matrices such that a probability value corresponding to the first coffee menu matched with the first training data set is maximized on the training set storage unit among coffee menus
A method of operating a coffee menu recommendation device for recommending a coffee menu through a learning model based on weather and meteorological data including a.
제6항에 있어서,
상기 활성화 함수는 입력 값을 0~1 사이의 확률 값으로 출력하는 소프트맥스(softmax) 함수인 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치의 동작 방법.
The method of claim 6,
The activation function is a method of operating a coffee menu recommendation device that recommends a coffee menu through a learning model based on weather and meteorological data, which is a softmax function that outputs an input value as a probability value between 0 and 1.
제6항에 있어서,
상기 복수의 훈련 데이터 세트들 전체에 대해 상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습 과정의 반복 수행을 제어하는 단계
를 더 포함하는 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치의 동작 방법.
The method of claim 6,
Controlling the iterative execution of a machine learning process for determining the two or more weight matrices for all of the plurality of training data sets
A method of operating a coffee menu recommendation device for performing a coffee menu recommendation through a learning model based on weather and meteorological data further comprising a.
제8항에 있어서,
상기 둘 이상의 가중치 행렬들을 결정하기 위한 기계학습이 완료된 이후, 사용자 단말로부터 상기 k개의 커피 메뉴들 중 어느 하나의 커피 메뉴에 대한 추천 요청 신호가 수신되면, 사전 지정된 기상 데이터 서버에 접속하여 현재 시점에 대한 제2 날씨 정보와 현재 시점에서의 n가지 종류의 제2 기상 데이터들을 확인하는 단계;
상기 날씨 벡터 저장부를 참조하여 상기 제2 날씨 정보에 대응하는 n차원의 제2 날씨 벡터를 생성함과 동시에 상기 n가지 종류의 제2 기상 데이터들을 성분으로 갖는 n차원의 제2 기상 벡터를 생성한 후 상기 n차원의 제2 날씨 벡터와 상기 n차원의 제2 기상 벡터 간의 아다마르 곱을 연산함으로써, n차원의 추천용 입력 벡터를 생성하는 단계;
상기 n차원의 추천용 입력 벡터에 대해 기계학습이 완료된 상기 둘 이상의 가중치 행렬들을 곱하여 벡터 차원 변환을 수행함으로써, k차원의 추천용 출력 벡터를 생성하는 단계;
상기 k차원의 추천용 출력 벡터와 상기 k개의 커피 메뉴들 각각에 대한 k차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 추천용 스코어를 생성하는 단계;
상기 k개의 커피 메뉴들 각각에 대응하는 추천용 스코어를 상기 활성화 함수에 입력으로 인가하여 확률 값으로 변환함으로써, 상기 k개의 커피 메뉴들 각각에 대응하는 추천용 확률 값을 생성하고, 상기 k개의 커피 메뉴들 중 상기 추천용 확률 값이 최대인 커피 메뉴를 상기 사용자 단말로 전송할 추천 커피 메뉴로 선정하는 단계; 및
상기 추천 커피 메뉴에 대한 정보를 상기 사용자 단말로 전송하는 단계
를 더 포함하는 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치의 동작 방법.
The method of claim 8,
After machine learning for determining the two or more weight matrices is completed, when a recommendation request signal for any one of the k coffee menus is received from a user terminal, a pre-designated weather data server is accessed and at the current time point. Confirming second weather information for and n types of second weather data at a current time point;
By referring to the weather vector storage unit, an n-dimensional second weather vector corresponding to the second weather information is generated, and at the same time, an n-dimensional second weather vector having the n types of second weather data as components is generated. Generating an n-dimensional recommendation input vector by calculating a Hadamard product between the n-dimensional second weather vector and the n-dimensional second weather vector;
Generating a k-dimensional recommendation output vector by multiplying the n-dimensional recommendation input vector by the two or more weight matrices completed with machine learning to perform vector dimensional transformation;
Generating a recommendation score corresponding to each of the k coffee menus by calculating a dot product between the k-dimensional recommendation output vector and the k-dimensional one-hot vector for each of the k coffee menus;
By applying a recommendation score corresponding to each of the k coffee menus as an input to the activation function and converting it into a probability value, a recommendation probability value corresponding to each of the k coffee menus is generated, and the k coffee menus Selecting a coffee menu having the highest recommendation probability value among menus as a recommended coffee menu to be transmitted to the user terminal; And
Transmitting information on the recommended coffee menu to the user terminal
A method of operating a coffee menu recommendation device for performing a coffee menu recommendation through a learning model based on weather and meteorological data further comprising a.
제9항에 있어서,
상기 제2 기상 데이터들을 확인하는 단계는
사용자 인증에 사용하기 위한 기설정된 유클리드 거리(Euclidean Distance)에 대한 정보가 저장되어 있는 유클리드 거리 저장부를 유지하는 단계;
상기 사용자 단말로부터 상기 커피 메뉴에 대한 추천 요청 신호가 수신되면, 랜덤 벡터를 랜덤하게 생성하고, 상기 랜덤 벡터를 상기 사용자 단말로 전송하면서, 상기 사용자 단말로 상기 랜덤 벡터에 대응되는 피드백 벡터의 전송을 요청하는 단계;
상기 사용자 단말로부터 상기 랜덤 벡터에 대응되는 피드백 벡터로 제1 피드백 벡터 - 상기 제1 피드백 벡터는 상기 랜덤 벡터와의 유클리드 거리가 상기 사용자 단말에 기 저장되어 있는 상기 기설정된 유클리드 거리로 연산되도록 생성된 벡터임 - 가 수신되면, 상기 제1 피드백 벡터와 상기 랜덤 벡터 간의 제1 유클리드 거리를 연산하고, 상기 제1 유클리드 거리가 상기 기설정된 유클리드 거리와 동일한지 확인함으로써, 상기 사용자 단말에 대한 인증을 수행하는 단계; 및
상기 사용자 단말에 대한 인증이 완료되면, 상기 기상 데이터 서버에 접속하여 상기 제2 날씨 정보와 상기 n가지 종류의 제2 기상 데이터들을 확인하는 단계
를 포함하고,
상기 사용자 단말은
메모리 상에 상기 기설정된 유클리드 거리를 저장하고 있으며, 상기 커피 메뉴 추천 장치로부터 상기 랜덤 벡터가 수신되면, 상기 랜덤 벡터와의 유클리드 거리가 상기 메모리 상에 저장되어 있는 상기 기설정된 유클리드 거리로 연산되는 상기 제1 피드백 벡터를 랜덤하게 생성하여 상기 커피 메뉴 추천 장치로 전송하는 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치의 동작 방법.
The method of claim 9,
Checking the second weather data
Maintaining a Euclidean distance storage unit in which information on a preset Euclidean distance for use in user authentication is stored;
When a recommendation request signal for the coffee menu is received from the user terminal, a random vector is randomly generated, and the random vector is transmitted to the user terminal, while transmitting a feedback vector corresponding to the random vector to the user terminal. Requesting;
A first feedback vector from the user terminal to a feedback vector corresponding to the random vector-The first feedback vector is generated so that the Euclidean distance to the random vector is calculated as the preset Euclidean distance previously stored in the user terminal. If is a vector-is received, the user terminal is authenticated by calculating a first Euclidean distance between the first feedback vector and the random vector, and checking whether the first Euclidean distance is the same as the preset Euclidean distance. The step of doing; And
When authentication for the user terminal is completed, accessing the weather data server to check the second weather information and the n types of second weather data
Including,
The user terminal
The preset Euclidean distance is stored in a memory, and when the random vector is received from the coffee menu recommendation device, the Euclidean distance with the random vector is calculated as the preset Euclidean distance stored in the memory. A method of operating a coffee menu recommendation device for performing a coffee menu recommendation through a learning model based on weather and meteorological data that randomly generates a first feedback vector and transmits it to the coffee menu recommendation device.
제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 6 to 10 through combination with a computer. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of claim 6 through a combination with a computer.
KR1020190136350A 2019-10-30 2019-10-30 Coffee menu recommendation apparatus that makes coffee menu recommendations through a learning model based on weather and weather condition data and operating method thereof KR102309558B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190136350A KR102309558B1 (en) 2019-10-30 2019-10-30 Coffee menu recommendation apparatus that makes coffee menu recommendations through a learning model based on weather and weather condition data and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190136350A KR102309558B1 (en) 2019-10-30 2019-10-30 Coffee menu recommendation apparatus that makes coffee menu recommendations through a learning model based on weather and weather condition data and operating method thereof

Publications (2)

Publication Number Publication Date
KR20210051287A true KR20210051287A (en) 2021-05-10
KR102309558B1 KR102309558B1 (en) 2021-10-05

Family

ID=75917843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190136350A KR102309558B1 (en) 2019-10-30 2019-10-30 Coffee menu recommendation apparatus that makes coffee menu recommendations through a learning model based on weather and weather condition data and operating method thereof

Country Status (1)

Country Link
KR (1) KR102309558B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113488142A (en) * 2021-07-28 2021-10-08 珠海格力电器股份有限公司 Menu recommendation method and device, storage medium and equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005165632A (en) * 2003-12-02 2005-06-23 Sony Corp Information processor and information processing method and its program and information processing system and method
JP2015011712A (en) * 2013-06-28 2015-01-19 アザパ アールアンドディー アメリカズ インク Digital information gathering and analyzing method and apparatus
KR20150121281A (en) * 2014-04-17 2015-10-29 이형석 A method for recommending an item based on a comstomer's preference to the item and a computer readable recording medium to store instructions to perform the method
KR20180133062A (en) * 2017-06-05 2018-12-13 주식회사 달콤 Apparatus for recommending selected coffee menu according to weather and user and operating method thereof
KR20190114703A (en) * 2018-03-29 2019-10-10 네이버 주식회사 Method for recommending items and server using the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005165632A (en) * 2003-12-02 2005-06-23 Sony Corp Information processor and information processing method and its program and information processing system and method
JP2015011712A (en) * 2013-06-28 2015-01-19 アザパ アールアンドディー アメリカズ インク Digital information gathering and analyzing method and apparatus
KR20150121281A (en) * 2014-04-17 2015-10-29 이형석 A method for recommending an item based on a comstomer's preference to the item and a computer readable recording medium to store instructions to perform the method
KR20180133062A (en) * 2017-06-05 2018-12-13 주식회사 달콤 Apparatus for recommending selected coffee menu according to weather and user and operating method thereof
KR20190114703A (en) * 2018-03-29 2019-10-10 네이버 주식회사 Method for recommending items and server using the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113488142A (en) * 2021-07-28 2021-10-08 珠海格力电器股份有限公司 Menu recommendation method and device, storage medium and equipment

Also Published As

Publication number Publication date
KR102309558B1 (en) 2021-10-05

Similar Documents

Publication Publication Date Title
CN107766940B (en) Method and apparatus for generating a model
US20220215032A1 (en) Ai-based recommendation method and apparatus, electronic device, and storage medium
RU2666631C2 (en) Training of dnn-student by means of output distribution
US11573991B2 (en) Deep reinforcement learning-based multi-step question answering systems
EP3218854B1 (en) Generating natural language descriptions of images
CN108805091B (en) Method and apparatus for generating a model
CN109034907A (en) Ad data put-on method and device, electronic equipment, storage medium
CN111597779A (en) Text generation method, device, equipment and storage medium
EP3443450A1 (en) Two-stage training of a spoken dialogue system
CN111737439B (en) Question generation method and device
CN113656613A (en) Method for training image-text retrieval model, multi-mode image retrieval method and device
KR101670157B1 (en) Support Method And Server Of 3-Dimension Printer
KR102309558B1 (en) Coffee menu recommendation apparatus that makes coffee menu recommendations through a learning model based on weather and weather condition data and operating method thereof
CN110704668A (en) Grid-based collaborative attention VQA method and apparatus
CN110135428A (en) Image segmentation processing method and device
US10832586B2 (en) Providing partial answers to users
KR102270321B1 (en) User customized product recommendation apparatus through machine learning based on artificial intelligence
US8718337B1 (en) Identifying an individual for a role
JP2022518671A (en) Performing multipurpose tasks over a trained main network with dual networks
US20230055991A1 (en) System and method for interactive dialogue
KR102627431B1 (en) Learning content recommendation server that recommends customized learning content to learners through survey results and operating method thereof
KR102271983B1 (en) Virtual currency trading platform server providing customized virtual currency recommendation through machine learning based on customer information and purchase history of virtual currency and operating method thereof
KR102562387B1 (en) Learning method for image feature extraction and synthesis system
CN115994588B (en) Data processing method, device and equipment based on blockchain and contract theory
KR102559803B1 (en) Remote lecture supporting service server for performing analysis the degree of students' participation in the lecture, and the operating method thereof

Legal Events

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