KR101874604B1 - 창작 레시피 생성방법 - Google Patents

창작 레시피 생성방법 Download PDF

Info

Publication number
KR101874604B1
KR101874604B1 KR1020160101666A KR20160101666A KR101874604B1 KR 101874604 B1 KR101874604 B1 KR 101874604B1 KR 1020160101666 A KR1020160101666 A KR 1020160101666A KR 20160101666 A KR20160101666 A KR 20160101666A KR 101874604 B1 KR101874604 B1 KR 101874604B1
Authority
KR
South Korea
Prior art keywords
recipe
cooking
data
new
cooking material
Prior art date
Application number
KR1020160101666A
Other languages
English (en)
Other versions
KR20180017596A (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 KR1020160101666A priority Critical patent/KR101874604B1/ko
Priority to PCT/KR2017/001205 priority patent/WO2017135742A1/ko
Publication of KR20180017596A publication Critical patent/KR20180017596A/ko
Application granted granted Critical
Publication of KR101874604B1 publication Critical patent/KR101874604B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Abstract

본 발명은 창작 레시피 생성방법에 관한 것으로서 더욱 상세하게는 사용자에 의해 입력되는 요리재료로 만들어질 요리에 대한 새로운 레시피를 현존하는 관련 레시피에 근거하여 쉽고 빠르게 생성할 수 있는 창작 레시피 생성방법에 관한 것이다.
이를 위해, 본 발명은, 사용자 인터페이스를 통해 입력되는 요리형태 및 요리재료에 관한 정보를 수신하는 요리 정보 수신단계; 데이터 마이닝을 통해 웹 상에 존재하는 상기 요리형태 및 상기 요리재료와 관련된 레시피 정보에 관한 비정형 데이터를 수집하는 데이터 수집단계; 상기 비정형 데이터를 분류 및 정형화하여 레시피 데이터로 만드는 분류 및 정형화 단계; 상기 레시피 데이터를 데이터베이스에 저장하는 저장단계; 및 딥 러닝 기법을 이용하여, 상기 데이터베이스에 저장되어 있는 상기 레시피 데이터로부터 상기 요리형태 및 요리재료에 부합되는 새로운 레시피를 생성하는 신규 레시피 생성단계를 포함하는 창작 레시피 생성방법을 제공한다.

Description

창작 레시피 생성방법{METHOD FOR GENERATING CREATION RECIPE}
본 발명은 창작 레시피 생성방법에 관한 것으로서 더욱 상세하게는 사용자에 의해 입력되는 요리재료로 만들어질 요리에 대한 새로운 레시피를 현존하는 관련 레시피에 근거하여 쉽고 빠르게 생성할 수 있는 창작 레시피 생성방법에 관한 것이다.
최근 들어, 요리에 대한 대중적 관심이 증가되면서, 요리를 소개하고 단순히 먹는 것에 대한 대리 만족을 주는 방송이 인기를 끌다가, 이제는 요리를 직접 조리하여 만드는 소위 쿡방으로 불리는 요리 프로그램이 인기를 끌고 있다. 현재, 요리 프로그램이나 예컨대, 요리 블로그 등을 통해 거의 모든 요리에 대한 다양한 레시피들이 소개되고 있다. 이에 따라, 요리 초보자라 할지라도 공개되어 있는 레시피를 통해 누구의 도움도 받지 않고, 손수 요리를 만드는 것이 가능해졌다.
그런데, 공개된 대부분의 레시피들은 그 레시피를 개발한 사람의 기호나 취향, 식성에 따라 만들어졌거나 옛날부터 그냥 전해져 내려오는 조리방법을 정리한 것이므로, 공개되어 있는 레시피로 만든 요리가 모든 사람들의 입맛을 만족시키는 것은 아니다.
한편, 공개되어 있는 레시피에 나와 있는 요리재료 중 특정 요리재료는 바로 준비하기 어려운 경우가 흔히 발생된다. 요리 초보자에게 이런 경우가 발생되면, 준비된 요리재료에 맞는 레시피를 찾는데 다시 많은 시간을 할애해야 된다. 그리고 그럼에도 불구하고 적합한 레시피를 찾지 못하면, 대부분은 요리하는 것 자체를 포기하게 되고, 결국에는 요리하는 것에 대한 흥미를 잃게 된다.
대한민국 등록특허공보 제10-0886765호(2009.02.25.)
본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서, 본 발명의 목적은 사용자에 의해 입력되는 요리재료로 만들어질 요리에 대한 새로운 레시피를 현존하는 관련 레시피에 근거하여 쉽고 빠르게 생성할 수 있는 창작 레시피 생성방법을 제공하는 것이다.
이를 위해, 본 발명은, 사용자 인터페이스를 통해 입력되는 요리형태 및 요리재료에 관한 정보를 수신하는 요리 정보 수신단계; 데이터 마이닝을 통해 웹 상에 존재하는 상기 요리형태 및 상기 요리재료와 관련된 레시피 정보에 관한 비정형 데이터를 수집하는 데이터 수집단계; 상기 비정형 데이터를 분류 및 정형화하여 레시피 데이터로 만드는 분류 및 정형화 단계; 상기 레시피 데이터를 데이터베이스에 저장하는 저장단계; 및 딥 러닝 기법을 이용하여, 상기 데이터베이스에 저장되어 있는 상기 레시피 데이터로부터 상기 요리형태 및 요리재료에 부합되는 새로운 레시피를 생성하는 신규 레시피 생성단계를 포함하는 창작 레시피 생성방법을 제공한다.
여기서, 상기 분류 및 정형화 단계에서는 Word2Vector 및 Paragraph2Vector 기법을 이용하여 상기 비정형 데이터를 분류 및 정형화할 수 있다.
또한, 상기 신규 레시피 생성단계는, 상기 데이터베이스에 저장되어 있는 상기 레시피 데이터로부터 조리법과 조리과정을 추출하는 제1 단계; 및 상기 요리재료 별로 조리과정을 학습하는 제2 단계를 포함할 수 있다.
이때, 상기 제1 단계는, 상기 레시피 데이터를 이루는 언어에 대해 정규화, 어근화 및 절단화하는 제1 과정; 정규화, 어근화 및 절단화된 상기 언어에서 동사들을 분류하는 제2 과정; 분류된 상기 동사들을 심층 신경망을 통해 군집화하는 제3 과정; 및 군집화된 상기 동사들을 확인하여 상기 동사들 각각을 조리법으로 라벨화하는 제4 과정을 포함할 수 있다.
또한, 상기 제2 단계에서는 정규화, 어근화 및 절단화된 상기 언어에 대해 Word2Vector 기법을 이용하여, 상기 요리재료와 라벨화된 상기 조리법에 관한 동사들 간의 벡터 거리를 계산할 수 있다.
그리고 상기 제2 단계에서는 상기 요리재료 별 상기 조리법에 관한 동사들을 상기 벡터 거리를 기준으로 리스트화할 수 있다.
또한, 상기 제2 단계에서는 상기 리스트를 토대로, 다른 요리재료에 대한 조리법과 관련된 동사들을 도출하기 위해 비례 수식을 적용할 수 있다.
아울러, 상기 신규 레시피 생성단계는 정규화, 어근화 및 절단화된 상기 언어를 역-절단화 및 역-어근화하여 구어체 문장으로 재 조립하는 제3 단계를 더 포함할 수 있다.
또한, 상기 신규 레시피 생성단계는 상기 요리재료와 궁합이 맞는 새로운 요리재료를 상기 데이터베이스로부터 추천 받아, 상기 새로운 요리재료에 대한 조리법을 도출하고, 상기 새로운 요리재료에 대한 조리법이 추가되도록, 상기 제3 단계 후 생성된 상기 새로운 레시피에 대한 수정을 제안하는 제4 단계를 더 포함할 수 있다.
본 발명에 따르면, 데이터 마이닝(Data Mining) 기법을 통해, 사용자에 의해 입력되는 요리형태와 관련된 현존하는 레시피를 수집하고, 이를 Word2Vector 및 Paragraph2Vector 기법을 이용하여 분류 및 정형화하며, 분류 및 정형화된 기존의 레시피 데이터를 딥 러닝(Deep Learning) 기법을 통해, 추가로 입력되는 요리재료에 부합되는 새로운 레시피를 생성함으로써, 입력된 요리재료로 만들어질 요리, 예컨대, 사용하고자 하는 요리재료 혹은 실제 준비되어 있는 요리재료로 만들어질 요리에 대한 새로운 레시피를 현존하는 관련 레시피에 근거하여 쉽고 빠르게 생성할 수 있다.
도 1은 본 발명의 실시 예에 따른 창작 레시피 생성방법을 단계 별로 나타낸 순서도이다.
도 2는 본 발명의 실시 예에 따른 창작 레시피 생성방법의 데이터 수집단계를 통해 수집된 감자조림 레시피를 나타낸 도면이다.
도 3은 요리재료 및 이와 관련되어 조리법으로 라벨화된 동사들 간의 계산된 벡터 거리를 보여주는 도면이다.
도 4는 본 발명의 실시 예1에 따라 생성된 돼지고기 콩나물 감자조림 레시피를 나타낸 도면이다.
도 5는 본 발명의 실시 예2에 따라, 정규화, 어근화 및 절단화된 감자조림 레시피를 나타낸 도면이다.
도 6은 본 발명의 실시 예2에 따라, 요리재료가 변환된 레시피를 나타낸 도면이다.
도 7은 본 발명의 실시 예2에 따라 생성된 고구마 부추조림 레시피를 나타낸 도면이다.
도 8은 본 발명의 실시 예3에 따라 생성된 돼지고기 콩나물 고구마 부추조림 레시피를 나타낸 도면이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제어하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 발명의 실시 예에 따른 창작 레시피 생성방법을 단계 별로 나타낸 순서도이고, 도 2는 본 발명의 실시 예에 따른 창작 레시피 생성방법의 데이터 수집단계를 통해 수집된 감자조림 레시피를 보여주는 도면이며, 도 3은 요리재료 및 이와 관련되어 조리법으로 라벨화된 동사들 간의 계산된 벡터 거리를 보여주는 도면이다.
본 발명의 실시 예에 따른 창작 레시피 생성방법은 입력된 요리재료로 만들어질 요리, 예컨대, 사용하고자 하는 요리재료 혹은 실제 준비되어 있는 요리재료로 만들 예정인 요리에 대한 새로운 즉, 창작 레시피를 생성하는 방법이다. 도 1에 도시한 바와 같이, 이를 위해, 본 발명의 실시 예에 따른 창작 레시피 생성방법은 요리 정보 수신단계(S1), 데이터 수집단계(S2), 분류 및 정형화 단계(S3), 저장단계(S4) 및 신규 레시피 생성단계(S5)를 포함한다.
먼저, 요리 정보 수신단계(S1)는 사용자 인터페이스를 통해 입력되는 요리형태 및 요리재료에 관한 정보를 수신하는 단계이다. 여기서, 사용자는 웹 서버로부터 요리형태 및 요리재료를 입력할 수 있는 인터페이스 창을 포함하는 웹 페이지를 제공받는다. 이에, 사용자는 요리형태로는 "조림", 요리재료로는 "콩나물"과 "돼지고기", "고구마"와 "부추"를 입력할 수 있다. 그러나 상기에 예시한 요리형태 및 요리재료는 일례일 뿐, 본 발명의 실시 예에서, 요리형태를 "조림", 요리재료를 "콩나물"과 "돼지고기", "고구마"와 "부추"로 특별히 한정하는 것은 아니다.
이때, 웹 서버에서 제공하는 인터페이스 창에는 텍스트 형태로 요리형태와 요리재료가 입력될 수 있다. 또한, 웹 서버에서 제공하는 웹 페이지는 다수의 요리재료 아이콘 및 요리형태 아이콘을 제공하고, 이에 따라, 인터페이스 창에는 사용자에 의해 선택된 요리재료 및 요리형태 아이콘이 입력될 수 있다.
요리 정보 수신단계(S1)에서는 이와 같이, 사용자에 의해 입력되는 요리형태 및 요리재료에 관한 정보를 수신한다.
다음으로, 데이터 수집단계(S2)는 데이터 마이닝(Data Mining) 기법을 통해 웹 상에 존재하는 요리형태 및 요리재료, 보다 상세하게는 요리 정보 수신단계(S1)를 통해 사용자에 의해 입력된 요리형태 및 요리재료와 관련된 레시피 정보에 관한 비정형 데이터를 수집하는 단계이다. 이때, 데이터 수집단계(S2)에서는 비정형 데이터를 자동화된 소프트웨어로 수집할 수 있다. 예를 들어, 데이터 수집단계(S2)에서는 데이터를 실시간으로 수집하는 소프트웨어인 크롤러(Crawler)를 이용하여 사용자에 의해 입력된 요리형태 및 요리재료와 관련된 레시피 정보에 관한 비정형 데이터를 수집할 수 있다. 크롤러는 특정 URL(uniform Resource Locator)을 통해 웹 페이지에 링크되어 있는 URL들을 타고 들어가 무작위로, 사용자에 의해 입력된 요리형태인 "조림", 사용자에 의해 입력된 요리재료인 "콩나물"과 "돼지고기", "고구마"와 "부추"와 관련된 데이터를 수집한다. 또한, 크롤러는 예컨대, 현존하는 요리 관련 블로그를 수집할 수 있다.
도 2는 사용자에 의해 입력된 요리형태가 "조림"인 경우, 데이터 수집단계(S2)에 의해 수집된 수많은 조림관련 레시피 데이터 중 대표적인 조림요리인 감자조림 레시피(R)에 관한 텍스트 형태의 데이터를 보여준다.
본 발명의 실시 예에서, 데이터 수집단계(S2)에 의해 수집된 감자조림 레시피(R)는 웹 상에 존재하는, 즉, 현존하는 레시피로 정의되며, 하기에서는 감자조림 레시피(R) 기준으로 설명하기로 한다.
다음으로, 분류 및 정형화 단계(S3)는 데이터 수집단계(S2)에 의해 수집된 비정형 데이터, 즉, 감자조림 레시피(R)를 분류 및 정형화하여 레시피 데이터로 만드는 단계이다. 본 발명의 실시 예에 따른 분류 및 정형화 단계(S3)에서는 Word2Vector 및 Paragraph2Vector 기법을 이용하여 비정형 데이터를 분류 및 정형화한다. 여기서, Word2Vector에 대해 간략하게 설명하면, Word2Vector는 텍스트를 처리하는 인공 신경망으로 두 개의 층으로 구성되어 있다. 이러한 Word2Vector는 단어 간의 유사성을 분석하는 기법으로, 입력되는 각 단어마다 단어에 해당하는 벡터를 구하고, 이 벡터 값을 다시 심층 신경망에 집어넣어서 단어의 유사성 등 관계를 파악하게 된다. Word2Vector는 비례수식으로 표현할 수 있다. 예를 들어, "로마에게 이탈리아가 있다면 베이징에겐?"이라는 텍스트를 Word2Vector에서는 로마:이탈리아::베이징:??으로 표현할 수 있다. 여기서, "::"은 수학식에서 "="와 동일하다. 이 경우, 로마는 이탈리아의 수도이므로, Word2Vector는 가장 유사한, 즉, 벡터 거리가 가장 짧은 "중국"을 고르게 된다. 다른 예로, 도 3에 도시한 바와 같이, "오이"라는 단어가 주어졌을 때, Word2Vector 는 이와 관련되는 단어들인 "깎는다", "썬다", "절인다", 삶는다" 등과 같은 동사들로부터 "오이"와의 벡터 값에 대한 상대적인 정도를 파악한다. 이와 같이, Word2Vector는 단어의 의미를 기반으로 유사성을 분석하고, 고차원 공간 벡터 연산으로 표현하는 기법으로, 문법을 알 필요가 없고, 또한, 단어의 맞춤법과도 전혀 관계가 없다. 한편, Paragraph2Vector는 Word2Vector 기법을 통해 분석한 문장이나 문단 구조의 텍스트를 분류하는 기법이다.
이와 같이, 분류 및 정형화 단계(S3)는 요리 정보 수신단계(S1)에 의해 수신된 요리형태 및 요리재료에 관한 정보를 바탕으로, 데이터 수집단계(S2)에 의해 수집된 비정형 데이터를 분류 및 정형화하여 레시피 데이터로 만든다.
다음으로, 저장단계(S4)는 분류 및 정형화 단계(S3)를 통해 만들어진 레시피 데이터를 데이터베이스에 저장하는 단계이다. 저장단계(S4)에서는 레시피명, 레시피 등이 상세하게 분류 및 정형화되어 만들어진 레시피 데이터를 요리관련 정보가 저장되어 있는 데이터베이스에 저장한다.
마지막으로, 신규 레시피 생성단계(S5)는 딥 러닝(Deep Learning) 기법을 이용하여, 저장단계(S4)를 통해 데이터베이스에 저장되어 있는 레시피 데이터로부터 사용자에 의해 입력된 요리형태 및 요리재료에 부합되는 새로운 혹은 신규한, 즉, 창작 레시피를 생성하는 단계이다. 여기서, 데이터베이스에 저장되어 있는 레시피 데이터가 딥 러닝 기법을 통해 학습할 학습모델(Models of Learning)이 된다.
본 발명의 실시 예에 따른 신규 레시피 생성단계(S5)는 먼저, 데이터베이스에 저장되어 있는 레시피 데이터, 즉, 학습모델로부터 조리법과 조리과정을 추출하는 제1 단계를 포함한다.
제1 단계에서는 레시피 데이터를 이루는 언어인 한글을 형태소 단위로 분석하기 위한 자연어 처리(Natural Language Processing; NLP) 기법을 이용한다. 즉, 제1 단계에서는 먼저, 레시피 데이터를 이루는 언어에 대해 정규화(Normalizing), 어근화(Stemming) 및 절단화(Tokenizing)한다.
다음으로, 제1 단계에서는 정규화, 어근화 및 절단화된 언어들에서 동사들을 분류해 낸다. 그 다음, 분류된 동사들을 심층 신경망을 통해 군집화(Clustering)한 후, 군집화된 동사들을 사람이 눈으로 확인하여 각각의 동사들에 "조리법"으로 라벨화(Labeling)한다. 예를 들어, "썰다", "끓이다", "볶다", "굽다", "삶다", "데치다", "섞다", "절이다", "버무리다", "말리다"와 같은 동사들이 조리법으로 라벨화될 수 있다. 이때, 상기와 같이, 조리법으로 라벨화된 동사들의 종류는 일례일 뿐, 더 많은 동사들이 조리법으로 라벨화될 수 있다.
상기와 같은 제1 단계 후, 본 발명의 실시 예에 따른 신규 레시피 생성단계(S5)는 요리재료 별로 조리과정을 학습하는 제2 단계를 포함한다.
제2 단계에서는 제1 단계를 통해 정규화, 어근화 및 절단화된 언어에 대해, 분류 및 정형화 단계(S3)와 마찬가지로, Word2Vector 기법을 이용하여, 입력된 요리재료와 라벨화된 조리법에 관한 동사들 간의 벡터 거리를 계산한다. 도 3에 도시한 바와 같이, 입력된 요리재료가 "오이"인 경우, 라벨화된 조리법에 관한 동사들인 "깎는다", "썬다", "절인다", "삶는다" 간의 벡터 거리를 계산한다.
그 다음, 제2 단계에서는 요리재료 별 조리법으로 라벨화된 동사들을 계산한 벡터 거리를 기준으로 리스트화한다. 예를 들어, 벡터 거리가 가장 짧은 조리법인 "썬다"를 1순위로, 그 다음, 벡터 거리에 따라, "깎는다", "절인다", "삶는다" 순으로 리스트화한다.
그 다음, 제2 단계에서는 요리재료 별 조리법으로 라벨화된 동사들을 계산한 벡터 거리를 기준으로 만들어진 리스트를 토대로, 다른 요리재료에 대한 조리법과 관련된 동사들을 도출하기 위해 하기와 같은 비례 수식을 적용한다.
I(a) : M(b) = I(x) : M(y)
여기서, I는 요리재료, M은 조리법, a는 존재하는 레시피의 요리재료, b는 요리재료 a에 대한 조리법을 나타내는 동사, x는 입력된 요리재료, y는 입력된 요리재료 x에 대한 조리법을 나타내는 동사이다.
예를 들어, 입력된 요리재료 x가 돼지고기, 당근, 육수인 경우, 존재하는 레시피의 요리재료 a는 쇠고기, 오이, 물이 선택될 수 있고, 이들 요리재료 a와 벡터 거리가 가장 짧은 동사는 리스트 상에서 "굽다", "깎다", "끓이다"가 선택될 수 있다. 따라서, 상기의 비례 수식에 대입하면,
I(쇠고기) : M(굽다) = I(x) : M(y)
상기 비례 수식에서, 쇠고기 a와 관련된 요리재료 x는 돼지고기, 이에 대한 조리법 y는 "굽다"가 도출될 수 있다.
I(오이) : M(깎다) = I(x) : M(y)
상기의 비례 수식에서, 오이 a와 관련된 요리재료 x는 당근, 이에 대한 조리법 y는 "깎다"가 도출될 수 있다.
I(물) : M(끓이다) = I(x) : M(y)
상기의 비례 수식에서, 물 a와 관련된 요리재료 x는 육수, 이에 대한 조리법 y는 "끓이다"가 도출될 수 있다.
상기와 같은 제2 단계 후, 본 발명의 실시 예에 따른 신규 레시피 생성단계(S5)는 정규화, 어근화 및 절단화된 단어나 동사를 포함하는 언어들을 구어체 문장으로 재 조립하는 제3 단계를 포함한다.
제3 단계에서는 제1 단계 및 제2 단계를 통해 정규화, 어근화 및 절단화된 레시피 언어를 역-절단화(Reverse-Tokenizing) 및 역-어근화(Reverse-Stemming)하여 구어체 문장으로 재 조립한다.
이와 같이, 신규 레시피 생성단계(S3)가 종료되면, 입력된 요리형태 및 요리재료로 만들어질 요리, 예컨대, 사용하고자 하는 요리재료 혹은 실제 준비되어 있는 요리재료로 만들어질 요리에 대한 새로운 레시피가 현존하는 관련 레시피(R)에 근거하여 쉽고 빠르게 생성된다.
한편, 신규 레시피 생성단계(S5)는 제3 단계 후 생성된 새로운 레시피에 대한 수정을 제안하는 제4 단계를 더 포함할 수 있다. 즉, 제4 단계에서는 사용자에 의해 입력된 요리재료와 궁합이 맞는 하나 또는 그 이상의 새로운 요리재료를 데이터베이스로부터 추천 받는다. 그리고 추천 받은 새로운 요리재료에 대한 딥 러닝을 통해, 새로운 요리재료에 대한 조리법을 도출한다. 그 다음, 새로운 요리재료에 대한 조리법이 새로운 레시피에 추가되도록, 새로운 레시피에 대한 수정을 제안한다. 이에, 사용자는 기호에 따라 새로운 레시피에 대한 수정 여부를 선택 및 결정한다.
실시 예1
사용자 인터페이스를 통해, 요리형태로는 "조림", 요리재료로는 "감자", "당근", "돼지고기", "콩나물"이 입력된 경우, 데이터 마이닝을 통해 관련 레시피를 수집한 후 감자조림 레시피(R)를 선택한다.(도 2), 그 다음, 학습모델에 대한 딥 러닝을 통해, 추가 요리재료인 "콩나물" 및 "돼지고기"와 관련된 조리법인 동사들을 도출한 후 구어체 문장으로 조립하여, 도 4에 도시한 바와 같이, 기존의 감자조림 레시피(R)에 "콩나물" 및 "돼지고기" 조리법이 추가된 돼지고기 콩나물 감자조림 레시피(R1)를 생성한다.
실시 예2
사용자 인터페이스를 통해, 요리형태로는 "조림", 요리재료로는 "고구마", "부추"가 입력된 경우, 데이터 마이닝을 통해 관련 레시피를 수집한 후 대표적인 조림요리인 감자조림 레시피(R)를 선택한다.(도 2), 그 다음, 감자조림 레시피(R)에 대한 텍스트 언어에 대해, 도 5에 도시한 바와 같이, 정규화, 어근화 및 절단화한다. 그 다음, 도 6에 도시한 바와 같이, 학습모델에 대한 딥 러닝을 통해, 구체적으로는 상기의 비례 수식을 적용하여, 감자조림 레시피(R)의 "감자"는 "고구마"로, "양파"는 "부추"로 변환한다. 그 다음, 도 7에 도시한 바와 같이, 정규화, 어근화 및 절단화된 레시피 언어를 구어체 문장으로 재 조립하기 위해, 이를 역-절단화 및 역-어근화하여, 감자조림 레시피(R)로부터 고구마 부추조림 레시피(R2)를 생성한다.
실시 예3
사용자 인터페이스를 통해, 요리형태로는 "조림", 요리재료로는 "돼지고기", "콩나물", "고구마", "부추"가 입력된 경우, 데이터 마이닝을 통해 관련 레시피를 수집한 후 대표적인 조림요리인 감자조림 레시피(R)를 선택한다.(도 2), 그 다음, 감자조림 레시피(R)에 대한 텍스트 언어에 대해, 정규화, 어근화 및 절단화한다. 그 다음, 학습모델에 대한 딥 러닝을 통해, "돼지고기", "콩나물", "고구마", "부추"와 관련된 조리법인 동사들을 도출하고, 비례 수식을 적용하여, 감자조림 레시피(R)의 "감자"는 "고구마"로, "양파"는 "부추"로 변환한다. 또한, 감자조림 레시피(R)에 유사성을 갖는 요리재료가 없는 "콩나물"과 "돼지고기"는 이와 관련된 조리법을 나타내는 동사들과 함께 감자조림 레시피(R)에 추가된다. 그 다음, 도 8에 도시한 바와 같이, 정규화, 어근화 및 절단화된 레시피 언어를 구어체 문장으로 재조립하기 위해, 이를 역-절단화 및 역-어근화하여, 감자조림 레시피(R)로부터 돼지고기 콩나물 고구마 부추조림 레시피(R3)를 생성한다.
한편, 돼지고기 콩나물 고구마 부추조림 레시피(R3)는 데이터베이스에 돼지고기 콩나물 감자조림 레시피(도 4의 R1) 및 고구마 부추 조림 레시피(도 7의 R2)가 저장되어 있는 경우, 이들 R1과 R2를 조합하여 생성될 수도 있다.
이상에서 설명한 것은 본 발명에 의한 창작 레시피 생성방법을 실시하기 위한 하나의 실시 예에 불과한 것으로서, 본 발명은 상기 실시 예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.

Claims (9)

  1. 사용자 단말 및 상기 사용자 단말과 연결된 웹 서버를 이용하여 창작 레시피를 생성하는 방법에 관한 것으로,
    상기 사용자 단말의 사용자 인터페이스를 통해 입력되는 요리형태 및 요리재료에 관한 정보를 수신하는 요리 정보 수신단계;
    상기 웹 서버의 데이터 마이닝을 통해 웹 상에 존재하는 상기 요리형태 및 상기 요리재료와 관련된 레시피 정보에 관한 비정형 데이터를 수집하는 데이터 수집단계;
    상기 웹 서버를 통해 상기 비정형 데이터를 분류 및 정형화하여 레시피 데이터로 만드는 분류 및 정형화 단계;
    상기 레시피 데이터를 상기 웹 서버의 데이터베이스에 저장하는 저장단계; 및
    상기 웹 서버에서 제공하는 딥 러닝 기법을 이용하여, 상기 데이터베이스에 저장되어 있는 상기 레시피 데이터로부터 상기 요리형태 및 요리재료에 부합되는 새로운 레시피를 생성하는 신규 레시피 생성단계를 포함하고,
    상기 신규 레시피 생성단계는,
    상기 데이터베이스에 저장되어 있는 상기 레시피 데이터로부터 조리법과 조리과정을 추출하는 제1 단계; 및
    상기 요리재료 별로 조리과정을 학습하는 제2 단계를 포함하고,
    상기 제1 단계는,
    상기 레시피 데이터를 이루는 언어에 대해 정규화, 어근화 및 절단화하는 제1 과정;
    정규화, 어근화 및 절단화된 상기 언어에서 동사들을 분류하는 제2 과정;
    분류된 상기 동사들을 심층 신경망을 통해 군집화하는 제3 과정; 및
    군집화된 상기 동사들을 확인하여 상기 동사들 각각을 조리법으로 라벨화하는 제4 과정을 포함하고,
    상기 제2 단계에서는,
    정규화, 어근화 및 절단화된 상기 언어에 대해 Word2Vector 기법을 이용하여, 상기 요리재료와 라벨화된 상기 조리법에 관한 동사들 간의 벡터 거리를 계산하고,
    상기 요리재료 별 상기 조리법에 관한 동사들을 상기 벡터 거리를 기준으로 리스트화하고,
    상기 리스트를 토대로, 다른 요리재료에 대한 조리법과 관련된 동사들을 도출하기 위해 I(a) : M(b) = I(x) : M(y)의 비례 수식을 적용하고,
    상기 I는 요리재료, 상기 M은 조리법, 상기 a는 웹 상에 존재하는 레시피의 요리재료, 상기 b는 요리재료 a에 대한 조리법을 나타내는 동사, 상기 x는 사용자 인터페이스를 통해 입력된 요리재료, 상기 y는 사용자 인터페이스를 통해 입력된 요리재료 x에 대한 조리법을 나타내는 동사를 각각 의미하고,
    상기 x의 정보로서 다수의 요리재료가 각각 입력되면, 상기 a의 정보로서 다수의 요리재료를 각각 선택하고, 상기 x와 상기 a를 상기 비례 수식에 각각 적용하고, Word2Vector 기법을 통해 상기 a와 각각 벡터 거리가 가장 짧은 동사를 상기 리스트 상에서 상기 b의 정보로서 각각 선택하고, 상기 x와 관련된 동사를 상기 y의 정보로서 매칭하여 각각 도출하는 창작 레시피 생성방법.
  2. 제1항에 있어서,
    상기 분류 및 정형화 단계에서는 Word2Vector 및 Paragraph2Vector 기법을 이용하여 상기 비정형 데이터를 분류 및 정형화하는 창작 레시피 생성방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제1항에 있어서,
    상기 신규 레시피 생성단계는 정규화, 어근화 및 절단화된 상기 언어를 역-절단화 및 역-어근화하여 구어체 문장으로 재 조립하는 제3 단계를 더 포함하는 창작 레시피 생성방법.
  9. 제8항에 있어서,
    상기 신규 레시피 생성단계는 상기 요리재료와 궁합이 맞는 새로운 요리재료를 상기 데이터베이스로부터 추천 받아, 상기 새로운 요리재료에 대한 조리법을 도출하고, 상기 새로운 요리재료에 대한 조리법이 추가되도록, 상기 제3 단계 후 생성된 상기 새로운 레시피에 대한 수정을 제안하는 제4 단계를 더 포함하는 창작 레시피 생성방법.
KR1020160101666A 2016-02-03 2016-08-10 창작 레시피 생성방법 KR101874604B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160101666A KR101874604B1 (ko) 2016-08-10 2016-08-10 창작 레시피 생성방법
PCT/KR2017/001205 WO2017135742A1 (ko) 2016-02-03 2017-02-03 식재료 관리 시스템 및 식재료 관리 방법, 식재료를 이용한 레시피 제공 방법 및 이를 실행하는 서버, 식재료를 이용한 창작 레시피 생성방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160101666A KR101874604B1 (ko) 2016-08-10 2016-08-10 창작 레시피 생성방법

Publications (2)

Publication Number Publication Date
KR20180017596A KR20180017596A (ko) 2018-02-21
KR101874604B1 true KR101874604B1 (ko) 2018-07-04

Family

ID=61524660

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160101666A KR101874604B1 (ko) 2016-02-03 2016-08-10 창작 레시피 생성방법

Country Status (1)

Country Link
KR (1) KR101874604B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210017973A (ko) * 2019-08-09 2021-02-17 고려대학교 산학협력단 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 및 서버

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101982240B1 (ko) * 2018-08-03 2019-05-24 샤푸 주식회사 레시피 생성 및 공유를 위한 요리 레시피 서비스 제공 방법
KR102481874B1 (ko) * 2020-07-13 2023-01-18 (주)알파그래픽스 다이어트 관리 장치, 다이어트 관리 방법 및 다이어트 관리 프로그램
KR20220036036A (ko) 2020-09-15 2022-03-22 조승민 스마트 레시피 시스템
KR102528857B1 (ko) * 2022-05-13 2023-05-04 주식회사 래식 자연어 처리 기반의 디지털 레시피 생성 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210017973A (ko) * 2019-08-09 2021-02-17 고려대학교 산학협력단 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 및 서버
KR102300474B1 (ko) * 2019-08-09 2021-09-10 고려대학교 산학협력단 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 및 서버

Also Published As

Publication number Publication date
KR20180017596A (ko) 2018-02-21

Similar Documents

Publication Publication Date Title
KR101874604B1 (ko) 창작 레시피 생성방법
US10839151B2 (en) Systems and methods for automatic analysis of text-based food-recipes
CN107247736A (zh) 一种基于知识图谱的厨房领域问答方法及系统
CN108897768B (zh) 一种点餐方法及装置,电子设备
Yamakata et al. Feature extraction and summarization of recipes using flow graph
CN104106087A (zh) 用于网上购物的关联提取的系统和方法
JP5043209B2 (ja) 集合拡張処理装置、集合拡張処理方法、プログラム、及び、記録媒体
US20150220624A1 (en) Recipe creation using text analytics
CN109271518A (zh) 用于对微博信息进行分类显示的方法和设备
CN111091006B (zh) 一种实体意图体系的建立方法、装置、设备和介质
CN109872796A (zh) 一种菜谱推荐方法和装置
KR101982240B1 (ko) 레시피 생성 및 공유를 위한 요리 레시피 서비스 제공 방법
JP6920136B2 (ja) 情報処理システム
WO2015028607A1 (en) Agent system, agent control method, agent control program, and recording medium, with ability of natural conversation with users
KR101757900B1 (ko) 지식 베이스의 구축 방법 및 장치
CN108734159A (zh) 一种图像中敏感信息的检测方法及系统
CN109191242A (zh) 餐品推送方法及装置
CN106027585A (zh) 食品推荐方法及装置
Xie et al. Learning joint embedding with modality alignments for cross-modal retrieval of recipes and food images
Jabeen et al. EvoChef: show me what to cook! Artificial evolution of culinary arts
CN110472153A (zh) 菜谱的推荐方法、系统、设备及存储介质
Amano et al. Food category representatives: Extracting categories from meal names in food recordings and recipe data
CN107851094A (zh) 菜单生成系统
KR102300474B1 (ko) 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 및 서버
CN105450499B (zh) 一种邮件行为反馈方法及装置

Legal Events

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