KR20220012158A - Method and apparatus for providing personalized cooking service - Google Patents

Method and apparatus for providing personalized cooking service Download PDF

Info

Publication number
KR20220012158A
KR20220012158A KR1020210007671A KR20210007671A KR20220012158A KR 20220012158 A KR20220012158 A KR 20220012158A KR 1020210007671 A KR1020210007671 A KR 1020210007671A KR 20210007671 A KR20210007671 A KR 20210007671A KR 20220012158 A KR20220012158 A KR 20220012158A
Authority
KR
South Korea
Prior art keywords
cooking
data
user
recipe
server
Prior art date
Application number
KR1020210007671A
Other languages
Korean (ko)
Inventor
김근섭
김길종
김홍윤
윤종수
최병욱
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US17/434,166 priority Critical patent/US20230134600A1/en
Priority to PCT/KR2021/009350 priority patent/WO2022019620A1/en
Publication of KR20220012158A publication Critical patent/KR20220012158A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • 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/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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/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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

A server for generating data for cooking of food and a generating method thereof are disclosed. A server for generating data for cooking of food includes: a communication unit; a storage unit storing one or more instructions; and a processor executing the one or more instructions stored by the storage unit. The processor is configured to: obtain text representing a recipe of food; identify a plurality of semantic elements included in the text based on at least one semantic element applied to a plurality of natural language understanding (NLU) models for analysis of the text and output from each of the plurality of NLU models; generate structured first machine readable recipe (MRR) data including a plurality of recipe parameters by using the identified semantic elements; obtain user log data related to operations which a user has performed for a cooking device; and generate second MRR data personalized to the user by updating the plurality of cooking parameters based on the obtained log data. The present invention can provide more easy and intuitive recipes.

Description

개인화된 조리 서비스를 제공하는 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING PERSONALIZED COOKING SERVICE}METHOD AND APPARATUS FOR PROVIDING PERSONALIZED COOKING SERVICE

다양한 실시예들은, 음식 조리를 위한 데이터를 생성하는 방법에 관한 것이다.Various embodiments relate to a method of generating data for cooking food.

인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존의 규칙(Rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존의 규칙(Rule) 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.An artificial intelligence (AI) system is a computer system that implements human-level intelligence, and unlike the existing rule-based smart system, the machine learns, judges, and becomes smarter by itself. The more the AI system is used, the higher the recognition rate and the more accurate understanding of user preferences, and the existing rule-based smart systems are gradually being replaced by deep learning-based AI systems.

인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성되며, 기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술이다. Artificial intelligence technology consists of machine learning (deep learning) and element technologies using machine learning. Machine learning is an algorithm technology that classifies/learns the characteristics of input data by itself, and element technology is a machine learning algorithm such as deep learning. It is a technology that simulates the functions of cognition and judgment of the human brain using

인공지능 기술이 응용되는 분야로는, 인간의 언어/문자를 인식하고 응용/처리하는 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함하는 언어적 이해, 정보를 판단하여 논리적으로 추론하고 예측하는, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함하는 추론/예측 등의 기술 분야가 있다.The fields where artificial intelligence technology is applied include natural language processing that recognizes and applies/processes human language/text, linguistic understanding including machine translation, dialogue system, question and answer, voice recognition/synthesis, etc. There are technical fields such as inference/prediction that logically reason and predict, knowledge/probability-based reasoning, optimization prediction, preference-based planning, recommendation, and the like.

한편, 음식을 조리하는 조리 장치(오븐 등)의 경우, 사용자가 직접 레시피를 읽고, 레시피에 따라 요리 종류와 요리 방식, 조리를 위한 설정 정보 등을 직접 입력한다. 그러나, 다양한 조리법에 따라 조리 장치를 설정하는 것이 복잡하고, 사용자의 조리 장치의 특성을 잘 몰라서 레시피대로 요리가 만들어지지 않을 수 있다. 이에 따라, 레시피를 표준화된 데이터 형태로 생성하여 조리 장치에서 읽을 수 있도록 하고, 생성된 표준화된 데이터 형태의 레시피를 사용자에게 개인화된 데이터로 가공하며, 레시피를 사용자에게 직관적인 형태로 제공할 수 있는 기술이 요구된다.Meanwhile, in the case of a cooking apparatus (oven, etc.) for cooking food, a user directly reads a recipe, and directly inputs a cooking type, a cooking method, and setting information for cooking according to the recipe. However, it is complicated to set the cooking apparatus according to various recipes, and the user does not know the characteristics of the cooking apparatus well, so that the cooking may not be prepared according to the recipe. Accordingly, it is possible to create a recipe in a standardized data form so that it can be read by a cooking device, process the created standardized data form recipe into personalized data to the user, and provide the recipe in an intuitive form to the user. skills are required

다양한 실시예들은, 복수의 NLU 모델들을 포함하는 서버에 있어서, 텍스트 형태의 레시피 내에서 복수의 의미 요소들을 식별하고, 식별된 의미 요소들에 기초하여 다양한 조리 장치들이 읽을 수 있는 구조화된 데이터로 변경함으로써, 구조화된 데이터를 이용하여 조리 장치를 자동으로 설정하고, 사용자에게 직관적인 형태로 조리 정보를 제공할 수 있는, 음식 조리를 위한 데이터를 생성하는 서버 및 그 동작 방법을 제공할 수 있다.Various embodiments, in a server including a plurality of NLU models, identify a plurality of semantic elements in a recipe in text form, and change into structured data that can be read by various cooking devices based on the identified semantic elements Accordingly, it is possible to provide a server for generating data for cooking food, which can automatically set a cooking apparatus using structured data, and provide cooking information to a user in an intuitive form, and an operating method thereof.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따른 서버가 음식의 조리를 위한 데이터를 생성하는 방법은, 음식의 레시피를 나타내는 텍스트를 획득하는 단계; 상기 텍스트를 분석하기 위한 복수의 NLU(Natural Language Understanding) 모델들을 이용하여, 상기 텍스트 내에 포함되는 복수의 의미 요소들을 식별하는 단계; 상기 식별된 의미 요소들을 이용하여, 복수의 조리 파라미터들을 포함하는 구조화된 형태의 제1 MRR(Machine Readable Recipe) 데이터를 생성하는 단계; 상기 사용자가 상기 조리 장치를 조작했던 동작에 관련된 사용자의 로그 데이터를 획득하는 단계; 및 상기 획득된 로그 데이터에 기초하여, 상기 복수의 조리 파라미터들을 갱신함으로써 상기 사용자에게 개인화된 제2 MRR 데이터를 생성하는 단계를 포함하고, 상기 복수의 의미 요소들을 식별하는 단계는, 상기 텍스트를 상기 복수의 NLU 모델들에 각각 적용하고, 상기 복수의 NLU 모델들 각각으로부터 출력되는 적어도 하나의 의미 요소에 기초하여 상기 복수의 의미 요소들을 식별하는, 방법일 수 있다.As a technical means for achieving the above-described technical problem, a method for a server to generate data for cooking food according to an embodiment includes: acquiring text indicating a recipe for food; identifying a plurality of semantic elements included in the text by using a plurality of natural language understanding (NLU) models for analyzing the text; generating first Machine Readable Recipe (MRR) data in a structured form including a plurality of cooking parameters by using the identified semantic elements; acquiring log data of a user related to an operation in which the user operated the cooking apparatus; and generating, based on the obtained log data, second MRR data personalized to the user by updating the plurality of cooking parameters, wherein the identifying of the plurality of semantic elements comprises: It may be a method of applying each of a plurality of NLU models, and identifying the plurality of semantic elements based on at least one semantic element output from each of the plurality of NLU models.

또한, 일 실시예에 따른 음식 조리를 위한 데이터를 생성하는 서버는, 통신부; 하나 이상의 명령어들(instructions)을 저장하는 저장부; 및 상기 저장부에 저장된 상기 하나 이상의 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 음식의 레시피를 나타내는 텍스트를 획득하고, 상기 텍스트를 분석하기 위한 복수의 NLU(Natural Language Understanding) 모델들에 각각 적용하고, 상기 복수의 NLU 모델들 각각으로부터 출력되는 적어도 하나의 의미 요소에 기초하여, 상기 텍스트 내에 포함되는 복수의 의미 요소들을 식별하고, 상기 식별된 의미 요소들을 이용하여, 복수의 조리 파라미터들을 포함하는 구조화된 형태의 제1 MRR(Machine Readable Recipe) 데이터를 생성하고, 상기 사용자가 상기 조리 장치를 조작했던 동작에 관련된 사용자의 로그 데이터를 획득하고, 상기 획득된 로그 데이터에 기초하여, 상기 복수의 조리 파라미터들을 갱신함으로써 상기 사용자에게 개인화된 제2 MRR 데이터를 생성하는, 서버일 수 있다.In addition, a server for generating data for cooking food according to an embodiment includes: a communication unit; a storage unit for storing one or more instructions; and a processor executing the one or more instructions stored in the storage unit, wherein the processor obtains a text representing a recipe of food, and provides each of a plurality of NLU (Natural Language Understanding) models for analyzing the text. apply, identify a plurality of semantic elements included in the text based on at least one semantic element output from each of the plurality of NLU models, and include a plurality of cooking parameters by using the identified semantic elements Generates first MRR (Machine Readable Recipe) data in a structured form, obtains log data of a user related to an operation in which the user manipulated the cooking apparatus, and based on the obtained log data, the plurality of The server may be, generating the second MRR data personalized to the user by updating the cooking parameters.

일 실시예에 따른 조리 정보를 제공하는 서버는, 레시피를 나타내는 텍스트를 복수의 NLU(Natural Language Understanding) 모델을 이용하여 복수의 의미 요소들을 식별하고, 이에 기초하여 MRR(Machine Readable Recipe) 데이터를 생성하고, MRR 데이터를 이용하여 생성된 레시피 카드를 사용자에게 제공하여, 보다 쉽고 직관적인 레시피를 제공할 수 있다.A server that provides cooking information according to an embodiment identifies a plurality of semantic elements using a plurality of NLU (Natural Language Understanding) models in text representing a recipe, and generates Machine Readable Recipe (MRR) data based on this. And, by providing a recipe card generated using the MRR data to the user, it is possible to provide an easier and more intuitive recipe.

또한, 사용자가 레시피를 따라 조리할 때 일일이 조리 장치를 설정하지 않고 MRR 데이터를 이용하여 조리 장치를 제어함으로써, 사용자는 사용자가 보유한 조리 장치를 최적화된 설정 값으로 사용할 수 있다. In addition, when the user cooks according to a recipe, the user can use the cooking apparatus possessed by the user as an optimized setting value by controlling the cooking apparatus using MRR data instead of individually setting the cooking apparatus.

도 1은 일 실시예에 따른 서버가 음식 조리 정보를 제공하고, 조리 장치들을 제어하는 방법을 설명하기 위해 참조되는 도면이다.
도 2는 일 실시예에 따른 서버의 세부 구성을 나타내는 블록도이다.
도 3은 일 실시예에 따른 서버가 제1 MRR 데이터 및 제2 MRR 데이터를 생성하기 위해 동작하는 방법을 나타내는 흐름도이다.
도 4는 일 실시예에 따른 서버에 포함되는 레시피 구문 분석 모듈의 동작들을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 서버가 레시피 구문 분석 모듈을 이용하여, 복수의 NLU 모델로 의미 요소를 식별하는 방법을 설명하기 위하여 참조되는 도면이다.
도 6은 일 실시예에 따른 서버에 포함되는, 식별된 의미 요소에 기초하여 부가 정보를 생성하는 부가 정보 생성 모듈의 세부 구성을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 서버가 복수의 NLU 모델들로부터 식별된 의미 요소를 이용하여 제1 MRR 데이터를 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 8은 일 실시예에 따른 서버가 제1 MRR 데이터 생성 모듈을 이용하여, 레시피를 나타내는 텍스트로부터 의미 요소를 식별하고, 조리 파라미터를 생성함으로써 레시피를 조리 장치에서 읽을 수 있는 제1 MRR 데이터를 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 9는 일 실시예에 따른 서버가 사용자의 로그 데이터를 획득하고, 획득된 로그 데이터에 기초하여 제2 MRR 데이터를 생성하는 방법을 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 서버가 제2 MRR 데이터를 생성할 때, 사용자의 로그 데이터에 기초하여 강화학습을 수행하는 실시예를 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 서버가 레시피 카드를 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 12는 일 실시예에 따른 서버가 조리 단계 각각에 대하여 레시피 카드를 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 13은 일 실시예에 따른 서버가 생성된 MRR 데이터를 사용자의 조리 장치에 따라 변경하여 최적화하는 방법을 설명하기 위해 참조되는 도면이다.
도 14는 일 실시예에 따른 서버가 생성된 MRR 데이터를 다양한 사용자 정보에 기초하여 MRR 데이터를 변경하여 최적화하는 방법을 설명하기 위해 참조되는 도면이다.
도 15는 일 실시예에 따른 조리 정보 제공 시스템의 구성을 설명하기 위한 도면이다.
도 16은 일 실시예에 따른 서버에서 MRR 데이터 및 레시피 카드들이 생성된 후, 클라이언트 디바이스를 통해 사용자에게 음식 조리를 위한 정보가 제공되는 예시를 설명하기 위한 도면이다.
도 17은 일 실시예에 따른 조리 정보 제공 시스템에서, 기생성된 복수의 MRR 데이터를 이용하여 새로운 레시피에 대한 MRR 데이터를 생성하기 위한 GUI를 나타내는 도면이다.
도 18은 일 실시예에 따른 조리 정보 제공 시스템에서, 클라이언트 디바이스를 통해 사용자에게 복수의 음식 조리를 위한 레시피 카드가 제공되는 예시를 설명하는 도면이다.
도 19는 일 실시예에 따른 조리 정보 제공 시스템에서, 클라이언트 디바이스를 통해 사용자에게 제1 레시피 카드 및 개인화된 제2 레시피 카드가 제공되는 예시를 설명하는 도면이다.
1 is a diagram referenced to explain a method of a server providing food cooking information and controlling cooking apparatuses according to an exemplary embodiment.
2 is a block diagram illustrating a detailed configuration of a server according to an embodiment.
3 is a flowchart illustrating a method in which a server operates to generate first MRR data and second MRR data according to an embodiment.
4 is a diagram for explaining operations of a recipe syntax analysis module included in a server according to an embodiment.
5 is a diagram referenced to explain a method in which a server identifies semantic elements using a plurality of NLU models using a recipe syntax analysis module according to an embodiment.
6 is a diagram for describing a detailed configuration of an additional information generating module that generates additional information based on an identified semantic element included in a server according to an exemplary embodiment.
7 is a diagram referenced to explain a method for a server to generate first MRR data using semantic elements identified from a plurality of NLU models according to an embodiment.
8 is a server according to an embodiment, by using the first MRR data generation module to identify semantic elements from text representing a recipe, and generate a cooking parameter to generate first MRR data that can read the recipe in the cooking device It is a drawing referenced to explain the method.
9 is a diagram for describing a method in which a server acquires user's log data and generates second MRR data based on the acquired log data, according to an embodiment.
10 is a diagram for explaining an embodiment of performing reinforcement learning based on user log data when the server generates second MRR data according to an embodiment.
11 is a diagram referenced to explain a method for a server to generate a recipe card according to an embodiment.
12 is a diagram referenced to explain a method for a server to generate a recipe card for each cooking step according to an embodiment.
13 is a diagram referenced to explain a method for optimizing by changing MRR data generated by a server according to a user's cooking apparatus according to an embodiment;
14 is a diagram referenced to explain a method for a server to change and optimize MRR data generated by a server based on various user information according to an embodiment.
15 is a diagram for explaining the configuration of a cooking information providing system according to an exemplary embodiment.
FIG. 16 is a diagram for explaining an example in which information for cooking food is provided to a user through a client device after MRR data and recipe cards are generated in a server according to an embodiment.
17 is a diagram illustrating a GUI for generating MRR data for a new recipe by using a plurality of pre-generated MRR data in the cooking information providing system according to an embodiment.
18 is a view for explaining an example in which recipe cards for cooking a plurality of foods are provided to a user through a client device in a cooking information providing system according to an embodiment.
19 is a view for explaining an example in which a first recipe card and a personalized second recipe card are provided to a user through a client device in the cooking information providing system according to an embodiment.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.Terms used in this specification will be briefly described, and the present invention will be described in detail.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the present invention have been selected as currently widely used general terms as possible while considering the functions in the present invention, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than the name of a simple term.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 또한, 본 명세서에서 사용되는 '제1' 또는 '제2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.The singular expression may include the plural expression unless the context clearly dictates otherwise. Terms used herein, including technical or scientific terms, may have the same meanings as commonly understood by one of ordinary skill in the art described herein. Also, terms including an ordinal number such as 'first' or 'second' used in this specification may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.In the entire specification, when a part "includes" a certain element, this means that other elements may be further included, rather than excluding other elements, unless otherwise stated. In addition, terms such as “unit” and “module” described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software.

아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, the embodiments of the present invention will be described in detail so that those of ordinary skill in the art can easily implement them. However, the present invention may be embodied in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

개시된 실시예에서, 자연어 이해 모델(Natural Language Understanding, NLU)은, 텍스트를 해석하여, 텍스트 내의 의미 요소를 획득하도록 학습된 인공지능 모델일 수 있다. 이 경우, 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들을 포함할 수 있으며, 이전 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행할 수 있다.In the disclosed embodiment, the Natural Language Understanding (NLU) may be an artificial intelligence model trained to interpret text to obtain semantic elements in the text. In this case, the artificial intelligence model may be composed of a plurality of neural network layers. Each of the plurality of neural network layers may include a plurality of weights, and a neural network operation may be performed through an operation between an operation result of a previous layer and the plurality of weights.

개시된 실시예에서, MRR(Machine Readable Recipe) 데이터는, 비정형화된 형태의 데이터인 레시피를 나타내는 텍스트로부터 생성된 정형화된 데이터로서, 조리 장치가 읽을 수 있도록 변환된 구조화된 형태의 데이터일 수 있다. 개시된 실시예에 따른 서버는 정형화된 MRR 데이터를 이용하여 다양한 종류의 서로 다른 조리 장치들을 제어할 수 있다. 개시된 실시예에 따른 MRR 데이터는, 식별된 의미 요소들로부터 생성된 조리 파라미터들로 구성될 수 있으며, 조리 파라미터는 조리 장치의 제어 동작에 관련된 파라미터일 수 있다. 서버는 MRR 데이터 내 조리 파라미터들을 이용하여, 다양한 종류의 서로 다른 조리 장치들을 제어함으로써 조리 장치에서 음식이 조리 되도록 할 수 있다. 또한, MRR 데이터는 제1 MRR 데이터 및 제2 MRR 데이터를 포함할 수 있다.In the disclosed embodiment, MRR (Machine Readable Recipe) data is standardized data generated from text representing a recipe, which is data in an unstructured form, and may be data in a structured form converted to be read by a cooking device. The server according to the disclosed embodiment may control various types of different cooking devices using the standardized MRR data. MRR data according to the disclosed embodiment may consist of cooking parameters generated from the identified semantic elements, and the cooking parameter may be a parameter related to a control operation of the cooking apparatus. The server may use the cooking parameters in the MRR data to control various types of different cooking devices so that food is cooked in the cooking device. In addition, the MRR data may include first MRR data and second MRR data.

개시된 실시예에서, 제1 MRR 데이터는 레시피를 나타내는 텍스트로부터 복수의 NLU 모델을 이용하여 식별된 의미 요소들을 이용하여 생성될 수 있으며, 다양한 조리 장치들은 구조화된 텍스트 형태의 MRR 데이터를 읽고, 조리 단계에 적용하여 조리 동작을 수행할 수 있다In the disclosed embodiment, the first MRR data may be generated from text representing a recipe using semantic elements identified using a plurality of NLU models, and various cooking devices read the MRR data in a structured text form, and perform a cooking step. Cooking operation can be performed by applying to

개시된 실시예에서, 제2 MRR 데이터는 제1 MRR 데이터 및 사용자 로그 데이터에 기초하여 생성된 MRR 데이터를 말한다. 제2 MRR 데이터는 사용자의 개인 요리 성향 등을 반영하여 음식이 조리 될 수 있도록, 제1 MRR 데이터 내 조리 파라미터들이 갱신된 데이터일 수 있다.In the disclosed embodiment, the second MRR data refers to MRR data generated based on the first MRR data and user log data. The second MRR data may be data in which cooking parameters in the first MRR data are updated so that food can be cooked by reflecting the user's personal cooking tendency.

개시된 실시예에서, 레시피 카드는, 음식을 조리하고자 하는 사용자에게 직관적으로 조리 단계별 필요한 정보를 제공하는, 카드 형태의 데이터일 수 있다. 레시피 카드는, 레시피를 구성하는 각각의 조리 단계에 대응될 수 있으며, 사용자에게 조리와 관련된 다양한 기능 및 조리에 관련된 정보를 제공할 수 있다. In the disclosed embodiment, the recipe card may be data in the form of a card that intuitively provides necessary information for each cooking step to a user who wants to cook food. The recipe card may correspond to each cooking step constituting a recipe, and may provide a user with various functions related to cooking and information related to cooking.

개시된 실시예에서, 사용자의 로그 데이터는 사용자가 조리 장치를 조작했던 동작에 관련된 데이터일 수 있다. 사용자의 로그 데이터는 사용자가 조리 장치를 조작했던 조리 장치의 온도, 조리 시간, 조리 횟수 등을 포함할 수 있으며, 완성된 요리에 대해 사용자가 입력한 요리 평가 데이터를 포함할 수 있다.In the disclosed embodiment, the user's log data may be data related to an operation in which the user manipulated the cooking apparatus. The user's log data may include the temperature, cooking time, and number of times of cooking of the cooking device in which the user manipulated the cooking device, and may include cooking evaluation data input by the user for the finished dish.

개시된 실시예에서, 부가 정보는 입력된 레시피를 나타내는 텍스트에서, 복수의 NLU 모델을 이용하여 식별된 의미 요소에 기초하여, 조리 과정을 가이드하기 위해 생성된 부가적인 정보일 수 있다. 예를 들어, 부가 정보는 레시피를 나타내는 텍스트에서 식별된 조리 시간에 관련된 의미 요소를 바탕으로, 특정 조리 단계에서 조리 시간이 변경되는 경우 변화되는 맛 정보 등을 포함할 수 있다. 생성된 부가 정보는 레시피 카드를 생성할 때 레시피 카드에 포함되어 사용자에게 제공될 수 있으며, MRR 데이터에 삽입되어 MRR 데이터 내에 저장될 수도 있다.In the disclosed embodiment, the additional information may be additional information generated to guide the cooking process based on semantic elements identified using a plurality of NLU models in the text representing the input recipe. For example, the additional information may include taste information that is changed when the cooking time is changed in a specific cooking step based on a semantic element related to the cooking time identified in the text representing the recipe. The generated additional information may be included in the recipe card and provided to the user when the recipe card is created, or may be inserted into the MRR data and stored in the MRR data.

도 1은 일 실시예에 따른 서버가 음식 조리 정보를 제공하고, 조리 장치들을 제어하는 방법을 설명하기 위해 참조되는 도면이다.1 is a diagram referenced to explain a method of a server providing food cooking information and controlling cooking apparatuses according to an exemplary embodiment.

일 실시예에 따른 서버(2000)는 음식의 레시피를 나타내는 텍스트(101)를 획득하여, 복수의 자연어 이해(Natural Language Understanding; NLU) 모델을 이용하여 텍스트 내의 의미 요소들을 식별하고, 다양한 조리 장치(4000)들에 적용할 수 있는 제1 MRR(Machine Readable Recipe) 데이터(102)를 생성하고, 조리 가이드를 위한 부가 정보를 생성할 수 있다. 이 경우, 음식의 레시피를 나타내는 텍스트(101)는 클라이언트 디바이스(3000)로부터 수신될 수 있으나, 이에 한정되는 것은 아니며, 음식의 레시피를 나타내는 텍스트(101)는 다른 외부 장치(예를 들어, 서드 파티 서버)에서 수신되거나, 서버 내 저장부에 미리 저장되어 있을 수 있다.The server 2000 according to an embodiment acquires the text 101 representing the recipe of food, uses a plurality of natural language understanding (NLU) models to identify semantic elements in the text, and various cooking devices ( 4000) may generate first MRR (Machine Readable Recipe) data 102 and may generate additional information for a cooking guide. In this case, the text 101 indicating the recipe of the food may be received from the client device 3000, but is not limited thereto, and the text 101 indicating the recipe of the food may be transmitted to another external device (eg, a third party). server) or may be pre-stored in a storage unit within the server.

또한, 일 실시예에 따른 서버(2000)는 조리 장치(4000)들에 대한 사용자의 로그 데이터를 획득하고, 획득된 로그 데이터에 기초하여 제1 MRR 데이터(102)를 갱신함으로써, 사용자에게 개인화된 조리 방법을 포함하는 제2 MRR 데이터(103)를 생성할 수 있다.In addition, the server 2000 according to an embodiment obtains log data of the user for the cooking apparatuses 4000 and updates the first MRR data 102 based on the obtained log data, thereby providing personalized to the user. The second MRR data 103 including the cooking method may be generated.

일 실시예에 따른 서버(2000)는 제1 MRR 데이터(102) 및 부가 정보를 이용하여 음식의 조리를 위한 복수의 제1 레시피 카드(104)들을 생성하고, 생성된 복수의 제1 레시피 카드(104)들을 클라이언트 디바이스(3000)로 제공할 수 있다.The server 2000 according to an embodiment generates a plurality of first recipe cards 104 for cooking food using the first MRR data 102 and additional information, and the generated plurality of first recipe cards ( 104 ) to the client device 3000 .

또한, 일 실시예에 따른 서버(2000)는 제2 MRR 데이터(103) 및 부가 정보를 이용하여, 사용자의 개인화된 음식의 조리를 위한 복수의 제2 레시피 카드(105)들을 생성하고, 생성된 복수의 제2 레시피 카드(105)들을 클라이언트 디바이스(3000)로 제공할 수 있다. 또한, 조리 장치(4000)들이 디스플레이 등을 포함하여 제1 레시피 카드(104) 또는 제2 레시피 카드(105)를 디스플레이 할 수 있는 경우, 서버(2000)는 생성된 제1 레시피 카드(104)들 또는 제2 레시피 카드(105)들을 조리 장치(4000)들로 제공할 수 있다.In addition, the server 2000 according to an embodiment generates a plurality of second recipe cards 105 for the user's personalized food cooking by using the second MRR data 103 and additional information, and the generated A plurality of second recipe cards 105 may be provided to the client device 3000 . In addition, when the cooking devices 4000 can display the first recipe card 104 or the second recipe card 105 including a display, the server 2000 generates the first recipe cards 104 . Alternatively, the second recipe cards 105 may be provided to the cooking devices 4000 .

클라이언트 디바이스(3000)는 사용자로부터 조리 장치(4000)의 제어 명령을 수신하고, 서버(2000)로 조리 장치(4000)의 제어 요청을 전송할 수 있다. 서버(2000)는 수신된 제어 요청에 대한 응답으로, 각각의 조리 장치(4000)의 인터페이스에 맞게 제1 MRR 데이터 또는 제2 MRR 데이터를 각각의 조리 장치(4000)에서 실행 가능한 명령어로 변경하고, 각각의 조리 장치(4000)를 제어하기 위한 명령어를 각각의 조리 장치(4000)로 전송할 수 있다.The client device 3000 may receive a control command of the cooking apparatus 4000 from the user and transmit a control request of the cooking apparatus 4000 to the server 2000 . In response to the received control request, the server 2000 changes the first MRR data or the second MRR data to a command executable in each cooking device 4000 to match the interface of each cooking device 4000, A command for controlling each cooking device 4000 may be transmitted to each cooking device 4000 .

조리 장치(4000)는 서버로부터 수신된 조리 장치를 제어하기위한 제어 정보에 기초하여, 조리 동작을 수행할 수 있다.The cooking apparatus 4000 may perform a cooking operation based on control information for controlling the cooking apparatus received from the server.

도 2는 일 실시예에 따른 서버의 세부 구성을 나타내는 블록도이다.2 is a block diagram illustrating a detailed configuration of a server according to an embodiment.

일 실시예에 따른 서버(2000)는 적어도 통신부(2100), 프로세서(2200), 저장부(2300)를 포함하도록 구성될 수 있다.The server 2000 according to an embodiment may be configured to include at least a communication unit 2100 , a processor 2200 , and a storage unit 2300 .

통신부(2100)는 프로세서(2200)의 제어에 의해 외부 장치(예를 들어, 클라이언트 디바이스(3000), 모델 서버(3000), 프로세싱 서버(4000), 조리 장치)와 데이터 또는 신호를 송수신할 수 있다.The communication unit 2100 may transmit/receive data or signals to and from an external device (eg, the client device 3000 , the model server 3000 , the processing server 4000 , and the cooking device) under the control of the processor 2200 . .

통신부(2100)는 프로세서(2200)의 제어에 의해 외부 장치(예를 들어, 클라이언트 디바이스(3000), 서드 파티 서버(미도시), 조리 장치(미도시))와 데이터 또는 신호를 송수신할 수 있다.The communication unit 2100 may transmit/receive data or signals to and from an external device (eg, the client device 3000 , a third-party server (not shown), or a cooking device (not shown)) under the control of the processor 2200 . .

일 실시예에 따른 통신부(2100)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 통하여 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다.The communication unit 2100 according to an embodiment includes a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile radio communication network, and a satellite. It may include one or more components that allow communication through a communication network and a combination thereof.

일 실시예에 따른 통신부(2100)는, 클라이언트 디바이스(3000)로부터 레시피를 나타내는 텍스트를 수신할 수 있다. 또한, 통신부(2100)는 조리 장치를 제어하기 위하여, 클라이언트 디바이스(3000)로부터 조리 장치 제어 명령을 수신하고, MRR 데이터에 기초하여 생성된 조리 장치 제어 명령어들을 조리 장치들로 전송할 수 있다.The communication unit 2100 according to an embodiment may receive a text indicating a recipe from the client device 3000 . Also, in order to control the cooking apparatus, the communication unit 2100 may receive a cooking apparatus control command from the client device 3000 and transmit the cooking apparatus control commands generated based on the MRR data to the cooking apparatuses.

프로세서(2200)는 서버(2000)를 전반적으로 제어할 수 있다. 프로세서(2200)는 메모리에 저장된 프로그램의 하나 이상의 명령어들(instructions)을 실행할 수 있다. 프로세서(2200)는 산술, 로직 및 입출력 연산과 시그널 프로세싱을 수행하는 하드웨어 구성 요소로 구성될 수 있다.The processor 2200 may control the server 2000 as a whole. The processor 2200 may execute one or more instructions of a program stored in a memory. The processor 2200 may include hardware components that perform arithmetic, logic, input/output operations and signal processing.

일 실시예에 따른 프로세서(2200)는 예를 들어, 중앙 처리 장치(Central Processing Unit), 마이크로 프로세서(microprocessor), 그래픽 프로세서(Graphic Processing Unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), AP(Application Processor), 뉴럴 프로세서(Neural Processing Unit) 또는 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계된 인공지능 전용 프로세서 중 적어도 하나로 구성될 수 있으나, 이에 한정되는 것은 아니다.The processor 2200 according to an embodiment includes, for example, a central processing unit (Central Processing Unit), a microprocessor, a graphic processing unit (Graphic Processing Unit), Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs). ), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), APs (Application Processors), Neural Processing Units, or It may consist of at least one of the AI-only processors, but is not limited thereto.

저장부(2300)에는 프로세서(2200)가 판독할 수 있는 명령어들, 데이터 구조, 및 프로그램 코드(program code)가 저장될 수 있다. 개시된 실시예들에서, 프로세서(2200)가 수행하는 동작들은 저장부(2300)에 저장된 프로그램의 명령어들 또는 코드들을 실행함으로써 구현될 수 있다. The storage unit 2300 may store instructions, data structures, and program codes readable by the processor 2200 . In the disclosed embodiments, operations performed by the processor 2200 may be implemented by executing instructions or codes of a program stored in the storage 2300 .

저장부(2300)는 예를 들어, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나를 포함하는 비휘발성 메모리 및 램(RAM, Random Access Memory) 또는 SRAM(Static Random Access Memory)과 같은 휘발성 메모리를 포함할 수 있다.The storage unit 2300 is, for example, a flash memory type, a hard disk type, a multimedia card micro type, or a card type memory (eg, SD or XD). Non-volatile memory including at least one of memory, etc.), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk, and optical disk and volatile memory such as random access memory (RAM) or static random access memory (SRAM).

저장부(2300)에는 프로세서(2200)가 판독할 수 있는 명령어들, 데이터 구조, 및 프로그램 코드(program code)가 저장될 수 있다. 개시된 실시예들에서, 프로세서(2200)가 수행하는 동작들은 저장부(2300)에 저장된 프로그램의 명령어들 또는 코드들을 실행함으로써 구현될 수 있다. 일 실시예에서, 저장부(2300)에는 레시피 구문 분석 모듈(2310), 부가 정보 생성 모듈(2320), 제1 MRR 데이터 생성 모듈(2330), 제2 MRR 데이터 생성 모듈(2340), 카드 레시피 생성 모듈(2350), 조리 장치 제어 모듈(2360), 데이터베이스(2370)에 대응되는 데이터 및 프로그램 명령어 코드들이 저장될 수 있다.The storage unit 2300 may store instructions, data structures, and program codes readable by the processor 2200 . In the disclosed embodiments, operations performed by the processor 2200 may be implemented by executing instructions or codes of a program stored in the storage 2300 . In an embodiment, the storage unit 2300 includes a recipe syntax analysis module 2310 , an additional information generation module 2320 , a first MRR data generation module 2330 , a second MRR data generation module 2340 , and a card recipe generation Data and program command codes corresponding to the module 2350 , the cooking device control module 2360 , and the database 2370 may be stored.

일 실시예에서, 데이터베이스(2370)는 텍스트 레시피, NLU 모델, 사용자 로그 데이터, 카드 레시피, MRR 데이터를 포함할 수 있다.In one embodiment, the database 2370 may include text recipes, NLU models, user log data, card recipes, and MRR data.

일 실시예에 따른 프로세서(2200)는 레시피를 나타내는 텍스트를 입력 받아, 저장부(2300)에 저장된 복수의 NLU 모델을 로딩하여 실행시킴으로써, 레시피를 나타내는 텍스트의 구문 분석을 수행함으로써, 제1 MRR 데이터를 생성할 수 있다. 또한, 프로세서(2200)는 사용자가 상기 조리 장치를 조작했던 동작에 관련된 사용자의 로그 데이터를 획득하고, 사용자의 로그 데이터 및 제1 MRR 데이터에 기초하여, 사용자에게 개인화된 제2 MRR 데이터를 생성할 수 있다.The processor 2200 according to an embodiment receives the text representing the recipe, loads and executes a plurality of NLU models stored in the storage 2300 , and performs syntax analysis of the text representing the recipe, thereby first MRR data can create In addition, the processor 2200 obtains log data of a user related to an operation in which the user manipulated the cooking device, and generates second MRR data personalized to the user based on the user's log data and the first MRR data. can

일 실시예에 따른 프로세서(2200)는 저장부(2300)에 저장된 레시피 구문 분석 모듈(2310)을 이용하여, 복수의 NLU 모델들을 실행하고, 각각의 NLU 모델 별로 인식 타겟(예를 들어, 조리 도구, 재료)으로 하는 의미 요소를 식별할 수 있다. 예를 들어, 프로세서(2200)는 레시피를 나타내는 텍스트를 획득하고, 텍스트를 복수의 NLU 모델들에 각각 적용하여, 복수의 NLU 모델들 각각으로부터 출력되는 적어도 하나의 의미 요소를 식별할 수 있다.The processor 2200 according to an embodiment executes a plurality of NLU models using the recipe syntax analysis module 2310 stored in the storage 2300, and a recognition target (eg, a cooking tool for each NLU model) , material) can identify semantic elements. For example, the processor 2200 may obtain a text indicating a recipe, apply the text to each of the plurality of NLU models, and identify at least one semantic element output from each of the plurality of NLU models.

일 실시예에 따른 프로세서(2200)는 저장부(2300)에 저장된 부가 정보 생성 모듈(2320)을 이용하여, 조리 가이드를 위한 부가 정보들을 생성할 수 있다. 예를 들어, 프로세서(2200)는 레시피 구문 분석 모듈로부터 식별된 의미 요소에 기초하여, 식별된 의미 요소 중에서 시간 관련 표현을 숫자 형태로 변환하고, 조리 단계 별 적용되는 조리 시간이 늘어나거나, 줄어드는 경우 변화되는 맛 정보 등을 가이드 할 수 있는 부가 정보를 생성할 수 있다. 다른 예에서, 식별된 의미 요소 중에서 양(amount) 관련 표현을 식별하고, 조리 단계 별 적용되는 조리 재료들의 양이 늘어나거나, 줄어드는 경우 변화되는 맛 정보 등을 가이드 할 수 있는 부가 정보를 생성할 수 있다. 다른 예에서, 식별된 의미 요소 중에서 온도 관련 표현을 식별하고, 조리 단계별 조리 온도가 높아지거나, 낮아지는 경우 변화되는 맛 정보 등을 가이드 할 수 있는 부가 정보를 생성할 수 있다. 또한, 프로세서(2200)는 부가 정보 생성 모듈(2320)을 이용하여, 레시피 구문 분석 모듈(2310)로부터 식별된 의미 요소들로부터 조리 재료, 조리 도구, 조리 장치 등의 물품을 식별하고, 식별된 물품에 관련된 광고 정보를 검색할 수 있다. 또한, 프로세서(2200)는, 부가 정보 생성 모듈(2320)을 이용하여, 레시피 구문 분석 모듈(2310)로부터 식별된 의미 요소 중에서 조리 테크닉, 플레이팅 방법, 조리 도구, 조리 재료 등과 관련된 표현을 식별하고, 식별된 표현에 관련된 영상, 이미지, 오디오 등의 미디어 콘텐츠를 검색할 수 있다. The processor 2200 according to an embodiment may generate additional information for the cooking guide by using the additional information generating module 2320 stored in the storage 2300 . For example, the processor 2200 converts a time-related expression among the identified semantic elements into a numeric form based on the semantic element identified by the recipe parsing module, and when the cooking time applied for each cooking step increases or decreases Additional information capable of guiding changing taste information and the like may be generated. In another example, it is possible to identify an expression related to an amount among the identified semantic elements, and generate additional information that can guide change in taste information when the amount of cooking ingredients applied for each cooking step increases or decreases. have. In another example, it is possible to identify a temperature-related expression among the identified semantic elements, and generate additional information capable of guiding taste information that is changed when the cooking temperature is increased or decreased in each cooking step. In addition, the processor 2200 uses the additional information generation module 2320 to identify items such as cooking materials, cooking tools, and cooking devices from the semantic elements identified by the recipe syntax analysis module 2310 , and identify the identified items. You can search for advertisement information related to In addition, the processor 2200 uses the additional information generation module 2320 to identify expressions related to cooking techniques, plating methods, cooking tools, cooking materials, etc. among the semantic elements identified from the recipe syntax analysis module 2310, and , it is possible to search for media content such as video, image, and audio related to the identified expression.

일 실시예에 따른 프로세서(2200)는 저장부(2300)에 저장된 제1 MRR 생성 모듈(2330)을 이용하여, 복수의 조리 파라미터들을 포함하는 구조화된 형태의 제1 MRR(Machine Readable Recipe) 데이터를 생성할 수 있다. 예를 들어, 프로세서(2200)는 제1 MRR 생성 모듈(2330)을 이용하여, 레시피 구문 분석 모듈(2310)로부터 식별된 의미 요소들에 대응되는 개체(Entity) 데이터를 생성하고, 구조화된 형태의 제1 MRR 데이터의 양식에 생성된 조리 파라미터를 삽입함으로써 제1 MRR 데이터를 생성할 수 있다.The processor 2200 according to an embodiment generates first MRR (Machine Readable Recipe) data in a structured form including a plurality of cooking parameters by using the first MRR generating module 2330 stored in the storage 2300 . can create For example, the processor 2200 uses the first MRR generation module 2330 to generate entity data corresponding to the semantic elements identified by the recipe syntax analysis module 2310, and to The first MRR data may be generated by inserting the generated cooking parameter into the form of the first MRR data.

일 실시예에 따른 프로세서(2200)는 저장부에 저장된 제2 MRR 생성 모듈(2340)을 이용하여, 제1 MRR 데이터를 변경하여 사용자에게 개인화된 제2 MRR 데이터를 생성할 수 있다. 제2 MRR 데이터 생성 모듈(2340)은 로그 데이터 획득 모듈, 제1 MRR 데이터 추출 모듈, 강화 학습 모듈, MRR 데이터 변형 모듈을 포함할 수 있다.The processor 2200 according to an embodiment may generate second MRR data personalized to the user by changing the first MRR data using the second MRR generation module 2340 stored in the storage unit. The second MRR data generation module 2340 may include a log data acquisition module, a first MRR data extraction module, a reinforcement learning module, and an MRR data transformation module.

프로세서(2200)는 로그 데이터 획득 모듈을 이용하여 사용자가 조리 장치를 조작했던 동작들에 관련된 로그 데이터를 획득하고, 제1 MRR 데이터 추출 모듈을 이용하여 제1 MRR 데이터 내에서 로그 데이터에 대응되는 조리 파라미터들을 추출할 수 있다. 프로세서(2200)는 MRR 데이터 변형 모듈을 이용하여, 획득된 로그 데이터에 기초하여 제1 MRR 데이터 내 조리 파라미터를 갱신함으로써 제2 MRR 데이터를 생성할 수 있다. The processor 2200 acquires log data related to operations in which the user manipulated the cooking apparatus using the log data acquisition module, and cooks corresponding to the log data in the first MRR data using the first MRR data extraction module. parameters can be extracted. The processor 2200 may generate the second MRR data by updating the cooking parameter in the first MRR data based on the obtained log data using the MRR data transformation module.

또한, 프로세서(2200)는 제2 MRR 생성 모듈(2340) 내 강화 학습 모듈을 이용하여 사용자가 조리 장치들을 이용하는 동작에 대한 피드백들에 기초하여 강화학습을 수행할 수 있다. 이 경우, 강화학습이 수행될 때 사용자의 로그 데이터가 이용될 수 있다. 프로세서(2200)는 MRR 데이터 변형 모듈을 이용하여, 강화학습 모듈로부터 출력된 결과에 기초하여 제1 MRR 데이터를 변경함으로써 사용자에게 개인화된 제2 MRR 데이터를 생성할 수 있다.In addition, the processor 2200 may perform reinforcement learning based on feedbacks on the operation of the user using the cooking apparatuses by using the reinforcement learning module in the second MRR generation module 2340 . In this case, log data of the user may be used when reinforcement learning is performed. The processor 2200 may generate the second MRR data personalized to the user by changing the first MRR data based on the result output from the reinforcement learning module by using the MRR data transformation module.

일 실시예에 따른 프로세서(2200)는 저장부(2300)에 저장된 카드 레시피 생성 모듈(2350)을 이용하여, 생성된 제1 MRR 데이터 및 생성된 부가 정보에 기초하여 음식의 조리를 위한 정보를 제공할 수 있는, 복수의 제1 레시피 카드를 생성할 수 있다. 또한, 프로세서(2200)는 생성된 제2 MRR 데이터 및 생성된 부가 정보에 기초하여 사용자에게 개인화된 음식의 조리를 위한 복수의 제2 레시피 카드들을 생성할 수 있다.The processor 2200 according to an embodiment provides information for cooking food based on the generated first MRR data and the generated additional information using the card recipe generation module 2350 stored in the storage 2300 . A plurality of first recipe cards can be created. In addition, the processor 2200 may generate a plurality of second recipe cards for cooking personalized food to the user based on the generated second MRR data and the generated additional information.

도 3은 일 실시예에 따른 서버가 제1 MRR 데이터 및 제2 MRR 데이터를 생성하기 위해 동작하는 방법을 나타내는 흐름도이다.3 is a flowchart illustrating a method in which a server operates to generate first MRR data and second MRR data according to an embodiment.

단계 S310에서, 서버(2000)는 음식의 레시피를 나타내는 텍스트를 획득할 수 있다. ‘레시피를 나타내는 텍스트’는 음식을 요리하기 위한 레시피를 나타내는 텍스트 형태의 데이터로, 다양한 방식으로 획득될 수 있다. In step S310, the server 2000 may obtain a text indicating a recipe for food. The 'text representing a recipe' is data in the form of text representing a recipe for cooking food, and may be obtained in various ways.

예를 들어, 레시피를 나타내는 텍스트는, 컴퓨터로 이용 가능한 문서 포맷 형태의 텍스트로 이루어진 레시피, Web 상의 레시피 페이지, 텍스트를 포함하는 레시피를 촬영한 이미지로부터 추출된 텍스트 등의 형태로 획득될 수 있으나, 이에 한정되는 것은 아니다. 또한, 상기 레시피를 나타내는 텍스트는 반드시 텍스트로부터만 획득되는 것은 아니며, 이미지 및 동영상 등의 다른 형태의 데이터로부터 획득될 수도 있다. 예를 들어, 서버(2000)는 이미지 등을 포함하는 레시피가 수신되면 레시피 내에서 텍스트 부분만 식별하여 조리를 위한 데이터를 생성하는데 이용할 수 있다.For example, text representing a recipe may be obtained in the form of a recipe made of text in a document format usable by a computer, a recipe page on the Web, text extracted from an image of a recipe including text, etc. The present invention is not limited thereto. In addition, the text indicating the recipe is not necessarily obtained only from text, and may be obtained from other types of data such as images and moving pictures. For example, when a recipe including an image is received, the server 2000 may identify only a text portion in the recipe and use it to generate data for cooking.

단계 S320에서, 서버(2000)는 텍스트를 분석하기 위한 복수의 NLU 모델들을 이용하여, 텍스트 내에 포함되는 복수의 의미 요소들을 식별할 수 있다. 이 경우, 서버(2000)는 텍스트의 구문 분석을 수행하기 위한 복수의 NLU 모델을 결정할 수 있다. 일 실시예에서, 서버(2000)는 획득된 텍스트가 나타내는 음식의 종류에 기초하여, 구문 분석을 위해 사용할 복수의 NLU 모델을 결정하고, 결정된 NLU 모델들을 이용하여 의미 요소를 식별할 수 있다. 각각의 NLU 모델들은, 특정 카테고리의 의미 요소들을 인식하고 추출하도록 학습된 모델일 수 있다. In operation S320 , the server 2000 may identify a plurality of semantic elements included in the text by using a plurality of NLU models for analyzing the text. In this case, the server 2000 may determine a plurality of NLU models for parsing text. In an embodiment, the server 2000 may determine a plurality of NLU models to be used for syntax analysis based on the type of food indicated by the obtained text, and identify semantic elements using the determined NLU models. Each of the NLU models may be a model trained to recognize and extract semantic elements of a specific category.

다만, 이에 한정되지 않으며, 서버(2000)는 획득된 텍스트에 대해서, 구문 분석을 위해 사용할 복수의 NLU 모델을 결정하지 않고, 사전에 결정된 복수의 NLU 모델을 이용하여 의미 요소를 식별할 수 있다. However, the present invention is not limited thereto, and the server 2000 may identify semantic elements using a plurality of predetermined NLU models without determining a plurality of NLU models to be used for syntax analysis with respect to the obtained text.

일 실시예에 따른 서버(2000)는 획득된 텍스트의 구문 분석을 수행하기 위해 복수의 NLU 모델들을 결정할 때, 식별하고자 하는 특정 카테고리의 의미 요소 카테고리 수가 기 설정된 수 이상인 경우, 복수의 NLU 모델에 우선 순위를 할당하고, 할당된 우선 순위에 기초하여 복수의 NLU 모델들을 결정하고 획득된 텍스트 내 의미 요소들을 식별할 수 있다.When the server 2000 according to an embodiment determines a plurality of NLU models to perform syntax analysis of the obtained text, if the number of semantic element categories of a specific category to be identified is greater than or equal to a preset number, preference is given to the plurality of NLU models. It is possible to assign a rank, determine a plurality of NLU models based on the assigned priority, and identify semantic elements in the obtained text.

일 실시예에 따른 서버(2000)는 획득된 텍스트를 각각 복수의 NLU 모델에 순차적으로 또는 병렬적으로 적용하고, 각각의 NLU 모델 별로 텍스트 인식을 수행함으로써, 각각의 NLU 모델이 식별하고자 하는 의미 요소를 획득할 수 있다. The server 2000 according to an embodiment applies the obtained text to a plurality of NLU models sequentially or in parallel, respectively, and performs text recognition for each NLU model, so that each NLU model is a semantic element to be identified. can be obtained.

예를 들어, 획득된 텍스트를 제1 NLU 모델에 적용하여 출력된 적어도 하나 이상의 의미 요소인 ‘제1 의미 요소’, 텍스트를 제2 NLU 모델에 적용하여 출력된 적어도 하나 이상의 의미 요소인 ‘제2 의미 요소’를 획득할 수 있다. 서버(2000)는 같은 방식으로 텍스트를 제N NLU 모델에 적용하여 출력된 적어도 하나 이상의 의미 요소인 ‘제N 의미 요소’를 획득할 수 있다.For example, 'first semantic element' that is at least one semantic element output by applying the obtained text to the first NLU model, and 'second semantic element' that is at least one or more semantic elements output by applying the text to the second NLU model semantic element' can be obtained. The server 2000 may acquire the 'Nth semantic element' that is at least one output semantic element by applying the text to the Nth NLU model in the same manner.

단계 S330에서, 일 실시예에 따른 서버(2000)는 식별된 의미 요소들에 기초하여 구조화된 형태의 데이터인 제1 MRR(Machine Readable Recipe) 데이터를 생성할 수 있다. 예를 들어, 제1 MRR 데이터는 JSON(JavaScript Object Notation) 형태로 작성된 구조화된 형태의 텍스트 데이터일 수 있으나, 이에 한정되지 않으며, 다른 프로그래밍 언어 등으로 구현되어 구조화된 형태의 텍스트 데이터일 수 있다.In operation S330, the server 2000 according to an embodiment may generate first MRR (Machine Readable Recipe) data that is structured data based on the identified semantic elements. For example, the first MRR data may be text data in a structured form written in a JSON (JavaScript Object Notation) form, but is not limited thereto, and may be text data in a structured form implemented in another programming language or the like.

일 실시예에 따른 제1 MRR 데이터는, 조리 파라미터를 포함할 수 있다. 조리 파라미터는 조리 장치의 제어 동작을 나타내는 파라미터일 수 있다. 조리 파라미터는 조리 장치의 동작 모드, 동작 온도, 동작 시간 등을 포함할 수 있다. 예를 들어, 오븐 요리에 대한 레시피의 경우, 제1 MRR 데이터 내 조리 파라미터는 컨벡션 모드, 200℃, 20분일 수 있다.The first MRR data according to an embodiment may include a cooking parameter. The cooking parameter may be a parameter indicating a control operation of the cooking apparatus. The cooking parameter may include an operation mode, an operation temperature, an operation time of the cooking apparatus, and the like. For example, in the case of a recipe for oven cooking, the cooking parameter in the first MRR data may be a convection mode, 200° C., and 20 minutes.

또한, 제1 MRR 데이터는 기본적인 레시피 정보와 요리 단계별 정보를 포함할 수 있다. 기본적인 레시피 정보는 요리 이름, 요리 종류, 레시피 생성일, 레시피 버전, 언어, 조리 시간, 레시피 저자, 조리 재료 등의 정보를 포함할 수 있다. 요리 단계별 정보는 레시피를 나타내는 텍스트의 원래의 문장, 단계별 요구되는 사용자의 조리 행위, 조리 장치에 관련된 사용자의 동작, 레시피에 대응되는 미디어 콘텐츠, 조리 단계별 필요한 조리 재료, 조리 단계별 필요한 조리 도구 등의 정보를 포함할 수 있다.In addition, the first MRR data may include basic recipe information and cooking step information. The basic recipe information may include information such as a dish name, a dish type, a recipe creation date, a recipe version, a language, a cooking time, a recipe author, and cooking ingredients. The cooking step information includes the original sentence of the text indicating the recipe, the user's cooking behavior required for each step, the user's action related to the cooking device, media content corresponding to the recipe, cooking ingredients required for each cooking step, cooking tools required for each cooking step, etc. may include

단계 S340에서, 일 실시예에 따른 서버(2000)는 사용자가 조리 장치를 조작했던 동작들에 관련된 사용자의 로그 데이터를 획득할 수 있다. 예를 들어, 사용자의 로그 데이터는 사용자가 소정 기간 동안 조리 장치를 조작했던 동작들에 관련된 로그 데이터일 수 있다. In operation S340 , the server 2000 according to an exemplary embodiment may acquire log data of the user related to operations in which the user manipulated the cooking apparatus. For example, the user's log data may be log data related to operations in which the user manipulated the cooking apparatus for a predetermined period.

일 실시예에서, 사용자의 로그 데이터는, 조리 장치의 동작 온도, 동작 시간, 동작 횟수 등의 조리 장치의 제어 동작과 관련된 파라미터를 포함할 수 있으며, 요리에 대한 사용자의 평가 데이터를 포함할 수 있으나, 이에 한정되지 않는다. In an embodiment, the user's log data may include parameters related to the control operation of the cooking apparatus, such as the operation temperature, operation time, and number of operations of the cooking apparatus, and may include evaluation data of the user on cooking. , but is not limited thereto.

일 실시예에 따른 사용자의 로그 데이터는 조리 장치로부터 서버(2000)로 수신되거나, 조리 장치로부터 다른 외부 장치(예를 들어, 서드 파티 서버)로 사용자의 로그 데이터가 수신되고, 서버(2000)가 다른 외부 장치로부터 수신한 것일 수 있다.According to an embodiment, the user's log data is received from the cooking apparatus to the server 2000, or the user's log data is received from the cooking apparatus to another external device (eg, a third-party server), and the server 2000 is It may be received from another external device.

일 실시예에서, 사용자의 로그 데이터는 사용자가 조리 장치를 조작했던 동작들에 관련된 데이터들을 기록한 사용자의 로그 데이터일 수 있다.In an embodiment, the user's log data may be the user's log data in which data related to operations in which the user manipulated the cooking apparatus are recorded.

다른 실시예에서, 사용자의 로그 데이터는 사용자가 제1 MRR 데이터에 포함되는 조리 파라미터와 다르게 조리 장치를 추가적으로 조작하는 동작에 관련된, 사용자의 로그 데이터일 수 있다. 예를 들어, 제1 MRR 데이터에 포함되는 조리 파라미터가 오븐의 컨벡션 모드, 200℃, 20분이고, 사용자가 오븐을 추가적으로 조작하여 컨벡션 모드, 200℃에서 5분 더 조리한 경우, 컨벡션 모드, 200℃, 5분이 사용자의 로그 데이터일 수 있다.In another embodiment, the log data of the user may be log data of the user related to the operation of the user to additionally manipulate the cooking apparatus differently from the cooking parameters included in the first MRR data. For example, when the cooking parameters included in the first MRR data are the convection mode of the oven, 200° C., and 20 minutes, and the user additionally manipulates the oven to cook for 5 minutes at the convection mode, 200° C., the convection mode, 200° C. , 5 minutes may be the user's log data.

단계 S350에서, 일 실시예에 따른 서버(2000)는 획득된 사용자의 로그 데이터에 기초하여, 제1 MRR에 포함되는 복수의 조리 파라미터들을 갱신함으로써 사용자에게 개인화된 제2 MRR 데이터를 생성할 수 있다.In step S350 , the server 2000 according to an embodiment may generate the second MRR data personalized to the user by updating the plurality of cooking parameters included in the first MRR based on the obtained log data of the user. .

일 실시예에 따른 서버(2000)는 사용자의 로그 데이터에 기초하여, 사용자가 조리 장치를 조리 장치의 특정 모드로 동작 시킨 횟수가 소정 횟수 이상인 경우, 제1 MRR 데이터에 포함되는 복수의 조리 파라미터들을 사용자의 로그 데이터에 대응되는 값들로 갱신할 수 있다. The server 2000 according to an exemplary embodiment determines, based on the user's log data, a plurality of cooking parameters included in the first MRR data when the number of times the user operates the cooking device in a specific mode of the cooking device is greater than or equal to a predetermined number of times. Values corresponding to the user's log data can be updated.

예를 들어, 사용자가 돼지고기 요리를 하는 경우, 조리 장치는 제1 MRR 데이터에 기초하여 조리 동작들을 수행함으로써 돼지고기 요리를 완성할 수 있다. 이 경우, 조리 장치의 사용자가 사용자의 기호에 맞는 요리를 하기 위해 조리 장치를 추가로 조작(예를 들어, 200℃에서 5분 더 가열)하여, 돼지고기 요리를 더 조리할 수 있고, 사용자의 조리 장치 조작에 따른 사용자 로그 데이터들이 생성될 수 있다. For example, when the user cooks pork, the cooking apparatus may complete the pork dish by performing cooking operations based on the first MRR data. In this case, the user of the cooking device may further cook the pork dish by further manipulating the cooking device (for example, heating the cooking device at 200° C. for 5 minutes more) in order to cook according to the user's preference, and the user's User log data according to the operation of the cooking device may be generated.

일 실시예에 따른 서버(2000)는 사용자의 로그 데이터들에 기초하여, 제1 MRR 데이터 내 포함된 조리 파라미터를 변경(예를 들어, ‘컨벡션 모드, 200℃, 20분’을, 컨벡션 모드, 200℃, 25분으로 변경)함으로써, 사용자에게 개인화된 레시피를 나타내는 제2 MRR 데이터를 생성할 수 있다.The server 2000 according to an embodiment changes the cooking parameters included in the first MRR data based on the user's log data (eg, 'convection mode, 200°C, 20 minutes', convection mode, 200° C., change to 25 minutes) to generate second MRR data representing a personalized recipe to the user.

또한, 일 실시예에 따른 서버(2000)는 제2 MRR 데이터를 생성할 때, 강화학습을 이용하여 제2 MRR 데이터를 생성할 수 있다. Also, when generating the second MRR data, the server 2000 according to an embodiment may generate the second MRR data by using reinforcement learning.

일 실시예에 따른 서버(2000)는 강화 학습 모듈을 이용하여, 강화학습을 수행함으로써 제2 MRR 데이터를 생성할 수 있다. 이 경우, 서버(2000)는 사용자의 로그 데이터에 포함되는 값들을 보상 값들로 할당할 수 있다. 서버(2000)는 조리 장치가 동작하는 동안, 각각의 조리 단계에서 조리 장치의 동작들에 대응되는 보상 값들을 획득하고, 조리 완료 단계에 이르기까지 획득된 보상 값들의 누적 합이 최대가 되도록 제1 MRR 데이터 내 조리 파라미터를 갱신함으로써, 사용자에게 개인화된 레시피를 나타내는 제2 MRR 데이터를 생성할 수 있다.The server 2000 according to an embodiment may generate the second MRR data by performing reinforcement learning using the reinforcement learning module. In this case, the server 2000 may allocate values included in the user's log data as compensation values. The server 2000 acquires compensation values corresponding to the operations of the cooking device in each cooking stage while the cooking device is operating, and performs the first operation such that the accumulated sum of the compensation values obtained until the cooking completion stage is maximized. By updating the cooking parameters in the MRR data, it is possible to generate second MRR data representing a personalized recipe to the user.

도 4는 일 실시예에 따른 서버에 포함되는 레시피 구문 분석 모듈의 동작들을 설명하기 위한 도면이다.4 is a diagram for explaining operations of a recipe syntax analysis module included in a server according to an embodiment.

개시된 실시예에서, 의미 요소란, 레시피를 나타내는 텍스트 내에서 NLU 모델을 통하여 인식된, 음식의 조리에 관련된 데이터를 말한다. NLU 모델을 사용하여 식별되는 의미 요소는 음식의 조리를 위해 미리 설정된 카테고리에 따라 분류될 수 있다. 예를 들어, 조리 장치, 조리 테크닉, 조리 재료, 조리 도구, 조리 시간, 조리 량 등의 카테고리에 따라 의미 요소가 구분될 수 있다. 개시된 실시예에 따른 의미 요소가 변경 되는 경우에, 조리 장치에서 조리되는 음식의 조리 결과가 변화될 수 있다.In the disclosed embodiment, the semantic element refers to data related to cooking of food recognized through the NLU model in the text representing the recipe. Semantic elements identified using the NLU model may be classified according to a category preset for cooking of food. For example, semantic elements may be classified according to categories such as a cooking device, a cooking technique, a cooking material, a cooking tool, a cooking time, and a cooking amount. When the semantic element according to the disclosed embodiment is changed, the cooking result of the food cooked in the cooking apparatus may be changed.

또한, 서버(2000)는 의미 요소들로부터 텍스트의 의도를 나타내는 것으로 판단되는 인텐트(intent) 정보를 식별할 수 있다. 예를 들어, 입력된 텍스트가 ‘다진 마늘 3스푼, 간장 2스푼, 굴소스 2스푼, 올리고당 3스푼, 녹인 버터 1스푼을 잘 섞어서 소스를 만듭니다.’ 인 경우, 인텐트는 ‘소스 제조’일 수 있다. 서버(2000)는 식별된 의미 요소에 기초하여 조리 과정을 가이드하기 위해 부가 정보를 생성할 때, 식별된 인텐트 정보를 이용하여 부가 정보를 생성할 수 있다.Also, the server 2000 may identify intent information determined to indicate the intention of the text from the semantic elements. For example, if the input text is 'Make a sauce by mixing 3 spoons of minced garlic, 2 spoons of soy sauce, 2 spoons of oyster sauce, 3 spoons of oligosaccharide, and 1 spoon of melted butter.' can When generating additional information to guide a cooking process based on the identified semantic element, the server 2000 may generate additional information using the identified intent information.

도 4를 참조하면, 서버(2000)는 레시피를 나타내는 텍스트를 획득할 수 있다. 레시피를 나타내는 텍스트는 조리 테크닉, 조리 재료, 조리 도구, 조리 장치, 조리 시간 등 조리 방법과 관련된 다양한 정보를 포함할 수 있다. 서버(2000)는 획득된 텍스트에서 의미 요소를 추출하기 위하여, 구문 분석을 위한 복수의 NLU 모델을 결정할 수 있다. 이 경우 각각의 NLU 모델은, 특정 카테고리에 해당하는 의미 요소를 식별하기 위해 학습된 NLU 모델일 수 있으며, 결정된 NLU 모델들은 획득된 텍스트에 대하여, 각각의 NLU 모델들이 독립적으로 텍스트 인식을 수행하고 각각의 NLU 모델로부터 출력된 복수의 의미 요소들을 식별할 수 있다. Referring to FIG. 4 , the server 2000 may obtain text indicating a recipe. The text representing the recipe may include various information related to a cooking method, such as a cooking technique, a cooking material, a cooking tool, a cooking device, and a cooking time. The server 2000 may determine a plurality of NLU models for syntax analysis in order to extract semantic elements from the obtained text. In this case, each NLU model may be an NLU model trained to identify a semantic element corresponding to a specific category, and the determined NLU models perform text recognition independently on the obtained text, and each NLU model independently performs text recognition. It is possible to identify a plurality of semantic elements output from the NLU model of .

다만, 이에 한정되는 것은 아니며, 서버(2000)는 구문 분석을 위해 사용할 복수의 NLU 모델을 결정하지 않고 사전에 결정된 복수의 NLU 모델을 이용하여 의미 요소를 식별할 수 있다.However, the present invention is not limited thereto, and the server 2000 may identify a semantic element using a plurality of predetermined NLU models without determining a plurality of NLU models to be used for syntax analysis.

일 실시예에서, 서버(2000)는 획득된 텍스트에서 조리 테크닉 NLU 모델을 이용하여 조리 테크닉 의미 요소를 식별하고, 조리 재료 NLU 모델을 이용하여 조리 재료 의미 요소를 식별하고, 조리 도구 NLU 모델을 이용하여 조리 도구 의미 요소를 식별하고, 조리 장치 NLU 모델을 이용하여 조리 장치 의미 요소를 식별하고, 조리 시간 NLU 모델을 이용하여 조리 시간 의미 요소를 식별할 수 있다.In an embodiment, the server 2000 identifies a cooking technique semantic element from the obtained text using a cooking technique NLU model, identifies a cooking ingredient semantic element using a cooking material NLU model, and uses a cooking tool NLU model to identify the cooking tool semantic element, the cooking device semantic element may be identified using the cooking device NLU model, and the cooking time semantic element may be identified using the cooking time NLU model.

서버(2000)가 획득된 텍스트 내에서 카테고리 별로 의미 요소들을 식별하는 구체적인 실시예에 대해서는 도 5에서 더 설명하기로 한다.A specific embodiment in which the server 2000 identifies semantic elements for each category in the obtained text will be further described with reference to FIG. 5 .

도 5는 일 실시예에 따른 서버가 레시피 구문 분석 모듈을 이용하여, 복수의 NLU 모델로 의미 요소를 식별하는 방법을 설명하기 위하여 참조되는 도면이다.5 is a diagram referenced to explain a method in which a server identifies semantic elements using a plurality of NLU models using a recipe syntax analysis module according to an embodiment.

일 실시예에서, 서버(2000)는 다양한 음식들에 대한 레시피를 나타내는 텍스트를 획득할 수 있다. 이하에서는, 설명의 편의를 위하여 서버(2000)에서 획득된 레시피를 나타내는 텍스트가 ‘닭 요리 레시피’를 나타내는 텍스트인 경우를 예로 들어 설명하기로 한다.In an embodiment, the server 2000 may obtain text indicating recipes for various foods. Hereinafter, for convenience of explanation, a case in which the text representing the recipe obtained from the server 2000 is the text representing the 'chicken dish recipe' will be described as an example.

서버(2000)는 획득된 ‘닭 요리 레시피’를 나타내는 텍스트(510)에 대하여, 저장부에 저장된 복수의 NLU 모델들 중에서, 텍스트를 분석하기 위해 사용할 복수의 NLU 모델들을 조리 테크닉 NLU 모델, 조리 재료 NLU 모델, 조리 도구 NLU 모델, 조리 장치 NLU 모델, 조리 시간 NLU 모델로 결정할 수 있다. 서버(2000)는 결정된 NLU 모델들을 이용하여, 각각의 NLU 모델에 대응되는 카테고리 별로 의미 요소를 식별할 수 있다.The server 2000 selects a plurality of NLU models to be used to analyze the text from among a plurality of NLU models stored in the storage with respect to the text 510 indicating the acquired 'chicken dish recipe', a cooking technique NLU model, and a cooking material. It may be determined by the NLU model, the cooking tool NLU model, the cooking apparatus NLU model, and the cooking time NLU model. The server 2000 may identify semantic elements for each category corresponding to each NLU model by using the determined NLU models.

예를 들어, 서버(2000)는 ‘닭 요리 레시피’를 나타내는 텍스트(510)를 조리 테크닉 NLU 모델에 적용하여, 조리 테크닉에 관련된 적어도 하나 이상의 의미 요소를 식별할 수 있다. 구체적으로, 서버(2000)는 닭 요리 레시피를 나타내는 텍스트(510)로부터, ‘냄새제거를 위해서’, ‘30분 정도 담갔다가 흐르는 물에 헹궈서 물기를 제거’, ‘잘 섞어서 소스를 만듭니다’, ‘칼집 낸 닭’, ‘양념의 2/3를 넣고 버무린 후’, ‘30분간 재워둡니다’ 등과 같이, 조리 과정에서 사용자의 조리 테크닉에 따라 조리 결과에 변화를 일으킬 수 있는 조리 테크닉 의미 요소(520)들을 식별할 수 있다.For example, the server 2000 may identify at least one semantic element related to the cooking technique by applying the text 510 representing the 'chicken cooking recipe' to the cooking technique NLU model. Specifically, the server 2000, from the text 510 indicating the chicken recipe, 'to remove the smell', 'soak for about 30 minutes and then rinse with running water to remove the water', 'mix well to make the sauce', ' Meaning factors of cooking technique that can change the cooking result according to the user's cooking technique during the cooking process, such as 'sliced chicken', 'add 2/3 of the seasoning and toss', 'marinate for 30 minutes', etc. (520) can be identified.

다른 예에서, 서버(2000)는 ‘닭 요리 레시피’를 나타내는 텍스트(510)를 조리 재료 NLU 모델에 적용하여, 조리 재료와 관련된 적어도 하나 이상의 의미 요소를 식별할 수 있다. 구체적으로, 서버(2000)는 닭 요리 레시피를 나타내는 텍스트(510)로부터, ‘닭’, ‘우유 혹은 쌀뜨물’, ‘다진 마늘 3수저’, ‘간장 2수저’, ‘굴소스 2수저’, ‘올리고당 3수저’, ‘녹인 버터 1수저’, ‘파슬리 가루’ 등과 같이, 조리 과정에서, 조리 재료의 변화에 따라 조리 결과에 변화를 일으킬 수 있는 조리 재료 의미 요소(530)들을 식별할 수 있다.In another example, the server 2000 may identify at least one semantic element related to the cooking material by applying the text 510 representing the 'chicken dish recipe' to the cooking material NLU model. Specifically, the server 2000, from the text 510 indicating the chicken recipe, 'chicken', 'milk or rice water', '3 spoons minced garlic', '2 spoons soy sauce', '2 spoons oyster sauce', During the cooking process, such as '3 spoons of oligosaccharide', '1 spoon of melted butter', and 'parsley powder', it is possible to identify the elements 530 meaning cooking ingredients that can cause a change in the cooking result according to the change of the cooking material. .

다른 예에서, 서버(2000)는 ‘닭 요리 레시피’를 나타내는 텍스트(510)를 조리 도구 NLU 모델에 적용되어, 조리 도구와 관련된 적어도 하나 이상의 의미 요소를 식별할 수 있다. 구체적으로, 서버(2000)는 닭 요리 레시피를 나타내는 텍스트(510)로부터, ‘오븐 팬’과 같이, 조리 도구의 변화에 따라 조리 결과에 변화를 일으킬 수 있는 조리 도구 의미 요소(540)들을 식별할 수 있다.In another example, the server 2000 may identify at least one semantic element related to the cooking tool by applying the text 510 representing the 'chicken cooking recipe' to the cooking tool NLU model. Specifically, the server 2000 identifies, from the text 510 representing the chicken cooking recipe, the cooking tool semantic elements 540 that can cause a change in the cooking result according to the change of the cooking tool, such as 'oven pan'. can

같은 방식으로, 서버(2000)는 ‘닭 요리 레시피’를 나타내는 텍스트(510)를 조리 장치 NLU 모델, 조리 시간 NLU 모델 각각에 적용하여, 각각의 모델 별로 출력되는 조리 장치 의미 요소(650), 조리 시간 의미 요소(660)를 식별할 수 있다.In the same way, the server 2000 applies the text 510 indicating 'chicken cooking recipe' to each of the cooking apparatus NLU model and the cooking time NLU model, and the cooking apparatus semantic element 650, which is output for each model, and cooking A temporal semantic element 660 may be identified.

일 실시예에 따른 서버(2000)는 레시피를 나타내는 텍스트에 각각의 NLU 모델을 적용하여 카테고리 별로 획득된 의미 요소들을 이용하여, 제1 MRR 데이터 및 부가 정보를 생성할 수 있다.The server 2000 according to an embodiment may generate the first MRR data and additional information using semantic elements obtained for each category by applying each NLU model to the text representing the recipe.

도 6은 일 실시예에 따른 서버에 포함되는, 식별된 의미 요소에 기초하여 부가 정보를 생성하는 부가 정보 생성 모듈의 세부 구성을 설명하기 위한 도면이다.6 is a diagram for describing a detailed configuration of an additional information generating module that generates additional information based on an identified semantic element included in a server according to an exemplary embodiment.

일 실시예에 따른 서버(2000)는 부가 정보 생성 모듈(2320)을 이용하여, 음식 조리를 가이드하기 위한 부가 정보들을 생성할 수 있다. 이 경우, 부가 정보 생성 모듈(2320)은, 조리 가이드 정보 생성 모듈(610), 광고 정보 획득 모듈(620), 콘텐츠 정보 획득 모듈(630), 대체 레시피 정보 획득 모듈(640)을 포함할 수 있다.The server 2000 according to an embodiment may generate additional information for guiding food cooking by using the additional information generating module 2320 . In this case, the additional information generating module 2320 may include a cooking guide information generating module 610 , an advertisement information obtaining module 620 , a content information obtaining module 630 , and an alternative recipe information obtaining module 640 . .

일 실시예에서, 서버(2000)는 레시피를 나타내는 텍스트에서 식별된 의미 요소에 기초하여, 조리 가이드 정보를 생성할 수 있다. In an embodiment, the server 2000 may generate cooking guide information based on the semantic element identified in the text representing the recipe.

예를 들어, 서버(2000)는 조리 가이드 정보 생성 모듈(610)을 이용하여, 식별된 의미 요소 중에서 시간 관련 표현을 숫자 형태로 변환하고, 조리 단계 별 적용되는 조리 시간이 늘어나거나, 줄어드는 경우 변화되는 맛 정보 등을 가이드 할 수 있는 부가 정보를 생성할 수 있다. 다른 예에서, 식별된 의미 요소 중에서 양(amount) 관련 표현을 식별하고, 조리 단계 별 적용되는 조리 재료들의 양이 늘어나거나, 줄어드는 경우 변화되는 맛 정보 등을 가이드 할 수 있는 부가 정보를 생성할 수 있다. 다른 예에서, 식별된 의미 요소 중에서 온도 관련 표현을 식별하고, 조리 단계별 조리 온도가 높아지거나, 낮아지는 경우 변화되는 맛 정보 등을 가이드 할 수 있는 부가 정보를 생성할 수 있다.For example, the server 2000 uses the cooking guide information generating module 610 to convert a time-related expression among the identified semantic elements into a numeric form, and changes when the cooking time applied for each cooking step increases or decreases. It is possible to create additional information that can guide the taste information and the like. In another example, it is possible to identify an expression related to an amount among the identified semantic elements, and generate additional information that can guide change in taste information when the amount of cooking ingredients applied for each cooking step increases or decreases. have. In another example, it is possible to identify a temperature-related expression among the identified semantic elements, and generate additional information capable of guiding taste information that is changed when the cooking temperature is increased or decreased in each cooking step.

일 실시예에서, 서버(2000)는 레시피를 나타내는 텍스트에서 식별된 의미 요소에 기초하여, 광고 정보를 획득할 수 있다.In an embodiment, the server 2000 may acquire advertisement information based on the semantic element identified in the text representing the recipe.

예를 들어, 서버(2000)는 광고 정보 획득 모듈(620)을 이용하여, 식별된 의미 요소들로부터 조리 재료, 조리 도구, 조리 장치 등의 물품을 식별하고, 식별된 물품에 관련된 광고 정보를 검색할 수 있다. 또한, 서버(2000)는 광고 정보 획득 모듈(620)을 이용하여, MRR 데이터로부터 조리 재료, 조리 도구, 조리 장치 등의 물품을 식별하고, 식별된 물품에 관련된 광고 정보를 검색할 수 있다. 광고 정보 획득 모듈(620)은 검색된 광고 정보를 해당 의미 요소와 매칭하고 조리 단계 별 광고 정보를 제공할 수 있는 부가 정보를 생성할 수 있다.For example, the server 2000 uses the advertisement information obtaining module 620 to identify items such as cooking materials, cooking tools, and cooking devices from the identified semantic elements, and retrieve advertisement information related to the identified items. can do. In addition, the server 2000 may use the advertisement information acquisition module 620 to identify items such as cooking materials, cooking tools, and cooking devices from the MRR data, and search advertisement information related to the identified items. The advertisement information obtaining module 620 may generate additional information capable of matching the searched advertisement information with a corresponding semantic element and providing advertisement information for each cooking step.

일 실시예에서, 서버(2000)는 레시피를 나타내는 텍스트에서 식별된 의미 요소에 기초하여 콘텐츠 정보를 획득할 수 있다.In an embodiment, the server 2000 may acquire content information based on a semantic element identified in the text representing the recipe.

예를 들어, 서버(2000)는 콘텐츠 정보 획득 모듈(630)을 이용하여, 식별된 의미 요소 중에서 조리 테크닉, 플레이팅 방법, 조리 도구, 조리 재료 등과 관련된 표현을 식별할 수 있다. 서버(2000)는 콘텐츠 정보 획득 모듈(630)을 이용하여, 전술한 식별된 표현들과 관련된 영상, 이미지, 오디오 등의 미디어 콘텐츠를 검색할 수 있다. 서버(2000)는 검색된 콘텐츠를 해당 의미 요소와 매칭하고 조리 단계 별 미디어 콘텐츠를 제공할 수 있는 부가 정보를 생성할 수 있다.For example, the server 2000 may identify an expression related to a cooking technique, a plating method, a cooking tool, a cooking material, etc. from among the identified semantic elements by using the content information acquisition module 630 . The server 2000 may use the content information obtaining module 630 to search for media content such as video, image, and audio related to the above-described identified expressions. The server 2000 may generate additional information capable of matching the searched content with a corresponding semantic element and providing media content for each cooking stage.

일 실시예에서, 서버(2000)는 레시피를 나타내는 텍스트에서 식별된 의미 요소 및 사용자로부터 획득되는 사용자 프로필 정보에 기초하여 대체 레시피 정보를 획득할 수 있다.In an embodiment, the server 2000 may obtain the replacement recipe information based on the semantic element identified in the text representing the recipe and the user profile information obtained from the user.

예를 들어, 서버(2000)는 대체 레시피 정보 획득 모듈(640)을 이용하여, 식별된 레시피 정보, 사용자 프로필 정보(예를 들어, 사용자가 보유한 조리 장치, 사용자가 좋아하는 맛 성향 등)에 기초하여, 현재 식별된 레시피에 적힌 조리 방식 외에 다른 방식으로 조리할 수 있는 방식 등을 검색할 수 있다. 서버(2000)는 검색된 조리 방식에 기초하여, 현재 레시피의 적어도 일부를 수정한 레시피 또는 현재 레시피의 대체 레시피를 부가 정보로 생성할 수 있다.For example, the server 2000 may use the alternative recipe information obtaining module 640 based on the identified recipe information and user profile information (eg, a cooking device possessed by the user, a taste preference of the user, etc.) Accordingly, it is possible to search for a method capable of cooking in a method other than the cooking method written in the currently identified recipe. The server 2000 may generate, as additional information, a recipe in which at least a portion of the current recipe is modified or an alternative recipe of the current recipe, based on the found cooking method.

도 6에 대한 설명에서 조리 가이드를 위한 부가 정보를 생성하는 실시예에 대하여 설명하였으나, 상기 설명은 설명의 편의를 위해 예시적으로 서술된 것으로 이해되어야 하며, 상기 서술한 부가 정보들 외에도 조리 가이드를 위한 다양한 부가 정보 모듈이 포함될 수 있다.Although an embodiment of generating additional information for a cooking guide has been described in the description of FIG. 6 , it should be understood that the description is exemplarily described for convenience of explanation, and in addition to the above-described additional information, a cooking guide is used. Various additional information modules may be included for

일 실시예에 따른 서버(2000)는, 카드 레시피 생성 모듈을 이용하여 레시피 카드를 생성할 때, 각각의 조리 단계 별로 대응되는 부가 정보를 레시피 카드에 포함되어 생성할 수 있다. 서버(2000)는 부가 정보가 포함된 레시피 카드를 사용자에게 제공할 수 있다. 또한, 서버(2000)는 MRR 데이터를 생성할 때 부가 정보를 MRR 데이터에 삽입하여 MRR 데이터 내 저장할 수 있다.When generating a recipe card using the card recipe generating module, the server 2000 according to an embodiment may generate additional information corresponding to each cooking step by being included in the recipe card. The server 2000 may provide a recipe card including additional information to the user. Also, the server 2000 may insert additional information into the MRR data when generating the MRR data and store it in the MRR data.

도 7은 일 실시예에 따른 서버가 복수의 NLU 모델들로부터 식별된 의미 요소를 이용하여 제1 MRR 데이터를 생성하는 방법을 설명하기 위해 참조되는 도면이다.7 is a diagram referenced to explain a method for a server to generate first MRR data using semantic elements identified from a plurality of NLU models according to an embodiment.

도 7을 참조하면, 서버(2000)는 복수의 NLU 모델을 이용하여, 레시피를 나타내는 텍스트로부터, 복수의 의미 요소들(710)을 식별할 수 있다. 서버(2000)가 복수의 의미 요소들(710)을 식별하는 방법에 대해서는 도 5에 대한 설명에서 전술하였으므로, 여기에서는 설명의 간단을 위해 설명을 생략하기로 한다.Referring to FIG. 7 , the server 2000 may identify a plurality of semantic elements 710 from text representing a recipe by using a plurality of NLU models. Since the method for the server 2000 to identify the plurality of semantic elements 710 has been described above with reference to FIG. 5 , a description thereof will be omitted here for the sake of simplicity.

일 실시예에서, 제1 MRR 데이터(730)란, 식별된 의미 요소들에 기초하여 생성된 데이터로, 조리 장치가 읽을 수 있도록 구조화된 형태의 데이터일 수 있다.In an embodiment, the first MRR data 730 is data generated based on the identified semantic elements, and may be data in a structured form so that the cooking apparatus can read it.

일 실시예에 따른 서버(2000)는 제1 MRR 데이터 생성 모듈을 이용하여, 식별된 의미 요소들(710)에 대응되는 조리 파라미터(720)를 생성할 수 있다. 이 경우, 조리 파라미터(720)란 제1 MRR 데이터 내 포함되는 각각의 개체들로, 레시피에서 조리와 관련된 요소들을 나타낼 수 있다.The server 2000 according to an embodiment may generate a cooking parameter 720 corresponding to the identified semantic elements 710 by using the first MRR data generation module. In this case, the cooking parameter 720 is each entity included in the first MRR data, and may represent elements related to cooking in a recipe.

일 실시예에서, 의미 요소는 문장 형태로 식별된 것일 수 있다. 이 경우, 서버(2000)는 제1 MRR 데이터 생성 모듈을 이용하여 의미 요소에서 핵심적인 키워드가 되는 텍스트를 추출하고, 제1 MRR 데이터(730)에 포함될 개체(entity) 데이터를 생성할 수 있다. 예를 들어, 서버(2000)는 조리 테크닉 의미 요소의 ‘그릇에 재료들을 섞는다’ 에서 키워드로 ‘Stir’를 추출하고, 추출된 ‘Stir’을 조리 테크닉 카테고리(721)에 대응되는 조리 파라미터로 생성할 수 있다. 또한 서버(2000)는 조리 테크닉 의미 요소의 ‘다 구워지면 5분간 기다린다’ 에서 키워드로 ‘Wait’를 추출하고, 추출된 ‘Wait’을 조리 테크닉 카테고리(721)에 대응되는 조리 파라미터로 생성할 수 있다.In an embodiment, the semantic element may be identified in the form of a sentence. In this case, the server 2000 may extract text that becomes a core keyword from the semantic element by using the first MRR data generation module, and may generate entity data to be included in the first MRR data 730 . For example, the server 2000 extracts 'Stir' as a keyword from 'mix ingredients in a bowl' of the cooking technique semantic element, and generates the extracted 'Stir' as a cooking parameter corresponding to the cooking technique category 721 . can do. In addition, the server 2000 extracts 'Wait' as a keyword from 'Wait for 5 minutes when finished' of the cooking technique semantic element, and generates the extracted 'Wait' as a cooking parameter corresponding to the cooking technique category 721. have.

일 실시예에서, 의미 요소는 단어 형태로 식별된 것일 수 있다. 이 경우, 서버(2000)는 제1 MRR 데이터 생성 모듈을 이용하여, 단어 형태로 식별된 의미 요소를 키워드로 추출함으로써 제1 MRR 데이터에 포함될 조리 파라미터를 생성할 수 있다. 예를 들어, 서버(2000)는 조리 재료 의미 요소의 ‘바나나 3~4개’에서 키워드로 ‘Banana 3~4 ea’를 추출하고, 추출된 ‘Banana 3~4 ea’를 조리 재료 카테고리(722)에 대응되는 조리 파라미터로 생성할 수 있다. 또한, 서버(2000)는 조리 재료 의미 요소의 ‘계란 2개’에서 키워드로 ‘Egg 2ea’를 추출하고, 추출된 ‘Egg 2ea’를 조리 재료 카테고리(722)에 대응되는 조리 파라미터로 생성할 수 있다.In an embodiment, the semantic element may be identified in the form of a word. In this case, the server 2000 may generate a cooking parameter to be included in the first MRR data by extracting the semantic element identified in the form of a word as a keyword using the first MRR data generating module. For example, the server 2000 extracts 'Banana 3-4 ea' as a keyword from '3 to 4 bananas' of the cooking ingredient semantic element, and sets the extracted 'Banana 3-4 ea' to the cooking ingredient category 722 ) can be created as a cooking parameter corresponding to In addition, the server 2000 extracts 'Egg 2ea' as a keyword from '2 eggs' of the cooking ingredient semantic element, and generates the extracted 'Egg 2ea' as a cooking parameter corresponding to the cooking ingredient category 722. have.

일 실시예에서, 식별된 의미 요소는 텍스트 레시피 특성상 일반적인 대명사(예를 들어, ‘그릇’) 등이 의미 요소로 식별된 것일 수 있다. 이 경우, 서버(2000)는 제1 MRR 데이터 생성 모듈을 이용하여, 해당 의미 요소를 적합한 키워드로 변경함으로써 제1 MRR 데이터에 포함될 조리 파라미터를 생성할 수 있다. 예를 들어, 서버(2000)는 제1 MRR 데이터 생성 모듈을 이용하여, 식별된 조리 도구 카테고리(723)의 의미 요소인 ‘그릇’을, 식별된 다른 의미 요소인 ‘오븐에 200도로 10분간 굽는다’ 등을 참조하여, 오븐에 적합한 그릇인 ‘오븐 팬’을 조리 도구 카테고리(723)에 대응되는 조리 파라미터로 생성할 수 있다.In an embodiment, the identified semantic element may be a semantic element identified as a common pronoun (eg, 'bowl') due to the nature of the text recipe. In this case, the server 2000 may generate a cooking parameter to be included in the first MRR data by changing the corresponding semantic element to a suitable keyword using the first MRR data generating module. For example, the server 2000 uses the first MRR data generation module to bake 'bowl', which is a semantic element of the identified cooking tool category 723, and 'bowl,' which is another identified semantic element, in an oven at 200 degrees for 10 minutes. ', an 'oven pan', which is a vessel suitable for an oven, may be created as a cooking parameter corresponding to the cooking tool category 723 .

일 실시예에서, 추출된 의미 요소가 조리를 위해 필요한 복수의 키워드를 포함하고 있는 경우, 서버(2000)는 복수의 키워드가 결합된 형태로 조리 파라미터를 생성할 수 있다. In an embodiment, when the extracted semantic element includes a plurality of keywords necessary for cooking, the server 2000 may generate a cooking parameter in a form in which the plurality of keywords are combined.

예를 들어, 서버(2000)는 조리 장치 카테고리(724)의 의미 요소인 ‘오븐을 200도에 예열한다’ 에서, ‘200ºC 및 오븐 예열’ 2개의 키워드를 추출함으로써 제1 MRR 데이터(730)에 포함될 조리 파라미터를 생성할 수 있다. 다른 예에서, 서버(2000)는 조리 장치 카테고리(724)의 의미 요소인 ‘오븐을 200도로 10분간 굽는다’에서, ‘200ºC 및 가열’ 2개의 키워드를 추출함으로써 제1 MRR 데이터(730)에 포함될 조리 파라미터를 생성할 수 있다. For example, the server 2000 extracts two keywords 'preheat the oven to 200 degrees Celsius' from the semantic element of the cooking device category 724, '200ºC and preheat the oven', to the first MRR data 730. You can create cooking parameters to be included. In another example, the server 2000 may be included in the first MRR data 730 by extracting two keywords '200ºC and heating' from 'bake an oven at 200 degrees for 10 minutes', which is a semantic element of the cooking device category 724 . You can create cooking parameters.

또한, 조리 시간 카테고리(725)의 의미 요소의 경우, 서버(2000)는 어떠한 조리 동작을 포함하는지를 나타내는 키워드를 함께 추출하여 조리 파라미터를 생성할 수 있다. 예를 들어, 서버(2000)는 조리 시간 카테고리(725)의 의미 요소인 ‘10분간 굽는다’에서, ‘10min, Heat’ 2개의 키워드를 추출하고 조리 파라미터를 생성할 수 있다. 다른 예에서, 서버(2000)는 조리 시간 카테고리(725)의 의미 요소인 ‘5분간 기다린다’에서, ‘5min, Wait’ 2개의 키워드를 추출함으로써 제1 MRR 데이터(730)에 포함될 조리 파라미터를 생성할 수 있다.In addition, in the case of a semantic element of the cooking time category 725 , the server 2000 may generate a cooking parameter by extracting a keyword indicating which cooking operation is included. For example, the server 2000 may extract two keywords '10min, Heat' from 'bake for 10 minutes', which is a semantic element of the cooking time category 725 , and generate a cooking parameter. In another example, the server 2000 generates cooking parameters to be included in the first MRR data 730 by extracting two keywords '5min, Wait' from 'wait for 5 minutes', which is a semantic element of the cooking time category 725 . can do.

일 실시예에서, 제1 MRR 데이터(730)에 포함되는 조리 파라미터들 중에서, 조리 장치 카테고리(724) 및 조리 시간 카테고리(725)의 조리 파라미터들은, 조리 장치의 제어 동작과 관련된 것일 수 있다.In an embodiment, among the cooking parameters included in the first MRR data 730 , the cooking parameters of the cooking device category 724 and the cooking time category 725 may be related to a control operation of the cooking device.

서버(2000)는 제1 MRR 데이터 생성 모듈을 이용하여, 식별된 의미 요소(710)로부터 제1 MRR 데이터(730)에 포함될 조리 파라미터(720)를 생성하고, 구조화된 형태의 제1 MRR 데이터의 양식에 생성된 조리 파라미터(720)를 삽입함으로써 제1 MRR 데이터(730)를 생성할 수 있다. 도 7에서는 설명의 편의를 위하여 JSON 형태로 작성된 제1 MRR 데이터를 도시하였으나, 이에 한정되는 것은 아니며, 제1 MRR 데이터(730)는 다양한 프로그래밍 언어로 구현되어 구조화된 형태로 생성될 수 있다.The server 2000 generates a cooking parameter 720 to be included in the first MRR data 730 from the identified semantic element 710 by using the first MRR data generation module, and generates the first MRR data in a structured form. The first MRR data 730 can be generated by inserting the generated cooking parameters 720 into the form. 7 illustrates the first MRR data written in JSON form for convenience of explanation, but is not limited thereto, and the first MRR data 730 may be implemented in various programming languages and generated in a structured form.

일 실시예에 따른 제1 MRR 데이터(730)는, 레시피 정보의 관리(예를 들어, 카테고리 별로 저장, 검색)를 위한 기본적인 레시피 정보인 name, cuisine, dataPublished, version, language, cookTime, image, author, ingredient 정보 등을 포함할 수 있다. 기본적인 레시피 정보는 서버(2000)가 획득한 레시피를 나타내는 텍스트로부터 추출될 수 있으며, 대응되는 정보가 없는 경우 공백으로 두고 나중에 사용자로부터 입력 받는 정보, 외부 장치 등으로부터 입력 받는 정보 등을 통하여 업데이트 될 수 있다.The first MRR data 730 according to an embodiment is name, cuisine, dataPublished, version, language, cookTime, image, author which is basic recipe information for management of recipe information (eg, storing and searching by category). , ingredient information, etc. Basic recipe information may be extracted from text indicating a recipe obtained by the server 2000, and if there is no corresponding information, it is left blank and later updated through information received from a user, information input from an external device, etc. have.

도 8은 일 실시예에 따른 서버가 제1 MRR 데이터 생성 모듈을 이용하여, 레시피를 나타내는 텍스트로부터 의미 요소를 식별하고, 조리 파라미터를 생성함으로써 레시피를 조리 장치에서 읽을 수 있는 제1 MRR 데이터를 생성하는 방법을 설명하기 위해 참조되는 도면이다.8 is a server according to an embodiment, by using the first MRR data generation module, identifying semantic elements from text representing a recipe, and generating a cooking parameter to generate first MRR data that can read the recipe in the cooking device It is a drawing referenced to explain the method.

서버(2000)는 제1 MRR 생성 모듈을 이용하여, 의미 요소들로부터 생성된 조리 파라미터들을 구조화된 영역에 대입하여 저장할 수 있다. 도 8에서는 설명의 편의를 위하여 레시피에 포함되는 복수의 조리 단계들 중 예열 단계에 대응되는 제1 MRR 데이터(810)를 도시하기로 한다.The server 2000 may store cooking parameters generated from the semantic elements by substituting them into the structured area using the first MRR generation module. In FIG. 8 , first MRR data 810 corresponding to a preheating step among a plurality of cooking steps included in a recipe is illustrated for convenience of explanation.

도 8을 참조하면, 제1 MRR 데이터는 각각의 조리 단계 마다 조리 단계별 정보를 포함할 수 있다. 예를 들어, 오븐 예열 단계에 대응되는 제1 MRR 데이터(810)의 경우, 의미 요소들로부터 생성된 조리 파라미터들이 구조화되어 복수의 데이터 영역들로 구성될 수 있다. Referring to FIG. 8 , the first MRR data may include cooking step information for each cooking step. For example, in the case of the first MRR data 810 corresponding to the oven preheating step, cooking parameters generated from semantic elements may be structured and configured into a plurality of data areas.

예를 들어, 복수의 데이터 영역들은 레시피 원래의 문장을 나타내는 인스트럭션(instruction) 영역(811), 조리 동작으로 판단되는 데이터들을 나타내는 동작(actions) 영역(812), 조리 장치 관련 표현으로 판단되는 데이터들을 나타내는 디바이스(device) 영역(813), 조리 단계와 매칭 가능한 부가 정보인 콘텐츠(예를 들어, 비디오, 이미지, 등)를 나타내는 미디어(media) 영역(814) 등으로 구분된 데이터 영역들일 수 있다. For example, the plurality of data areas include an instruction area 811 representing the original sentence of a recipe, an actions area 812 representing data determined as a cooking operation, and data determined as an expression related to a cooking device. It may be a data area divided into a device area 813 indicating a device area 813 and a media area 814 indicating content (eg, video, image, etc.) that is additional information that can be matched with a cooking step.

이 경우, 제1 MRR 데이터 내 포함되는 데이터 영역들 중에서, 동작(actions)(812) 영역은 조리 재료와 관련된 재료(ingredients) 영역(815), 조리 도구와 관련된 도구(tools) 영역(816)을 포함할 수 있으나, 이에 한정되는 것은 아니다.In this case, among the data areas included in the first MRR data, the actions 812 area includes an ingredients area 815 related to cooking materials and a tools area 816 related to cooking tools. may be included, but is not limited thereto.

일 실시예에서, 오븐 예열 단계에 대응되는 제1 MRR 데이터(810)에 포함되는 데이터 영역들 중에서, 동작(actions) 영역(812)은 하위 구조로, ‘조리 동작, 시작, 끝, 재료, 도구’등을 나타내는 조리 파라미터들을 포함할 수 있다. 또한, 디바이스(device) 영역(813) 양식은 하위 구조로, ‘조리 장치 유형, 조리 온도’등을 나타내는 조리 파라미터들을 포함할 수 있다. 또한, 미디어(media) 영역(814)은 하위 구조로, ‘콘텐츠 타입, 콘텐츠의 url’ 등의 부가 정보 데이터들을 포함할 수 있다. 이 경우, 부가 정보 데이터들은 부가 정보 생성 모듈에서 생성된 것일 수 있다.In one embodiment, among the data areas included in the first MRR data 810 corresponding to the oven preheating step, the actions area 812 is a sub-structure, 'cooking operation, start, end, material, tool It may include cooking parameters indicating ' and the like. In addition, the device area 813 form is a sub-structure, and may include cooking parameters indicating 'cooking device type, cooking temperature', and the like. Also, the media area 814 is a sub-structure and may include additional information data such as 'content type, content url'. In this case, the additional information data may be generated by the additional information generating module.

일 실시예에 따른 서버(2000)는 제1 MRR 데이터 생성 모듈을 이용하여, 각각의 데이터 영역에 조리 파라미터를 삽입함으로써 제1 MRR 데이터를 생성할 수 있다.The server 2000 according to an embodiment may generate the first MRR data by inserting a cooking parameter into each data area using the first MRR data generating module.

도 9는 일 실시예에 따른 서버가 사용자의 로그 데이터를 획득하고, 획득된 로그 데이터에 기초하여 제2 MRR 데이터를 생성하는 방법을 설명하기 위한 도면이다.9 is a diagram for describing a method in which a server acquires user's log data and generates second MRR data based on the acquired log data, according to an embodiment.

도 9를 참조하면, 일 실시예에 따른 제2 MRR 데이터 생성 모듈(2340)은 적어도 로그 데이터 획득 모듈(910), 제1 MRR 데이터 추출 모듈(920), 강화 학습 모듈(930), MRR 데이터 변형 모듈(940)을 포함할 수 있다.Referring to FIG. 9 , the second MRR data generation module 2340 according to an embodiment includes at least a log data acquisition module 910 , a first MRR data extraction module 920 , a reinforcement learning module 930 , and MRR data transformation module 940 .

일 실시예에 따른 서버(2000)는 로그 데이터 획득 모듈(910)을 이용하여 사용자의 로그 데이터를 획득할 수 있다. 사용자의 로그 데이터는, 조리 장치의 동작 온도, 동작 시간, 동작 횟수 등의 조리 장치의 제어 동작과 관련된 파라미터를 포함할 수 있으며, 완성된 요리에 대한 사용자의 평가를 포함할 수 있다.The server 2000 according to an embodiment may acquire the user's log data by using the log data acquisition module 910 . The user's log data may include parameters related to the control operation of the cooking apparatus, such as the operation temperature, operation time, and number of operations of the cooking apparatus, and may include the user's evaluation of the finished dish.

일 실시예에서, 사용자의 로그 데이터는 조리 장치로부터 생성되어 서버(2000)로 제공된 것일 수 있다. 예를 들어, 사용자의 로그 데이터는 사용자가 조리 장치를 동작했던 모든 동작들에 대해서 로그 데이터가 생성되어 서버(2000)로 제공되고, 서버의 데이터베이스 내 저장된 것일 수 있다. 다른 예에서, 사용자의 로그 데이터는 사용자가 조리 장치를 제1 MRR 데이터에 포함되는 조리 파라미터와 다르게 조작했던 동작들에 대해서 로그 데이터가 생성된 후, 서버(2000)의 데이터베이스 내 저장된 것일 수 있다.In an embodiment, the user's log data may be generated by the cooking device and provided to the server 2000 . For example, the user's log data may be generated for all operations in which the user operated the cooking apparatus, provided to the server 2000, and stored in a database of the server. In another example, the user's log data may be stored in the database of the server 2000 after the log data is generated for operations in which the user manipulated the cooking apparatus differently from the cooking parameters included in the first MRR data.

전술한 실시예들에 의해서, 서버(2000)는 레시피를 나타내는 텍스트(950)에서 의미 요소들을 식별하고, 제1 MRR 데이터를 생성할 수 있다. According to the above-described embodiments, the server 2000 may identify semantic elements in the text 950 indicating the recipe and generate the first MRR data.

또한, 서버(2000)는 제1 MRR 데이터에 기초하여 조리 장치를 제어할 수 있다. 이 경우, 조리 장치는 제1 MRR 데이터 내 포함되는 조리 파라미터에 기초하여 제어 동작을 수행할 수 있다. Also, the server 2000 may control the cooking apparatus based on the first MRR data. In this case, the cooking apparatus may perform a control operation based on the cooking parameter included in the first MRR data.

예를 들어, 서버(2000)는 ‘오븐에 200도로 10분간 굽는다’의 조리 단계(960)로부터 생성된 조리 파라미터에 기초하여, 조리 장치로 제어 정보를 제공할 수 있다. 조리 장치는 수신된 제어 정보에 기초하여 ‘200ºC로 가열, 10분’의 제어 동작을 수행할 수 있다. 이 경우, 사용자가 조리 장치를 추가로 제어하는 동작을 입력할 수 있다. 구체적으로, 제1 MRR 데이터가 1000와트(W)의 출력을 갖는 전자레인지를 기준으로 생성된 것이고, 사용자의 전자레인지는 700와트(W)의 출력을 갖는 경우, 사용자는 추가 조리를 위하여 700 와트(W) 전자레인지의 가열 동작을 추가로 입력할 수 있다. 또한, 사용자가 사용자의 기호에 따라 더 가열되어 바삭한 음식을 선호하는 경우, 200도로 10분 가열된 오븐의 조리 동작 이후 추가로 200도로 4분간 더 가열하는 동작을 추가로 입력할 수 있다.For example, the server 2000 may provide control information to the cooking apparatus based on the cooking parameters generated in the cooking step 960 of 'bake in an oven at 200 degrees for 10 minutes'. The cooking apparatus may perform a control operation of 'heat to 200ºC, 10 minutes' based on the received control information. In this case, the user may input an operation for additionally controlling the cooking apparatus. Specifically, when the first MRR data is generated based on a microwave oven having an output of 1000 watts (W), and the user's microwave oven has an output of 700 watts (W), the user uses 700 watts for additional cooking (W) It is possible to additionally input the heating operation of the microwave oven. In addition, when the user prefers crispy food that is further heated according to the user's preference, an operation of heating the oven at 200 degrees for 10 minutes after the cooking operation of the oven heated to 200 degrees for 4 minutes may be additionally input.

일 실시예에 따른 서버(2000)는 사용자의 조리 장치를 제어하는 동작에 관련된 사용자의 로그 데이터를 수집하고, 서버의 데이터베이스 내 저장할 수 있다. 또한, 서버(2000)는 로그 데이터 획득 모듈(910)을 사용하여, 저장된 사용자의 로그 데이터를 획득하고, 획득된 로그 데이터에 기초하여 제2 MRR 데이터(970)를 생성할 수 있다.The server 2000 according to an exemplary embodiment may collect log data of a user related to an operation of controlling the user's cooking apparatus and store the data in a database of the server. Also, the server 2000 may use the log data acquisition module 910 to acquire stored user log data, and generate second MRR data 970 based on the acquired log data.

일 실시예에서, 서버(2000)는 제1 MRR 데이터 추출 모듈(920)을 이용하여, 제1 MRR 데이터 내에서 조리 장치의 제어 동작에 관련된 조리 파라미터를 추출할 수 있다. 이 경우, 서버(2000)는 MRR 데이터 변형 모듈(940)을 이용하여, 제1 MRR 데이터 내에서 조리 파라미터를 갱신함으로써 제2 MRR 데이터(970)를 생성할 수 있다.In an embodiment, the server 2000 may extract a cooking parameter related to a control operation of the cooking apparatus from the first MRR data using the first MRR data extraction module 920 . In this case, the server 2000 may generate the second MRR data 970 by updating the cooking parameter in the first MRR data using the MRR data transformation module 940 .

구체적으로, 서버(2000)는 제1 MRR 데이터 추출 모듈(920)을 이용하여, 제1 MRR 데이터 내에서 ‘오븐에 200도로 10분간 굽는다’의 조리 단계(960)로부터 생성된 조리 파라미터를 추출할 수 있다. 이 경우, 추출된 조리 파라미터는 ‘200ºC로 가열, 10분’을 나타낼 수 있다. 또한, 사용자의 로그 데이터는 ‘200ºC로 추가 가열, 4분’일 수 있다. 서버(2000)는 MRR 데이터 변형 모듈(940)을 이용하여, 제1 MRR 데이터 내 전술한 조리 파라미터인 ‘200ºC로 가열, 10분’을 ‘200ºC로 가열, 14분’으로 갱신함으로써, 사용자에게 개인화된 MRR 데이터인 제2 MRR 데이터(970)를 생성할 수 있다.Specifically, the server 2000 uses the first MRR data extraction module 920 to extract the cooking parameters generated from the cooking step 960 of 'bake in the oven at 200 degrees for 10 minutes' in the first MRR data. can In this case, the extracted cooking parameters may indicate 'heat to 200ºC, 10 minutes'. Also, the user's log data may be 'additional heating to 200ºC, 4 minutes'. The server 2000 uses the MRR data transformation module 940 to update the above-mentioned cooking parameter 'heat to 200ºC, 10 minutes' to 'heat to 200ºC, 14 minutes' in the first MRR data, thereby personalized to the user. It is possible to generate the second MRR data 970 that is the MRR data.

일 실시예에 따른 서버(2000)가 제1 MRR 데이터를 갱신하여 제2 MRR 데이터(970)를 생성하는 방법은, 다양한 방법이 적용될 수 있다.Various methods may be applied to a method in which the server 2000 generates the second MRR data 970 by updating the first MRR data according to an embodiment.

예를 들어, 서버(2000)는 사용자의 로그 데이터에 기초하여, 사용자가 조리 장치를 조리 장치의 특정 모드로 동작 시킨 횟수가 소정 횟수 이상인 경우 제1 MRR 데이터에 포함되는 복수의 조리 파라미터들을 사용자의 로그 데이터에 대응되는 값들로 갱신할 수 있다.For example, when the number of times the user operates the cooking apparatus in a specific mode of the cooking apparatus is greater than or equal to a predetermined number of times, the server 2000 sets the plurality of cooking parameters included in the first MRR data to the user's Values corresponding to log data can be updated.

다른 예에서, 서버(2000)는 강화 학습 모듈을 이용하여, 사용자의 로그 데이터를 이용하는 강화학습을 수행함으로써 제2 MRR 데이터(970)를 생성할 수 있다. 이에 대해서는 도 10에 대한 설명에서 상세하게 서술하기로 한다.In another example, the server 2000 may generate the second MRR data 970 by performing reinforcement learning using the user's log data using the reinforcement learning module. This will be described in detail in the description of FIG. 10 .

도 10은 일 실시예에 따른 서버(2000)가 제2 MRR 데이터를 생성할 때, 사용자의 로그 데이터에 기초하여 강화학습을 수행하는 실시예를 설명하기 위한 도면이다.10 is a diagram for explaining an embodiment in which reinforcement learning is performed based on user log data when the server 2000 generates second MRR data according to an embodiment.

도 10을 참조하면, 일 실시예에 따른 서버(2000)는 제1 MRR 데이터에 기초하여, 조리 장치를 제어하기 위한 제어 정보를 조리 장치에 제공할 수 있다. 서버(2000)가 제어 정보를 조리 장치로 제공함에 따라, 조리 장치는 제어 동작들을 수행할 수 있다.Referring to FIG. 10 , the server 2000 according to an embodiment may provide control information for controlling the cooking device to the cooking device based on first MRR data. As the server 2000 provides control information to the cooking apparatus, the cooking apparatus may perform control operations.

일 실시예에서, 서버(2000)는 제어 정보들에 대응되는 조리 장치의 제어 동작들에 대한 보상 값들을 획득할 수 있다. 이 경우, 보상 값들은 사용자의 로그 데이터에 기초하여 결정된 것일 수 있다. 예를 들어, 보상 값들은 사용자가 조리 장치를 조작했던 조리 장치의 제어 동작들에 관련된 조리 파라미터들에 기초하여 결정된 것일 수 있으며, 구체적으로 사용자가 조작했던 조리 장치의 동작 모드, 동작 온도, 동작 시간, 동작 횟수 등이 보상 값들로 결정된 것일 수 있다. 이 경우, 각각의 보상 값들은 양의 값을 갖거나, 음의 값을 가질 수 있다. In an embodiment, the server 2000 may obtain compensation values for control operations of the cooking apparatus corresponding to the control information. In this case, the reward values may be determined based on the user's log data. For example, the compensation values may be determined based on cooking parameters related to control operations of the cooking device in which the user manipulated the cooking device, and specifically, the operation mode, operating temperature, and operating time of the cooking device operated by the user. , the number of operations, etc. may be determined as compensation values. In this case, each of the compensation values may have a positive value or a negative value.

구체적으로, 일 실시예에서, 사용자의 로그데이터에는 ‘200ºC로 추가 가열, 4분’의 조리 장치 조작 이력이 포함될 수 있다. 이 경우, 조리 장치가 ‘200ºC로 추가 가열, 4분’의 제어 동작을 수행하도록 강화 학습을 진행하기 위해, 보상 값은 양의 값으로 결정될 수 있다. 다른 실시예에서, 사용자의 로그 데이터에 ‘200ºC로 추가 가열, 4분’ 의 조리 장치 조작 이력이 포함되지만, 이에 대응되는 제어 동작 또는 완성된 음식 등에 대해서 사용자의 부정적인 평가 등이 더 포함될 수 있다. 이 경우, 조리 장치가 ‘200ºC로 추가 가열, 4분’의 제어 동작을 수행하지 않도록 강화 학습을 진행하기 위해, 보상 값은 음의 값으로 결정될 수 있다.Specifically, in one embodiment, the user's log data may include a cooking device operation history of 'additional heating to 200 ºC, 4 minutes'. In this case, in order to perform reinforcement learning so that the cooking device performs a control operation of 'additional heating to 200ºC, 4 minutes', the reward value may be determined as a positive value. In another embodiment, the log data of the user includes the cooking device operation history of 'additional heating to 200ºC, 4 minutes', but may further include a negative evaluation of the user for a corresponding control operation or finished food. In this case, in order to proceed with reinforcement learning so that the cooking device does not perform the control operation of 'additional heating to 200ºC, 4 minutes', the compensation value may be determined as a negative value.

일 실시예에 따른 서버(2000)는, 제어 정보들에 대응되는 조리 장치의 제어 동작들에 대한 보상 값들을 획득할 수 있다.The server 2000 according to an embodiment may obtain compensation values for control operations of the cooking apparatus corresponding to the control information.

예를 들어, 서버(2000)는 제1 제어 정보를 조리 장치에 제공하고, 조리 장치에서 제1 제어 동작(1010)이 수행됨에 따라, 제1 제어 동작(1010)에 대응되는 제1 보상 값을 획득할 수 있다. 구체적으로, 제1 제어 동작(1010)이 사용자의 로그 데이터와 소정 오차 범위 내에서 매칭되도록 수행되면, 서버(2000)는 제1 보상 값을 획득할 수 있다. For example, the server 2000 provides the first control information to the cooking apparatus, and as the first control operation 1010 is performed in the cooking apparatus, a first compensation value corresponding to the first control operation 1010 is provided. can be obtained Specifically, when the first control operation 1010 is performed to match the user's log data within a predetermined error range, the server 2000 may acquire the first compensation value.

이 경우, 제1 제어 동작(1010)은 조리 장치가 서버로부터 제1 제어 정보를 제공받아 수행한 제어 동작 뿐 아니라, 조리 장치가 동작하는 동안 사용자(1000)가 조리 장치를 조작하는 제1 입력 데이터를 수신하여 추가로 동작한 것을 포함할 수 있다. 또한, 조리 장치가 동작하는 동안 사용자(1000)로부터 수신된 제1 입력 데이터는 사용자의 로그 데이터로 수집되어 서버(2000) 내 데이터베이스에 저장될 수 있다. 서버(2000)는 저장된 로그 데이터인 제1 입력 데이터를 보상 값으로 할당할 수 있다.In this case, the first control operation 1010 includes not only the control operation performed by the cooking apparatus receiving the first control information from the server, but also first input data of the user 1000 operating the cooking apparatus while the cooking apparatus is operating. It may include receiving and additionally operating. Also, the first input data received from the user 1000 while the cooking apparatus is operating may be collected as log data of the user and stored in a database within the server 2000 . The server 2000 may allocate the first input data, which is the stored log data, as a compensation value.

또한, 서버(2000)는 조리 장치로 제2 제어 정보를 제공하고, 조리 장치에서 제2 제어 동작(1020)에 수행됨에 따라, 제2 제어 동작(1020)에 대응되는 제2 보상 값을 획득할 수 있다. 구체적으로, 조리 장치에서 제2 제어 동작(1020)이 사용자의 로그 데이터와 소정 오차 범위 내에서 매칭되도록 수행되면, 서버(2000)는 제2 보상 값을 획득할 수 있다.In addition, the server 2000 provides the second control information to the cooking apparatus, and as the second control operation 1020 is performed by the cooking apparatus, a second compensation value corresponding to the second control operation 1020 may be obtained. can Specifically, when the second control operation 1020 in the cooking apparatus is performed to match the user's log data within a predetermined error range, the server 2000 may obtain the second compensation value.

이 경우, 제2 제어 동작(1020)은 조리 장치가 서버로부터 제2 제어 정보를 제공받아 수행한 제어 동작 뿐 아니라, 조리 장치가 동작하는 동안 사용자(1000)가 조리 장치를 조작하는 사용자의 입력 데이터를 수신하여 추가로 동작한 것을 포함할 수 있다. 또한, 도 10을 참조하면, 제2 제어 동작(1020)에 대해서는 사용자의 입력 데이터가 수신되지 않고, 조리 장치에서 제어 동작이 수행됨에 따라 제2 보상 값이 획득되었을 수 있다.In this case, the second control operation 1020 includes not only the control operation performed by the cooking apparatus receiving the second control information from the server, but also input data of the user in which the user 1000 operates the cooking apparatus while the cooking apparatus is operating. It may include receiving and additionally operating. Also, referring to FIG. 10 , user input data is not received for the second control operation 1020 , and the second compensation value may be obtained as the control operation is performed in the cooking apparatus.

같은 방식으로, 서버(2000)는 조리 장치로 제N 제어 정보를 제공하고, 조리 장치에서 제N 제어 동작에 수행됨에 따라, 제N 제어 동작에 대한 제N 보상 값을 획득할 수 있다.In the same way, the server 2000 may provide the N-th control information to the cooking apparatus, and as the N-th control operation is performed by the cooking apparatus, the server 2000 may obtain an N-th compensation value for the N-th control operation.

일 실시예에 따른 서버(2000)는 조리 장치의 동작에 의해 조리된 음식에 대한 사용자의 평가 데이터를 수신할 수 있다. 이 경우, 서버(2000)는 사용자의 클라이언트 디바이스(3000)로부터 사용자의 평가 데이터를 수신하거나, 사용자(1000)가 조리 장치에 평가 데이터를 입력하고, 조리 장치로부터 사용자의 평가 데이터를 수신할 수 있다.The server 2000 according to an embodiment may receive evaluation data of a user on food cooked by an operation of the cooking apparatus. In this case, the server 2000 may receive the user's evaluation data from the user's client device 3000 , or the user 1000 may input the evaluation data into the cooking apparatus and receive the user's evaluation data from the cooking apparatus. .

또한, 사용자(1000)로부터 수신된 조리된 음식에 대한 평가 데이터는 사용자의 로그 데이터로 수집되어 서버(2000) 내 데이터베이스에 저장될 수 있다. 서버(2000)는 저장된 로그 데이터인 사용자의 평가 데이터를 보상 값으로 할당할 수 있다.In addition, evaluation data for cooked food received from the user 1000 may be collected as log data of the user and stored in a database within the server 2000 . The server 2000 may allocate user evaluation data, which is stored log data, as a reward value.

일 실시예에 따른 서버(2000)는 음식의 조리 단계들에 대응되는 제어 동작들에서 획득된 보상 값들의 누적 합에 기초하여, 제1 MRR 데이터 내 포함되는 조리 파라미터들을 갱신함으로써 제2 MRR 데이터를 생성할 수 있다. 예를 들어, 서버(2000)는 획득된 보상 값들의 누적 합이 최대 값이 되도록, 제1 MRR 데이터 내 포함되는 조리 파라미터들을 갱신할 수 있으나, 이에 한정되는 것은 아니다.The server 2000 according to an embodiment updates the second MRR data by updating the cooking parameters included in the first MRR data based on the accumulated sum of the compensation values obtained in the control operations corresponding to the cooking steps of the food. can create For example, the server 2000 may update the cooking parameters included in the first MRR data so that the accumulated sum of the obtained compensation values becomes the maximum value, but is not limited thereto.

일 실시예에 따른 서버(2000)가 제1 MRR 데이터 내 포함되는 조리 파라미터들을 갱신하여 제2 MRR 데이터를 생성하는 방법은 도 9의 실시예에서 전술하였으므로, 여기에서는 설명을 생략하기로 한다.A method in which the server 2000 generates second MRR data by updating cooking parameters included in the first MRR data according to an exemplary embodiment has been described above in the exemplary embodiment of FIG. 9 , and thus a description thereof will be omitted.

도 11은 일 실시예에 따른 서버가 레시피 카드를 생성하는 방법을 설명하기 위해 참조되는 도면이다.11 is a diagram referenced to explain a method for a server to generate a recipe card according to an embodiment.

일 실시예에 따른 서버(2000)는 생성된 제1 MRR 데이터 및 생성된 부가 정보를 이용하여, 복수의 제1 레시피 카드를 생성할 수 있다. 생성된 제1 레시피 카드는 클라이언트 디바이스(3000)로 제공될 수 있다.The server 2000 according to an embodiment may generate a plurality of first recipe cards by using the generated first MRR data and the generated additional information. The generated first recipe card may be provided to the client device (3000).

도 11을 설명함에 있어서, 도 8에서 전술한 레시피에 포함되는 복수의 조리 단계들 중 예열 단계에 대응되는 제1 MRR 데이터(1110)를 예시로 설명하기로 한다.In the description of FIG. 11 , the first MRR data 1110 corresponding to the preheating step among the plurality of cooking steps included in the recipe described in FIG. 8 will be described as an example.

도 11을 참조하면, 예열 단계에 대응되는 제1 MRR 데이터(1110)는 조리 동작에 대한 정보인 ‘preheat’, 조리 장치에 대한 정보인 ‘oven’, ‘200ºC’ 등을 포함할 수 있다. 또한, 조리 단계와 관련된 부가 정보(예를 들어, 예열 단계에서 제공받는 요리 동영상) 등이 존재할 수 있다.Referring to FIG. 11 , the first MRR data 1110 corresponding to the preheating stage may include 'preheat', which is information on a cooking operation, 'oven', '200ºC', etc., which are information about a cooking device. In addition, additional information related to the cooking step (eg, a cooking video provided in the preheating step) may exist.

일 실시예에 따른 서버(2000)는 제1 MRR 데이터 및 부가 정보를 이용하여 전술한 예열 조리 단계에 대응되는 제1 레시피 카드(1120)를 생성할 수 있다.The server 2000 according to an embodiment may generate the first recipe card 1120 corresponding to the above-described preheating cooking step by using the first MRR data and additional information.

제1 MRR 데이터(1110)를 이용하여 생성된 제1 레시피 카드(1120)는, 현재 조리 단계를 대표적으로 요약하여 나타내는 요약 정보(1121), 현재 조리 단계에 대응되는 부가 정보(예를 들어, 이미지, 영상)와 관련된 내용을 나타내는 콘텐츠 정보(1122), 현재 조리 단계를 나타내는 원래의 레시피를 나타내는 텍스트 문장 정보(1123), 현재 조리 단계에서 연동 가능한 기능을 나타내는 정보(1124)를 포함할 수 있다.The first recipe card 1120 generated using the first MRR data 1110 includes summary information 1121 representing a representative summary of the current cooking stage, and additional information corresponding to the current cooking stage (eg, an image). , image) may include content information 1122 indicating content related to the current cooking stage, text sentence information 1123 indicating the original recipe indicating the current cooking stage, and information 1124 indicating functions that can be linked in the current cooking stage.

일 실시예에 따른 제1 레시피 카드(1120)의 요약 정보(1121)는, 서버(2000)가 NLU 모델을 이용하여 텍스트를 해석하고, 텍스트의 의도를 나타내는 것으로 판단되는 인텐트(intent) 정보를 획득한 것에 기초하여 생성될 수 있다. 예를 들어, 조리 단계에 대한 텍스트가 ‘오븐을 200도에 예열한다’인 경우, 해당 텍스트의 의도로 판단되는 인텐트 정보는 ‘Preheat’일 수 있다. 도면에는 도시되지 않았지만, 다른 예에서, 해당 텍스트의 의도로 판단되는 인텐트 정보는 ‘요리 준비 단계’일 수 있다. 서버(2000)는 제1 레시피 카드(1120) 생성 시, 인텐트 정보를 이용하여 제1 레시피 카드(1120)에 포함될 요약 정보(1121)를 결정할 수 있다.Summary information 1121 of the first recipe card 1120 according to an embodiment, the server 2000 interprets the text using the NLU model, intent information determined to indicate the intention of the text It can be created based on what is obtained. For example, when the text for the cooking step is 'Preheat the oven to 200 degrees', the intent information determined as the intention of the text may be 'Preheat'. Although not shown in the drawing, in another example, the intent information determined as the intention of the corresponding text may be a 'cooking preparation stage'. When the first recipe card 1120 is generated, the server 2000 may determine summary information 1121 to be included in the first recipe card 1120 by using intent information.

일 실시예에 따른 제1 레시피 카드(1120)의 콘텐츠 정보(1122)는, 현재 조리 단계에 관련된 이미지, 영상 등을 검색하여 획득된 것이거나, 레시피를 나타내는 텍스트를 획득할 때 함께 획득된 것일 수 있다. 예를 들어, 조리 단계에 대한 텍스트가 ‘오븐을 200도에 예열한다’인 경우, 서버(2000)는 텍스트로부터 식별된 의미 요소에 기초하여 오븐 예열 동작을 가이드하는 이미지를 획득할 수 있다. 다른 예에서, 서버(2000)는 텍스트의 의도로 판단되는 인텐트 정보인 ‘요리 준비 단계’에 기초하여, 요리 준비에 필요한 사항을 가이드하는 이미지 또는 영상을 획득할 수 있다. 서버(2000)는 제1 레시피 카드 생성 시, 제1 레시피 카드(1120)에 포함될 콘텐츠 정보(1122)를 결정할 수 있다.Content information 1122 of the first recipe card 1120 according to an embodiment may be obtained by searching for images, videos, etc. related to the current cooking stage, or may be obtained together when obtaining text indicating the recipe. have. For example, when the text for the cooking step is 'Preheat the oven to 200 degrees', the server 2000 may obtain an image for guiding the oven preheating operation based on the semantic element identified from the text. In another example, the server 2000 may acquire an image or an image for guiding matters necessary for cooking preparation based on the 'cooking preparation stage', which is intent information determined as the intention of the text. The server 2000 may determine the content information 1122 to be included in the first recipe card 1120 when the first recipe card is generated.

일 실시예에 따른 제1 레시피 카드(1120)의 레시피 문장 정보(1123)는, 제1 레시피 카드를 생성하는 데 기초가 된 레시피 원래의 문장일 수 있다. Recipe sentence information 1123 of the first recipe card 1120 according to an embodiment may be a recipe original sentence based on generating the first recipe card.

일 실시예에서, 서버(2000)는 NLU 모델을 이용하여 텍스트를 인식한 결과, 해당 조리 단계에 대한 레시피 문장이 길어 제1 레시피 카드(1120)에 표시하기에 부적절한 경우, 텍스트에서 식별된 의미 요소들에 기초하여, 문장을 분할하여 표시할 수 있다. In an embodiment, when the server 2000 recognizes the text using the NLU model, and as a result of recognizing the text, the recipe sentence for the corresponding cooking step is long and inappropriate to display on the first recipe card 1120 , the semantic element identified in the text Based on these, the sentences can be divided and displayed.

다른 실시예에서, 레시피 문장들이 짧아 각각의 문장 단위로 레시피 단계를 나타내는 의미 형성이 되지 않는 경우, 서버(2000)는 텍스트에서 식별된 의미 요소들에 기초하여, 레시피 문장을 생성함으로써 제1 레시피 카드(1120)에 포함될 레시피 문장 정보(1123)를 결정할 수 있다.In another embodiment, when the recipe sentences are short and the meaning indicating the recipe step is not formed in each sentence unit, the server 2000 based on the semantic elements identified in the text, the first recipe card by generating the recipe sentence Recipe sentence information 1123 to be included in 1120 may be determined.

일 실시예에 따른 제1 레시피 카드(1120)의 연동 가능한 기능을 나타내는 정보(1124)는, 텍스트에서 식별된 의미 요소들에 기초하여 생성된 부가 정보를 이용하여 서버에서 생성된 것일 수 있다. Information 1124 indicating an interoperable function of the first recipe card 1120 according to an embodiment may be generated by the server using additional information generated based on semantic elements identified in text.

일 실시예에서, 연동 가능한 기능을 나타내는 정보(1124)는, 현재 조리 단계에서 동작하는 조리 장치를 제어할 수 있는 제어 연동 기능, 조리 단계에 필요한 조리 도구 및 조리 재료 등에 관련된 광고 및 구매를 제공할 수 있는 광고/구매 연동 기능, 해당 단계의 조리 방법을 대체 할 수 있는 대체 조리 방법 콘텐츠 제공 연동 기능, 조리 단계 별 적용되는 조리 시간이 늘어나거나 줄어드는 경우 변화되는 맛 정보, 조리 재료, 조리 양 등을 변경하는 경우에 대한 결과 등을 가이드 할 수 있는 가이드 정보 제공 연동 기능 등을 포함할 수 있다.In an embodiment, the information 1124 indicating an interlockable function may provide advertisements and purchases related to a control interlocking function capable of controlling a cooking device operating in the current cooking stage, cooking tools and cooking materials required for the cooking stage, and the like. Advertisement/purchase link function that can be used, content providing alternative cooking method content that can replace the cooking method of the corresponding stage, taste information that changes when the cooking time applied for each cooking step increases or decreases It may include an interlocking function for providing guide information that can guide the result of a change, and the like.

또한, 일 실시예에 따른 서버(2000)는 제2 MRR 데이터 및 부가 정보를 이용하여 사용자에게 개인화된 조리 정보를 포함하는 제2 레시피 카드를 생성할 수 있다. 이는, 전술한 제1 레시피 카드(1120)를 생성하는 방법과 동일하므로, 설명을 생략하기로 한다.In addition, the server 2000 according to an embodiment may generate a second recipe card including cooking information personalized to the user by using the second MRR data and additional information. This is the same as the method of generating the first recipe card 1120 described above, and thus a description thereof will be omitted.

클라이언트 디바이스의 사용자는 일 실시예에 따른 제1 레시피 카드(1120) 또는 제2 레시피 카드를 제공 받고, 제1 레시피 카드(1120) 또는 제2 레시피 카드를 통해 서버 및 조리 장치와의 인터랙션을 제공받을 수 있다.The user of the client device is provided with the first recipe card 1120 or the second recipe card according to an embodiment, and is provided with the interaction with the server and the cooking apparatus through the first recipe card 1120 or the second recipe card. can

예를 들어, 클라이언트 디바이스의 사용자는 일 실시예에 따른 제1 레시피 카드(1120)의 연동 가능한 기능을 나타내는 정보(1124)를 나타내는 아이콘을 클릭함으로써, 조리 장치를 제어하거나, 조리 단계에 필요한 조리 도구 등을 구매하거나, 조리에 관련된 콘텐츠를 제공받거나, 조리 방법을 가이드하는 정보를 제공받을 수 있다.For example, the user of the client device controls the cooking apparatus or a cooking tool required for a cooking step by clicking an icon indicating information 1124 indicating an interlockable function of the first recipe card 1120 according to an embodiment. It is possible to purchase, etc., receive content related to cooking, or receive information guiding a cooking method.

도 12는 일 실시예에 따른 서버가 조리 단계 각각에 대하여 레시피 카드를 생성하는 방법을 설명하기 위해 참조되는 도면이다.12 is a diagram referenced to explain a method for a server to generate a recipe card for each cooking step according to an embodiment.

도 12를 설명함에 있어서, 레시피 카드는 제1 MRR 데이터로부터 생성된 제1 레시피 카드일 수 있으며, 제2 MRR 데이터로부터 생성된 사용자에게 개인화된 조리 정보를 포함하는 제2 레시피 카드일 수 있다. 설명의 편의를 위하여, 이하에서는 제1 레시피 카드 및 제2 레시피 카드를 모두 ‘레시피 카드’로 지칭하기로 한다.12 , the recipe card may be a first recipe card generated from the first MRR data, and may be a second recipe card including cooking information personalized to the user generated from the second MRR data. For convenience of explanation, hereinafter, both the first recipe card and the second recipe card will be referred to as a 'recipe card'.

도 12를 참조하면, 서버(2000)는 생성된 MRR 데이터 및 생성된 부가 정보를 이용하여, ‘바나나 빵 레시피’에 대하여 각각의 조리 단계 별로 레시피 카드를 생성할 수 있다. 이 경우, ‘바나나 빵 레시피’의 조리 단계는 제1 단계 내지 제4 단계로 구성될 수 있다.Referring to FIG. 12 , the server 2000 may generate a recipe card for each cooking step for a 'banana bread recipe' by using the generated MRR data and the generated additional information. In this case, the cooking step of the 'banana bread recipe' may consist of first to fourth steps.

서버(2000)는 식별된 의미 요소들을 이용하여 레시피 내 조리 단계의 유형을 결정할 수 있다. 서버(2000)는 결정된 조리 단계의 유형, MRR 데이터 및 부가 정보에 기초하여 각각의 조리 단계에 대응되는 레시피 카드의 유형을 결정할 수 있다. 또한, 하나의 레시피 카드는 반드시 하나의 유형으로 한정되는 것은 아니며, 하나의 레시피 카드가 복수의 유형을 포함할 수 있다.The server 2000 may determine the type of the cooking step in the recipe by using the identified semantic elements. The server 2000 may determine the type of recipe card corresponding to each cooking stage based on the determined type of cooking stage, MRR data, and additional information. In addition, one recipe card is not necessarily limited to one type, and one recipe card may include a plurality of types.

예를 들어, 결정된 레시피 카드의 유형은 조리 장치 제어 유형일 수 있다. 일 실시예에서, 제1 조리 단계를 나타내는 레시피 카드(1210)에 대응되는 제1 조리 단계는 ‘예열’이고, 제3 조리 단계를 나타내는 레시피 카드(1230)에 대응되는 제3 조리 단계는 ‘가열’ 이므로, 제1 조리 단계 및 제3 조리 단계는 조리 장치인 오븐의 제어를 필요로 할 수 있다. 이 경우, 제1 조리 단계 및 제3 조리 단계 각각에 대응되는 레시피 카드는 조리 장치 제어 버튼(1215, 1235)을 포함할 수 있다. 서버(2000)는 클라이언트 디바이스(3000)로부터 사용자가 조리 장치 제어 버튼(1215, 1235)을 선택하는 입력에 따른 조리 장치 제어 요청을 수신할 수 있다. 일 실시예에 따른 서버(2000)는 조리 장치 제어 요청을 수신하는 경우, 조리 장치 제어를 위해 MRR 데이터에 포함되는 조리 장치 제어 정보를 조리 장치에 제공할 수 있다.For example, the determined type of recipe card may be a cooking device control type. In an embodiment, the first cooking step corresponding to the recipe card 1210 representing the first cooking step is 'preheating', and the third cooking step corresponding to the recipe card 1230 representing the third cooking step is 'heating'. ', the first cooking step and the third cooking step may require control of the oven, which is a cooking device. In this case, the recipe card corresponding to each of the first cooking step and the third cooking step may include cooking device control buttons 1215 and 1235 . The server 2000 may receive a cooking apparatus control request according to an input of a user selecting the cooking apparatus control buttons 1215 and 1235 from the client device 3000 . When receiving a cooking device control request, the server 2000 according to an embodiment may provide cooking device control information included in MRR data to the cooking device for controlling the cooking device.

다른 예에서, 결정된 레시피 카드의 유형은 조리 아이템 구매 유형일 수 있다. 일 실시예에서, 제2 조리 단계를 나타내는 레시피 카드(1220)는 조리 아이템 구매 버튼(1225)을 포함할 수 있다. 이 경우, 서버(2000)는 클라이언트 디바이스(3000)로부터 사용자가 조리 아이템 구매 버튼(1225)을 선택하는 입력에 따른 구매 정보 제공 요청을 수신할 수 있다. 조리 아이템 구매 버튼(1225)으로부터 구매 할 수 있는 조리 아이템으로는 조리 재료, 조리 도구 등 해당 레시피의 조리와 관련된 다양한 아이템들이 포함될 수 있다. 서버(2000)는 레시피 카드 생성 시, 조리 단계에 포함되는 조리 아이템과 관련하여, 광고 정보, 구매 정보 등의 부가 정보를 레시피 카드에 포함시킬 수 있다. 서버(2000)가 조리 아이템 구매 정보 제공 요청을 수신하는 경우, 클라이언트 디바이스(3000)로 조리 아이템 구매에 관한 정보를 제공할 수 있다.In another example, the determined type of recipe card may be a cooking item purchase type. In an embodiment, the recipe card 1220 indicating the second cooking stage may include a cooking item purchase button 1225 . In this case, the server 2000 may receive a purchase information provision request according to an input of the user selecting the cooking item purchase button 1225 from the client device 3000 . Cooking items that can be purchased from the cooking item purchase button 1225 may include various items related to cooking of a corresponding recipe, such as cooking materials and cooking tools. When generating the recipe card, the server 2000 may include additional information, such as advertisement information and purchase information, in the recipe card in relation to the cooking item included in the cooking step. When the server 2000 receives a request for providing cooking item purchase information, the server 2000 may provide the cooking item purchase information to the client device 3000 .

다른 예에서, 결정된 레시피 카드의 유형은 조리 정보 제공 유형일 수 있다. 일 실시예에서, 제2 조리 단계를 나타내는 레시피 카드(1220)는 및 제4 조리 단계를 나타내는 레시피 카드(1240)는 각각 조리 정보 제공 버튼(1227, 1245)을 포함할 수 있다. 이 경우, 서버(2000)는 클라이언트 디바이스(3000)로부터 사용자가 조리 정보 제공 버튼(1227)을 선택하는 입력에 따른 조리 정보 제공 요청을 수신할 수 있다. In another example, the determined type of recipe card may be a cooking information provision type. In an embodiment, the recipe card 1220 indicating the second cooking stage and the recipe card 1240 indicating the fourth cooking stage may include cooking information providing buttons 1227 and 1245, respectively. In this case, the server 2000 may receive a cooking information provision request according to an input of the user selecting the cooking information providing button 1227 from the client device 3000 .

조리 정보 제공에 관련된 부가 정보로는 조리 기법에 대한 영상, 사진 정보, 해당 레시피로부터 파생된 서브 레시피 정보, 조리 시간에 관한 정보, 완성된 요리에 대한 플레이팅 정보 등을 포함할 수 있다. 서버(2000)는 클라이언트 디바이스(3000)로부터 사용자가 조리 정보 제공 버튼(1245)을 선택하는 입력에 따라, 레시피 카드에 대응되는 조리 단계에 대한 조리 정보 등을 클라이언트 디바이스(3000)로 제공할 수 있다.The additional information related to the provision of cooking information may include an image of a cooking technique, photo information, sub-recipe information derived from a corresponding recipe, cooking time information, plating information on a finished dish, and the like. The server 2000 may provide, to the client device 3000 , cooking information, etc. on a cooking step corresponding to the recipe card according to an input of the user selecting the cooking information providing button 1245 from the client device 3000 . .

이상의 실시예들에서는 레시피 카드의 유형으로 조리 장치 제어 유형, 조리 아이템 구매 유형, 조리 정보 제공 유형에 대해서 설명하였으나, 이는 예시일 뿐이며, MRR 데이터 및 부가 정보를 이용하여 조리와 관련된 다양한 기능 및 조리에 관련된 정보를 제공하도록 레시피 카드의 유형이 정해질 수 있다.In the above embodiments, the cooking device control type, the cooking item purchase type, and the cooking information provision type have been described as the types of recipe cards, but these are only examples, and various functions related to cooking and cooking using MRR data and additional information are provided. The type of recipe card can be defined to provide relevant information.

도 13은 일 실시예에 따른 서버가 생성된 MRR 데이터를 사용자의 조리 장치에 따라 변경하여 최적화하는 방법을 설명하기 위해 참조되는 도면이다.13 is a diagram referenced to explain a method for optimizing by changing the MRR data generated by the server according to the user's cooking apparatus according to an embodiment.

도 13을 설명함에 있어서, MRR 데이터는 전술한 실시예들에 따른 제1 MRR 데이터 또는 사용자에게 개인화된 제2 MRR 데이터일 수 있다. 이하에서는, 설명의 편의를 위해 제1 MRR 데이터 및 제2 MRR 데이터를 모두 ‘MRR 데이터’로 지칭하기로 한다.In describing FIG. 13 , the MRR data may be the first MRR data according to the above-described embodiments or the second MRR data personalized to the user. Hereinafter, for convenience of description, both the first MRR data and the second MRR data will be referred to as 'MRR data'.

서버(2000)는 생성된 MRR 데이터가 사용자가 가진 조리 장치에 적합하지 않은 경우, 사용자가 가진 다른 조리 장치에 의해 음식이 조리 될 수 있도록 MRR 데이터를 변경할 수 있다.When the generated MRR data is not suitable for the user's cooking apparatus, the server 2000 may change the MRR data so that food can be cooked by another user's cooking apparatus.

예를 들어, 조리 단계에서, ‘오븐에 200도로 10분간 굽는다’에 대하여 생성된 MRR 데이터(1310)는 오븐을 기준으로 생성된 것일 수 있다. 이 경우, 서버(2000)는 클라이언트 디바이스(3000)로부터 사용자의 조리 장치를 식별하기 위한 식별 정보를 수신할 수 있다.For example, in the cooking stage, MRR data 1310 generated for 'bake in an oven at 200 degrees for 10 minutes' may be generated based on the oven. In this case, the server 2000 may receive identification information for identifying the user's cooking apparatus from the client device 3000 .

서버(2000)는 수신된 사용자의 조리 장치 식별 정보가 2000W 전자레인지인 경우, MRR 데이터 중에서 조리 동작을 나타내는 데이터인 ‘오븐에서 200도로 10분 조리’를 ‘2000W 전자레인지에서 10분 조리’로 변경하여, 2000W 전자레인지용 MRR 데이터(1320)를 생성할 수 있다. When the received user's cooking device identification information is a 2000W microwave oven, the server 2000 changes 'cooking for 10 minutes in an oven at 200 degrees for 10 minutes', which is data representing a cooking operation among MRR data, to 'cooking for 10 minutes in a 2000W microwave oven' Thus, it is possible to generate the MRR data 1320 for a 2000W microwave oven.

또한, 서버(2000)는 수신된 사용자의 조리 장치 식별 정보가 700W 전자레인지인 경우, MRR 데이터 중에서 해당 동작을 나타내는 데이터인 ‘오븐에서 200도로 10분 조리’를 ‘700W 전자레인지에서 15분 조리’로 변경하여, 700W 전자레인지용 MRR 데이터(1330)를 생성할 수 있다.In addition, when the received user's cooking device identification information is a 700W microwave oven, the server 2000 converts 'cooking for 10 minutes at 200 degrees in an oven at 200 degrees for 10 minutes', which is data representing the corresponding operation among MRR data, to 'cooking for 15 minutes in a 700W microwave oven'. By changing to , it is possible to generate the MRR data 1330 for a 700W microwave oven.

다른 예에서(미도시), 조리 단계 ‘2일간 미지근한 물에 데운다(수비드)’에 대하여 생성된 MRR 데이터에서, 수비드 조리 방식은 특정 조리 장치에서만 사용 가능한 기능으로, 사용자가 보유한 조리 장치에서는 지원되지 않는 기능일 수 있다. 이 경우, 서버(2000)는 클라이언트 디바이스(3000)로부터 사용자의 조리 장치를 식별하기 위한 식별 정보를 수신할 수 있다. In another example (not shown), in the MRR data generated for the cooking step 'warm in lukewarm water for 2 days (Sous vide)', the sous vide cooking method is a function available only in a specific cooking device, and the user has This may be an unsupported feature. In this case, the server 2000 may receive identification information for identifying the user's cooking apparatus from the client device 3000 .

서버(2000)는 수신된 사용자의 조리 장치 식별 정보에 기초하여, 수비드 조리 방식을 대체할 수 있는 사용자의 조리 장치에 관련된 기능으로 MRR 데이터를 변경할 수 있다.Based on the received user's cooking device identification information, the server 2000 may change the MRR data to a function related to the user's cooking device that can replace the Sous vide cooking method.

다른 예에서(미도시), 조리 단계의 ‘그릇에 재료들을 섞는다’에 대하여 생성된 MRR 데이터는, 특정 조리 장치에서는 제공되는 기능일 수 있지만, 다른 조리 장치에서는 제공되지 않는 기능일 수 있다. 이 경우, 서버(2000)는 클라이언트 디바이스(3000)로부터 사용자의 조리 장치를 식별하기 위한 식별 정보를 수신할 수 있다. In another example (not shown), the MRR data generated for ‘mixing ingredients in a bowl’ of the cooking step may be a function provided by a specific cooking device, but may be a function not provided by other cooking devices. In this case, the server 2000 may receive identification information for identifying the user's cooking apparatus from the client device 3000 .

서버(2000)는 수신된 사용자의 조리 장치 식별 정보에 기초하여, MRR 데이터가 나타내는 조리 장치의 기능이 사용자의 조리 장치에서는 수행할 수 없는 기능인 경우, MRR 데이터에 대응되는 레시피 카드를 사용자가 직접 조리 재료들을 섞도록 가이드 하는 내용으로 변경하여 제공할 수 있다.When the function of the cooking device indicated by the MRR data is a function that cannot be performed by the user's cooking device based on the received user's cooking device identification information, the server 2000 prepares a recipe card corresponding to the MRR data by the user directly. It can be provided by changing the content to guide you to mix the ingredients.

서버(2000)는 다른 조리 장치의 식별 정보를 획득하고, 다른 조리 장치의 식별 정보에 기초하여, 다른 조리 장치에 의해 음식이 조리될 수 있도록 MRR 데이터의 적어도 일부를 변경할 수 있다.The server 2000 may obtain identification information of the other cooking apparatus and change at least a part of the MRR data so that food can be cooked by the other cooking apparatus based on the identification information of the other cooking apparatus.

도 14는 일 실시예에 따른 서버가 생성된 MRR 데이터를 다양한 사용자 정보에 기초하여 MRR 데이터를 변경하여 최적화하는 방법을 설명하기 위해 참조되는 도면이다.14 is a diagram referenced to explain a method for a server to change and optimize MRR data generated by a server based on various user information according to an embodiment.

도 14를 설명함에 있어서, MRR 데이터는 전술한 실시예들에 따른 제1 MRR 데이터 또는 사용자에게 개인화된 제2 MRR 데이터일 수 있다. 이하에서는, 설명의 편의를 위해 제1 MRR 데이터 및 제2 MRR 데이터를 모두 ‘MRR 데이터’로 지칭하기로 한다.14, the MRR data may be the first MRR data according to the above-described embodiments or the second MRR data personalized to the user. Hereinafter, for convenience of description, both the first MRR data and the second MRR data will be referred to as 'MRR data'.

도 14를 참조하면, 서버(2000)는 ‘통삼겹살 파스타’의 레시피를 나타내는 텍스트를 획득하고, 전술한 실시예들에 따라 MRR 데이터를 생성할 수 있다. Referring to FIG. 14 , the server 2000 may obtain a text indicating a recipe for 'whole pork belly pasta' and generate MRR data according to the above-described embodiments.

일 실시예에서, 서버(2000)는 클라이언트 디바이스(3000)로부터 사용자에 의해 입력된 음식의 특성에 관한 특성 정보를 수신할 수 있다. 사용자에 의해 입력되는 음식의 특성 정보는, 음식의 맛 특성(예를 들어, 맵기 정도, 달거나 짠 정도), 음식의 굽기 특성(예를 들어, 레어, 미디움레어) 등을 포함할 수 있으나, 이에 한정되는 것은 아니며 음식의 조리와 관련되어 사용자가 변경할 수 있는 다양한 정보를 포함할 수 있다.In an embodiment, the server 2000 may receive the characteristic information about the characteristic of the food input by the user from the client device 3000 . The food characteristic information input by the user may include taste characteristics of food (eg, spiciness, sweetness or saltiness), baking characteristics of food (eg, rare, medium rare), etc. The present invention is not limited thereto and may include various information that can be changed by a user in relation to cooking of food.

서버(2000)는 ‘통삼겹살 파스타’의 레시피를 나타내는 텍스트로부터 생성된 MRR 데이터의 적어도 일부를, 수신된 특성 정보에 기초하여 변경할 수 있다.The server 2000 may change at least a portion of the MRR data generated from the text indicating the recipe of 'whole pork belly pasta' based on the received characteristic information.

예를 들어, 서버(2000)는 사용자로부터 수신된 특성 정보에 포함되는 사용자의 선호 맛 성향에 기초하여 MRR 데이터를 변경할 수 있다. 사용자가 매운 음식을 선호하는 경우, 서버(2000)는 MRR 데이터 중에서 매운 맛에 관련된 ‘페퍼론치노 3~5개, 고춧가루 1 티스푼’ 등을 나타내는 MRR 데이터를 ‘페퍼론치노 5~8개, 고춧가루 2 티스푼’의 데이터로 변경할 수 있다.For example, the server 2000 may change the MRR data based on the user's taste preference included in the characteristic information received from the user. When the user prefers spicy food, the server 2000 converts MRR data indicating '3 to 5 pepperoncino, 1 teaspoon of red pepper powder', etc. related to spiciness among the MRR data to '5 to 8 pepperoncino, red pepper powder'. 2 teaspoons' data can be changed.

다른 실시예에서, 서버(2000)는 사용자가 보유중인 식재료 정보를 획득할 수 있다. 사용자가 보유중인 식재료 정보는, 사용자에 의해 입력된 식재료 정보가 클라이언트 디바이스(3000)로부터 서버(2000)로 수신되거나, 서버(2000)와 데이터 통신을 수행할 수 있는 스마트 가전(예를 들어, 냉장고) 등으로부터 서버(2000)로 수신되거나 다른 서버(예를 들어, 클라우드 서버)에서 서버(2000)로 수신된 것일 수 있다.In another embodiment, the server 2000 may acquire information on ingredients that the user has. The food ingredient information held by the user is a smart home appliance (eg, a refrigerator) capable of receiving ingredient information input by the user from the client device 3000 to the server 2000 or performing data communication with the server 2000 . ) may be received from the server 2000 or from another server (eg, a cloud server) to the server 2000 .

서버(2000)는 ‘통삼겹살 파스타’의 레시피를 나타내는 텍스트로부터 생성된 제1 MRR 데이터의 적어도 일부를, 사용자가 보유중인 식재료 정보에 기초하여 변경할 수 있다.The server 2000 may change at least a portion of the first MRR data generated from the text indicating the recipe of 'whole pork belly pasta' based on the ingredient information held by the user.

예를 들어, 서버(2000)는 식재료 등을 새로 구매할 필요 없이, 사용자가 보유한 식재료로 대체 조리가 가능한 경우, 서버(2000)는 MRR 데이터 중에서 ‘페퍼론치노’를 나타내는 MRR 데이터를 페퍼론치노를 대체할 수 있는 ‘청양고추’의 데이터로 변경할 수 있다.For example, the server 2000 does not need to purchase new ingredients, and when it is possible to cook alternatively with ingredients owned by the user, the server 2000 converts MRR data indicating 'peperoncino' among MRR data to pepperoncino. It can be changed to data of 'Cheongyang pepper' that can be replaced.

다만, 서버(2000)가 MRR 데이터를 변경하는 실시예들은, 이에 한정되는 것은 아니며, 서버(2000)는 레시피에 적용될 수 있는 다양한 사용자의 정보들을 이용하여 MRR 데이터를 변경함으로써, MRR 데이터를 사용자 성향/상태/상황 등에 맞게 최적화 할 수 있다.However, embodiments in which the server 2000 changes the MRR data are not limited thereto, and the server 2000 changes the MRR data using various user information that can be applied to a recipe, thereby changing the MRR data to a user tendency. It can be optimized according to /state/situation, etc.

예를 들어, 서버(2000)는 사용자의 국가/지역 정보에 기초하여 MRR 데이터를 변경할 수 있다. 사용자가 위치하는 국가/지역에서, 레시피에서 요구되는 재료인 ‘페퍼론치노’의 구매가 어려운 경우, 조리 정보 제공 서버(2000)는 MRR 데이터 중에서 ‘페퍼론치노’에 관련된 데이터들을 페퍼론치노를 대체할 수 있는 ‘청양고추’에 관련된 데이터들로 변경할 수 있다.For example, the server 2000 may change the MRR data based on the user's country/region information. In the country/region where the user is located, when it is difficult to purchase 'peperoncino', a material required in the recipe, the cooking information providing server 2000 collects data related to 'peperoncino' from among the MRR data. It can be changed to data related to 'Cheongyang pepper' that can be replaced.

다른 예에서, 서버(2000)는 사용자의 헬스 정보에 기초하여 MRR 데이터를 변경할 수 있다. 사용자가 다이어트 중인 경우, 서버(2000)는 MRR 데이터 중에서 ‘통삼겹살’에 관련된 데이터들을 ‘닭가슴살’에 관련된 데이터들로 변경할 수 있다.In another example, the server 2000 may change the MRR data based on the user's health information. When the user is on a diet, the server 2000 may change data related to 'whole pork belly' among the MRR data to data related to 'chicken breast'.

다른 예에서, 서버(2000)는 사용자가 선호하는 조리 장치 정보를 이용하여 생성된 MRR 데이터를 변경할 수 있다. 사용자가 선호하는 조리 장치가 ‘에어프라이어’ 인 경우, 서버(2000)는 MRR 데이터 중에서 ‘오븐’의 동작에 관련된 데이터들을 ‘에어프라이어’의 동작에 관련된 데이터들로 변경할 수 있다.In another example, the server 2000 may change the MRR data generated by using the cooking device information preferred by the user. When the user's preferred cooking device is an 'air fryer', the server 2000 may change data related to the operation of the 'oven' among the MRR data into data related to the operation of the 'air fryer'.

도 15는 일 실시예에 따른 조리 정보 제공 시스템의 구성을 설명하기 위한 도면이다.15 is a diagram for explaining the configuration of a cooking information providing system according to an exemplary embodiment.

도 15를 참조하면, 일 실시예에 따른 조리 장치 시스템은 서버(2000), IOT 클라우드 서버(1500), 클라이언트 디바이스(3000) 및 사용자의 조리 관련 장치들(4000)을 포함할 수 있다.Referring to FIG. 15 , a cooking apparatus system according to an embodiment may include a server 2000 , an IOT cloud server 1500 , a client device 3000 , and user's cooking-related apparatuses 4000 .

일 실시예에 따른 서버(2000)는, 클라이언트 디바이스(3000) 또는 외부 소스로부터 레시피를 나타내는 텍스트를 획득하고, 텍스트를 분석하여 제1 MRR 데이터 및 제1 레시피 카드를 생성할 수 있다. The server 2000 according to an embodiment may obtain text indicating a recipe from the client device 3000 or an external source, and analyze the text to generate first MRR data and a first recipe card.

서버(2000)는 제1 레시피 카드를 클라이언트 디바이스(3000)로 전송하여, 사용자에게 조리 정보를 제공할 수 있다. 또한, 서버(2000)는 생성된 제1 MRR 데이터를 이용하여 사용자의 조리 관련 장치들(4000)을 제어할 수 있다.The server 2000 may transmit the first recipe card to the client device 3000 to provide cooking information to the user. Also, the server 2000 may control the user's cooking-related devices 4000 using the generated first MRR data.

또한, 서버(2000)는 사용자의 조리 관련 장치들(4000)로부터 사용자가 장치들을 조작했던 동작에 관련된 사용자의 로그 데이터를 획득할 수 있다. 서버(2000)는 사용자의 로그 데이터에 기초하여, 제1 MRR 데이터의 적어도 일부를 변경하여 사용자에게 개인화된 제2 MRR 데이터를 생성할 수 있다. 또한, 서버(2000)는 제2 MRR 데이터에 기초하여 사용자에게 개인화된 조리 정보를 제공할 수 있는 제2 레시피 카드를 생성할 수 있다.Also, the server 2000 may obtain log data of the user related to the operation of the user's cooking-related apparatuses 4000 from the user's cooking-related apparatuses 4000 . The server 2000 may generate second MRR data personalized to the user by changing at least a portion of the first MRR data based on the user's log data. Also, the server 2000 may generate a second recipe card capable of providing personalized cooking information to the user based on the second MRR data.

서버(2000)는 제2 레시피 카드를 클라이언트 디바이스(3000)로 전송하여, 사용자에게 조리 정보를 제공하고, 제2 MRR 데이터를 이용하여, 사용자의 조리 관련 장치들을 제어할 수 있다.The server 2000 may transmit the second recipe card to the client device 3000 to provide cooking information to the user, and use the second MRR data to control the user's cooking-related apparatuses.

일 실시예에 따른 서버(2000)의 동작들은, IOT 클라우드 서버(1500)를 이용하여 수행될 수 있다. 예를 들어, IOT 클라우드 서버(1500)는 사용자의 조리 관련 장치들(4000)을 사용자의 계정에 등록하고, 사용자의 조리 관련 장치들(4000)을 관리하는 기능을 제공할 수 있다. IOT 클라우드 서버(1500)는 사용자의 조리 관련 장치들(4000)로부터 로그 데이터를 수집하고, 수집된 로그 데이터를 포함하는 사용자의 계정 정보를 서버(2000)로 전송할 수 있다. Operations of the server 2000 according to an embodiment may be performed using the IOT cloud server 1500 . For example, the IOT cloud server 1500 may provide a function of registering the user's cooking-related devices 4000 to the user's account and managing the user's cooking-related devices 4000 . The IOT cloud server 1500 may collect log data from the user's cooking-related devices 4000 and transmit the user's account information including the collected log data to the server 2000 .

또한, IOT 클라우드 서버(1500)는 서버(2000)로부터 MRR 데이터(예를 들어, 제1 MRR 데이터 또는 제2 MRR 데이터 등을 수신하고, 수신된 MRR 데이터에 기초하여 사용자의 계정에 등록된 조리 장치들을 제어할 수 있다.In addition, the IOT cloud server 1500 receives MRR data (eg, first MRR data or second MRR data, etc.) from the server 2000, and based on the received MRR data, the cooking device registered in the user's account can control them.

도 16은 일 실시예에 따른 서버에서 MRR 데이터 및 레시피 카드들이 생성된 후, 클라이언트 디바이스를 통해 사용자에게 음식 조리를 위한 정보가 제공되는 예시를 설명하기 위한 도면이다.FIG. 16 is a diagram for explaining an example in which information for cooking food is provided to a user through a client device after MRR data and recipe cards are generated in a server according to an embodiment.

도 16을 설명함에 있어서, MRR 데이터는 전술한 실시예들에 따른 제1 MRR 데이터 또는 사용자에게 개인화된 제2 MRR 데이터일 수 있다. 또한, 레시피 카드는 전술한 실시예들에 따른 제1 레시피 카드 또는 제2 레시피 카드일 수 있다. 이하에서는, 설명의 편의를 위해 제1 MRR 데이터 및 제2 MRR 데이터를 모두 ‘MRR 데이터’로 지칭하고, 제1 레시피 카드 및 제2 레시피 카드를 모두 ‘레시피 카드’로 지칭하기로 한다.In describing FIG. 16 , the MRR data may be the first MRR data according to the above-described embodiments or the second MRR data personalized to the user. In addition, the recipe card may be a first recipe card or a second recipe card according to the above-described embodiments. Hereinafter, for convenience of explanation, both the first MRR data and the second MRR data will be referred to as 'MRR data', and both the first recipe card and the second recipe card will be referred to as 'recipe cards'.

일 실시예에 따른 조리 정보 제공 시스템은, 서버(2000) 및 클라이언트 디바이스(3000)를 포함할 수 있다. 또한, 조리 정보 제공 시스템은 사용자의 조리 장치와 연계하여 조리를 제공하기 위해, 클라우드 서버를 더 포함할 수 있다.A cooking information providing system according to an embodiment may include a server 2000 and a client device 3000 . Also, the cooking information providing system may further include a cloud server to provide cooking in connection with the user's cooking device.

도 16을 참조하면, 일 실시예에 따른 서버(2000)는 클라이언트 디바이스(3000)로부터 레시피를 나타내는 텍스트를 수신하고, 전술한 실시예들에 따라 MRR 데이터 및 레시피 카드를 생성할 수 있다.Referring to FIG. 16 , the server 2000 according to an embodiment may receive a text indicating a recipe from the client device 3000 , and may generate MRR data and a recipe card according to the above-described embodiments.

일 실시예에 따른 서버(2000)는 생성된 MRR 데이터 및 레시피 카드를 클라이언트 디바이스(3000)로 제공하여, 음식을 조리하는 사용자가 조리 장치를 제어하고, 음식 조리에 관한 정보를 제공받도록 할 수 있다. 이 경우, 클라이언트 디바이스(3000)는 사용자가 이동하며 휴대 가능한 스마트폰, 태블릿 PC 등의 모바일 기기일 수 있다. 또한, 클라이언트 디바이스(3000)는 애플리케이션, 웹 등을 실행할 수 있는 다양한 장치인 데스크탑 PC, 노트북 PC 및 TV, 냉장고 등일 수 있다. 또한, 클라이언트 디바이스(3000)는 디스플레이 등을 포함하여 음식 조리에 관한 정보를 제공받을 수 있는, 조리 장치일 수 있다.The server 2000 according to an embodiment may provide the generated MRR data and the recipe card to the client device 3000 so that a user who cooks food controls the cooking apparatus and is provided with information about food cooking. . In this case, the client device 3000 may be a mobile device such as a smart phone or a tablet PC that the user moves and can carry. In addition, the client device 3000 may be a desktop PC, a notebook PC, a TV, a refrigerator, etc. which are various devices capable of executing an application, a web, and the like. Also, the client device 3000 may be a cooking apparatus that may receive information about cooking food including a display.

일 실시예에 따른 서버(2000)는 복수의 레시피를 나타내는 텍스트들을 클라이언트 디바이스(3000)로부터 수신하고, 복수의 레시피를 나타내는 텍스트들 각각에 대하여 MRR 데이터 및 레시피 카드들을 생성할 할 수 있다. 서버에서 생성된 MRR 데이터 및 레시피 카드들은, 클라이언트 디바이스(3000)로 수신될 수 있다. The server 2000 according to an embodiment may receive texts representing a plurality of recipes from the client device 3000 and generate MRR data and recipe cards for each of the texts representing the plurality of recipes. MRR data and recipe cards generated by the server may be received by the client device 3000 .

일 실시예에서, 서버(2000)에서 생성된 MRR 데이터 및 레시피 카드들은, 클라이언트 디바이스(3000)에서 애플리케이션의 형태로 사용자에게 제공될 수 있다. 이 경우, 클라이언트 디바이스(3000)는 MRR 데이터가 생성된 레시피들의 리스트(1610)(이하, 레시피 리스트)를 디스플레이 할 수 있다.In an embodiment, the MRR data and recipe cards generated by the server 2000 may be provided to the user in the form of an application in the client device 3000 . In this case, the client device 3000 may display a list 1610 (hereinafter, referred to as a recipe list) of recipes in which MRR data is generated.

클라이언트 디바이스(3000)는 레시피 리스트(1610)에서, 클라이언트 디바이스의 사용자로부터 어느 하나의 레시피를 선택하는 입력을 수신하는 경우, 사용자가 선택한 레시피에 대응되는 레시피 카드들을 디스플레이 할 수 있다.When receiving an input for selecting any one recipe from the user of the client device from the recipe list 1610 , the client device 3000 may display recipe cards corresponding to the recipe selected by the user.

예를 들어, 클라이언트 디바이스의 사용자가 레시피 리스트(1610)에서 ‘레시피 D(1611)’를 선택하는 경우, 클라이언트 디바이스(3000)는 ‘레시피 D’에 대응되는 레시피 카드들(1620)을 디스플레이 할 수 있다. 클라이언트 디바이스(3000)는 레시피 카드들(1620)을 이용하여, 사용자에게 조리와 관련된 다양한 기능(예를 들어, 조리 장치 제어, 조리 아이템 구매) 및 조리에 관련된 정보(예를 들어, 재료 손질 동영상)등을 제공할 수 있다. For example, when the user of the client device selects 'recipe D 1611' from the recipe list 1610, the client device 3000 may display recipe cards 1620 corresponding to 'recipe D'. have. The client device 3000 uses the recipe cards 1620 to provide a user with various functions related to cooking (eg, control of a cooking device, purchase of cooking items) and information related to cooking (eg, video of material handling). etc. can be provided.

일 실시예에서, 서버(2000)가 레시피 카드들(1620)을 이용하여 사용자에게 조리와 관련된 기능을 제공할 때, 서버(2000)는 사용자가 보유한 조리 장치들을 제어하기 위해 IOT 클라우드 서버(1630)가 제공하는 클라우드 서비스(예를 들어, SmartThings)와 연동할 수 있다. 이 경우, 사용자가 IOT 클라우드 서비스에 사용자의 계정으로 로그인하면, 서버(2000)는 IOT 클라우드 서버(1630)로부터 사용자의 조리 장치 리스트 및 사용자의 조리 장치들을 식별하기 위한 식별 정보들을 수신할 수 있다. 또한, 사용자의 조리 장치 리스트 및 사용자의 조리 장치들을 식별하기 위한 식별 정보들은 IOT 클라우드 서버(1630)에서 클라이언트 디바이스(3000)로 전송되고, 이후 클라이언트 디바이스(3000)로부터 서버(2000)로 전송될 수도 있다.In one embodiment, when the server 2000 provides a function related to cooking to the user using the recipe cards 1620, the server 2000 uses the IOT cloud server 1630 to control the cooking devices owned by the user. It can work with cloud services (eg, SmartThings) provided by . In this case, when the user logs into the IOT cloud service with the user's account, the server 2000 may receive the user's cooking device list and identification information for identifying the user's cooking devices from the IOT cloud server 1630 . In addition, the user's cooking device list and identification information for identifying the user's cooking devices may be transmitted from the IOT cloud server 1630 to the client device 3000 , and then transmitted from the client device 3000 to the server 2000 . have.

서버(2000)는 사용자가 보유한 사용자의 조리 장치 리스트를 수신하여, 사용자가 보유 중인 조리 장치에 적합한 데이터가 되도록 MRR 데이터의 적어도 일부를 변경할 수 있다. 이는 도 13에서 전술한 실시예들에 대응되므로, 설명의 간단을 위하여 설명을 생략하기로 한다.The server 2000 may receive the user's cooking device list owned by the user, and may change at least a portion of the MRR data to be data suitable for the cooking device owned by the user. Since this corresponds to the embodiments described above in FIG. 13 , the description will be omitted for simplicity of description.

또한, 서버(2000)는 클라이언트 디바이스(3000)로부터 사용자가 레시피 카드에서 조리 장치 제어 버튼을 선택하는 입력에 따른 조리 장치 제어 요청을 수신하고, 조리 장치 제어를 위해 MRR 데이터에 포함되는 조리 장치 제어 정보를 클라우드 서버(1630)로 전송할 수 있다. 이 경우, 클라우드 서버(1630)는 수신된 조리 장치 제어 정보에 기초하여, 사용자의 조리 장치들을 제어할 수 있다. 이는, 도 12에서 전술한 실시예들에 대응되므로, 설명의 간단을 위하여 설명을 생략하기로 한다.In addition, the server 2000 receives a cooking device control request according to an input of a user selecting a cooking device control button from the recipe card from the client device 3000 , and includes cooking device control information included in MRR data to control the cooking device. may be transmitted to the cloud server 1630 . In this case, the cloud server 1630 may control the user's cooking devices based on the received cooking device control information. Since this corresponds to the embodiments described above in FIG. 12 , the description will be omitted for simplicity of description.

일 실시예에서, 서버(2000)는 기생성된 MRR 데이터를 이용하여 새로운 레시피에 대한 MRR 데이터를 생성할 수 있다. 예를 들어, 클라이언트 디바이스의 사용자가 새 레시피 생성 버튼(1612)을 선택하는 경우, 클라이언트 디바이스(3000)는 새 레시피 작성을 위한 사용자 인터페이스(1640)를 디스플레이하고, 레시피를 편집하는 사용자의 입력을 받아 서버(2000)로 전송할 수 있다. 클라이언트 디바이스(3000)는 생성된 새 레시피를 공유하기 위한 사용자 인터페이스(1650)를 디스플레이하여, 사용자가 생성한 새 레시피를 공유할 수 있다.In an embodiment, the server 2000 may generate MRR data for a new recipe by using the pre-generated MRR data. For example, when the user of the client device selects the new recipe creation button 1612, the client device 3000 displays a user interface 1640 for creating a new recipe, and receives the user's input for editing the recipe. It can be transmitted to the server 2000 . The client device 3000 may display the user interface 1650 for sharing the created new recipe to share the new recipe created by the user.

도 17은 일 실시예에 따른 조리 정보 제공 시스템에서, 기생성된 복수의 MRR 데이터를 이용하여 새로운 레시피에 대한 MRR 데이터를 생성하기 위한 GUI를 나타내는 도면이다.17 is a diagram illustrating a GUI for generating MRR data for a new recipe by using a plurality of pre-generated MRR data in the cooking information providing system according to an embodiment.

도 17을 설명함에 있어서, MRR 데이터는 전술한 실시예들에 따른 제1 MRR 데이터 또는 사용자에게 개인화된 제2 MRR 데이터일 수 있다. 이하에서는, 설명의 편의를 위해 제1 MRR 데이터 및 제2 MRR 데이터를 모두 'MRR 데이터'로 지칭하기로 한다.17, the MRR data may be the first MRR data according to the above-described embodiments or the second MRR data personalized to the user. Hereinafter, for convenience of description, both the first MRR data and the second MRR data will be referred to as 'MRR data'.

도 17을 참조하면, 전술한 실시예들에 따라 생성된 MRR 데이터 및 레시피 카드들은 애플리케이션의 형태로 사용자에게 제공될 수 있다. 이 경우, 클라이언트 디바이스(3000)는 MRR 데이터가 생성된 레시피들의 리스트를 디스플레이 할 수 있다.Referring to FIG. 17 , MRR data and recipe cards generated according to the above-described embodiments may be provided to a user in the form of an application. In this case, the client device 3000 may display a list of recipes in which MRR data is generated.

일 실시예에서, 클라이언트 디바이스(3000)는 애플리케이션의 사용자로부터 레시피 생성 버튼(1710)을 선택하는 입력을 수신할 수 있다. 클라이언트 디바이스(3000)는 사용자의 레시피 생성 요청에 대한 응답으로, 레시피 편집 도구(1720)를 표시할 수 있다. 사용자는 레시피 편집 도구에 사용자가 레시피를 생성하고자 하는 요리의 이름을 입력하여, 음식에 대한 MRR 데이터를 검색할 수 있다. 이 경우, 클라이언트 디바이스(3000)는 개시된 실시예에 따른 서버(2000) 내 데이터베이스에서 MRR 데이터를 검색할 수 있다. 또한, 클라이언트 디바이스(3000)는 클라이언트 디바이스의 메모리 내 저장된 MRR 데이터를 검색할 수도 있다.In an embodiment, the client device 3000 may receive an input for selecting the recipe creation button 1710 from the user of the application. The client device 3000 may display the recipe editing tool 1720 in response to the user's request for creating a recipe. The user may search the MRR data for the food by inputting the name of the dish for which the user wants to create a recipe in the recipe editing tool. In this case, the client device 3000 may search for MRR data in the database within the server 2000 according to the disclosed embodiment. In addition, the client device 3000 may search for MRR data stored in the memory of the client device.

일 실시예에서, 클라이언트 디바이스(3000)는 사용자가 입력한 요리의 이름에 대응되는 복수의 레시피들의 리스트(1730)를 디스플레이 할 수 있다. 예를 들어, 클라이언트 디바이스의 사용자가 떡볶이를 검색하는 경우, '백종원의 떡볶이 레시피', '신촌 기름 떡볶이 레시피', '소시지 간장 떡볶이 레시피' 등의 레시피들이 디스플레이 될 수 있다.In an embodiment, the client device 3000 may display a list 1730 of a plurality of recipes corresponding to the name of the dish input by the user. For example, when the user of the client device searches for tteokbokki, recipes such as 'Baek Jong-won's tteokbokki recipe', 'Sinchon oil tteokbokki recipe', and 'sausage soy sauce tteokbokki recipe' may be displayed.

일 실시예에서, 클라이언트 디바이스(3000)는 검색된 레시피들의 리스트(1730) 내 복수의 레시피들 중 하나를 선택하는 사용자 입력에 기초하여, 선택된 레시피의 MRR 데이터에 포함되는 구성요소들을 레시피 편집 도구(1720)에 표시할 수 있다. 또한, 클라이언트 디바이스(3000)는 레시피 편집 도구(1720)를 이용하여 MRR 데이터에 포함되는 구성요소(1740)들을 편집하는 사용자 입력에 기초하여, 새로운 레시피에 대응되는 MRR 데이터를 생성할 수 있다.In an embodiment, the client device 3000 may configure the components included in the MRR data of the selected recipe based on a user input for selecting one of a plurality of recipes from the list of searched recipes 1730 by the recipe editing tool 1720 ) can be displayed. Also, the client device 3000 may generate MRR data corresponding to a new recipe based on a user input for editing the components 1740 included in the MRR data using the recipe editing tool 1720 .

예를 들어, 클라이언트 디바이스(3000)는 검색된 레시피들의 리스트(1730) 내 복수의 레시피들 중에서 '소시지 간장 떡볶이(1732)' 레시피를 선택하는 사용자 입력에 기초하여, 서버(2000)로부터 '소시지 간장 떡볶이(1732)' 레시피에 대응되는 MRR 데이터를 획득할 수 있다. 또는, 클라이언트 디바이스(3000)는 '소시지 간장 떡볶이(1732)' 레시피에 대응되는 MRR 데이터를 클라이언트 디바이스 내 메모리로부터 획득할 수 있다.For example, based on a user input for selecting a 'sausage soy sauce tteokbokki (1732)' recipe from among a plurality of recipes in the list 1730 of the searched recipes, the client device 3000 receives the 'sausage soy sauce tteokbokki' from the server 2000. (1732)' MRR data corresponding to the recipe may be obtained. Alternatively, the client device 3000 may acquire MRR data corresponding to the 'sausage soy sauce tteokbokki (1732)' recipe from a memory in the client device.

클라이언트 디바이스(3000)는 획득된 '소시지 간장 떡볶이(1732)' 레시피에 대응되는 MRR 데이터에 포함되는 구성요소들인, 조리 재료 및 조리 단계 등을 화면에 디스플레이 할 수 있다. 이 경우, '조리 재료'의 항목에는 '떡국떡, 소시지, 양파, 대파' 등의 조리 재료가 포함되고, '조리 단계'의 하위 항목에는 '소시지는…, 달군 팬에…, 국물을…,' 등의 조리 단계가 포함될 수 있다.The client device 3000 may display, on the screen, cooking ingredients and cooking steps, which are components included in the MRR data corresponding to the acquired 'sausage soy sauce tteokbokki (1732)' recipe. In this case, the item of 'Cooking ingredients' includes cooking ingredients such as 'Tteokguk-tteok, sausage, onion, and green onion', and the sub-item of 'Cooking step' includes 'Sausage… , to the hot fan... , the broth… Cooking steps such as , ' may be included.

일 실시예에서, 클라이언트 디바이스의 사용자는 레시피 편집 도구(1720)에서 레시피 구성요소 '떡국떡'을 '떡볶이떡'으로 변경할 수 있다. 레시피 편집 도구(1720)에서 MRR 데이터에 포함되는 구성요소가 변경되는 경우, 클라이언트 디바이스는 변경된 구성요소에 관련된 정보를 서버(2000)로 전송할 수 있다.In an embodiment, the user of the client device may change the recipe component 'Tteokbokki Tteok' to 'Tteokbokki Tteok' in the recipe editing tool 1720 . When a component included in the MRR data is changed in the recipe editing tool 1720 , the client device may transmit information related to the changed component to the server 2000 .

일 실시예에 따른 서버(2000)는 사용자가 변경한 MRR 데이터의 구성요소들을 클라이언트 디바이스(3000)로부터 수신하여, 사용자에게 개인화된 새로운 레시피에 관한 MRR 데이터를 생성할 수 있다. 클라이언트 디바이스(3000)는 생성된 사용자의 새로운 레시피를 공유하기 위한 사용자 인터페이스(1750)를 디스플레이 할 수 있다. 사용자는 새로운 레시피를 공유하기 위한 사용자 인터페이스(1750)를 이용하여, 사용자가 생성한 새 레시피를 다른 사용자들에게 공유할 수 있다.The server 2000 according to an embodiment may receive the components of the MRR data changed by the user from the client device 3000, and may generate MRR data related to a new recipe personalized to the user. The client device 3000 may display a user interface 1750 for sharing the created user's new recipe. The user may share the new recipe created by the user to other users by using the user interface 1750 for sharing the new recipe.

도 18은 일 실시예에 따른 조리 정보 제공 시스템에서, 클라이언트 디바이스를 통해 사용자에게 복수의 음식 조리를 위한 레시피 카드가 제공되는 예시를 설명하는 도면이다.18 is a diagram illustrating an example in which recipe cards for cooking a plurality of foods are provided to a user through a client device in the cooking information providing system according to an embodiment.

도 18을 설명함에 있어서, 레시피 카드는 제1 레시피 카드일 수 있으며, 사용자에게 개인화된 조리 정보를 포함하는 제2 레시피 카드일 수 있다. 설명의 편의를 위하여, 이하에서는 제1 레시피 카드 및 제2 레시피 카드를 모두 ‘레시피 카드’로 지칭하기로 한다.18 , the recipe card may be a first recipe card, and may be a second recipe card including cooking information personalized to the user. For convenience of explanation, hereinafter, both the first recipe card and the second recipe card will be referred to as a 'recipe card'.

도 18을 참조하면, 일 실시예에 따른 클라이언트 디바이스의 사용자는 복수의 음식을 병렬적으로 조리하고자 하는 사용자일 수 있다. Referring to FIG. 18 , a user of a client device according to an embodiment may be a user who wants to cook a plurality of foods in parallel.

일 실시예에서, 클라이언트 디바이스(3000)는, MRR 데이터가 생성된 레시피들의 리스트(1810)(이하, 레시피 리스트)를 디스플레이 할 수 있다. 클라이언트 디바이스의 사용자는 복수의 음식을 병렬적으로 조리하기 위해서, 클라이언트 디바이스(3000)에 디스플레이된 레시피 리스트(1810)에서 복수의 음식에 대한 레시피들을 선택할 수 있다. In an embodiment, the client device 3000 may display a list 1810 (hereinafter, a recipe list) of recipes in which MRR data is generated. In order to cook the plurality of foods in parallel, the user of the client device may select recipes for the plurality of foods from the recipe list 1810 displayed on the client device 3000 .

일 실시예에서, 클라이언트 디바이스(3000)는 사용자로부터 레시피 리스트(1810)에서 복수의 레시피들을 선택하는 입력을 수신할 수 있다.In an embodiment, the client device 3000 may receive an input for selecting a plurality of recipes from the recipe list 1810 from the user.

예를 들어, 클라이언트 디바이스(3000)는 사용자로부터, 사용자가 복수의 음식을 동시에 조리하기 위해 레시피 리스트(1810)에서 시즈닝 스테이크 레시피(1812), 김치찌개 레시피(1814), 시금치 무침 레시피(1816)를 선택할 수 있다. For example, the client device 3000 receives, from the user, a seasoning steak recipe 1812, a kimchi stew recipe 1814, and a spinach pickle recipe 1816 from the recipe list 1810 in order for the user to simultaneously cook a plurality of foods. You can choose.

클라이언트 디바이스(3000)는 사용자가 선택한 레시피들에 대응되는 레시피 카드들(1820)을 디스플레이 할 수 있다. 이 경우, 클라이언트 디바이스(3000)는 사용자가 복수의 음식을 병렬적으로 조리할 수 있도록, 각각의 음식이 조리되는데 필요한 시간에 기초하여 복수의 음식들에 대한 레시피 카드들(1820)을 시간 순으로 디스플레이 할 수 있다. The client device 3000 may display recipe cards 1820 corresponding to recipes selected by the user. In this case, the client device 3000 chronologically displays the recipe cards 1820 for the plurality of foods based on the time required for each food to be cooked so that the user can cook the plurality of foods in parallel. can be displayed.

예를 들어, 클라이언트 디바이스(3000)는 시즈닝 스테이크 레시피(1812)의 제1 조리 단계에 대응되는 레시피 카드(1822)를 디스플레이하여, 사용자가 시즈닝 스테이크 레시피(1812)의 제1 조리 단계를 수행하도록 조리 정보를 제공할 수 있다.For example, the client device 3000 displays a recipe card 1822 corresponding to the first cooking step of the seasoned steak recipe 1812 and cooks so that the user performs the first cooking step of the seasoned steak recipe 1812 . information can be provided.

다음으로, 클라이언트 디바이스(3000)는 김치찌개 레시피(1814)의 제1 조리 단계에 대응되는 레시피 카드(1824)를 디스플레이하여, 사용자가 시즈닝 스테이크 레시피(1812)의 제1 조리 단계를 수행한 이후 김치찌개 레시피(1814)의 제1 조리 단계를 수행하도록 조리 정보를 제공할 수 있다.Next, the client device 3000 displays a recipe card 1824 corresponding to the first cooking step of the kimchi stew recipe 1814, and after the user performs the first cooking step of the seasoning steak recipe 1812, kimchi Cooking information may be provided to perform the first cooking step of the stew recipe 1814 .

다음으로, 클라이언트 디바이스(3000)는 시금치 무침 레시피(1816)의 제1 조리 단계에 대응되는 레시피 카드(1826) 및 제2 조리 단계에 대응되는 레시피 카드(1828)를 각각 순차적으로 디스플레이하여, 사용자가 김치찌개 레시피(1814)의 제1 조리 단계를 수행한 이후 시금치 무침 레시피(1816)의 제1 조리 단계 및 제2 조리 단계를 순차적으로 수행하도록 조리 정보를 제공할 수 있다.Next, the client device 3000 sequentially displays the recipe card 1826 corresponding to the first cooking step of the spinach-freezing recipe 1816 and the recipe card 1828 corresponding to the second cooking step, respectively, so that the user After the first cooking step of the kimchi stew recipe 1814 is performed, the cooking information may be provided to sequentially perform the first cooking step and the second cooking step of the spinach dressing recipe 1816 .

같은 방식으로, 클라이언트 디바이스(3000)는 사용자가 복수의 음식을 조리하기 위해 복수의 레시피를 선택하는 경우, 조리되는데 필요한 시간에 기초하여 복수의 음식들에 대한 레시피 카드들(1820)을 시간 순으로 디스플레이 함으로써, 각각의 음식들이 유사한 시간대에 조리가 완료되도록 할 수 있다.In the same way, when the user selects a plurality of recipes to cook a plurality of foods, the client device 3000 sequentially displays the recipe cards 1820 for the plurality of foods based on the time required to cook them. By displaying, it is possible to complete cooking of each food at a similar time period.

도 19는 일 실시예에 따른 조리 정보 제공 시스템에서, 클라이언트 디바이스를 통해 사용자에게 제1 레시피 카드 및 개인화된 제2 레시피 카드가 제공되는 예시를 설명하는 도면이다.19 is a view for explaining an example in which a first recipe card and a personalized second recipe card are provided to a user through a client device in the cooking information providing system according to an embodiment.

도 19를 참조하면, 클라이언트 디바이스(3000)는 전술한 실시예들에 따라 제1 MRR 데이터, 제2 MRR 데이터, 제1 레시피 카드, 제2 레시피 카드가 생성된 레시피들의 리스트(1910)(이하, 레시피 리스트)를 디스플레이 할 수 있다.Referring to FIG. 19 , the client device 3000 provides a list 1910 of recipes in which the first MRR data, the second MRR data, the first recipe card, and the second recipe card are generated according to the above-described embodiments (hereinafter, recipe list) can be displayed.

클라이언트 디바이스(3000)는 레시피 리스트(1910)에서, 클라이언트 디바이스의 사용자로부터 어느 하나의 레시피를 선택하는 입력을 수신하는 경우, 사용자가 선택한 레시피에 대응되는 레시피 카드들을 디스플레이 할 수 있다.When receiving an input for selecting any one recipe from the user of the client device from the recipe list 1910 , the client device 3000 may display recipe cards corresponding to the recipe selected by the user.

예를 들어, 클라이언트 디바이스의 사용자가 레시피 리스트(1910)에서 '레시피 D'를 선택하는 경우, 클라이언트 디바이스(3000)는 '레시피 D'에 대응되는 레시피 카드들(1920)을 디스플레이 할 수 있다.For example, when the user of the client device selects 'recipe D' from the recipe list 1910, the client device 3000 may display recipe cards 1920 corresponding to 'recipe D'.

이 경우, 레시피 카드들(1920)에 포함되는 각각의 레시피 카드(레시피 카드 A, 레시피 카드 B, 레시피 카드 C 등)는 제1 레시피 카드 또는 사용자에게 개인화된 제2 레시피 카드일 수 있다.In this case, each recipe card (recipe card A, recipe card B, recipe card C, etc.) included in the recipe cards 1920 may be a first recipe card or a second recipe card personalized to a user.

예를 들어, 일 실시예에서, 클라이언트 디바이스(3000)에 디스플레이되는 레시피 카드 B(1930)는 제1 MRR 데이터를 이용하여 생성된 제1 레시피 카드(1932)일 수 있다. 이 경우, 클라이언트 디바이스(3000)는 사용자에게 개인화된 맞춤 요리를 제공하기 위해, 사용자의 선택을 입력 받을 수 있다. 클라이언트 디바이스(3000)는 사용자의 제2 레시피 카드를 표시할 것을 요청하는 입력을 수신한 경우, 제2 MRR 데이터를 이용하여 생성된 제2 레시피 카드(1934)를 디스플레이 할 수 있다. For example, in one embodiment, the recipe card B 1930 displayed on the client device 3000 may be the first recipe card 1932 generated using the first MRR data. In this case, the client device 3000 may receive a user's selection in order to provide the user with a personalized, customized dish. When the client device 3000 receives an input requesting display of the user's second recipe card, the client device 3000 may display the second recipe card 1934 generated using the second MRR data.

서버(2000)는 클라이언트 디바이스(3000)로부터 사용자가 레시피 카드에서 조리 장치 제어 버튼을 선택하는 입력에 따른 조리 장치 제어 요청을 수신하고, 조리 장치 제어를 위해 MRR 데이터에 포함되는 조리 장치 제어 정보를 이용하여 조리 장치를 제어할 수 있다. 이 경우, 사용자의 입력이 제1 레시피 카드에 대한 입력인 경우, 제1 MRR 데이터가 이용되고, 사용자의 입력이 제2 레시피 카드에 대한 입력인 경우, 제2 MRR 데이터가 이용될 수 있다.The server 2000 receives a cooking device control request according to an input of a user selecting a cooking device control button from the recipe card from the client device 3000 , and uses cooking device control information included in MRR data to control the cooking device. to control the cooking device. In this case, when the user's input is an input to the first recipe card, the first MRR data may be used, and when the user's input is an input to the second recipe card, the second MRR data may be used.

클라이언트 디바이스(3000)는 사용자가 제1 레시피 카드 또는 제2 레시피 카드를 제공 받아 조리를 완료한 이후, 조리가 완료된 음식에 관련된 평가 데이터를 입력할 수 있도록 하는 피드백 카드(1940)를 디스플레이 할 수 있다. 사용자의 평가 데이터는 클라이언트 디바이스(3000)로부터 서버(2000)로 전송되고, 서버(2000)는 사용자의 평가 데이터를 이용하여 제2 MRR 데이터를 생성할 수 있다. 이는 도 10에 대한 설명에서 서술하였으므로, 여기에서는 설명을 생략하기로 한다.After the user receives the first recipe card or the second recipe card and completes cooking, the client device 3000 may display a feedback card 1940 that allows the user to input evaluation data related to the cooked food. . The user's evaluation data is transmitted from the client device 3000 to the server 2000, and the server 2000 may generate the second MRR data using the user's evaluation data. Since this has been described in the description of FIG. 10 , a description thereof will be omitted herein.

일 실시예에 따른 음식 조리를 위한 정보 제공 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The method for providing information for cooking food according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in 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 on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

또한, 개시된 실시예들에 따른 조리 정보 제공 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.In addition, the cooking information providing method according to the disclosed embodiments may be provided by being included in a computer program product. Computer program products may be traded between sellers and buyers as commodities.

컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.The computer program product may include a S/W program and a computer-readable storage medium in which the S/W program is stored. For example, computer program products may include products (eg, downloadable apps) in the form of S/W programs distributed electronically through manufacturers of electronic devices or electronic markets (eg, Google Play Store, App Store). have. For electronic distribution, at least a portion of the S/W program may be stored in a storage medium or may be temporarily generated. In this case, the storage medium may be a server of a manufacturer, a server of an electronic market, or a storage medium of a relay server temporarily storing a SW program.

컴퓨터 프로그램 제품은, 서버 및 클라이언트 장치로 구성되는 시스템에서, 서버의 저장매체 또는 클라이언트 장치의 저장매체를 포함할 수 있다. 또는, 서버 또는 클라이언트 장치와 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 클라이언트 장치 또는 제3 장치로 전송되거나, 제3 장치로부터 클라이언트 장치로 전송되는 S/W 프로그램 자체를 포함할 수 있다.The computer program product, in a system consisting of a server and a client device, may include a storage medium of the server or a storage medium of the client device. Alternatively, if there is a third device (eg, a smart phone) that is communicatively connected to the server or the client device, the computer program product may include a storage medium of the third device. Alternatively, the computer program product may include the S/W program itself transmitted from the server to the client device or the third device, or transmitted from the third device to the client device.

이 경우, 서버, 클라이언트 장치 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 클라이언트 장치 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.In this case, one of the server, the client device and the third device may execute the computer program product to perform the method according to the disclosed embodiments. Alternatively, two or more of a server, a client device, and a third device may execute a computer program product to distribute the method according to the disclosed embodiments.

예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 클라이언트 장치가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.For example, a server (eg, a cloud server or an artificial intelligence server) may execute a computer program product stored in the server to control a client device communicatively connected with the server to perform the method according to the disclosed embodiments.

이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.Although the embodiments have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concept of the present invention as defined in the following claims are also included in the scope of the present invention. belongs to

Claims (20)

서버가 음식 조리를 위한 데이터를 생성하는 방법에 있어서,
음식의 레시피를 나타내는 텍스트를 획득하는 단계;
상기 텍스트를 분석하기 위한 복수의 NLU(Natural Language Understanding) 모델들을 이용하여, 상기 텍스트 내에 포함되는 복수의 의미 요소들을 식별하는 단계;
상기 식별된 의미 요소들을 이용하여, 복수의 조리 파라미터들을 포함하는 구조화된 형태의 제1 MRR(Machine Readable Recipe) 데이터를 생성하는 단계;
사용자가 조리 장치를 조작했던 동작에 관련된 사용자의 로그 데이터를 획득하는 단계; 및
상기 획득된 로그 데이터에 기초하여, 상기 복수의 조리 파라미터들을 갱신함으로써 상기 사용자에게 개인화된 제2 MRR 데이터를 생성하는 단계를 포함하고,
상기 복수의 의미 요소들을 식별하는 단계는, 상기 텍스트를 상기 복수의 NLU 모델들에 각각 적용하고, 상기 복수의 NLU 모델들 각각으로부터 출력되는 적어도 하나의 의미 요소에 기초하여 상기 복수의 의미 요소들을 식별하는, 방법.
A method for a server to generate data for cooking food,
obtaining a text representing a recipe of the food;
identifying a plurality of semantic elements included in the text by using a plurality of natural language understanding (NLU) models for analyzing the text;
generating first Machine Readable Recipe (MRR) data in a structured form including a plurality of cooking parameters by using the identified semantic elements;
acquiring log data of a user related to an operation in which the user manipulated the cooking apparatus; and
generating second MRR data personalized to the user by updating the plurality of cooking parameters based on the obtained log data;
The identifying of the plurality of semantic elements may include applying the text to each of the plurality of NLU models, and identifying the plurality of semantic elements based on at least one semantic element output from each of the plurality of NLU models. How to.
제1항에 있어서,
상기 제2 MRR 데이터를 생성하는 단계는,
상기 제1 MRR 데이터에 기초하여 상기 조리 장치를 제어하기 위한 제어 정보들을 상기 조리 장치에 제공하는 단계;
상기 제어 정보들에 대응되는 상기 조리 장치의 제어 동작들에 대한 보상 값들을 획득하는 단계; 및
상기 획득된 보상 값들의 누적 합에 기초하여 상기 복수의 조리 파라미터들을 갱신함으로써 상기 제2 MRR 데이터를 생성하는 단계를 포함하되,
상기 보상 값들은 상기 획득된 사용자의 로그 데이터에 기초하여 결정된 것인, 방법.
According to claim 1,
The generating of the second MRR data includes:
providing control information for controlling the cooking device to the cooking device based on the first MRR data;
obtaining compensation values for control operations of the cooking apparatus corresponding to the control information; and
generating the second MRR data by updating the plurality of cooking parameters based on the accumulated sum of the obtained compensation values;
wherein the reward values are determined based on the obtained log data of the user.
제2항에 있어서,
상기 제2 MRR 데이터를 생성하는 단계는,
상기 조리 장치를 제어하기 위한 상기 제어 정보에 따라 상기 조리 장치가 동작하는 동안, 상기 조리 장치를 조작하는 사용자의 입력 데이터를 상기 조리 장치로부터 수신하는 단계;
상기 조리 장치의 동작에 의해 조리된 음식에 대한 사용자의 평가 데이터를 획득하는 단계; 및
상기 수신된 사용자의 입력 데이터 및 사용자의 평가 데이터를 상기 보상 값들에 할당하는 단계를 포함하는, 방법.
3. The method of claim 2,
The generating of the second MRR data includes:
receiving input data of a user operating the cooking device from the cooking device while the cooking device is operating according to the control information for controlling the cooking device;
acquiring user evaluation data for food cooked by the operation of the cooking device; and
and assigning the received user's input data and user's evaluation data to the reward values.
제1항에 있어서,
상기 생성된 제1 MRR 데이터를 이용하여 상기 음식의 조리를 위한 복수의 제1 레시피 카드들을 생성하는 단계; 및
상기 복수의 제1 레시피 카드들을 클라이언트 디바이스에 제공하는 단계를 더 포함하는, 방법.
The method of claim 1,
generating a plurality of first recipe cards for cooking the food by using the generated first MRR data; and
and providing the plurality of first recipe cards to a client device.
제4항에 있어서,
상기 생성된 제2 MRR 데이터를 이용하여 상기 사용자에게 개인화된 상기 음식의 조리를 위한 복수의 제2 레시피 카드들을 생성하는 단계; 및
상기 복수의 제2 레시피 카드들을 상기 클라이언트 디바이스에 제공하는 단계를 더 포함하는, 방법.
5. The method of claim 4,
generating a plurality of second recipe cards for cooking of the food personalized to the user by using the generated second MRR data; and
and providing the plurality of second recipe cards to the client device.
제1항에 있어서,
상기 음식의 종류에 기초하여, 상기 복수의 NLU 모델을 결정하는 단계를 더 포함하는, 방법.
According to claim 1,
Based on the type of food, the method further comprising the step of determining the plurality of NLU models.
제4항에 있어서,
상기 식별된 복수의 의미 요소들을 이용하여 상기 음식의 조리를 위한 조리 단계들을 결정하는 단계를 더 포함하고,
상기 복수의 제1 레시피 카드들을 생성하는 단계는,
상기 생성된 제1 MRR 데이터 및 상기 결정된 조리 단계들에 기초하여, 상기 복수의 제1 레시피 카드들의 유형을 결정하되,
상기 복수의 제1 레시피 카드들의 유형은 조리 디바이스 제어 유형, 조리 아이템 구매 유형, 조리 정보 제공 유형 중 적어도 하나의 유형을 포함하는, 방법.
5. The method of claim 4,
Further comprising the step of determining cooking steps for cooking the food by using the identified plurality of semantic elements,
The step of generating the plurality of first recipe cards,
Based on the generated first MRR data and the determined cooking steps, determining the types of the plurality of first recipe cards,
The type of the plurality of first recipe cards includes at least one of a cooking device control type, a cooking item purchase type, and a cooking information provision type.
제1항에 있어서,
다른 조리 장치의 식별 정보를 획득하는 단계; 및
상기 획득된 다른 조리 장치의 식별 정보에 기초하여, 상기 다른 조리 장치에 의해 상기 음식이 조리 될 수 있도록, 상기 제1 MRR 데이터 및 상기 제2 MRR 데이터의 적어도 일부를 변경하는 단계를 더 포함하는, 방법.
According to claim 1,
acquiring identification information of another cooking device; and
The method further comprising the step of changing at least a portion of the first MRR data and the second MRR data so that the food can be cooked by the other cooking device based on the obtained identification information of the other cooking device; Way.
제1항에 있어서,
클라이언트 디바이스로부터 상기 사용자에 의해 입력된 상기 음식의 특성에 관한 특성 정보를 수신하는 단계;
상기 수신된 특성 정보에 기초하여, 상기 제1 MRR 데이터 및 상기 제2 MRR 데이터의 적어도 일부를 변경하는 단계를 더 포함하는, 방법.
According to claim 1,
receiving, from a client device, characteristic information about a characteristic of the food input by the user;
The method further comprising the step of changing at least a portion of the first MRR data and the second MRR data based on the received characteristic information.
제1항에 있어서,
상기 사용자가 보유중인 식재료 정보를 획득하는 단계;
상기 획득된 식재료 정보에 기초하여, 상기 제1 MRR 데이터 및 상기 제2 MRR 데이터의 적어도 일부를 변경하는 단계를 더 포함하는, 방법.
According to claim 1,
obtaining information on ingredients owned by the user;
The method further comprising the step of changing at least a portion of the first MRR data and the second MRR data based on the obtained food ingredient information.
음식 조리를 위한 데이터를 생성하는 서버에 있어서,
통신부;
하나 이상의 명령어들(instructions)을 저장하는 저장부; 및
상기 저장부에 저장된 상기 하나 이상의 명령어들을 실행하는 프로세서;
를 포함하고,
상기 프로세서는,
음식의 레시피를 나타내는 텍스트를 획득하고,
상기 텍스트를 분석하기 위한 복수의 NLU(Natural Language Understanding) 모델들에 각각 적용하고, 상기 복수의 NLU 모델들 각각으로부터 출력되는 적어도 하나의 의미 요소에 기초하여, 상기 텍스트 내에 포함되는 복수의 의미 요소들을 식별하고,
상기 식별된 의미 요소들을 이용하여, 복수의 조리 파라미터들을 포함하는 구조화된 형태의 제1 MRR(Machine Readable Recipe) 데이터를 생성하고,
사용자가 조리 장치를 조작했던 동작에 관련된 사용자의 로그 데이터를 획득하고,
상기 획득된 로그 데이터에 기초하여, 상기 복수의 조리 파라미터들을 갱신함으로써 상기 사용자에게 개인화된 제2 MRR 데이터를 생성하는, 서버.
In the server for generating data for food cooking,
communication department;
a storage unit for storing one or more instructions; and
a processor executing the one or more instructions stored in the storage unit;
including,
The processor is
obtain a text representing the recipe of the food,
A plurality of semantic elements included in the text are applied to a plurality of NLU (Natural Language Understanding) models for analyzing the text, respectively, and based on at least one semantic element output from each of the plurality of NLU models. identify,
using the identified semantic elements to generate first MRR (Machine Readable Recipe) data in a structured form including a plurality of cooking parameters;
Acquire log data of a user related to an operation in which the user manipulated the cooking device,
Based on the obtained log data, the server generates second MRR data personalized to the user by updating the plurality of cooking parameters.
제11항에 있어서,
상기 프로세서는,
상기 제1 MRR 데이터에 기초하여 상기 조리 장치를 제어하기 위한 제어 정보들을 상기 조리 장치에 제공하고,
상기 제어 정보들에 대응되는 상기 조리 장치의 제어 동작들에 대한 보상 값들을 획득하고,
상기 획득된 보상 값들의 누적 합에 기초하여 상기 복수의 조리 파라미터들을 갱신함으로써 상기 제2 MRR 데이터를 생성하되,
상기 보상 값들은 상기 획득된 사용자의 로그 데이터에 기초하여 결정된 것인, 서버.
12. The method of claim 11,
The processor is
providing control information for controlling the cooking device to the cooking device based on the first MRR data;
obtaining compensation values for control operations of the cooking apparatus corresponding to the control information;
generating the second MRR data by updating the plurality of cooking parameters based on the accumulated sum of the obtained compensation values;
The server, wherein the reward values are determined based on the obtained log data of the user.
제12항에 있어서,
상기 프로세서는,
상기 조리 장치를 제어하기 위한 상기 제어 정보에 따라 상기 조리 장치가 동작하는 동안, 상기 조리 장치를 조작하는 사용자의 입력 데이터를 상기 조리 장치로부터 수신하고,
상기 조리 장치의 동작에 의해 조리된 음식에 대한 사용자의 평가 데이터를 획득하고,
상기 수신된 사용자의 입력 데이터 및 사용자의 평가 데이터를 상기 보상 값들에 할당하는, 서버.
13. The method of claim 12,
The processor is
Receive input data of a user who operates the cooking device from the cooking device while the cooking device is operating according to the control information for controlling the cooking device,
Obtaining user evaluation data for food cooked by the operation of the cooking device,
and assigning the received user's input data and user's evaluation data to the reward values.
제11항에 있어서,
상기 프로세서는,
상기 생성된 제1 MRR 데이터를 이용하여 상기 음식의 조리를 위한 복수의 제1 레시피 카드들을 생성하고,
상기 복수의 제1 레시피 카드들을 클라이언트 디바이스에 제공하는, 서버.
12. The method of claim 11,
The processor is
Using the generated first MRR data to generate a plurality of first recipe cards for cooking the food,
A server providing the plurality of first recipe cards to a client device.
제14항에 있어서,
상기 프로세서는,
상기 생성된 제2 MRR 데이터를 이용하여 상기 사용자에게 개인화된 상기 음식의 조리를 위한 복수의 제2 레시피 카드들을 생성하고,
상기 복수의 제2 레시피 카드들을 상기 클라이언트 디바이스에 제공하는, 서버.
15. The method of claim 14,
The processor is
Using the generated second MRR data to generate a plurality of second recipe cards for cooking the food personalized to the user,
The server provides the plurality of second recipe cards to the client device.
제11항에 있어서,
상기 프로세서는,
상기 음식의 종류에 기초하여, 상기 복수의 NLU 모델을 결정하는, 서버.
12. The method of claim 11,
The processor is
Based on the type of food, the server determines the plurality of NLU models.
제14항에 있어서,
상기 프로세서는,
상기 식별된 복수의 의미 요소들을 이용하여 상기 음식의 조리를 위한 조리 단계들을 결정하고,
상기 생성된 제1 MRR 데이터 및 상기 결정된 조리 단계들에 기초하여, 상기 복수의 제1 레시피 카드들의 유형을 결정하되,
상기 복수의 제1 레시피 카드들의 유형은 조리 디바이스 제어 유형, 조리 아이템 구매 유형, 조리 정보 제공 유형 중 적어도 하나의 유형을 포함하는, 서버.
15. The method of claim 14,
The processor is
determining cooking steps for cooking the food by using the identified plurality of semantic elements;
Based on the generated first MRR data and the determined cooking steps, determining the types of the plurality of first recipe cards,
The type of the plurality of first recipe cards includes at least one of a cooking device control type, a cooking item purchase type, and a cooking information provision type.
제11항에 있어서,
상기 프로세서는,
다른 조리 장치의 식별 정보를 획득하고,
상기 획득된 다른 조리 장치의 식별 정보에 기초하여, 상기 다른 조리 장치에 의해 상기 음식이 조리 될 수 있도록, 상기 제1 MRR 데이터 및 상기 제2 MRR 데이터의 적어도 일부를 변경하는, 서버.
12. The method of claim 11,
The processor is
Acquire identification information of other cooking devices,
Based on the obtained identification information of the other cooking device, the server changes at least a portion of the first MRR data and the second MRR data so that the food can be cooked by the other cooking device.
제11항에 있어서,
상기 프로세서는,
클라이언트 디바이스로부터 상기 사용자에 의해 입력된 상기 음식의 특성에 관한 특성 정보를 수신하고,
상기 수신된 특성 정보에 기초하여, 상기 제1 MRR 데이터 및 상기 제2 MRR 데이터의 적어도 일부를 변경하는, 서버.
12. The method of claim 11,
The processor is
Receiving characteristic information about the characteristic of the food input by the user from the client device,
Based on the received characteristic information, the server to change at least a part of the first MRR data and the second MRR data.
제1항 내지 제10항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium in which a program for executing the method of any one of claims 1 to 10 in a computer is recorded.
KR1020210007671A 2020-07-22 2021-01-19 Method and apparatus for providing personalized cooking service KR20220012158A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/434,166 US20230134600A1 (en) 2020-07-22 2021-07-20 Method and apparatus for providing personalized cooking service
PCT/KR2021/009350 WO2022019620A1 (en) 2020-07-22 2021-07-20 Method and device for providing personalized cooking service

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200091261 2020-07-22
KR20200091261 2020-07-22

Publications (1)

Publication Number Publication Date
KR20220012158A true KR20220012158A (en) 2022-02-03

Family

ID=80268890

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210007671A KR20220012158A (en) 2020-07-22 2021-01-19 Method and apparatus for providing personalized cooking service

Country Status (1)

Country Link
KR (1) KR20220012158A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102517849B1 (en) * 2022-12-22 2023-04-04 이송현 Non-fungible token (NFT) based recipe trading method and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102517849B1 (en) * 2022-12-22 2023-04-04 이송현 Non-fungible token (NFT) based recipe trading method and system

Similar Documents

Publication Publication Date Title
US20210043108A1 (en) Recipe conversion system
US11201935B2 (en) Cooking device-based recipe pushing method and apparatus
KR101798616B1 (en) Method of providing recipe and server performing the same
US8323026B2 (en) Interactive recipe preparation using instructive device with integrated actuators to provide tactile feedback
US20130185646A1 (en) Method and system for customizing a project
AU2017232140A1 (en) System and method for providing flavor advisement and enhancement
US10102477B2 (en) Modeling for flavor profiles
CN108897768B (en) Ordering method and device and electronic equipment
US20150339394A1 (en) Extracting Online Recipes, and Arranging and Generating a Cookbook
JP2018506758A (en) Method and system for recipe management
US10803349B2 (en) Apparatus and method for determining taste of user based on latent variable
JP6491807B1 (en) Server apparatus, information processing terminal, system, method and program
KR20220012158A (en) Method and apparatus for providing personalized cooking service
Krieg-Brückner et al. Formal modelling for cooking assistance
Woods et al. Haptic heritage and the paradox of provenance within Singapore’s cottage food businesses
US20230289630A1 (en) System And Method For Use With Connected Kitchen Appliances
US20230134600A1 (en) Method and apparatus for providing personalized cooking service
TW201734930A (en) Menu generation system
JP6491806B1 (en) Quantitative recipe information creation support server, information processing terminal, quantitative recipe information creation support system, quantitative recipe information creation support method, and quantitative recipe information creation support program
KR20230116355A (en) Method and apparatus for recommending personalized recipe
Li et al. Recipes for success: data science in the home kitchen
JP6995034B2 (en) Information processing equipment, information processing methods and information processing programs
KR102481029B1 (en) Method, apparatus and system for providing food ingredient purchase service system based on food and beverage contents
JP6541203B1 (en) Server apparatus, information processing terminal, system, method and program
JP7122937B2 (en) Information processing device, information processing method and information processing program

Legal Events

Date Code Title Description
A201 Request for examination