KR20220128145A - 딥러닝 모듈을 이용한 음식 추천 방법 - Google Patents

딥러닝 모듈을 이용한 음식 추천 방법 Download PDF

Info

Publication number
KR20220128145A
KR20220128145A KR1020210032824A KR20210032824A KR20220128145A KR 20220128145 A KR20220128145 A KR 20220128145A KR 1020210032824 A KR1020210032824 A KR 1020210032824A KR 20210032824 A KR20210032824 A KR 20210032824A KR 20220128145 A KR20220128145 A KR 20220128145A
Authority
KR
South Korea
Prior art keywords
user
food
recipe
dish
data
Prior art date
Application number
KR1020210032824A
Other languages
English (en)
Other versions
KR102589880B1 (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 KR1020210032824A priority Critical patent/KR102589880B1/ko
Publication of KR20220128145A publication Critical patent/KR20220128145A/ko
Application granted granted Critical
Publication of KR102589880B1 publication Critical patent/KR102589880B1/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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0281Customer communication at a business location, e.g. providing product or service information, consulting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • General Preparation And Processing Of Foods (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 음식 추천 방법을 개시한다. 상기 음식 추천 방법은, 사용자의 나이, 성별, 선호음식 또는 선호 맛을 포함하는 사용자 정보를 포함하는 사용자 데이터를 수신하는 단계, 상기 사용자 데이터를 기초로 상기 사용자의 과거 주문 데이터를 조회하는 단계, 상기 사용자 데이터 및 상기 과거 주문 데이터를 기초로, 미리 학습된 딥러닝 모듈을 이용하여 미리 등록된 요리 또는 레시피에 대한 예상선호도를 산출하는 단계, 산출된 상기 예상선호도를 기초로, 상기 요리 또는 상기 레시피에 대한 추천 리스트를 생성하는 단계, 상기 추천 리스트 내에서 상기 사용자로부터 선택된 요리 또는 레시피에 대하여, 사용자 평가를 수신하는 단계; 및 상기 사용자 평가를 이용하여 상기 딥러닝 모듈을 재학습시키는 단계를 포함한다.

Description

딥러닝 모듈을 이용한 음식 추천 방법{Method for food recommendation using deep-learning module}
본 발명은 딥러닝 모듈을 이용한 음식 추천 방법에 관한 것이다. 구체적으로, 본 발명은 사용자 데이터 및 과거 주문내역을 기초로 딥러닝 모듈을 이용하여 사용자별 맞춤 요리 및 요리 레시피를 추천하는 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
최근 들어, 요리에 대한 대중적 관심이 증가되면서, 과거에 단순히 요리를 소개하는 방송에서 벗어나, 요리를 직접 추천 및 조리하는 형태의 소위 쿡방으로 불리는 요리 프로그램들이 인기를 끌고 있다.
또한, 요리 프로그램 및 요리 블로그 등을 통해 요리에 대한 추천 및 다양한 레시피들이 공유되며, 공개된 레시피를 이용하여 초보자들도 쉽게 요리를 만드는 것이 가능해졌다.
다만, 공개된 레시피로 만든 요리가 모든 사람들의 입맛을 만족시킬 수 없는 한계가 존재하는 문제점이 있었다. 이에, 사용자들의 연령대, 성별 및 요리 주문내역 등을 포함하는 사용자 개인정보를 분석하여, 사용자의 기호에 따른 사용자별 맞춤 요리 및 맞춤 레시피를 추천하는 서비스에 대한 사용자 니즈가 증가되고 있다.
본 발명의 목적은, 사용자 데이터 및 과거 주문 데이터를 기초로 딥러닝 모듈을 이용하여 사용자가 선호할 가능성이 높은 요리 및 레시피를 추천하는 음식 추천 방법을 제공하는 것이다.
또한, 본 발명의 목적은, 사용자에 의해 선택된 음식과 어울리는 페어링 음식을 딥러닝 모듈을 이용하여 추천하는 음식 추천 방법을 제공하는 것이다.
또한, 본 발명의 목적은, 사용자에 의해 선택된 음식에 관한 주문데이터를 기초로 딥러닝 모듈을 지속적으로 재학습시켜 음식추천의 정확도를 높일 수 있는 음식 추천 방법을 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 실시예에 따른 음식 추천 방법은, 사용자의 나이, 성별, 선호음식 또는 선호 맛을 포함하는 사용자 정보로 구성된 사용자 데이터를 수신하는 단계, 상기 사용자 데이터를 기초로 상기 사용자의 과거 주문 데이터를 조회하는 단계, 상기 사용자 데이터 및 상기 과거 주문 데이터를 기초로, 미리 학습된 딥러닝 모듈을 이용하여 미리 등록된 요리 또는 레시피에 대한 예상선호도를 산출하는 단계, 산출된 상기 예상선호도를 기초로, 상기 요리 또는 상기 레시피에 대한 추천 리스트를 생성하는 단계, 상기 추천 리스트 내에서 상기 사용자로부터 선택된 요리 또는 레시피에 대하여, 사용자 평가를 수신하는 단계 및 상기 사용자 평가를 이용하여 상기 딥러닝 모듈을 재학습시키는 단계를 포함한다.
또한, 상기 예상선호도를 산출하는 단계는, 상기 딥러닝 모듈을 이용하여 상기 사용자에 대한 상기 요리 또는 상기 레시피의 제1 예상선호도를 도출하고, 상기 사용자와 상기 사용자 정보에 대한 유사도가 기준치보다 높은 대상자를 선별하고, 상기 딥러닝 모듈을 이용하여 선별된 상기 대상자에 대한 상기 요리 또는 상기 레시피의 제2 예상선호도를 도출하고, 상기 제1 예상선호도 및 상기 제2 예상선호도를 기초로 상기 요리 또는 상기 레시피의 추천 리스트를 생성할 수 있다.
또한, 상기 예상선호도를 산출하는 단계에서, 상기 딥러닝 모듈은, 상기 사용자 데이터, 상기 과거 주문 데이터, 및 상기 요리 또는 레시피에 관한 데이터를 입력 노드로 하는 입력 레이어와, 상기 예상선호도를 출력 노드로 하는 출력 레이어와, 상기 입력 레이어와 상기 출력 레이어 사이에 배치되는 하나 이상의 히든 레이어를 포함하고, 상기 입력 노드와 상기 출력 노드 사이의 노드 및 에지의 가중치는 상기 딥러닝 모듈의 학습 과정에 의해 업데이트될 수 있다.
또한, 상기 딥러닝 모듈을 재학습시키는 단계는, 상기 사용자로부터 선택된 요리 또는 레시피에 대한 상기 예상선호도 및 상기 사용자 평가를 비교하고, 비교 결과가 미리 정해진 오차범위를 벗어나는 경우, 상기 딥러닝 모듈을 재학습시키는 것을 포함할 수 있다.
또한, 상기 딥러닝 모듈을 재학습시키는 단계에서, 상기 딥러닝 모듈은, 상기 사용자 데이터, 상기 과거 주문 데이터, 및 상기 사용자가 선택한 요리 또는 레시피 데이터가 상기 입력 노드에 인가되고, 상기 사용자 평가가 상기 출력 노드에 인가됨으로써, 상기 노드 및 에지의 가중치가 업데이트될 수 있다.
또한, 상기 사용자가 선택한 요리 또는 레시피를 기초로 페어링 음식에 대한 추천 리스트를 생성하는 단계를 더 포함하되, 상기 페어링 음식에 대한 추천 리스트를 생성하는 단계는, 상기 요리 또는 상기 레시피에 대한 상기 사용자의 선택을 수신하고, 미리 등록된 페어링 음식과 상기 선택된 요리 또는 레시피와의 매칭률을 산출하고, 상기 산출된 매칭률을 기초로 페어링 음식후보를 선정하고, 상기 딥러닝 모듈을 이용하여 상기 사용자에 대한 상기 페어링 음식후보의 예상선호도를 도출하고, 도출된 상기 예상선호도를 기초로 상기 페어링 음식의 추천 리스트를 생성하는 것을 포함할 수 있다.
또한, 상기 페어링 음식후보의 예상선호도를 도출하는 단계에서, 상기 딥러닝 모듈은, 상기 사용자 데이터, 상기 과거 주문 데이터, 상기 사용자가 선택한 요리 또는 레시피 데이터, 및 상기 페어링 음식후보에 관한 데이터를 입력 노드로 하는 입력 레이어와, 상기 페어링 음식후보의 예상선호도를 출력 노드로 하는 출력 레이어와, 상기 입력 레이어와 상기 출력 레이어 사이에 배치되는 하나 이상의 히든 레이어를 포함하고, 상기 입력 노드와 상기 출력 노드 사이의 노드 및 에지의 가중치는 상기 딥러닝 모듈의 학습 과정에 의해 업데이트될 수 있다.
또한, 상기 페어링 음식에 대한 사용자 평가를 수신하는 단계를 더 포함하되, 상기 딥러닝 모듈을 재학습시키는 단계는, 상기 사용자로부터 선택된 페어링 음식에 대한 상기 예상선호도 및 상기 사용자 평가를 비교하고, 비교 결과가 미리 정해진 오차범위를 벗어나는 경우, 상기 딥러닝 모듈을 재학습시키는 것을 포함할 수 있다.
또한, 상기 딥러닝 모듈을 재학습시키는 단계에서, 상기 딥러닝 모듈은, 상기 사용자 데이터, 상기 과거 주문 데이터, 상기 사용자가 선택한 요리 또는 레시피 데이터, 및 상기 사용자가 선택한 페어링 음식 데이터가 상기 입력 노드에 인가되고, 상기 페어링 음식에 대한 상기 사용자 평가가 상기 출력 노드에 인가됨으로써 상기 노드 및 에지의 가중치가 업데이트될 수 있다.
또한, 상기 추천 리스트를 생성하는 단계는, 상기 사용자에 대한 알레르기 재료, 기호 재료, 질병정보 및 식단조절계획을 포함하는 부가정보를 수신하고, 상기 부가정보를 기초로 상기 사용자에 의해 선택된 레시피에 포함된 재료 중 교체 필요성이 있는 재료를 도출하고, 도출된 상기 재료의 대체재료를 선정하고, 상기 대체재료에 대한 상기 사용자의 확인을 수신하고, 상기 대체재료를 반영하여 상기 선택된 레시피를 보정할 수 있다.
또한, 상기 추천 리스트를 생성하는 단계는, 상기 사용자의 위치정보, 주문시간정보 및 날씨정보를 포함하는 환경정보를 수신하고, 상기 위치정보를 기초로 상기 사용자의 현위치와 조리장소 사이의 거리를 산출하여, 산출된 거리를 기초로 상기 요리 또는 상기 레시피에 서로 다른 가중치를 부여하고, 상기 주문시간정보를 기초로 요리별 소비 시간대를 도출하여 상기 요리 또는 상기 레시피에 서로 다른 가중치를 부여하고, 상기 날씨정보를 기초로 요리별 소비 기온범위를 도출하여 상기 요리 또는 상기 레시피에 서로 다른 가중치를 부여하고, 산출된 상기 예상선호도에 상기 도출된 가중치를 적용하는 것을 포함할 수 있다.
또한, 상기 추천 리스트를 생성하는 단계는 입력받은 상기 사용자 평가를 기초로 요리 또는 레시피에 대한 인기순위를 산출하고, 미리 설정된 인기순위보다 낮은 인기순위가 부여된 요리 또는 레시피를 상기 추천 리스트에서 제외하는 것을 포함할 수 있다.
본 발명의 음식 추천 방법은, 사용자 데이터 및 과거 주문 데이터를 기초로 딥러닝 모듈을 이용하여 사용자별 예상선호도를 도출하고, 도출된 예상선호도를 기초로 음식 추천 리스트를 생성할 수 있다. 이를 통해, 사용자의 기호를 반영한 요리 및 레시피를 추천하여 음식선정에 대한 사용자의 시간을 절약하고, 사용자의 편의성 및 만족도를 향상시킬 수 있다.
또한, 본 발명의 음식 추천 방법은, 사용자에 의해 선택된 음식과 미리 등록된 페어링 음식의 매칭률을 산출하여 페어링 음식후보를 도출하고, 딥러닝 모듈을 통해 페어링 음식후보에 대한 예상선호도를 도출하여 페어링 음식을 추천할 수 있다. 이를 통해, 음식 추천 방법은 선택된 음식과의 매칭률 및 사용자의 기호를 반영한 페어링 음식을 추천함으로써, 사용자의 음식 선택에 따른 즐거움 및 만족도를 증가시킬 수 있다. 또한, 가맹점의 관련 매출을 증대시키는 선순환 효과 및 광고매출 증가도 기대할 수 있다.
또한, 본 발명의 음식 추천 방법은, 사용자의 음식 선택을 반영하여 딥러닝 모듈을 지속적으로 재학습 시킴으로써, 사용자가 선호하는 음식추천에 대한 정확성을 향상시킬 수 있다. 이를 통해, 본 발명에서 제공하는 서비스에 대한 사용자의 신뢰도를 향상시키고, 사용자의 서비스 이용률을 증가시키며, 서비스에 대한 사용자 이탈률도 감소시키는 효과를 기대할 수 있다.
상술한 내용과 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.
도 1은 본 발명의 실시예에 따른 음식 추천 방법을 수행하는 음식 추천 시스템을 설명하기 위한 개념도이다.
도 2는 도 1의 음식 추천 시스템의 각 구성요소를 설명하기 위한 블럭도이다.
도 3은 본 발명의 몇몇 실시예에 따른 음식 추천 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 몇몇 실시예에 따른 음식 추천 방법에서 이용되는 딥러닝 모듈을 개략적으로 설명하기 위한 블록도이다.
도 5는 도 4의 딥러닝 모듈의 구성을 도시한 도면이다.
도 6은 도 3의 S130 단계에서 요리 또는 레시피에 대한 예상선호도를 산출하는 일 예를 설명하기 위한 순서도이다.
도 7 내지 도 9는 본 발명의 일 실시예에 따른 음식 추천 방법의 예시를 설명하기 위한 도면이다.
도 10은 본 발명의 몇몇 실시예에 따른 음식 추천 방법에서 이용되는 딥러닝 모듈의 재학습단계를 개략적으로 설명하기 위한 블록도이다.
도 11은 본 발명의 몇몇 실시예에 따른 페어링 음식 추천 방법을 설명하기 위한 순서도이다.
도 12는 본 발명의 몇몇 실시예에 따른 페어링 음식 추천 방법에서 이용되는 딥러닝 모듈을 개략적으로 설명하기 위한 블록도이다.
도 13 및 도 14는 본 발명의 몇몇 실시예에 따른 페어링 음식 추천 방법의 예시를 설명하기 위한 도면이다.
도 15는 본 발명의 몇몇 실시예에 따른 페어링 음식 추천 방법에서 이용되는 딥러닝 모듈의 재학습단계를 개략적으로 설명하기 위한 블록도이다.
도 16은 본 발명의 일 실시예에 따른 페어링 음식 추천 방법의 일 예를 설명하기 위한 도면이다.
도 17은 본 발명의 다른 실시예에 따른 음식 추천 방법의 음식 인기순위 리스트에 대한 예시를 설명하기 위한 도면이다.
도 18 및 도 19는 본 발명의 또 다른 실시예에 따른 음식 추천 방법의 사용자 부가정보를 이용하여 레시피를 보정하는 방법을 설명하기 위한 도면이다.
도 20은 본 발명의 또 다른 실시예에 따른 환경정보를 이용하여 추천 리스트를 생성하는 방법을 설명하기 위한 순서도이다.
본 명세서 및 특허청구범위에서 사용된 용어나 단어는 일반적이거나 사전적인 의미로 한정하여 해석되어서는 아니된다. 발명자가 그 자신의 발명을 최선의 방법으로 설명하기 위해 용어나 단어의 개념을 정의할 수 있다는 원칙에 따라, 본 발명의 기술적 사상과 부합하는 의미와 개념으로 해석되어야 한다. 또한, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명이 실현되는 하나의 실시예에 불과하고, 본 발명의 기술적 사상을 전부 대변하는 것이 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 및 응용 가능한 예들이 있을 수 있음을 이해하여야 한다.
본 명세서 및 특허청구범위에서 사용된 제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. '및/또는' 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서 및 특허청구범위에서 사용된 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해서 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 본 발명의 각 실시예에 포함된 각 구성, 과정, 공정 또는 방법 등은 기술적으로 상호 간 모순되지 않는 범위 내에서 공유될 수 있다.
본 명세서에서는 사용자에게 추천하는 요리 또는 레시피를 포괄하여 '음식'이란 용어로 설명하도록 한다. 여기에서, 음식은 사람이 먹고 마시는 것을 통틀어 지칭하며, '요리'는 여러 조리 과정을 거쳐 만들어진 음식을 의미하고, '레시피'는 해당 요리를 만드는 방법을 의미한다.
이하에서는, 도 1 내지 도 20을 참조하여, 사용자 데이터 및 과거 주문 데이터를 기초로 사용자에게 사용자 맞춤 요리 또는 레시피를 추천하는 음식 추천 방법에 대하여 구체적으로 살펴보도록 한다.
도 1은 본 발명의 실시예에 따른 음식 추천 방법을 수행하는 음식 추천 시스템을 설명하기 위한 개념도이다.
도 1을 참조하면, 본 발명의 몇몇 실시예에 따른 음식 추천 시스템은 음식 추천 서버(100), 사용자 단말기(200), 가맹점 관리 서버(300) 및 가맹점 단말기(400)를 포함한다.
본 발명에 따른 음식 추천 서버(100)는 가맹점 관리 서버(300)로부터 요리 데이터 및 레시피 데이터를 제공받는다. 이때, 가맹점 관리 서버(300)는 복수의 가맹점 단말기(400)로부터 요리 데이터 및 레시피 데이터(이하, 음식 데이터)를 입력받을 수 있다.
음식 추천 서버(100)는 사용자에 대한 데이터(이하, 사용자 데이터) 및 음식 데이터를 이용하여 음식별 사용자의 예상선호도를 계산하고, 예상 선호도를 기초로 해당 음식과 관련된 요리 또는 레시피에 대한 추천 리스트를 생성할 수 있다.
구체적으로, 음식 추천 서버(100)는 사용자 단말기(200)를 통해 사용자 데이터를 수신하고, 가맹점 관리 서버(300)에서 음식 데이터를 수신할 수 있다. 이때, 사용자 데이터는 사용자의 나이, 성별, 선호음식 및 선호 맛 등의 정보를 포함할 수 있다. 이때, '선호 맛'에 대한 정보는 사용자가 선호하는 맛의 종류(단맛, 쓴맛, 신맛, 짠맛 및 매운맛 등)와, 각각의 맛에 대한 사용자의 선호도를 나타내는 선호 맛 강도, 각각의 맛에 대한 사용자의 상대적인 선호도 등을 포함할 수 있다. 음식 추천 서버(100)는 사용자 데이터를 기초로 음식에 대한 사용자의 과거 주문 데이터를 조회할 수 있다.
이어서, 음식 추천 서버(100)는 사용자 데이터 및 과거 주문 데이터를 기초로 딥러닝 모듈을 이용하여 음식 데이터에 포함된 요리 또는 레시피에 대한 사용자별 예상선호도를 산출할 수 있다. 음식 추천 서버(100)는 산출된 예상선호도를 기초로 요리 또는 레시피에 대한 추천 리스트를 생성할 수 있다.
구체적으로, 음식 추천 서버(100)는 과거 주문 데이터에 포함된 과거의 주문 요리명, 주문 레시피 정보, 페어링 메뉴, 주문 횟수, 평점, 주문시간정보(예를 들어, 주문 시간대) 및 주문양을 기초로 사용자별 예상선호도를 산출할 수 있다.
여기에서, 주문시간정보는 사용자의 음식을 주문하는 목적을 유추하는데 이용될 수 있으며, 음식을 주문하는 주문 시간대 별로 각각의 요리 또는 레시피마다 서로 다른 가중치를 부여할 수 있다. 이때, 각각의 주문 시간대(예를 들어, 아침 시간대, 점심 시간대 및 저녁 시간대)는 미리 설정되어 이용될 수 있으며, 음식 추천 서버(100)는 특정 음식이 자주 주문되는 주문 시간대에 높은 가중치가 부여될 수 있다.
또한, 음식 추천 서버(100)는 사용자가 과거에 주문한 요리의 주문량(예를 들어, 1인분 또는 4인분 등)을 기초로 각각의 메뉴에 대해 다른 가중치를 부여할 수 있다. 예를 들어, 과거 주문 데이터에 1인분의 주문량이 많은 경우, 음식 추천 서버(100)는 1인 세트 등을 포함하는 1인 요리에 높은 가중치를 부여할 수 있다. 반면, 과거 주문 데이터에 4인분의 주문량이 많은 경우, 음식 추천 서버(100)는 사용자의 음식 추천 요청을 4인 가구에 대한 음식 추천 요청으로 분류하고, 4인 세트 또는 패밀리 메뉴 등에 높은 가중치를 부여할 수 있다.
이어서, 음식 추천 서버(100)는 생성된 추천 리스트를 사용자 단말기(200)에 제공할 수 있다. 사용자 단말기(200)는 음식 추천 서버(100)로부터 제공받은 추천 리스트를 화면에 표시할 수 있다. 사용자 단말기(200)를 통해 추천 리스트에 표시된 요리 또는 레시피에 대한 선택을 수신한 경우, 음식 추천 서버(100)는 선택된 요리 또는 레시피를 가맹점 관리 서버(300)에 전달할 수 있다.
이어서, 가맹점 관리 서버(300)는 선택된 요리 또는 레시피를, 주문정보와 함께 가맹점 단말기(400)에 전달함으로써, 사용자의 주문이 완료되도록 할 수 있다.
이어서, 음식 추천 서버(100)는 사용자 단말기(200)에 요리 또는 레시피에 대한 평가를 수신할 수 있다. 예를 들어, 음식 추천 서버(100)는 사용자 단말기(200)에 요리 또는 레시피에 대한 평가를 수신할 수 있는 팝업(pop-up) 또는 알림을 제공할 수 있다.
이어서, 음식 추천 서버(100)는 수신한 사용자 평가 및 미리 산출한 예상선호도를 비교하여 딥러닝 모듈을 재학습시킬 수 있다.
추가적으로, 음식 추천 서버(100)는 수신한 사용자 평가를 기초로 음식 추천 시스템에 등록된 음식들에 대한 인기순위를 산출하여 사용자 단말기(200)에 표시할 수 있다.
이때, 음식 추천 서버(100)와 사용자 단말기(200)는 서버-클라이언트 시스템으로 구현될 수 있다. 음식 추천 서버(100)는 유무선 네트워크를 통해 사용자 단말기(200)와 데이터를 송수신할 수 있다.
여기에서, 단말 어플리케이션은 추천 리스트 및 평가 수신 모듈을 제공하기 위한 전용 어플리케이션이거나, 추천 리스트 및 평가 수신 모듈을 웹 페이지를 통해 제공하기 위한 웹 브라우징 어플리케이션일 수 있다. 여기에서, 추천 리스트 및 평가 수신 모듈을 제공하기 위한 전용 어플리케이션은 사용자 단말기(200)에 내장된 어플리케이션이거나, 어플리케이션 배포 서버로부터 다운로드 되어 사용자 단말기(200)에 설치된 어플리케이션일 수 있다.
즉, 사용자 단말기(200)는 음식 추천 서버(100)로부터 제공받은 요리 또는 레시피에 대한 추천 리스트 및 평가 수신 모듈을 사용자 단말기(200)에 설치된 단말 어플리케이션을 통해 사용자에게 제공할 수 있다.
이하에서는, 설명의 편의를 위하여 사용자 단말기(200)가 미리 설치된 단말 어플리케이션(이하, 어플리케이션)을 이용하여 음식 추천 서버(100)로부터 제공받은 인터페이스, 추천 리스트 및 평가 수신 모듈을 화면에 표시하는 것을 전제로 설명하도록 한다.
이때, 사용자 단말기(200)는 유무선 통신 환경에서 단말 어플리케이션을 동작 시킬 수 있는 통신 단말기를 의미한다. 사용자 단말기(200)는 사용자의 휴대용 단말기일 수 있다. 도 1에서 사용자 단말기(200)는 휴대용 단말기의 일종인 스마트폰(smart phone)으로 도시되었지만, 본 발명이 이에 제한되지 아니하며, 상술한 바와 같이 단말 어플리케이션을 탑재할 수 있는 장치에 제한없이 적용될 수 있다. 예를 들어, 사용자 단말기(200)는 퍼스널 컴퓨터(PC), 노트북, 태블릿, 휴대폰, 스마트폰, 웨어러블 디바이스(예를 들어, 워치형 단말기) 등의 다양한 형태의 전자 장치를 포함할 수 있다.
또한, 도면 상에는 하나의 사용자 단말기(200)만을 도시하였으나, 본 발명이 이에 한정되는 것은 아니며, 음식 추천 서버(100)는 복수의 사용자 단말기(200)와 연동하여 동작할 수 있다.
부가적으로, 사용자 단말기(200)는 사용자의 입력을 수신하는 입력부, 비주얼 정보를 디스플레이 하는 디스플레이부, 외부와 신호를 송수신하는 통신부 및 데이터를 프로세싱하고 사용자 단말기(200) 내부의 각 유닛들을 제어하며 유닛들 간의 데이터 송/수신을 제어하는 제어부를 포함할 수 있다. 이하, 사용자의 명령에 따라 제어부가 사용자 단말기(200) 내부에서 수행하는 명령은 사용자 단말기(200)가 수행하는 것으로 통칭한다.
가맹점 관리 서버(300)는 가맹점 단말기(400)에서 수신한 요리 또는 레시피를 음식 추천 서버(100)에 전달할 수 있다. 여기에서, 복수의 가맹점은 가맹점별 조리가능한 요리 또는 레시피를 가맹점 단말기(400)에 미리 등록할 수 있다. 가맹점 관리 서버(300)는 가맹점 단말기(400)에 의해 등록된 요리 또는 레시피를 음식 추천 서버(100)에 실시간으로 제공할 수 있다.
또한, 가맹점 관리 서버(300)는 사용자 단말기(200)를 통해 수신한 사용자의 선택 요리 또는 레시피를 가맹점 단말기(400)에 전달할 수 있다.
구체적으로, 가맹점 관리 서버(300)는 음식 추천 서버(100)로부터 사용자에 의해 선택된 요리 또는 레시피를 수신할 수 있다. 가맹점 관리 서버(300)는 수신한 요리 또는 레시피를 가맹점 단말기(400)에 전달함으로써, 사용자의 주문을 완료할 수 있다. 이어서, 가맹점 단말기(400)가 설치된 가맹점에서는 수신한 요리 또는 레시피를 기초로 음식을 조리하고, 조리 완료된 음식을 사용자에게 제공할 수 있다.
한편, 통신망(500)은 음식 추천 서버(100), 사용자 단말기(200) 및 가맹점 관리 서버(300)를 연결하는 역할을 수행한다. 즉, 통신망(500)은 사용자 단말기(200)들이 음식 추천 서버(100) 및 가맹점 관리 서버(300)에 접속한 후 데이터를 송수신할 수 있도록 접속 경로를 제공하는 통신망을 의미한다. 통신망(500)은 예컨대 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
보다 구체적으로, 본 발명의 실시예에서 음식 추천 서버(100)는 사용자의 데이터를 기초로 딥러닝을 이용하여 예상선호도를 산출하고, 예상선호도를 기초로 추천 리스트를 생성하여 사용자 단말기(200)에 제공할 수 있다.
이 과정에서 음식 추천 서버(100)는 각 사용자의 데이터 및 평가데이터를 기초로 학습된 인공신경망(Neural Networks)을 이용하여 추천 리스트를 제공할 수 있다. 인공신경망을 이용한 딥러닝 모듈에 대한 구체적인 설명은 도 4 및 도 5를 참조하여 자세히 후술하도록 한다.
또한, 음식 추천 서버(100)는 선택된 요리 또는 레시피에 대한 페어링 음식의 추천 리스트를 추가로 제공할 수 있다. 구체적으로, 음식 추천 서버(100)는 선택된 요리 또는 레시피와 미리 등록된 요리 또는 레시피 간의 매칭률을 산출하여 페어링 음식후보를 선정할 수 있다. 음식 추천 서버(100)는 딥러닝 모듈을 이용하여 페어링 음식후보별 예상선호도를 도출함으로써, 페어링 음식의 추천 리스트를 생성할 수 있다.
또한, 사용자의 음식 선택 또는 음식 제공이 완료된 경우, 음식 추천 서버(100)는 추천 리스트 중에서 사용자가 선택한 요리 또는 레시피에 대한 사용자 평가를 수신할 수 있다. 음식 추천 서버(100)는 수신한 사용자 평가 및 미리 산출된 예상선호도를 비교하여 딥러닝 모듈의 가중치를 조절함으로써, 딥러닝 모듈을 재학습시킬 수 있다.
추가적으로, 음식 추천 서버(100)는 수신한 사용자 평가를 기초로 음식별 인기순위를 산출하여 사용자 단말기(200)에 표시할 수 있다. 이때, 음식 추천 서버(100)는 미리 설정된 순위보다 낮은 순위를 갖는 요리 또는 레시피를 추천 리스트에서 제외할 수 있다.
또한, 음식 추천 서버(100)는 입력받은 사용자의 부가정보를 기초로 교체 필요 재료 및 대체재료를 선정할 수 있다. 음식 추천 서버(100)는 선정된 대체재료를 반영하여 선택된 레시피를 보정하고, 보정된 레시피를 가맹점 관리 서버(300)에 전달할 수 있다. 여기에서, 부가정보는 알레르기 재료, 기호재료, 질병정보 또는 식단조절계획 등을 포함할 수 있다.
이하에서는, 음식 추천 시스템의 구체적인 구성에 대해 자세히 설명하도록 한다.
도 2는 도 1의 음식 추천 시스템의 각 구성요소를 설명하기 위한 블럭도이다.
도 2를 참조하면, 음식 추천 서버(100)는 데이터 관리부(110), 요리 관리부(120), 레시피 관리부(130), 딥러닝부(140) 및 제어부(150)를 포함할 수 있다.
구체적으로, 데이터 관리부(110)는 사용자 데이터 및 과거 주문 데이터를 저장 및 관리할 수 있다. 데이터 관리부(110)는 사용자 데이터, 과거 주문 데이터, 부가정보 및 환경정보 등을 저장 및 관리할 수 있다.
여기에서, 사용자 데이터는 사용자의 나이, 성별, 지역, 선호음식 및 선호 맛 등에 관한 사용자 정보를 포함할 수 있다. 과거 주문 데이터는 주문완료 된 요리명, 레시피 정보, 페어링 메뉴, 주문시간정보 및 주문량 등을 포함할 수 있다. 또한, 부가정보는 알레르기 재료, 기호 재료, 질병정보 및 식단조절계획 등의 정보를 포함할 수 있다. 환경정보는 사용자의 위치정보, 주문시간정보 및 날씨정보 등을 포함할 수 있다.
또한, 데이터 관리부(110)는 사용자 데이터를 기초로 가맹점 관리 서버(300)를 통하여 사용자의 과거 주문 데이터를 조회하고, 조회한 과거 주문 데이터를 저장 및 관리할 수 있다. 이때, 데이터 관리부(110)는 타 가맹점 또는 타 어플리케이션을 통해 구매한 과거 주문 데이터도 함께 조회할 수 있다.
요리 관리부(120)는 가맹점 관리 서버(300)로부터 제공받은 요리 데이터를 저장 및 관리할 수 있다. 여기에서, 요리 데이터는 가맹점 관리 서버(300)에 미리 등록된 요리에 관한 데이터일 수 있다. 이때, 요리 데이터는 요리명, 요리이미지 및 요리조리시간 등에 관한 정보를 포함할 수 있다.
레시피 관리부(130)는 가맹점 관리 서버(300)로부터 제공받은 레시피 데이터를 저장 및 관리할 수 있다. 레시피 데이터는 가맹점 관리 서버(300)에 미리 등록된 요리에 관한 제조방법일 수 있다. 이때, 레시피 데이터는 레시피 종류, 레시피 정보 및 보유 재료 정보 등을 포함할 수 있다. 여기에서, 보유 재료 정보는 사용자의 부가정보를 기초로 레시피의 대체재료를 선정할 때 이용될 수 있다.
딥러닝부(140)는 사용자 데이터, 과거 주문 데이터, 요리 데이터 및 레시피 데이터를 기초로 학습된 인공신경망(Neural Networks)을 포함하는 딥러닝 모듈을 이용하여 요리 또는 레시피에 대한 예상선호도 산출할 수 있다.
예를 들어, 딥러닝부(140)는 데이터 관리부(110), 요리 관리부(120) 및 레시피 관리부(130)로부터 사용자 데이터, 과거 주문 데이터, 요리 데이터 및 레시피 데이터를 각각 수신할 수 있다.
이어서, 딥러닝부(140)는 수신된 사용자 데이터, 과거 주문 데이터, 요리 데이터 및 레시피 데이터를 입력으로, 요리 또는 레시피에 대한 제1 예상선호도를 도출할 수 있다.
또한, 딥러닝부(140)는 사용자 데이터를 기초로 사용자와 유사한 대상자를 선별할 수 있다. 딥러닝부(140)는 딥러닝 모듈을 이용하여 선별된 대상자에 대한 요리 또는 레시피의 제2 예상선호도를 도출할 수 있다.
또한, 딥러닝부(140)는 선택된 요리 또는 레시피를 기초로, 페어링 음식후보를 선정하는데 이용될 수 있다. 이때, 딥러닝부(140)는 사용자 데이터, 과거 주문 데이터, 요리 데이터 및 레시피 데이터를 기초로 페어링 음식후보별 예상선호도를 출력할 수 있다.
제어부(150)는 딥러닝 모듈을 통해 산출된 예상선호도를 기초로 추천 음식 리스트 또는 추천 페어링 음식 리스트를 도출하여 사용자 단말기(200)에 제공할 수 있다.
또한, 제어부(150)는 수신된 사용자 평가 및 딥러닝을 통해 산출된 예상선호도를 비교하여 딥러닝 모듈을 재학습시킬 수 있다. 이에 대한 자세한 내용은 도 10 및 도 15에서 설명하도록 한다.
이하에서는, 본 발명의 실시예에 따른 딥러닝 모듈을 이용하여 음식을 추천하는 방법에 대해 설명하도록 한다.
도 3은 본 발명의 몇몇 실시예에 따른 음식 추천 방법을 설명하기 위한 순서도이다.
도 3을 참조하면, 음식 추천 시스템은 나이, 성별, 선호음식 및 선호 맛 등의 사용자 정보를 포함하는 사용자 데이터를 수신한다(S110).
이어서, 음식 추천 시스템은 해당 사용자의 과거 주문 데이터를 조회한다(S120).
이때, 음식 추천 시스템은 수신된 사용자 데이터를 기초로 음식 추천 시스템에서 주문한 사용자의 과거 주문 데이터를 조회할 수 있다. 또한, 과거 주문 데이터는 타 가맹점에 대한 주문 내역을 포함할 수 있다.
이어서, 음식 추천 시스템은 사용자 데이터 및 과거 주문 데이터를 기초로 딥러닝 모듈을 이용하여 음식 추천 서버(100)에 미리 등록된 요리 또는 레시피에 대한 예상선호도를 산출한다(S130).
구체적으로, 음식 추천 시스템은 요리 또는 레시피에 대한 사용자의 제1 예상선호도를 도출할 수 있다. 또한, 음식 추천 시스템은 사용자와 유사한 대상자에 대해 요리 또는 레시피별 제2 예상선호도를 산출할 수 있다. 음식 추천 시스템은 제1 예상선호도 및/또는 제2 예상선호도를 이용하여 최종 예상선호도를 산출할 수 있다. 이에 대한 자세한 내용은 도 6에서 설명하도록 한다.
이어서, 음식 추천 시스템은 산출된 예상선호도를 기초로 요리 또는 레시피에 대한 추천 리스트를 제공한다(S140).
여기에서, 음식 추천 시스템은 산출된 예상선호도를 기준으로 요리 또는 레시피를 내림차순으로 정렬함으로써, 추천 리스트를 생성할 수 있다. 음식 추천 시스템은 생성된 추천 리스트를 사용자 단말기(200)에 표시할 수 있다.
이어서, 음식 추천 시스템은 추천 리스트 중에서 사용자가 선택한 요리 또는 레시피에 대한 사용자의 평가를 수신한다(S150). 음식 추천 시스템은 사용자 단말기(200)를 통해 요리, 레시피 및 페어링 음식에 대한 평가를 수신할 수 있다.
이어서, 음식 추천 시스템은 사용자 평가 및 예상선호도를 비교하여 딥러닝 모듈을 재학습한다(S160). 예를 들어, 음식 추천 시스템은 사용자 평가와 미리 산출된 예상선호도를 비교하고, 비교 결과가 미리 정해진 오차범위를 벗어나는 경우 딥러닝 모듈을 재학습 시킬 수 있다.
즉, 본 발명의 음식 추천 방법은, 사용자 데이터 및 과거 주문 데이터를 기초로 딥러닝 모듈을 이용하여 사용자별 예상선호도를 도출하고, 도출된 예상선호도를 기초로 음식 추천 리스트를 생성할 수 있다. 이를 통해, 본 발명은 사용자의 기호를 반영한 요리 및 레시피를 선별하여 사용자에게 추천할 수 있으며, 음식선정에 대한 사용자의 시간을 줄이고, 사용자의 만족감을 향상시킬 수 있다.
이하에서는, 음식 추천 방법에서 추천 리스트를 생성하는 딥러닝 모듈에 대해 자세히 설명하도록 한다.
도 5는 도 4의 딥러닝 모듈의 구성을 도시한 도면이다.
구체적으로, 도 4를 참조하면, 제1 딥러닝 모듈(DL1)은 사용자 데이터, 과거 주문 데이터 및/또는 요리 또는 레시피 데이터를 입력받고, 이에 대한 출력으로 사용자의 예상선호도를 출력할 수 있다. 여기에서, 사용자 데이터는 사용자의 나이, 성별, 선호음식 및 선호 맛을 포함할 수 있다. 또한, 요리 또는 레시피 데이터는 복수의 가맹점에 의해 미리 등록된 요리 또는 레시피일 수 있다.
이때, 제1 딥러닝 모듈(DL1)은 사용자 데이터, 과거 주문 데이터 및 요리 또는 레시피 데이터에 대한 파라미터를 기준으로 데이터를 메모리에 저장하거나, 유사 데이터를 카테고리에 따라 분류할 수 있다. 다만, 전술한 사용자 데이터, 과거 주문 데이터 및 요리 또는 레시피 데이터는 제1 딥러닝 모듈(DL1)에 입력되는 입력 파라미터의 일 예에 불과하며, 제1 딥러닝 모듈(DL1)에 인가되는 입력 데이터는 다양하게 추가 또는 변경되어 이용될 수 있다.
이하에서는 설명의 편의를 위하여 제1 딥러닝 모듈(DL1)의 입력단에 사용자 데이터, 과거 주문 데이터 및 요리 또는 레시피 데이터가 인가되고, 이에 대한 출력으로 예상선호도가 도출되는 것을 예로 들어 설명하도록 한다.
이어서, 제1 딥러닝 모듈(DL1)은 빅데이터를 기초로 학습된 인공신경망을 이용하여 음식 추천 방법에 필요한 예상선호도를 도출할 수 있다.
보다 자세히 설명하자면, 머신 러닝(Machine Learning)의 일종인 딥러닝(Deep Learning) 기술은 데이터를 기반으로 다단계로 깊은 수준까지 내려가 학습하는 것이다. 즉, 딥러닝(Deep learning)은, 단계를 높여가면서 복수의 데이터들로부터 핵심적인 데이터를 추출하는 머신 러닝(Machine Learning) 알고리즘의 집합을 나타낸다.
제1 딥러닝 모듈(DL1)은 공지된 다양한 딥러닝 구조를 이용할 수 있다. 예를 들어, 제1 딥러닝 모듈(DL1)은 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network), GNN(Graph Neural Network) 등의 구조를 이용할 수 있다.
구체적으로, CNN(Convolutional Neural Network)은 사람이 물체를 인식할 때 물체의 기본적인 특징들을 추출한 다음 뇌 속에서 복잡한 계산을 거쳐 그 결과를 기반으로 물체를 인식한다는 가정을 기반으로 만들어진 사람의 뇌 기능을 모사한 모델이다.
RNN(Recurrent Neural Network)은 자연어 처리 등에 많이 이용되며, 시간의 흐름에 따라 변하는 시계열 데이터(Time-series data) 처리에 효과적인 구조로 매 순간마다 레이어를 쌓아올려 인공신경망 구조를 구성할 수 있다.
DBN(Deep Belief Network)은 딥러닝 기법인 RBM(Restricted Boltzman Machine)을 다층으로 쌓아 구성되는 딥러닝 구조이다. RBM(Restricted Boltzman Machine) 학습을 반복하여 일정 수의 레이어가 되면, 해당 개수의 레이어를 가지는 DBN(Deep Belief Network)이 구성될 수 있다.
GNN(Graphic Neural Network, 그래픽 인공신경망, 이하, GNN)는 특정 파라미터 간 매핑된 데이터를 기초로 모델링된 모델링 데이터를 이용하여, 모델링 데이터 간의 유사도와 특징점을 도출하는 방식으로 구현된 인공신경망 구조를 나타낸다.
한편, 제1 딥러닝 모듈(DL1)의 인공신경망 학습은 주어진 입력에 대하여 원하는 출력이 나오도록 노드간 연결선의 웨이트(weight)를 조정(필요한 경우 바이어스(bias) 값도 조정)함으로써 이루어질 수 있다. 또한, 인공신경망은 학습에 의해 웨이트(weight) 값을 지속적으로 업데이트시킬 수 있다. 또한, 인공신경망의 학습에는 역전파(Back Propagation) 등의 방법이 사용될 수 있다.
한편, 음식 추천 서버(100)의 메모리에는 머신 러닝으로 미리 학습된 인공신경망(Artificial Neural Network)이 탑재될 수 있다.
즉, 제1 딥러닝 모듈(DL1)은 머신 러닝(machine learning)을 기반으로, 사용자 데이터, 과거 주문 데이터 및 요리 또는 레시피 데이터를 입력 데이터로 하여, 음식에 대한 예상선호도 출력하는 동작을 수행할 수 있다.
이때, 인공신경망의 머신 러닝 방법으로는 준지도학습(semi-supervised learning)과 지도학습(supervised learning)이 모두 사용될 수 있다. 또한, 제1 딥러닝 모듈(DL1)은 설정에 따라 학습 후 예상선호도를 출력하기 위한 인공신경망 구조를 자동 업데이트하도록 제어될 수 있다.
추가적으로, 도면에 명확하게 도시하지는 않았으나, 본 발명의 다른 실시예에서, 제1 딥러닝 모듈(DL1)의 동작은 음식 추천 서버(100) 또는 별도의 클라우드 서버(미도시)에서 실시될 수 있다. 이하에서는, 전술한 제1 딥러닝 모듈(DL1)의 일 예에 대해 살펴보도록 한다.
도 5는 도 4의 딥러닝 모듈의 구성을 도시한 도면이다.
도 5를 참조하면, 제1 딥러닝 모듈(DL1)은 사용자 데이터, 과거 주문 데이터 및/또는 요리 또는 레시피 데이터를 입력노드로 하는 입력 레이어(input)와, 사용자의 예상선호도를 출력노드로 하는 출력 레이어(Output)와, 입력 레이어와 출력 레이어 사이에 배치되는 M 개의 히든 레이어를 포함한다.
여기서, 각 레이어들의 노드를 연결하는 에지(edge)에는 가중치가 설정될 수 있다. 이러한 가중치 혹은 에지의 유무는 학습 과정에서 추가, 제거, 또는 업데이트 될 수 있다. 따라서, 학습 과정을 통하여, k개의 입력노드와 i개의 출력노드 사이에 배치되는 노드들 및 에지들의 가중치는 업데이트될 수 있다.
제1 딥러닝 모듈(DL1)이 학습을 수행하기 전에는 모든 노드와 에지는 초기값으로 설정될 수 있다. 그러나, 누적하여 정보가 입력될 경우, 노드 및 에지들의 가중치는 변경되고, 이 과정에서 학습인자로 입력되는 파라미터들(즉, 사용자 데이터, 과거 주문 데이터 및/또는 요리 또는 레시피 데이터)과 출력노드로 할당되는 값(즉, 예상선호도) 사이의 매칭이 이루어질 수 있다.
추가적으로, 클라우드 서버(미도시)를 이용하는 경우, 제1 딥러닝 모듈(DL1)은 많은 수의 파라미터들을 수신하여 처리할 수 있다. 따라서, 제1 딥러닝 모듈(DL1)은 방대한 데이터에 기반하여 학습을 수행할 수 있다.
또한, 제1 딥러닝 모듈(DL1)을 구성하는 입력노드와 출력노드 사이의 노드 및 에지의 가중치는 제1 딥러닝 모듈(DL1)의 학습 과정에 의해 업데이트될 수 있다. 또한, 제1 딥러닝 모듈(DL1)에서 출력되는 파라미터는 예상선호도 외에도 다양한 데이터로 추가 확장될 수 있음은 물론이다.
음식 추천 서버(100)는 제1 딥러닝 모듈(DL1)에서 도출된 예상선호도를 이용하여 추천 음식 리스트를 생성할 수 있다. 이때, 예상선호도는 다양한 방식으로 후처리되어 이용될 수 있다.
이하에서는, 요리 또는 레시피에 대한 예상선호도를 후처리하는 본 발명의 일 실시예에 대해 설명하도록 한다.
도 6은 도 3의 S130 단계에서 요리 또는 레시피에 대한 예상선호도를 산출하는 일 예를 설명하기 위한 순서도이다.
도 6을 참조하면, 음식 추천 서버(100)는 딥러닝 모듈을 이용하여 사용자에 대한 요리 또는 레시피의 제1 예상선호도를 도출한다(S131).
추가적으로, 음식 추천 서버(100)는 사용자의 과거 주문 데이터에 포함된 요리 또는 레시피의 주문 횟수 및 평점을 반영하여 제1 예상 선호도를 산출할 수 있다. 또한, 음식 추천 서버(100)는 사용자 데이터의 선호 음식 또는 선호 맛에 해당하는 요리 또는 레시피의 예상 선호도에 가중치를 둠으로써 제1 예상 선호도를 도출할 수 있다.
이어서, 음식 추천 서버(100)는 사용자와 사용자 정보가 유사한 대상자를 선별한다(S133). 이때, 음식 추천 서버(100)는 사용자 정보에 포함된 나이, 성별 및 지역 등에 대해 대상자별 유사도를 산출하여 이용할 수 있다. 예를 들어, 음식 추천 서버(100)는 산출된 유사도가 미리 설정된 기준치(예를 들어, 70%)보다 높은 대상자들을 선별할 수 있다.
이어서, 음식 추천 서버(100)는 딥러닝 모듈을 이용하여 선별된 대상자에 대한 요리 또는 레시피의 제2 예상선호도를 도출한다(S135).
구체적으로, 음식 추천 서버(100)는 선별된 대상자의 사용자 데이터 및 과거 주문 데이터를 기초로 딥러닝 모듈을 이용하여 선별된 대상자별 예상선호도를 도출할 수 있다. 음식 추천 서버(100)는 선별된 대상자별 예상선호도의 평균값을 제2 예상선호도로 도출할 수 있다.
이어서, 음식 추천 서버(100)는 제1 예상선호도 및 제2 예상선호도를 이용하여 최종 예상선호도를 도출한다(S137).
이때, 음식 추천 서버(100)는 제1 예상선호도 및 제2 예상선호도에 서로 다른 가중치를 적용할 수 있다. 예를 들어, 음식 추천 서버(100)는 제1 예상선호도에 대해 0.7의 가중치를 주고, 제2 예상선호도에 대해 0.3의 가중치를 적용할 수 있다. 또한, 제1 예상선호도 및 제2 예상선호도에 적용되는 가중치는 사용자에 의해 변경될 수 있다. 음식 추천 서버(100)는 가중치가 적용된 제1 예상선호도 및 제2 예상선호도를 합산하여 요리 또는 레시피의 최종 예상선호도를 도출할 수 있다. 다만, 본 발명이 이에 제한되는 것은 아니며, 요리 또는 레시피에 대한 최종 예상 선호도는 다양한 방법을 이용하여 도출될 수 있다.
즉, 본 발명의 일 실시예에 따른 음식 추천 방법은, 사용자의 기호를 반영한 제1 예상선호도와, 사용자와 유사한 대상자들의 제2 예상선호도를 이용하여 최종 예상선호도를 산출함으로써, 사용자 취향에 맞는 음식 추천에 대한 정확도를 향상시킬 수 있다.
이하에서는, 본 발명에 따른 음식 추천 방법의 추천 리스트 및 사용자 평가를 표시하는 화면에 대해 설명하도록 한다.
도 7 내지 도 9는 본 발명의 일 실시예에 따른 음식 추천 방법의 예시를 설명하기 위한 도면이다.
여기에서, 도 7의 <a1>은 요리에 대한 추천 리스트를 나타내는 도면이고, <a2>는 사용자가 선택한 추천 요리에 대한 정보를 나타내는 도면이다. 도 8의 <b1>은 세부요리에 대한 추천 리스트를 나타내고, <b2>는 선택된 세부요리의 레시피에 대한 추천 리스트는 나타낸다. 또한, 도 9의 <c1>은 사용자에 의해 선택된 레시피를 나타나고, <c2>는 선택된 요리 및 레시피의 사용자 평가를 수신하는 인터페이스를 나타내는 도면이다.
도 7을 참조하면, 음식 추천 서버(100)는 사용자 데이터 및 과거 주문 데이터를 기초로 딥러닝 모듈을 이용하여 요리에 대한 추천 리스트(FL; 이하, 추천 요리 리스트)를 생성할 수 있다. 예를 들어, 추천 요리 리스트(FL)는 추천 요리로 파스타(F1), 피자(F2) 및 스테이크(F3)를 제공할 수 있다.
또한, 음식 추천 서버(100)는 추천 요리와 함께 추천 요리별 예상선호도를 제공할 수 있다. 음식 추천 서버(100)는 요리 별 예상선호도를 기초로, 예상선호도가 높은 순서대로 추천 요리를 표시할 수 있다.
예를 들어, 예상선호도가 별 4개인 스테이크(F3)는 추천 요리 3개 중 가장 낮은 순위인 3순위 추천 요리로 표시될 수 있다. 또한, 파스타(F1) 및 피자(F2)와 같이 예상선호도가 동일한 경우, 음식 추천 서버(100)는 사용자의 기호를 기초로 도출된 제1 예상선호도가 더 높은 추천 요리를 가장 높은 순위로 표시할 수 있다. 즉, 파스타(F1) 및 피자(F2)의 최종 예상 선호도는 동일하나, 파스타(F1)의 제1 예상선호도가 피자(F2)보다 높은 경우, 음식 추천 서버(100)는 파스타(F1)를 1순위 추천 요리로 표시할 수 있다.
이어서, 음식 추천 서버(100)는 추천 요리인 파스타(F1)에 대한 사용자의 선택을 수신할 수 있다. 이때, 음식 추천 서버(100)는 선택된 파스타(F1)에 대한 구체적인 정보를 제공할 수 있다.
예를 들어, 음식 추천 서버(100)는 파스타(F1)의 요리 이미지, 요리 설명, 추천 페어링 음식(PL) 및 세부요리에 대한 추천 리스트(SL)(이하, 추천 세부요리 리스트)를 제공할 수 있다.
여기에서, 추천 페어링 메뉴(PL)는 사용자가 선택한 요리 또는 레시피에 대한 음식별 매칭률 및 사용자의 예상선호도를 기초로 생성될 수 있다. 예를 들어, 음식 추천 서버(100)는 파스타에 대한 추천 페어링 음식으로 리조또(P1), 와인(P2) 및 감자튀김(P3)을 제공할 수 있다. 또한, 음식 추천 서버(100)는 추천 페어링 음식별 예상선호도를 제공할 수 있다. 음식 추천 서버(100)는 추천 페어링 음식별 예상선호도를 기초로 추천 페어링 음식을 내림차순 정렬할 수 있다.
또한, 음식 추천 서버(100)는 사용자가 선택한 요리 또는 레시피에 대해 사용자의 예상선호도를 기초로 세부 요리를 도출하여 추천 세부요리 리스트(SL)를 생성할 수 있다. 음식 추천 서버(100)는 파스타에 대한 추천 페어링 음식으로 크림파스타(S1), 오일파스타(S2) 및 토마토파스타(S3)을 제공할 수 있다.
이어서, 도 8을 참조하면, 음식 추천 서버(100)는 사용자로부터 추천 세부요리 리스트(SL)의 추천 세부요리인 크림파스타(S1)에 대한 선택을 수신할 수 있다.
이어서, 음식 추천 서버(100)는 크림파스타(S1)에 대한 추천 레시피 리스트(RL)를 제공할 수 있다. 음식 추천 서버(100)는 크림파스타(S1)에 대한 사용자의 예상선호도를 기초로 A 레시피(R1), B 레시피(R2), C 레시피(R3) 및 D 레시피(R4)를 제공할 수 있다. 음식 추천 서버(100)는 추천 레시피 리스트(RL)의 A 레시피(R1)에 대한 선택을 수신하고, 사용자에게 A 레시피(R1)를 제공할 수 있다.
이때, 음식 추천 서버(100)는 해당 가맹점에 A 레시피에 대한 사용자 주문을 전송할 수 있다.
또한, 도 9를 참조하면, 음식 추천 서버(100)는 사용자 단말기(200)에 A 레시피(R1)를 제공할 수 있다. 이때, A 레시피(R1)는 크림파스타(S1)의 조리에 필요한 조리재료(Fm) 및 요리 레시피(Fr)를 포함할 수 있다.
음식 선택 또는 음식 배달이 완료된 경우, 음식 추천 서버(100)는 사용자 단말기(200)에 사용자 후기 팝업(UC)을 제공할 수 있다. 사용자 후기 팝업(UC)은 요리, 레시피 및 페어링 음식에 대한 평가창을 포함하는 사용자 평가 메뉴를 표시할 수 있다.
이어서, 사용자 평가가 완료된 경우, 음식 추천 서버(100)는 사용자 평가를 기초로 딥러닝 모듈을 재학습시킬 수 있다.
이하에서는, 본 발명의 몇몇 실시예에 따른 딥러닝 모듈의 재학습 방법을 설명하도록 한다.
도 10은 본 발명의 몇몇 실시예에 따른 음식 추천 방법에서 이용되는 딥러닝 모듈의 재학습단계를 개략적으로 설명하기 위한 블록도이다.
도 10을 참조하면, 음식 추천 서버(100)는 사용자로부터 선택된 요리 및 레시피에 대해 산출된 예상선호도와 사용자 평가를 비교하여 비교 결과를 산출할 수 있다. 산출된 비교 결과가 미리 설정된 오차범위(예를 들어, ±30%)보다 큰 경우, 음식 추천 서버(100)는 사용자에 의해 선택된 요리 또는 레시피를 재학습 대상인 학습 인자로 분류할 수 있다
이어서, 제1 딥러닝 모듈(DL1)은 사용자 데이터, 과거 주문 데이터, 사용자가 선택한 요리 또는 레시피 데이터를 입력 노드에 입력받고, 이에 대한 사용자 평가를 출력 노드에 입력받을 수 있다.
이어서, 제1 딥러닝 모듈(DL1)은 학습 인자로 입력되는 각 파라미터들을 기초로 머신 러닝(machine learning)을 수행할 수 있다. 이때, 음식 추천 서버(100)의 메모리에는 머신 러닝에 사용되는 데이터 및 결과 데이터 등이 저장될 수 있다.
이에 따라, 음식 추천 서버(100)는 재학습을 통해 제1 딥러닝 모듈(DL1)의 노드 및 에지에 대한 가중치를 업데이트할 수 있다.
즉, 본 발명의 몇몇 실시예에 따른 음식 추천 방법은, 사용자의 음식 선택을 반영하여 딥러닝 모듈을 지속적으로 재학습 시킴으로써, 사용자가 선호하는 음식 추천에 대한 정확성을 향상시킬 수 있다. 이를 통해, 본 발명은 사용자에게 제공하는 서비스에 대한 신뢰도를 향상시킬 수 있다.
이하에서는, 사용자가 선택한 음식을 기초로 페어링 음식을 추천하는 방법에 대해 살펴보도록 한다.
도 11은 본 발명의 몇몇 실시예에 따른 페어링 음식 추천 방법을 설명하기 위한 순서도이다.
도 11을 참조하면, 음식 추천 서버(100)는 요리 또는 레시피에 대한 사용자의 선택을 수신한다(S210).
이어서, 음식 추천 서버(100)는 사용자가 선택한 요리 또는 레시피와의 매칭률을 산출하고 이를 기초로 페어링 음식후보를 선정한다(S220).
예를 들어, 음식 추천 서버(100)는 사용자가 선택한 요리 또는 레시피를 주문했던 다른 사용자들의 주문정보를 수신할 수 있다. 음식 추천 서버(100)는 다른 사용자들의 주문정보에 포함된 추가 주문 음식 정보를 도출할 수 있다. 또한, 음식 추천 서버(100)는 가맹점별 미리 등록된 추천 페어링 음식 정보를 도출할 수 있다. 이어서, 음식 추천 서버(100)는 추가 음식별 주문 횟수 및 가맹점의 추천 페어링 음식 정보 등을 기초로, 선택된 요리 또는 레시피에 대해 페어링 음식별 매칭률을 산출할 수 있다. 이를 통해, 음식 추천 서버(100)는 산출된 매칭률이 미리 설정된 매칭률을 초과하는 음식을 페어링 음식후보로 선정할 수 있다.
다만, 매칭률을 이용하는 페어링 음식후보의 선정방법은 본 발명의 일 실시예에 불과하며, 본 발명이 이에 제한되는 것은 아니다.
이어서, 선정된 페어링 음식후보를 기초로, 음식 추천 서버(100)는 딥러닝 모듈을 이용하여 사용자에 대한 페어링 음식후보의 예상선호도를 도출한다(S230).
구체적으로, 음식 추천 서버(100)는 사용자 데이터 및 과거 주문 내역을 기초로 페어링 음식후보에 대한 사용자의 제1 예상선호도를 도출할 수 있다. 또한, 음식 추천 서버(100)는 사용자와 유사한 대상자에 대해 페어링 음식후보의 제2 예상선호도를 산출할 수 있다. 음식 추천 서버(100)는 제1 예상선호도 및/또는 제2 예상선호도를 이용하여 최종 예상선호도를 도출할 수 있다.
음식 추천 서버(100)는 도출된 예상선호도를 기초로 페어링 음식의 추천 리스트를 제공한다(S240).
여기에서, 음식 추천 서버(100)는 미리 설정된 예상선호도보다 높은 예상선호도를 갖는 음식을 페어링 음식으로 선정할 수 있다. 음식 추천 서버(100)는 선정된 페어링 음식을 이용하여 페어링 음식의 추천 리스트를 생성할 수 있다.
이어서, 음식 추천 서버(100)는 추천 리스트 중에서 사용자가 선택한 페어링 음식에 대한 사용자의 평가를 수신한다(S250).
음식 추천 서버(100)는 사용자의 평가 및 예상선호도를 비교하여 딥러닝 모듈을 재학습 시킨다(S260). 예를 들어, 음식 추천 서버(100)는 사용자 평가와 산출된 예상선호도를 비교하여 비교결과를 산출할 수 있다. 이어서, 산출된 비교 결과가 미리 정해진 오차범위를 벗어나는 경우, 음식 추천 서버(100)는 딥러닝 모듈을 재학습시킬 수 있다.
즉, 본 발명의 음식 추천 방법은, 사용자에 의해 선택된 음식과 페어링 음식의 매칭률을 산출하여 페어링 음식후보를 도출하고, 딥러닝 모듈을 통해 페어링 음식후보별 예상선호도를 도출하여 페어링 음식을 추천할 수 있다. 이를 통해, 음식 추천 방법은 선택된 음식과의 매칭률 및 사용자의 기호를 반영한 페어링 음식을 추천함으로써, 사용자의 음식 선택에 따른 즐거움 및 만족도를 증가시킬 수 있다. 또한, 가맹점의 관련 매출을 증대시키는 선순환 효과 및 광고매출 증가도 기대할 수 있다.
도 12는 본 발명의 몇몇 실시예에 따른 페어링 음식 추천 방법에서 이용되는 딥러닝 모듈을 개략적으로 설명하기 위한 블록도이다. 이하에서 설명하는 제2 딥러닝 모듈(DL2)은 도 5에서 전술한 제1 딥러닝 모듈(DL1)과 실질적으로 동일하게 동작하므로, 중복되는 내용은 생략하고 차이점을 위주로 기술하도록 한다.
구체적으로, 도 12를 참조하면, 제2 딥러닝 모듈(DL2)은 사용자 데이터, 과거 주문 데이터, 사용자가 선택한 요리 또는 레시피 데이터, 및 페어링 음식후보 데이터를 입력받고, 이에 대한 출력으로 사용자의 예상선호도를 출력할 수 있다.
이때, 제2 딥러닝 모듈(DL2)은 사용자 데이터, 과거 주문 데이터, 사용자가 선택한 요리 또는 레시피 데이터, 및 페어링 음식후보 데이터에 대한 파라미터를 기준으로 데이터를 메모리에 저장하거나, 유사 데이터를 카테고리에 따라 분류할 수 있다. 다만, 전술한 사용자 데이터, 과거 주문 데이터 및 요리 또는 레시피 데이터 및 페어링 음식후보 데이터는 제2 딥러닝 모듈(DL2)에 입력되는 입력 파라미터의 일 예에 불과하며, 제2 딥러닝 모듈(DL2)에 인가되는 입력 데이터는 다양하게 추가 또는 변경되어 이용될 수 있다.
이하에서는 설명의 편의를 위하여 제2 딥러닝 모듈(DL2)의 입력단에 사용자 데이터, 과거 주문 데이터, 사용자가 선택한 요리 또는 레시피 데이터 및 페어링 음식후보 데이터가 인가되고, 이에 대한 출력으로 예상선호도가 도출되는 것을 예로 들어 설명하도록 한다.
이어서, 제2 딥러닝 모듈(DL2)은 빅데이터를 기초로 학습된 인공신경망을 이용하여 페어링 음식 추천 방법에 필요한 예상선호도를 도출할 수 있다.
전술한 제1 딥러닝 모듈(DL1)과 마찬가지로 제2 딥러닝 모듈(DL2)은 공지된 다양한 딥러닝 구조를 이용할 수 있다. 예를 들어, 제2 딥러닝 모듈(DL2)은 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network), GNN(Graph Neural Network) 등의 구조를 이용할 수 있다.
즉, 제2 딥러닝 모듈(DL2)은 머신 러닝(machine learning)을 기반으로, 사용자 데이터, 과거 주문 데이터, 요리 또는 레시피 데이터 및 페어링 음식후보 데이터를 입력 데이터로 하여, 페어링 음식후보에 대한 예상선호도 출력하는 동작을 수행할 수 있다.
도 13 및 도 14는 본 발명의 몇몇 실시예에 따른 페어링 음식 추천 방법의 예시를 설명하기 위한 도면이다.
도 13의 <d1>은 페어링 음식에 대한 추천 리스트를 나타내는 도면이고, <d2>는 사용자가 선택한 페어링 음식에 대한 정보를 나타내는 도면이다. 도 14의 <e1>은 세부 페어링 음식에 대한 추천 리스트를 나타내고, <e2>는 선택된 세부요리의 사용자 후기 평가를 수신하는 인터페이스를 나타내는 도면이다.
이하에서는, 전술한 본 발명의 몇몇 실시예에 대한 내용과 중복되는 내용은 생략하여 설명하도록 한다.
도 13을 참조하면, 음식 추천 서버(100)는 선택된 요리 또는 레시피와의 매칭률 및 딥러닝 모듈의 예상선호도를 이용하여 선택된 요리 또는 레시피에 대한 페어링 음식의 추천 리스트(PL; 이하, 추천 페어링 음식 리스트)를 생성할 수 있다.
예를 들어, 추천 페어링 음식 리스트(PL)는 추천 페어링 음식으로 리조또(P1), 와인(P2) 및 감자튀김(P3)을 제공할 수 있다.
이어서, 음식 추천 서버(100)는 와인(P2)에 대한 사용자의 선택을 수신하고, 선택된 와인(P2)에 대해 구체적인 정보를 제공할 수 있다.
예를 들어, 음식 추천 서버(100)는 와인(P2)의 음식 이미지, 음식 설명, 추천 페어링 음식 리스트(PL2) 및 세부 페어링 음식에 대한 추천 리스트(DS; 이하, 추천 세부 페어링 음식 리스트)를 제공할 수 있다.
추천 페어링 음식 리스트(PL2)는 사용자가 선택한 페어링 음식에 대한 음식별 매칭률 및 사용자의 예상선호도를 기초로 생성될 수 있다. 음식 추천 서버(100)는 와인(P2)에 대한 추천 페어링 음식으로 리조또(P1), 감자튀김(P3) 및 하몽(P4)을 제공할 수 있다.
또한, 음식 추천 서버(100)는 사용자가 선택한 와인(P2)에 대해 사용자의 예상선호도를 기초로 세부 음식을 도출하여 추천 세부음식 리스트(DS)를 생성할 수 있다. 예를 들어, 음식 추천 서버(100)는 파스타에 대한 추천 페어링 음식으로 레드와인(Dw1), 화이트와인(Dw2) 및 스파클링와인(Dw3)을 제공할 수 있다.
여기에서, 추천 페어링 음식은 조리가능한 음식뿐만 아니라, 가맹점에서 판매가능한 조리불가능 음식을 포함할 수 있다. 조리가 불가능한 음식(예를 들어, 와인)의 경우, 음식 추천 서버(100)는 가맹점에서 판매하는 와인의 종류 및 브랜드를 기초로 추천 판매 리스트(CL)를 제공할 수 있다. 다만, 본 발명이 이에 제한되는 것은 아니다.
도 14를 참조하면, 음식 추천 서버(100)는 사용자로부터 선택받은 레드와인(Dw1)에 대한 추천 판매 리스트(CL)를 제공할 수 있다. 예를 들어, 음식 추천 서버(100)는 레드와인(Dw1)에 대한 사용자의 예상선호도를 기초로 A와인(W1), B와인(W2) 및 C와인(W3)을 제공할 수 있다.
이어서, 음식 선택 또는 음식 배달이 완료된 경우, 음식 추천 서버(100)는 사용자 단말기(200)에 사용자 후기를 입력 받는 인터페이스를 제공할 수 있다. 즉, 음식 추천 서버(100)는 사용자 평가 수신 인터페이스(UC)를 통해 사용자 평가를 수신할 수 있으며, 이를 이용하여 추후 딥러닝 모듈을 재학습시킬 수 있다.
이하에서는, 페어링 음식을 추천하는 딥러닝 모듈의 재학습 단계를 설명하도록 한다.
도 15는 본 발명의 몇몇 실시예에 따른 페어링 음식 추천 방법에서 이용되는 딥러닝 모듈의 재학습단계를 개략적으로 설명하기 위한 블록도이다. 이하에서 설명하는 내용은 도 10에서 전술한 내용과 실질적으로 동일하므로, 중복되는 내용은 생략하고 차이점을 위주로 기술하도록 한다.
도 15를 참조하면, 음식 추천 서버(100)는 사용자로부터 선택된 요리 또는 레시피를 기초로 페어링 음식을 도출할 수 있다. 음식 추천 서버(100)는 도출된 페어링 음식에 대해 산출된 예상선호도와 사용자 평가를 비교하여 비교 결과를 산출할 수 있다. 이어서, 산출된 비교 결과가 미리 설정된 오차범위보다 큰 경우, 음식 추천 서버(100)는 페어링 음식을 재학습 대상으로 분류할 수 있다.
이어서, 음식 추천 서버(100)는 사용자 데이터, 과거 주문 데이터, 사용자가 선택한 요리 또는 레시피 데이터, 및 사용자가 선택한 페어링 음식 데이터를 입력 노드에 인가하고, 수신된 사용자 평가를 출력 노드에 인가함으로써, 제2 딥러닝 모듈(DL2)을 재학습시킬 수 있다.
이때, 제2 딥러닝 모듈(DL2)은 학습 인자로 입력되는 파라미터들에 대하여 머신 러닝(machine learning)을 수행할 수 있다. 즉, 음식 추천 서버(100)는 재학습을 통해 제2 딥러닝 모듈(DL2)의 노드 및 에지에 대한 가중치를 업데이트할 수 있다.
따라서, 본 발명의 몇몇 실시예에 따른 음식 추천 방법은, 사용자의 음식 선택을 반영하여 딥러닝 모듈을 지속적으로 재학습 시킴으로써, 사용자가 선호하는 음식추천에 대한 정확성을 향상시킬 수 있다. 이를 통해, 본 발명에서 제공하는 서비스에 대한 사용자의 이용률을 증가시키며, 서비스에 대한 사용자 이탈률도 감소시키는 효과를 기대할 수 있다.
도 16은 본 발명의 일 실시예에 따른 페어링 음식 추천 방법의 일 예를 설명하기 위한 도면이다. 여기에서, 도면 <f1>은 추천 페어링 음식 리스트를 나타내고, 도면 <f2>는 추천 페어링 음식에 대한 추천 세부조합 리스트를 나타낸다.
이하에서는, 사용자가 추천 음식 리스트에서 크림파스타를 선택한 경우를 예로 들어 설명하도록 한다.
도 16을 참조하면, 음식 추천 서버(100)는 사용자가 선택한 크림파스타에 대해 리조또(P1), 와인(P2) 및 감자튀김(P3)을 포함하는 추천 페어링 음식 리스트(PL)를 제공할 수 있다.
음식 추천 서버(100)는 추천 페어링 음식 리스트(PL)에 조합버튼(b1) 및 생성버튼(b2)을 추가로 제공할 수 있다. 조합버튼(b1)은 사용자가 선택한 요리와 이에 대한 추천 페어링 음식을 조합하여, 추천 세부음식 조합을 생성할 수 있다. 또한, 출력버튼(b2)은 조합버튼(b1)에 의해 생성된 복수의 추천 세부음식 조합을 기초로 추천 세부조합 리스트(Rm)를 생성하여 사용자에게 제공할 수 있다.
이때, 음식 추천 서버(100)는 추천 페어링 음식에 대한 단일 또는 복수 선택을 수신할 수 있다.
예를 들어, 우선, 음식 추천 서버(100)는 사용자로부터 리조또(P1)에 대한 선택을 수신하고, 조합버튼(b1)에 대한 선택을 수신할 수 있다. 음식 추천 서버(100)는 리조또(P1)의 세부음식 중 크림파스타의 페어링 음식으로써 예상선호도가 가장 높은 닭갈비 리조또를 제1 조합(Rm1)으로 도출할 수 있다.
이어서, 음식 추천 서버(100)는 리조또(P1) 및 와인(P2)에 대한 사용자 선택 및 조합버튼(b1)에 대한 클릭을 수신할 수 있다. 음식 추천 서버(100)는 리조또(P1) 및 와인(P2)의 세부음식 중 크림파스타의 페어링 음식으로써 예상선호도가 미리 설정된 기준보다 높은 세부음식을 도출할 수 있다. 이어서, 음식 추천 서버(100)는 리조또(P1)의 세부음식과 와인(P2)의 세부음식 사이의 매칭률을 산출할 수 있다. 음식 추천 서버(100)는 매칭률이 가장 높은 세부음식으로 닭갈비 리조또 및 레드와인을 도출할 수 있다. 즉, 닭갈비 리조또 및 레드와인은 제2 조합(Rm2)일 수 있다.
이어서, 음식 추천 서버(100)는 출력버튼(b2)에 대한 클릭을 수신할 수 있다. 음식 추천 서버(100)는 제1 조합(Rm1) 및 제2 조합(Rm2)을 포함하는 추천 세부조합 리스트(Rm)를 사용자 단말기(200)에 제공할 수 있다. 이때, 제1 조합(Rm1) 및 제2 조합(Rm2)은 추천 페어링 음식에 대한 조합버튼(b1)의 클릭시간을 기준으로 생성될 수 있다. 다만, 본 발명이 이에 제한되는 것은 아니다.
도 17은 본 발명의 다른 실시예에 따른 음식 추천 방법의 음식 인기순위 리스트에 대한 예시를 설명하기 위한 도면이다.
도 17의 <g1>은 음식 추천 시스템에 등록된 음식에 대한 인기순위를 나타내고, <g2>는 음식 인기순위에 포함된 음식정보를 나타낸다.
도 17을 참조하면, 음식 추천 서버(100)는 음식에 대한 사용자의 평점, 투표수 및 판매수량 등을 이용하여 음식 인기순위(Fr)를 표시할 수 있다.
음식 추천 서버(100)는 사용자의 평점, 투표수 및 판매수량을 종합하여 상위 리스트(Ft) 및 하위 리스트(Fw)를 도출할 수 있다. 음식 추천 서버(100)는 사용자의 평점, 투표수 및 판매수량을 실시간으로 수신함으로써, 음식 인기순위(Fr)를 지속적으로 업데이트할 수 있다. 예를 들어, 음식 추천 서버(100)는 상위 리스트(Ft)에 파스타, 스테이크, 리조또, 샐러드 및 감바스를 표시할 수 있고, 하위 리스트(Fw)에 비빔밥, 국수, 파전, 갈비찜 및 감자튀김을 표시할 수 있다. 이때, 상위 인기 리스트(Ft) 및 하위 인기 리스트(Fw)에 포함되는 음식의 수는 설정가능할 수 있다.
여기에서, 음식 추천 서버(100)는 미리 설정된 기간동안 미리 설정된 인기순위보다 낮은 인기순위를 갖는 음식을 추천 리스트에서 제외시킬 수 있다. 이하에서는, 미리 설정된 기간을 일주일, 미리 설정된 인기순위는 하위 3위라고 가정하도록 한다. 음식 추천 서버(100)는 일주일의 기간동안 산정된 최종 인기순위가 하위 3위에 포함된 비빔밥, 국수 및 파전을 추천 리스트에서 제외시킬 수 있다. 다만, 이는 하나의 예시일 뿐, 본 발명이 이에 제한되는 것은 아니다.
또한, 음식 추천 서버(100)는 추천 리스트에서 제외된 음식 개수만큼 새로운 음식을 추천 리스트에 추가함으로써, 추천 리스트에 미리 설정된 개수의 음식을 유지할 수 있다.
한편, 음식 추천 서버(100)는 사용자로부터 하위 인기 리스트(Fw)의 국수(Fw1)에 대한 클릭을 수신할 수 있다. 음식 추천 서버(100)는 국수(Fw1)에 대한 정보를 제공할 수 있다.
음식 추천 서버(100)는 국수(Fw1)의 요리 이미지, 요리 설명, 요리 인기 정보, 추천 페어링 음식(PL) 및 세부음식에 대한 추천 리스트(DS)(이하, 추천 세부음식 리스트)를 제공할 수 있다.
음식 추천 서버(100)는 인기 순위 산출에 기초가 된 판매수량, 투표수 및 평점을 포함하는 요리 인기 정보를 표시할 수 있다. 음식 추천 서버(100)는 판매수량 및 투표수와 함께 필요 판매수량 및 필요 투표수를 표시할 수 있다.
구체적으로, 음식 추천 서버(100)는 추천 리스트에서 제외되는 기준인 하위 3위보다 높은 4위의 음식(예를 들어, 파전)에 대한 판매수량 및 투표수를 산출할 수 있다. 이어서, 음식 추천 서버(100)는 파전의 판매수량과 국수(Fw1)의 판매수량 사이의 판매수량 차이값을 계산하고, 산출된 판매수량 차이값을 표시할 수 있다. 또한, 음식 추천 서버(100)는 파전의 투표수에서 국수(Fw1)의 투표수를 감산함으로써, 필요 투표수를 표시할 수 있다.
이어서, 음식 추천 서버(100)는 음식별 매칭률 및 예상 선호도를 기초로 추천 페어링 음식 리스트(PL)를 생성할 수 있고, 사용자가 선택한 음식에 대해 사용자의 예상선호도를 기초로 추천 세부음식 리스트(DS)를 생성할 수 있다.
이를 통해, 본 발명은 선호메뉴의 순위에 대한 사용자의 경쟁심을 불러일으키고, 사용자 선호메뉴의 추천 리스트 제외 가능성을 표시함으로써 사용자의 주문을 촉진시킬 수 있다.
도 18 및 도 19는 본 발명의 또 다른 실시예에 따른 음식 추천 방법의 사용자 부가정보를 이용하여 레시피를 보정하는 방법을 설명하기 위한 도면이다.
이하에서는, 음식 추천 서버(100)가 사용자의 알레르기 재료로 생크림을 수신한 것을 예로 들어 설명하도록 한다.
우선, 도 18 및 도 19를 참조하면, 음식 추천 서버(100)는 알레르기 재료, 기호 재료, 질병정보 및 식단조절계획을 포함하는 사용자의 부가정보를 수신한다(S141).
이때, 음식 추천 서버(100)는 사용자의 질병정보를 기초로 사용자가 피해야 할 재료를 도출할 수 있고, 식단조절계획을 기초로 피해야 할 음식, 및 적정 칼로리 등을 도출할 수 있다.
이어서, 음식 추천 서버(100)는 사용자에 의해 선택된 레시피에 포함된 재료 중 부가정보를 기초로 교체 필요성이 있는 재료를 도출한다(S142). 이때, 음식 추천 서버(100)는 A 레시피(R1)로부터 알레르기 재료로 수신한 생크림을 교체 필요성이 있는 재료로 도출할 수 있다.
이어서, 음식 추천 서버(100)는 도출된 대체재료를 선정하고, 선정된 대체재료에 대한 사용자의 확인을 수신한다(S143, S144).
구체적으로, 음식 추천 서버(100)는 가맹점으로부터 미리 입력된 대체재료 정보 및 대체가능 레시피를 기초로, 밀가루를 생크림의 대체재료로 선정할 수 있다. 음식 추천 서버(100)는 재료변경여부 인터페이스(예를 들어, “A 레시피에 포함된 생크림을 밀가루로 변경하시겠습니까?”)를 사용자 단말기(200)에 표시할 수 있다. 사용자로부터 “아니오”에 대한 답변을 수신한 경우, 음식 추천 서버(100)는 다른 대체재료를 선정하여 재료변경여부 인터페이스에 재표시할 수 있다.
다만, 본 발명이 이에 제한되는 것은 아니며, 음식 추천 서버(100)는 재료변경여부 팝업에 다수의 대체재료를 표시하고 사용자로부터 선호 대체재료를 수신할 수 있다.
이어서, 사용자로부터 재료변경여부에 대한 승인을 수신한 경우, 음식 추천 서버(100)는 대체재료를 반영하여 레시피를 보정한다(S145).
예를 들어, 음식 추천 서버(100)는 A 레시피(R1)에 포함된 생크림 120ml를 밀가루 2/3T로 변경하여 보정할 수 있다. 이에 따라, 음식 추천 서버(100)는 A 레시피(R1)에 포함된 생크림&우유에 계란 노른자를 섞어 소스를 만드는 단계를 밀가루&우유에 계란 노른자를 섞어 소스를 만드는 단계로 수정할 수 있다.
이어서, 음식 추천 서버(100)는 보정된 레시피를 가맹점 관리 서버(300)에 전달한다(S146).
이어서, 가맹점 관리 서버(300)는 보정된 레시피를 가맹점 단말기(400)에 전달하여 주문을 완료할 수 있다.
이를 통해, 본 발명의 실시예에 따른 음식 추천 시스템은 사용자의 취향, 입맛 및 건강관리에 맞는 맞춤형 레시피의 제공함으로써, 다양한 사용자의 요구를 충족시키고, 사용자의 만족도를 향상시킬 수 있는 효과를 가질 수 있다.
도 20은 본 발명의 또 다른 실시예에 따른 환경정보를 이용하여 추천 리스트를 생성하는 방법을 설명하기 위한 순서도이다.
도 20을 참조하면, 음식 추천 서버(100)는 위치정보, 주문시간정보 및 날씨정보를 포함하는 환경정보를 수신한다(S241).
이어서, 음식 추천 서버(100)는 위치정보를 기초로 현위치와 요리가 조리되는 장소와의 거리를 산출하여 산출된 거리에 따라 요리 또는 레시피에 서로 다른 가중치를 부여한다(S243).
이때, 음식 추천 서버(100)는 사용자의 현위치와 요리가 조리되는 장소와의 거리를 기초로, 예상 배달소요시간을 산출할 수 있다. 도로정보 등을 이용하여 산출된 예상 배달소요시간을 기초로 음식 추천 서버(100)는 요리 또는 레시피에 서로 다른 가중치를 부여할 수 있다.
이어서, 음식 추천 서버(100)는 주문시간정보를 기초로 요리가 자주 소비되는 주문 시간대를 구분하여 요리 또는 레시피에 서로 다른 가중치를 부여한다(S247).
예를 들어, 음식 추천 서버(100)는 아침 시간대에 가장 많이 소비되는 요리 또는 레시피로 국밥을 도출할 수 있다. 아침 시간대에 추천 리스트 생성을 수신한 경우, 음식 추천 서버(100)는 국밥 관련 요리 또는 레시피에 대해 다른 요리 또는 레시피보다 높은 가중치를 부여할 수 있다.이어서, 음식 추천 서버(100)는 날씨정보를 기초로 요리가 자주 소비되는 기온범위를 구분하여 요리 또는 레시피에 서로 다른 가중치를 부여한다(S247).
예를 들어, 사용자의 날씨정보에 포함된 기온정보가 20도 이상인 경우, 음식 추천 서버(100)는 냉면 또는 냉만두국 등에 다른 요리 또는 레시피보다 높은 가중치를 부여할 수 있다. 또한, 기온정보가 20도 미만인 경우, 음식 추천 서버(100)는 우동 또는 갈비탕 등에 다른 요리 또는 레시피보다 높은 가중치를 부여할 수 있다. 다만, 본 발명이 이에 제한되는 것은 아니다.
이어서, 음식 추천 서버(100)는 산출된 예상선호도에 가중치를 적용하여 요리 또는 레시피에 대한 추천 리스트를 생성한다(S249).
이를 통해, 음식 추천 서버(100)는 사용자의 위치정보, 주문시간정보 및 날씨정보를 고려하여, 사용자에게 가장 선호할 음식들을 선별하여 추천할 수 있다.
전술한 내용을 정리하면, 본 발명의 몇몇 실시예에 따른 음식 추천 방법은, 사용자 데이터 및 과거 주문 데이터를 기초로 딥러닝 모듈을 이용하여 사용자 맞춤 음식 추천 리스트를 생성할 수 있다. 이를 통해, 본 발명은 음식선정에 대한 사용자의 시간을 절약하고, 사용자의 편의성 및 만족도를 향상시킬 수 있다.
또한, 본 발명의 음식 추천 방법은, 선택된 음식과의 매칭률 및 사용자의 기호를 반영한 페어링 음식을 추천함으로써, 사용자의 음식 선택에 따른 즐거움 및 만족도를 증가시킬 수 있다. 또한, 가맹점의 관련 매출을 증대시키는 선순환 효과 및 광고매출 증가도 기대할 수 있다.
또한, 본 발명의 음식 추천 방법은, 사용자의 음식 선택을 반영하여 딥러닝 모듈을 지속적으로 재학습 시킴으로써, 사용자가 선호하는 음식추천에 대한 정확성을 향상시킬 수 있다. 이를 통해, 본 발명에서 제공하는 서비스에 대한 사용자의 신뢰도를 향상시키고, 사용자의 서비스 이용률을 증가시킬 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (12)

  1. 사용자의 나이, 성별, 선호음식 또는 선호 맛을 포함하는 사용자 정보로 구성된 사용자 데이터를 수신하는 단계;
    상기 사용자 데이터를 기초로 상기 사용자의 과거 주문 데이터를 조회하는 단계;
    상기 사용자 데이터 및 상기 과거 주문 데이터를 기초로, 미리 학습된 딥러닝 모듈을 이용하여 미리 등록된 요리 또는 레시피에 대한 예상선호도를 산출하는 단계;
    산출된 상기 예상선호도를 기초로, 상기 요리 또는 상기 레시피에 대한 추천 리스트를 생성하는 단계;
    상기 추천 리스트 내에서 상기 사용자로부터 선택된 요리 또는 레시피에 대하여, 사용자 평가를 수신하는 단계; 및
    상기 사용자 평가를 이용하여 상기 딥러닝 모듈을 재학습시키는 단계를 포함하는
    음식 추천 방법.
  2. 제1 항에 있어서,
    상기 예상선호도를 산출하는 단계는,
    상기 딥러닝 모듈을 이용하여 상기 사용자에 대한 상기 요리 또는 상기 레시피의 제1 예상선호도를 도출하고,
    상기 사용자와 상기 사용자 정보에 대한 유사도가 기준치보다 높은 대상자를 선별하고,
    상기 딥러닝 모듈을 이용하여 선별된 상기 대상자에 대한 상기 요리 또는 상기 레시피의 제2 예상선호도를 도출하고,
    상기 제1 예상선호도 및 상기 제2 예상선호도를 기초로 상기 요리 또는 상기 레시피의 추천 리스트를 생성하는
    음식 추천 방법.
  3. 제1 항에 있어서,
    상기 예상선호도를 산출하는 단계에서,
    상기 딥러닝 모듈은,
    상기 사용자 데이터, 상기 과거 주문 데이터, 및 상기 요리 또는 레시피에 관한 데이터를 입력 노드로 하는 입력 레이어와,
    상기 예상선호도를 출력 노드로 하는 출력 레이어와,
    상기 입력 레이어와 상기 출력 레이어 사이에 배치되는 하나 이상의 히든 레이어를 포함하고,
    상기 입력 노드와 상기 출력 노드 사이의 노드 및 에지의 가중치는 상기 딥러닝 모듈의 학습 과정에 의해 업데이트되는
    음식 추천 방법.
  4. 제3 항에 있어서,
    상기 딥러닝 모듈을 재학습시키는 단계는, 상기 사용자로부터 선택된 요리 또는 레시피에 대한 상기 예상선호도 및 상기 사용자 평가를 비교하고, 비교 결과가 미리 정해진 오차범위를 벗어나는 경우, 상기 딥러닝 모듈을 재학습시키는 것을 포함하는
    음식 추천 방법.
  5. 제4 항에 있어서,
    상기 딥러닝 모듈을 재학습시키는 단계에서,
    상기 딥러닝 모듈은,
    상기 사용자 데이터, 상기 과거 주문 데이터, 및 상기 사용자가 선택한 요리 또는 레시피 데이터가 상기 입력 노드에 인가되고, 상기 사용자 평가가 상기 출력 노드에 인가됨으로써, 상기 노드 및 에지의 가중치가 업데이트되는
    음식 추천 방법.
  6. 제1 항에 있어서,
    상기 사용자가 선택한 요리 또는 레시피를 기초로 페어링 음식에 대한 추천 리스트를 생성하는 단계를 더 포함하되,
    상기 페어링 음식에 대한 추천 리스트를 생성하는 단계는,
    상기 요리 또는 상기 레시피에 대한 상기 사용자의 선택을 수신하고,
    미리 등록된 페어링 음식과 상기 선택된 요리 또는 레시피와의 매칭률을 산출하고,
    상기 산출된 매칭률을 기초로 페어링 음식후보를 선정하고,
    상기 딥러닝 모듈을 이용하여 상기 사용자에 대한 상기 페어링 음식후보의 예상선호도를 도출하고,
    도출된 상기 예상선호도를 기초로 상기 페어링 음식의 추천 리스트를 생성하는 것을 포함하는
    음식 추천 방법.
  7. 제6 항에 있어서,
    상기 페어링 음식후보의 예상선호도를 도출하는 단계에서,
    상기 딥러닝 모듈은,
    상기 사용자 데이터, 상기 과거 주문 데이터, 상기 사용자가 선택한 요리 또는 레시피 데이터, 및 상기 페어링 음식후보에 관한 데이터를 입력 노드로 하는 입력 레이어와,
    상기 페어링 음식후보의 예상선호도를 출력 노드로 하는 출력 레이어와,
    상기 입력 레이어와 상기 출력 레이어 사이에 배치되는 하나 이상의 히든 레이어를 포함하고,
    상기 입력 노드와 상기 출력 노드 사이의 노드 및 에지의 가중치는 상기 딥러닝 모듈의 학습 과정에 의해 업데이트되는
    음식 추천 방법.
  8. 제6 항에 있어서,
    상기 페어링 음식에 대한 사용자 평가를 수신하는 단계를 더 포함하되,
    상기 딥러닝 모듈을 재학습시키는 단계는, 상기 사용자로부터 선택된 페어링 음식에 대한 상기 예상선호도 및 상기 사용자 평가를 비교하고, 비교 결과가 미리 정해진 오차범위를 벗어나는 경우, 상기 딥러닝 모듈을 재학습시키는 것을 포함하는
    음식 추천 방법.
  9. 제8 항에 있어서,
    상기 딥러닝 모듈을 재학습시키는 단계에서,
    상기 딥러닝 모듈은,
    상기 사용자 데이터, 상기 과거 주문 데이터, 상기 사용자가 선택한 요리 또는 레시피 데이터, 및 상기 사용자가 선택한 페어링 음식 데이터가 상기 입력 노드에 인가되고, 상기 페어링 음식에 대한 상기 사용자 평가가 상기 출력 노드에 인가됨으로써 상기 노드 및 에지의 가중치가 업데이트되는
    음식 추천 방법.

  10. 제1 항에 있어서,
    상기 추천 리스트를 생성하는 단계는,
    상기 사용자에 대한 알레르기 재료, 기호 재료, 질병정보 및 식단조절계획을 포함하는 부가정보를 수신하고,
    상기 부가정보를 기초로 상기 사용자에 의해 선택된 레시피에 포함된 재료 중 교체 필요성이 있는 재료를 도출하고,
    도출된 상기 재료의 대체재료를 선정하고,
    상기 대체재료에 대한 상기 사용자의 확인을 수신하고,
    상기 대체재료를 반영하여 상기 선택된 레시피를 보정하는
    음식 추천 방법.
  11. 제10 항에 있어서,
    상기 추천 리스트를 생성하는 단계는,
    상기 사용자의 위치정보, 주문시간정보 및 날씨정보를 포함하는 환경정보를 수신하고,
    상기 위치정보를 기초로 상기 사용자의 현위치와 조리장소 사이의 거리를 산출하여, 산출된 거리를 기초로 상기 요리 또는 상기 레시피에 서로 다른 가중치를 부여하고,
    상기 주문시간정보를 기초로 요리별 소비 시간대를 도출하여 상기 요리 또는 상기 레시피에 서로 다른 가중치를 부여하고,
    상기 날씨정보를 기초로 요리별 소비 기온범위를 도출하여 상기 요리 또는 상기 레시피에 서로 다른 가중치를 부여하고,
    산출된 상기 예상선호도에 상기 도출된 가중치를 적용하는 것을 포함하는
    음식 추천 방법.
  12. 제9 항에 있어서,
    상기 추천 리스트를 생성하는 단계는
    입력받은 상기 사용자 평가를 기초로 요리 또는 레시피에 대한 인기순위를 산출하고,
    미리 설정된 인기순위보다 낮은 인기순위가 부여된 요리 또는 레시피를 상기 추천 리스트에서 제외하는 것을 포함하는
    음식 추천 방법.
KR1020210032824A 2021-03-12 2021-03-12 딥러닝 모듈을 이용한 음식 추천 방법 KR102589880B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210032824A KR102589880B1 (ko) 2021-03-12 2021-03-12 딥러닝 모듈을 이용한 음식 추천 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210032824A KR102589880B1 (ko) 2021-03-12 2021-03-12 딥러닝 모듈을 이용한 음식 추천 방법

Publications (2)

Publication Number Publication Date
KR20220128145A true KR20220128145A (ko) 2022-09-20
KR102589880B1 KR102589880B1 (ko) 2023-10-17

Family

ID=83446303

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210032824A KR102589880B1 (ko) 2021-03-12 2021-03-12 딥러닝 모듈을 이용한 음식 추천 방법

Country Status (1)

Country Link
KR (1) KR102589880B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102565403B1 (ko) * 2022-11-29 2023-08-10 주식회사 팜킷 온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법 및 장치
KR102589671B1 (ko) * 2022-12-19 2023-10-17 주식회사 비브라이트 샐러드 팩 판매 서비스를 제공하는 방법
CN117952727A (zh) * 2024-03-27 2024-04-30 广东优信无限网络股份有限公司 一种智能称重外卖预订点餐系统
CN118333655A (zh) * 2024-05-08 2024-07-12 广州若羽臣科技股份有限公司 一种基于人工智能的电商产品导购方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101894678B1 (ko) * 2017-11-27 2018-09-04 곽수용 음식주문에 기반한 소비패턴 분석을 통한 소비자-판매자 중심의 맞춤 서비스 방법
KR20190104487A (ko) * 2019-08-21 2019-09-10 엘지전자 주식회사 인공지능 기반의 사용자 상태에 따른 식품 추천 방법 및 그 장치
KR102043959B1 (ko) * 2019-07-25 2019-11-12 (주)어메이징푸드솔루션 개인별 유전자 유형과 개인건강기록 데이터에 근거한 맞춤형 식단 추천 시스템
KR20200118584A (ko) * 2019-04-08 2020-10-16 성균관대학교산학협력단 음식 추천 시스템
KR20210017973A (ko) * 2019-08-09 2021-02-17 고려대학교 산학협력단 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 및 서버

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101894678B1 (ko) * 2017-11-27 2018-09-04 곽수용 음식주문에 기반한 소비패턴 분석을 통한 소비자-판매자 중심의 맞춤 서비스 방법
KR20200118584A (ko) * 2019-04-08 2020-10-16 성균관대학교산학협력단 음식 추천 시스템
KR102043959B1 (ko) * 2019-07-25 2019-11-12 (주)어메이징푸드솔루션 개인별 유전자 유형과 개인건강기록 데이터에 근거한 맞춤형 식단 추천 시스템
KR20210017973A (ko) * 2019-08-09 2021-02-17 고려대학교 산학협력단 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 및 서버
KR20190104487A (ko) * 2019-08-21 2019-09-10 엘지전자 주식회사 인공지능 기반의 사용자 상태에 따른 식품 추천 방법 및 그 장치

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102565403B1 (ko) * 2022-11-29 2023-08-10 주식회사 팜킷 온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법 및 장치
US11972471B1 (en) 2022-11-29 2024-04-30 Farmkit Inc. Method and apparatus for user's food taste intelligence-based personalized recommendations using ontology and machine learning
KR102589671B1 (ko) * 2022-12-19 2023-10-17 주식회사 비브라이트 샐러드 팩 판매 서비스를 제공하는 방법
CN117952727A (zh) * 2024-03-27 2024-04-30 广东优信无限网络股份有限公司 一种智能称重外卖预订点餐系统
CN118333655A (zh) * 2024-05-08 2024-07-12 广州若羽臣科技股份有限公司 一种基于人工智能的电商产品导购方法及装置

Also Published As

Publication number Publication date
KR102589880B1 (ko) 2023-10-17

Similar Documents

Publication Publication Date Title
KR102589880B1 (ko) 딥러닝 모듈을 이용한 음식 추천 방법
US11580879B2 (en) Systems and methods for generating personalized nutritional recommendations
US11610665B2 (en) Method and system for preference-driven food personalization
US20200265497A1 (en) Method and system for improving food-related personalization
US20210319346A1 (en) Personal Taste Assessment Method and System
US20200098466A1 (en) Machine learning implementations for a menu generation platform
KR102227552B1 (ko) 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템
US20230169118A1 (en) Information presenting method, recording medium, information presenting system, and terminal device
KR101982240B1 (ko) 레시피 생성 및 공유를 위한 요리 레시피 서비스 제공 방법
Yera et al. Exploring post-hoc agnostic models for explainable cooking recipe recommendations
CN106843176B (zh) 一种用于食品柔性制造中自动化准备食材的方法、系统
Elahi et al. Interactive Food Recommendation for Groups.
CN116888617A (zh) 食谱提供装置及方法
Lee et al. Diet planning with machine learning: teacher-forced REINFORCE for composition compliance with nutrition enhancement
KR20200044221A (ko) 식단 추천 서버와 이를 이용한 개인식단 추천 서비스시스템 및 방법
Yan et al. A stochastic dominance based approach to consumer-oriented Kansei evaluation with multiple priorities
KR102149728B1 (ko) 인공지능을 통한 사용자 중심의 제품 디자인 가이드 도출 방법 및 그 시스템
US20200394727A1 (en) Food ordering system based on predefined variables
CN110400197A (zh) 数据处理方法、装置、介质及电子设备
Bundasak et al. eMenu recommender system using collaborative filtering and slope one predictor
Toledo et al. A health-awareness nutrition recommender system
Moldovan et al. Diet generator for elders using cat swarm optimization and wolf search
Osman et al. Application of fuzzy logic for adaptive food recommendation
KR102675133B1 (ko) 개인화 식품 추천을 위한 식품 정보 처리 장치 및 방법
Masroor et al. Customized food and restaurant expanding fuzzy logic

Legal Events

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