KR20210017973A - Method and server for food ingredient pairing prediction using siamese neural network - Google Patents

Method and server for food ingredient pairing prediction using siamese neural network Download PDF

Info

Publication number
KR20210017973A
KR20210017973A KR1020190158385A KR20190158385A KR20210017973A KR 20210017973 A KR20210017973 A KR 20210017973A KR 1020190158385 A KR1020190158385 A KR 1020190158385A KR 20190158385 A KR20190158385 A KR 20190158385A KR 20210017973 A KR20210017973 A KR 20210017973A
Authority
KR
South Korea
Prior art keywords
pairing
food ingredient
data
food
ingredient
Prior art date
Application number
KR1020190158385A
Other languages
Korean (ko)
Other versions
KR102300474B1 (en
Inventor
강재우
박동현
김건우
박용규
신정운
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Publication of KR20210017973A publication Critical patent/KR20210017973A/en
Application granted granted Critical
Publication of KR102300474B1 publication Critical patent/KR102300474B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • G06Q10/06375Prediction of business process outcome or impact based on a proposed change
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • 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)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Primary Health Care (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Preparation And Processing Of Foods (AREA)

Abstract

According to one aspect of the present invention, a food ingredient pairing prediction method using a Siamese neural network, which is conducted by a server, comprises: a step of collecting one or more pieces of cooking information through a network, extracting food ingredients for each piece of cooking information collected, and generating food ingredient data; a step of calculating a food ingredient pairing score in accordance with the simultaneous appearing number of times of food ingredients based on the food ingredient data and providing pairing data; and a step of providing the result data predicting the food ingredient pairing from a food ingredient pairing prediction model with the input of pairing data. The food ingredient pairing prediction model is trained by using the Siamese neural network made of a first subnetwork and a second subnetwork with the input data of the food ingredient data and the food ingredient pairing score data. The present invention is able to discover various food ingredient pairings.

Description

샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 및 서버{METHOD AND SERVER FOR FOOD INGREDIENT PAIRING PREDICTION USING SIAMESE NEURAL NETWORK}Food ingredient pairing prediction method and server using Siamese twins network {METHOD AND SERVER FOR FOOD INGREDIENT PAIRING PREDICTION USING SIAMESE NEURAL NETWORK}

본 발명은 식재료 페어링을 예측하는 것으로, 보다 상세하게는 다양한 종류의 식재료 데이터를 입력으로 샴쌍둥이 네트워크 이용하여 식재료 페어링을 예측하는 방법 및 서버에 관한 것이다.The present invention relates to predicting food ingredient pairing, and more particularly, to a method and server for predicting food ingredient pairing using a Siamese twin network as input of various types of food ingredient data.

요리 업계에는 수많은 재료가 존재하고, 수많은 식재료들이 있지만, 요리사들과 요리연구가들은 소수의 식재료만을 선택해서 사용하고 있다.There are numerous ingredients in the cooking industry, and there are numerous ingredients, but chefs and culinary researchers use only a handful of ingredients.

푸드페어링 분야에서는 푸드페어링 가이드북 등을 통해 다양한 형태의 식재료들의 조합을 추천하나, 푸드페어링은 전문가의 경험을 바탕으로 이루어지기 때문에 주관적인 측면이 강해서 정량화 하기가 어렵고, 새로운 레시피의 추천에 한계가 있다.In the food pairing field, combinations of various types of ingredients are recommended through food pairing guidebooks, etc., but since food pairing is based on the experience of experts, the subjective aspect is strong, making it difficult to quantify, and there are limitations in recommending new recipes .

푸드페어링 연구 중 하나는 음식 재료가 공유하는 향미 화합물의 수를 기반으로 네트워크의 에지가 구축되는 향미 네트워크를 소개한다. 향미 네트워크는 381 성분 및 1,021 향미 화합물로 구성된다. FlavorDB는 기존 식품 저장소를 결합하여 사용자 대화형 페이지가 있는 더 큰 데이터베이스를 제공한다. 음식 브릿징은 두 성분의 화학적 유사성이 낮음에도 불구하고 한 쌍의 친화력을 통해 두 성분 사이에 브릿지를 추가하여 향미 네트워크를 개선한다. 다만 이들은 제한된 수의 향미 화합물 및 천연 성분만을 포함하나, 일부 잘 알려진 음식 쌍(예를 들어, 레드 와인 및 쇠고기)은 공통적으로 향미 화합물이 거의 없다. One of the food pairing studies introduces a flavor network in which the edge of the network is built based on the number of flavor compounds shared by food ingredients. The flavor network consists of 381 components and 1,021 flavor compounds. FlavorDB combines existing food repositories to provide a larger database with user interactive pages. Food bridging improves the flavor network by adding a bridge between the two ingredients through a pair of affinity, despite the poor chemical similarity of the two ingredients. However, they contain only a limited number of flavor compounds and natural ingredients, but some well-known food pairs (eg, red wine and beef) have few flavor compounds in common.

최근 많은 도메인에 인공지능이 적용되는 추세이지만, 아직까지 음식 정보를 다루는 데이터에 대한 인공지능의 적용은 부족한 실정이다.Although artificial intelligence is recently applied to many domains, the application of artificial intelligence to data dealing with food information is still insufficient.

대한민국 공개특허공보 제 10-2018-0086712호 (발명의 명칭: 사물인터넷 기반 식재료 조회 및 레시피 컨텐츠 제공 플랫폼)Republic of Korea Patent Publication No. 10-2018-0086712 (Name of invention: IoT-based food ingredient inquiry and recipe content provision platform)

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서 인공신경망 기반의 모델을 활용하여 식재료 페어링을 예측하는 방법을 제공한다. The present invention provides a method of predicting food ingredient pairing using an artificial neural network-based model as to solve the above-described problems of the prior art.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.

상술한 기술적 과제를 해결하기 위한 기술적 수단으로서, 본 개시의 제 1측면에 따른 서버에 의해 수행되는 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법은, 네트워크를 통해 하나 이상의 요리 정보를 수집하고, 수집된 요리 정보별로 식재료들을 추출하여 식재료 데이터를 생성하는 단계; 식재료 데이터에 기초하여 식재료들간의 동시 출현 빈도에 따른 식재료 페어링 스코어를 계산하여 페어링 데이터를 제공하는 단계; 및 페어링 데이터를 입력으로 하여 식재료 페어링 예측 모델에서 식재료 페어링을 예측한 결과 데이터를 제공하는 단계;를 포함한다. 식재료 페어링 예측 모델은 식재료 데이터 및 식재료 페어링 스코어 데이터를 입력 데이터로 하여, 제1 서브 네트워크와 제2 서브 네트워크로 구성되는 샴쌍둥이 네트워크를 이용해 학습된 것이다.As a technical means for solving the above-described technical problem, the method for predicting food ingredient pairing using the Siamese twin network performed by the server according to the first aspect of the present disclosure is to collect one or more cooking information through the network, and Generating food material data by extracting food ingredients for each information; Providing pairing data by calculating a food ingredient pairing score according to a frequency of simultaneous appearance of ingredients based on the food ingredient data; And providing data as a result of predicting food ingredient pairing in the food ingredient pairing prediction model by inputting pairing data. The food ingredient pairing prediction model is trained by using food ingredient data and ingredient pairing score data as input data and using a Siamese twin network composed of a first sub-network and a second sub-network.

상술한 기술적 과제를 해결하기 위한 기술적 수단으로서, 본 개시의 제 2 측면에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 서버는, 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 프로그램이 저장된 메모리; 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하며, 프로세서는 프로그램의 실행에 의해, 네트워크를 통해 하나 이상의 요리 정보를 수집하고, 수집된 요리 정보별로 식재료들을 추출하여 식재료 데이터를 생성하고, 식재료 데이터에 기초하여 식재료들간의 동시 출현 빈도에 따른 식재료 페어링 스코어를 계산하여 페어링 데이터를 제공하고, 페어링 데이터를 입력으로 하여 식재료 페어링 예측 모델에서 식재료 페어링을 예측한 결과 데이터를 제공한다. 식재료 페어링 예측 모델은 식재료 데이터 및 식재료 페어링 스코어 데이터를 입력 데이터로 하여, 제1 서브 네트워크와 제2 서브 네트워크로 구성되는 샴쌍둥이 네트워크를 이용해 학습된 것이다.As a technical means for solving the above technical problem, a food ingredient pairing prediction server using a Siamese twin network according to a second aspect of the present disclosure includes: a memory storing a food ingredient pairing prediction program using a Siamese twin network; It includes a processor that executes a program stored in the memory, and the processor collects one or more cooking information through a network by execution of the program, extracts food ingredients for each collected cooking information, and generates food material data, based on the food material data. Thus, the pairing data is provided by calculating the food ingredient pairing score according to the frequency of simultaneous appearance between ingredients, and the pairing data is input to provide the result data of predicting food ingredient pairing in the food ingredient pairing prediction model. The food ingredient pairing prediction model is trained by using food ingredient data and ingredient pairing score data as input data and using a Siamese twin network composed of a first sub-network and a second sub-network.

전술한 본원의 과제 해결 수단 중 어느 하나에 의하면, 인공신경망 기반의 샴쌍둥이 네트워크를 식재료 페어링 예측에 활용함으로써 새롭고 다양한 식재료 페어링을 발견할 수 있다.According to any one of the above-described problem solving means of the present application, a new and diverse food ingredient pairing can be discovered by utilizing an artificial neural network-based Siamese twin network for food ingredient pairing prediction.

여러가지 식재료 페어링을 포함하는 대규모 데이터 세트를 구축하여 전문가에 의한 식재료 페어링 추천보다 더 많은 데이터를 분석할 수 있고, 정성 분석을 통해 보완적인 식재료 페어링을 추천하고, 새로운 식재료 페어링을 발견할 수 있다.By constructing a large-scale data set including various food ingredient pairings, more data can be analyzed than food ingredient pairing recommendations by experts, and complementary ingredient pairings can be recommended through qualitative analysis, and new ingredient pairings can be discovered.

도 1은 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 서버의 구성을 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 시스템의 구성을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법의 진행 단계를 나타낸 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 중 식재료 페어링 스코어를 설명하는 도면이다.
도 5는 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 중 식재료 페어링 예측 모델의 아키텍쳐를 설명하는 도면이다.
도 6은 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 중 모델의 예측 결과를 설명하는 도면이다.
도 7은 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법에 대한 절제 테스트 결과를 설명하는 도면이다.
도8은 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 중 알려진 페어링과 새로운 페어링 결과를 설명하는 도면이다.
도 9는 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 중 페어링 랭킹을 설명하는 도면이다.
도 10은 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 중 페어링 랭킹을 설명하는 도면이다.
1 is a block diagram showing the configuration of a food ingredient pairing prediction server using a Siamese twin network according to an embodiment of the present invention.
2 is a block diagram showing the configuration of a food ingredient pairing prediction system using a Siamese twin network according to an embodiment of the present invention.
Figure 3 is a flow chart showing the progress of the food ingredient pairing prediction method using a Siamese twin network according to an embodiment of the present invention.
4 is a diagram illustrating a food ingredient pairing score in a method of predicting food ingredient pairing using a Siamese twin network according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating the architecture of a food ingredient pairing prediction model in a food ingredient pairing prediction method using a Siamese twin network according to an embodiment of the present invention.
6 is a diagram illustrating a prediction result of a model in a food ingredient pairing prediction method using a Siamese twin network according to an embodiment of the present invention.
7 is a diagram illustrating a result of an ablation test for a method of predicting food ingredient pairing using a Siamese twin network according to an embodiment of the present invention.
8 is a diagram illustrating a known pairing and a new pairing result in a food ingredient pairing prediction method using a Siamese twin network according to an embodiment of the present invention.
9 is a diagram illustrating a pairing ranking in a food ingredient pairing prediction method using a Siamese twin network according to an embodiment of the present invention.
10 is a diagram illustrating a pairing ranking of a food ingredient pairing prediction method using a Siamese twin network according to an embodiment of the present invention.

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

본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. Throughout this specification, when a part is said to be "connected" with another part, this includes not only the case that it is "directly connected", but also the case that it is "electrically connected" with another element interposed therebetween. do.

본원 명세서 전체에서, 어떤 부재가 다른 부재 “상에” 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout this specification, when a member is positioned “on” another member, this includes not only the case where a member is in contact with another member, but also the case where another member exists between the two members.

이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 서버의 구성을 도시한 블록도이다.1 is a block diagram showing the configuration of a food ingredient pairing prediction server using a Siamese twin network according to an embodiment of the present invention.

도시된 바와 같이 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 서버(100)는 통신 모듈(110), 메모리(120), 프로세서(130), 데이터베이스(140) 및 입력모듈(150)을 포함할 수 있다.As shown, the food ingredient pairing prediction server 100 using a Siamese twin network may include a communication module 110, a memory 120, a processor 130, a database 140, and an input module 150.

통신모듈(110)은 접속된 사용자 단말(100) 및 연동된 서버(200)와 각각 데이터를 통신한다. 통신모듈(110)은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.The communication module 110 communicates data with the connected user terminal 100 and the linked server 200, respectively. The communication module 110 may be a device including hardware and software necessary to transmit and receive signals such as control signals or data signals through wired/wireless connection with other network devices.

메모리(120)에는 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 프로그램이 저장된다. 식재료 페어링 예측 프로그램은 네트워크를 통해 하나 이상의 요리 정보를 수집하고, 수집된 요리 정보별로 식재료들을 추출하여 식재료 데이터를 생성하고, 식재료 데이터에 기초하여 식재료들간의 동시 출현 빈도에 따른 식재료 페어링 스코어를 계산하여 페어링 데이터를 제공하고, 페어링 데이터를 입력으로 하여 식재료 페어링 예측 모델에서 식재료 페어링을 예측한 결과 데이터를 제공한다. 이 때 식재료 페어링 예측 모델은 식재료 데이터 및 식재료 페어링 스코어 데이터를 입력 데이터로 하여, 제1 서브 네트워크와 제2 서브 네트워크로 구성되는 샴쌍둥이 네트워크를 이용해 학습된 것이다.The memory 120 stores a food ingredient pairing prediction program using the Siamese twin network. The food ingredient pairing prediction program collects one or more cooking information through a network, extracts food ingredients by the collected cooking information to generate food material data, and calculates a food ingredient pairing score according to the frequency of simultaneous appearances between ingredients based on the food material data. Pairing data is provided, and the result data of predicting food ingredient pairing in a food ingredient pairing prediction model is provided by inputting pairing data. In this case, the food ingredient pairing prediction model is trained using the food ingredient data and the ingredient pairing score data as input data, and using a Siamese twin network composed of a first sub-network and a second sub-network.

이러한 메모리(120)에는 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 서버(100)의 구동을 위한 운영 체제나 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 프로그램의 실행 과정에서 발생되는 여러 종류가 데이터가 저장된다. The memory 120 stores various types of data generated during execution of an operating system for driving the food ingredient pairing prediction server 100 using the Siamese twins network or the food ingredient pairing prediction program using the Siamese twins network.

이때, 메모리(120)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치를 통칭하는 것이다. In this case, the memory 120 collectively refers to a nonvolatile storage device that continuously maintains stored information even when power is not supplied and a volatile storage device that requires power to maintain the stored information.

또한, 메모리(120)는 프로세서(130)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행할 수 있다. 여기서, 메모리(120)는 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치 외에 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.In addition, the memory 120 may perform a function of temporarily or permanently storing data processed by the processor 130. Here, the memory 120 may include a magnetic storage media or a flash storage media in addition to a volatile storage device requiring power to maintain stored information, but the scope of the present invention is limited thereto. It does not become.

프로세서(130)는 메모리(140)에 저장된 프로그램을 실행하되, 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측프로그램의 실행에 따르는 전체 과정을 제어한다. 프로세서(130)가 수행하는 각각의 동작에 대해서는 추후 보다 상세히 살펴보기로 한다.The processor 130 executes the program stored in the memory 140, but controls the entire process according to the execution of the food ingredient pairing prediction program using the Siamese twin network. Each operation performed by the processor 130 will be described in more detail later.

이러한 프로세서(130)는 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이 크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.The processor 130 may include all types of devices capable of processing data. For example, it may refer to a data processing device embedded in hardware having a circuit physically structured to perform a function represented by a code or command included in a program. As an example of a data processing device built into the hardware as described above, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, and an application-specific ASIC ( Integrated circuit), a field programmable gate array (FPGA), and the like may be covered, but the scope of the present invention is not limited thereto.

데이터베이스(140)는 프로세서(130)의 제어에 따라, 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측시스템에 필요한 데이터를 저장 또는 제공한다. 이러한 데이터베이스(140)는 메모리(140)와는 별도의 구성 요소로서 포함되거나, 또는 메모리(140)의 일부 영역에 구축될 수도 있다.The database 140 stores or provides data necessary for a food ingredient pairing prediction system using a Siamese twin network under the control of the processor 130. The database 140 may be included as a separate component from the memory 140 or may be built in a partial area of the memory 140.

도 2는 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 시스템의 구성을 도시한 블록도이다. 2 is a block diagram showing the configuration of a food ingredient pairing prediction system using a Siamese twin network according to an embodiment of the present invention.

이용한 식재료 페어링 예측 시스템은 서버(100) 및 복수의 사용자 단말(200)을 포함한다. 이들은 네트워크를 통해 연결 될 수 있다.The used food ingredient pairing prediction system includes a server 100 and a plurality of user terminals 200. They can be connected through a network.

샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법은 서버(100)에서 실시될 수 있다. 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법에서 데이터 분석은 서버(100)에서 이루어지고, 분석데이터 표시는 사용자 단말(200)에서 이루어 질 수 있다.A method for predicting food ingredient pairing using a Siamese twin network may be implemented in the server 100. In the food ingredient pairing prediction method using the Siamese twins network, data analysis may be performed in the server 100 and the analysis data may be displayed in the user terminal 200.

도 3은 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법의 진행 단계를 나타낸 흐름도이다. Figure 3 is a flow chart showing the progress of the food ingredient pairing prediction method using a Siamese twin network according to an embodiment of the present invention.

샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법은 네트워크를 통해 하나 이상의 요리 정보를 수집하고(S110), 수집된 요리 정보별로 식재료들을 추출하여 식재료 데이터를 생성한다(S120).In the method of predicting food ingredient pairing using the Siamese twins network, one or more cooking information is collected through the network (S110), and food ingredients are extracted by extracting food ingredients for each of the collected cooking information (S120).

프로세서(130)는 식재료들을 추출할 때, 순환 신경망에 기반한 식재료 명칭 추출 모듈을 사용하여, 수집된 요리 정보에서 각 단어에 대해 로지스틱 회귀를 수행하여 식재료 명칭을 추출할 수 있다. 이 때 순환 신경망은 양방향 LSTM(Long Short Term Memory models)을 이용할 수 있다. When extracting food ingredients, the processor 130 may extract the food ingredient name by performing logistic regression on each word from the collected cooking information using a food ingredient name extraction module based on a recurrent neural network. In this case, the recurrent neural network can use bidirectional Long Short Term Memory models (LSTM).

예를 들면, 요리와 관련된, 여러 유명 웹 사이트에서 수집 한, 약 백만 개의 레시피와 해당 이미지를 포함하는 데이터 세트인 Recipe1M을 활용할 수 있다. Recipe1M의 모든 내용은 텍스트와 이미지의 두 가지 범주로 나눌 수 있다. Recipe1M의 레시피 텍스트는 식재료 목록과 레시피 지침 두 부분으로 구성된다. Im2Recipe는 양방향 LSTM 기반 재료 명칭 추출 모듈을 사용하여 Recipe1M의 모든 식재료 목록에서 각 단어에 대해 로지스틱 회귀를 수행하여 재료 명칭만 추출할 수 있다. 예를 들어, "2 tbsp의 올리브 오일"은 올리브 오일로 추출된다. 레시피에 대한 지침에서 식재료 명칭을 포함한 모든 어휘를 워드투벡터(word2vec)패션으로 학습시킬 수 있다. For example, you can take advantage of Recipe1M, a data set containing about a million recipes and their images, collected from several popular websites related to cooking. All contents of Recipe1M can be divided into two categories: text and images. Recipe1M's recipe text consists of two parts: an ingredient list and recipe instructions. Im2Recipe uses a bidirectional LSTM-based ingredient name extraction module to perform logistic regression on each word from Recipe1M's list of all ingredients to extract only ingredient names. For example, "2 tbsp of olive oil" is extracted with olive oil. In the instructions for the recipe, all vocabulary, including the names of ingredients, can be learned in a word-to-vector (word2vec) fashion.

예를 들면 하기 표1과 같이 총 30,167 개의 학습된 어휘 중에서 3,567 개의 고유한 재료 명칭을 얻을 수 있다. 알려진 페어(known pairs)는 발생 횟수가 20보다 큰 식재료로 구성된다. 알려진 페어(unknown pairs)는 동시 발생 횟수가 적어도 5회 이상이다.For example, as shown in Table 1 below, 3,567 unique material names can be obtained out of a total of 30,167 learned vocabularies. Known pairs consist of ingredients with an occurrence number of greater than 20. Known pairs have at least five or more simultaneous occurrences.

[표1][Table 1]

Figure pat00001
Figure pat00001

식재료 데이터들이 생성된 이후에는 식재료 데이터에 기초하여 식재료들간의 동시 출현 빈도에 따른 식재료 페어링 스코어를 계산하여 페어링 데이터를 제공한다(S130). After the food material data are generated, the food material pairing score is calculated based on the food material data according to the frequency of simultaneous appearances between the food ingredients, and the pairing data is provided (S130).

전통적인 재료 페어링 방법은 요리 산업의 인간 전문가에 대한 광범위한 경험과 지식에 의존한다. 결과적으로 딥 러닝 모델 학습에 사용할 수 있는 데이터 양이 충분하지 않다. 이 문제를 해결하기 위해 딥 러닝 모델을 학습할 수 있는 새로운 대규모 식재료 페어링 점수 데이터 세트를 구성한다. 식재료 페어링은 재료가 서로 얼마나 잘 보완되는지에 따라 -1에서 1까지의 점수가 부여된다. 대량의 레시피 코퍼스의 식재료의 동시 발생 정보가, 각 레시피에서 재료가 어떻게 결합되는지에 대한 통찰력을 제공 할 수 있다. 이 연구에서는 데이터 집합에 통계적 동시 발생 정보가 포함되어 있으므로 재료 수 또는 조리 절차의 수를 고려하지 않았다.Traditional ingredient pairing methods rely on extensive experience and knowledge of human experts in the culinary industry. As a result, there is not enough data available to train a deep learning model. To solve this problem, we construct a new large-scale food ingredient pairing score data set that can train deep learning models. Food pairings are scored from -1 to 1 depending on how well the ingredients complement each other. Co-occurrence information of ingredients in a large number of recipe corpus can provide insight into how ingredients are combined in each recipe. In this study, the number of ingredients or the number of cooking procedures was not considered because the data set contained statistical co-occurrence information.

페어링 데이터는 요리 정보에서 두 개의 식재료가 개별적으로 발생하는 확률 및 동시에 발생하는 확률을 하기 수학식 1에 의해 계산하는NPMI(normalized point-wise mutual information)를 기초로 식재료 페어링 스코어를 계산하여 정규화한 것일 수 있다.The pairing data is obtained by calculating and normalizing the food ingredient pairing score based on the NPMI (normalized point-wise mutual information), which calculates the probability that two ingredients occur individually and the probability that they occur simultaneously in the cooking information. I can.

[수학식1][Equation 1]

Figure pat00002
Figure pat00002

p(x,y)=

Figure pat00003
p(x,y)=
Figure pat00003

p(x)=

Figure pat00004
p(x)=
Figure pat00004

p(y)=

Figure pat00005
p(y)=
Figure pat00005

Figure pat00006
Figure pat00006

본 발명에서는 PMI (point-wise mutual information)를 기반으로 식재료 페어링 스코어를 계산한다. 상기 수학식 1에 표시된 PMI 점수는 p (x, y)가 동시에 발생하는 두 요소의 확률이며, 이는 개별적으로 p (x), p (y)가 발생하는 각 요소의 확률과 비교된다. 커스텀 스코어는 낮은 동시 발생 페어를 가진 소금 또는 버터와 같이 매우 인기 있는 재료에 불이익을 주어 좋은/나쁜 페어를 정확하게 나타내도록 설계되었다. 반면에 덜 인기 있는 재료로 구성된 페어는 좋은 보완적 페어가 될 수 있다(예: 와사비 & 노리). 회귀 모델을 더 잘 훈련하고 맞추기 위해 상기 수학식 1에 표시된 정규화 된 버전의 PMI (NPMI)를 사용할 수 있다. 포인트 단위 상호 정보는 -1과 +1 사이에서 정규화 될 수 있다. 여기서 -1 (한계)은 절대로 함께 발생하지 않으며 0은 독립, +1은 완전한 동시 발생을 나타낸다. 따라서 -1과 1 사이의 점수를 통해 페어가 적합한지 직관적으로 결정할 수 있다.In the present invention, a food ingredient pairing score is calculated based on point-wise mutual information (PMI). The PMI score indicated in Equation 1 is the probability of two elements in which p (x, y) occurs simultaneously, which is compared with the probability of each element in which p (x) and p (y) occurs individually. Custom scores are designed to accurately represent good/bad pairs by penalizing very popular ingredients such as salt or butter with low co-occurrence pairs. On the other hand, pairs made of less popular ingredients can be good complementary pairs (eg Wasabi & Nori). In order to better train and fit the regression model, we can use the normalized version of the PMI (NPMI) shown in Equation 1 above. The point-unit mutual information can be normalized between -1 and +1. Here, -1 (limit) never occurs together, 0 represents independent, +1 represents complete simultaneous occurrence. So, with a score between -1 and 1, you can intuitively determine if a pair is suitable.

NPMI 점수에 기초한 식재료 페어링 데이터 세트 생성시, 이상적으로는 3,567 개의 고유 재료에서 생성 된 6,359,961 개의 가능한 식재료 페어링 점수 (3,567 2)를 모두 계산할 수 있다. 그러나, 백만개 레시피 텍스트에서 거의 발생하지 않은 식재료가 노이즈 샘플로 작용할 수 있고, 또한 거의 발생하지 않는 식재료는 모델의 성능을 저하시킬 수 있다. 따라서 발생 횟수가 20을 초과하지 않는 식재료와 동시 발생 횟수가 5를 초과하지 않는 식재료 페어링을 제거하여 페어링을 구축했다. 결과는 상기 표1을 참고할 수 있다. 총 356,451 개의 유효한 알려진 페어링을 얻었고, 다른 모든 페어링은 알 수 없는 페어링으로 간주되었다. 식재료 페어링 점수의 최종 분포는 대략적인 정규 분포를 따른다. 분포의 상위 5 % (μ + 2σ)에서 재료 페어링 점수 (0.274 이상)는 보수 쌍이며, 음수를 가진 점수는 표 2에 표시된 것처럼 불량 페어링의 예라고 가정할 수 있다.When creating a food pairing data set based on the NPMI score, ideally, you can calculate all 6,359,961 possible food pairing scores (3,567 2) generated from 3,567 unique ingredients. However, foods that rarely occur in one million recipe texts can serve as noise samples, and foods that rarely occur can degrade the performance of the model. Therefore, pairings were established by removing food ingredients whose occurrence frequency does not exceed 20 and food ingredients whose number of occurrences does not exceed five. The results can be referred to Table 1 above. A total of 356,451 valid known pairings were obtained, and all other pairings were considered unknown pairings. The final distribution of food pairing scores follows a roughly normal distribution. In the top 5% of the distribution (μ + 2σ), the material pairing score (0.274 or higher) is the complement pair, and the score with a negative number can be assumed to be an example of poor pairing, as shown in Table 2.

[표2][Table 2]

Figure pat00007
Figure pat00007

재료 페어링 데이터 세트 중 바닐라와 페어링 하기 위한 데이터 세트에서 5 가지 최고의 재료를 표2에 표시하였다. 전문가의 판단인 The Flavor Bible에 따르는 경우 또한 초콜릿, 커피, 크림, 아이스크림 또는 설탕을 바닐라와 함께 사용하는 것을 추천한다.Among the material pairing data sets, the five best ingredients in the data set for pairing with vanilla are shown in Table 2. In accordance with expert judgment, The Flavor Bible, it is also recommended to use chocolate, coffee, cream, ice cream or sugar with vanilla.

프로세서(130)는 식재료 페어링 스코어를 계산한 이후, 하나 이상의 정규화된 식재료 페어링 스코어를 이용하여 식재료 페어링 스코어 데이터베이스를 구축할 수 있다.After calculating the food ingredient pairing score, the processor 130 may build a food ingredient pairing score database using one or more normalized ingredient pairing scores.

페어링 데이터를 입력으로 하여 식재료 페어링 예측 모델에서 식재료 페어링을 예측한 결과 데이터를 제공한다(S140). 이 때 식재료 페어링 예측 모델은 식재료 데이터 및 식재료 페어링 스코어 데이터를 입력 데이터로 하여, 제1 서브 네트워크와 제2 서브 네트워크로 구성되는 샴쌍둥이 네트워크를 이용해 학습된 것일 수 있다.The pairing data is input and the result data of predicting food ingredient pairing in the food ingredient pairing prediction model is provided (S140). In this case, the food ingredient pairing prediction model may be learned by using the food ingredient data and the food ingredient pairing score data as input data, and using a Siamese twin network composed of a first sub-network and a second sub-network.

식재료 페어링 예측 모델은 제1 식재료와 제2 식재료에 대한 식재료 페어링 스코어가 산출되도록 가중치를 갱신하는 것이고, 시맨틱 특징을 위한 딥 레이어와 희소성 특징을 위한 와이드 레이어를 통해 식재료 페어링 스코어를 계산할 수 있다.The food ingredient pairing prediction model updates weights to calculate food ingredient pairing scores for the first ingredient and the second ingredient, and the ingredient pairing score may be calculated through a deep layer for semantic features and a wide layer for sparsity features.

식재료 페어링 예측 모델은 실제 식재료 페어링 스코어(yab)와 코사인 유사도를 이용한 예측 식재료 페어링 스코어(Yab)를 이용한 손실 함수(J(θ))를 하기 수학식 2에 의해 계산하고, 손실 함수의 결과값이 최소화되도록 학습을 통해 최적의 가중치를 결정하는 것일 수 있다.The food ingredient pairing prediction model calculates the loss function (J(θ)) using the actual food ingredient pairing score (y ab ) and the predicted food ingredient pairing score (Y ab ) using the cosine similarity by Equation 2 below, and the result of the loss function It may be to determine the optimal weight through learning so that the value is minimized.

[수학식 2][Equation 2]

Figure pat00008
Figure pat00008

N: 학습에 사용된 총 입력 수N: Total number of inputs used for training

수학식 2는, 손실 함수 (평균 제곱 오차)를 최소화하기 위한 것으로, L은 학습 중에 최소화 될 계산 손실 함수이고, Θ는 학습 할 모델 매개 변수이고 N은 입력쌍에 대한 학습 데이터 총수를 각각 나타낸다. yab는 실제 점수 값이고, Yab는 예측 점수 값을 나타낸다. 제안된 식재료 페어링 예측 모델은 Adam 옵티마이저를 사용할 수 있다. Adam 옵티마이저는 모멘텀을 사용해 정확도를 향상시키고, RMSprop을 이용해 보폭 민감도를 보완하였으며, 학습 속도를 빠르고 안정적으로 할 수 있다.Equation 2 is for minimizing the loss function (mean squared error), L is the computational loss function to be minimized during training, Θ is the model parameter to be trained, and N is the total number of training data for the input pair, respectively. yab is the actual score value, and Yab is the predicted score value. The proposed food ingredient pairing prediction model can use the Adam optimizer. Adam optimizer uses momentum to improve accuracy, and RMSprop to compensate for stride sensitivity, and can speed up learning quickly and stably.

프로세서(130)는 식재료를 나타내는 노드와 식재료와 식재료의 관련도를 나타내는 에지(Edge)로 구성되는 그래프 정보를 생성할 수 있고, 식재료 페어링 예측 모델은 일대다 식재료 페어링을 학습하기 위해 그래프 기반 신경망 아키텍처를 사용할 수 있다.The processor 130 may generate graph information consisting of a node representing food ingredients and an edge representing the degree of relationship between food ingredients and food ingredients, and the food ingredient pairing prediction model is a graph-based neural network architecture to learn one-to-many food ingredient pairing. You can use

식재료 페어링을 예측한 결과 데이터는 식재료 페어링 스코어에 기초한 식재료 페어링 랭킹 리스트를 포함할 수 있고, 요리 정보에 포함된 식재료 페어링 스코어, 새로운 식재료 페어링 스코어 및 추천 식재료 페어링 데이터를 포함할 수 있다.The result data of predicting food ingredient pairing may include an ingredient pairing ranking list based on the ingredient pairing score, and may include an ingredient pairing score included in the cooking information, a new ingredient pairing score, and recommended ingredient pairing data.

도 4는 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 중 식재료 페어링 스코어를 설명하는 도면이다.4 is a diagram illustrating a food ingredient pairing score in a method of predicting food ingredient pairing using a Siamese twin network according to an embodiment of the present invention.

잘 알려진 식재료 페어링(예: 진앤 토닉 워터, 소금 & 고추, 바닐라 & 양파)을 포함하는 데이터 세트에 대한 훈련을 통해, 식재료 페어링 예측 모델은 덜 인기 있거나 자주 사용되지 않는 알려지지 않은 식재료 페어링 스코어(예: 진 & 아쿠아 비트, 와사비 & 노리, 라임 & 노팔)를 예측할 수 있다.By training on datasets that include well-known ingredient pairings (e.g., Gin & Tonic Water, Salt & Pepper, Vanilla & Onion), the ingredient pairing predictive model is less popular or less frequently used and unknown ingredient pairing scores (e.g.: Gin & Aqua Beet, Wasabi & Nori, Lime & Nopal) can be predicted.

도 5는 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 중 식재료 페어링 예측 모델의 아키텍쳐를 설명하는 도면이다.FIG. 5 is a diagram illustrating the architecture of a food ingredient pairing prediction model in a food ingredient pairing prediction method using a Siamese twin network according to an embodiment of the present invention.

샴쌍둥이 네트워크는 서로 다른 두 입력 사이의 유사성을 배우기 위해 다양한 작업에 사용될 수 있으며, 샴쌍둥이 네트워크의 일부 변형이 사용될 수 있다. 본 발명에서는 두 문장을 입력으로받는 Manhattan LSTM 모델을 활용할 수 있다. Manhattan LSTM 모델은 각 문장에 대한 벡터 표현을 생성하고 간단한 함수 exp (h1 h2)를 사용하여 벡터 표현 사이의 유사성을 계산한다. 여기서 h1과 h2는 임베딩 벡터이다. 또한 포지티브 쌍에 대한 부분 손실 기능과 네거티브 쌍에 대한 부분 손실 기능으로 나눌 수 있는 맞춤형 대비 손실 기능을 활용할 수 있다. 손실 함수는 음수 쌍의 두 벡터 표현 사이의 거리를 넓히고 양수 쌍의 두 벡터 표현 사이의 거리를 좁힌다. 이 두 기능이 샴쌍둥이 네트워크를 사용하고 동일한 유형의 두 가지 다른 입력을 받는것과 달리, 샴쌍둥이 네트워크 모델 중 한 입력을 받아 다른 입력을 평가하는 표준으로 사용할 수도 있다. 입력은 표준으로 사용된 입력과의 유사성을 기반으로 평가된다. 본 발명은 위에서 언급 한 단순한 거리 기반 유사성을 넘어 식재료 페어링의 의미론적 관계를 훈련 시키도록 설계되었다.Siamese twins networks can be used for a variety of tasks to learn the similarity between two different inputs, and some variations of the Siamese twins network can be used. In the present invention, a Manhattan LSTM model that receives two sentences as input may be used. The Manhattan LSTM model generates vector representations for each sentence and computes the similarity between vector representations using a simple function exp(h1 h2). Where h1 and h2 are embedding vectors. In addition, a custom contrast loss function, which can be divided into a partial loss function for a positive pair and a partial loss function for a negative pair, is available. The loss function widens the distance between two vector representations of a negative pair and narrows the distance between two vector representations of a positive pair. Unlike these two functions using a Siamese twin network and accepting two different inputs of the same type, it can also take one input of a Siamese twin network model and use it as a standard to evaluate the other. The input is evaluated based on its similarity to the input used as the standard. The present invention is designed to train the semantic relationship of food ingredient pairing beyond the simple distance-based similarity mentioned above.

식재료 페어링 예측 모델의 아키텍처는 두가지 주요 구성 요소를 포함한다. 첫번째는 샴쌍둥이 네트워크를 사용하는 식재료 표현 컴포넌트(모듈)이다. 동일한 두개의 동일한 MLP(Multi-Layer Perceptron) 가중치는 각각 상이한 300 차원 워드 벡터 표현을 수신한다. 각 MLP에는 입력 재료 벡터를 처리하는 완전히 연결된 두 개의 레이어가 있다. (Xa, Xb)를 300 차원 단어 벡터로 표현 된 하나의 식재료 페어링이라고 보면, W* 및 b*는 각각 MLP의 공유 가중치 및 바이어스이며, f (·)는 비선형성에 대한 활성화 함수를 나타낸다. 우리는 정류 선형 단위 (ReLU)로 f (·) (max (x, 0))를 사용한다. 이 페어의 학습 된 표현 (ha, hb)은 수학적으로 하기 수학식 3과 같이 표현된다.The architecture of the food pairing prediction model includes two main components. The first is a food ingredient expression component (module) using the Siamese twins network. The same two identical Multi-Layer Perceptron (MLP) weights each receive a different 300-dimensional word vector representation. Each MLP has two fully connected layers that process the input material vector. Considering (X a , X b ) as one food ingredient pairing expressed as a 300-dimensional word vector, W * and b * are the shared weights and biases of MLP, respectively, and f (·) represents the activation function for nonlinearity. We use f (·) (max (x, 0)) as the rectified linear unit (ReLU). The learned expression (h a , h b ) of this pair is mathematically expressed as Equation 3 below.

[수학식 3][Equation 3]

Figure pat00009
Figure pat00010
Figure pat00011
이고 i 및 j는 숨겨진 유닛의 수이다.
Figure pat00009
Figure pat00010
Figure pat00011
And i and j are the number of hidden units.

'페어링 스코어 예측 컴포넌트(모듈)'에서는 광범위한 딥 러닝(wide&deep learning)을 사용한다. 레이어는 와이드 레이어와 딥 레이어로 나뉜다. 딥 레이어에서, 2 개의 j 차원 학습 표현 벡터가 연결되어 2 개의 성분의 조인트 표현을 계산하는 다른 MLP로 전달된다. 이 조인트 표현은 딥 벡터 d로 표시되며 하기 수학식4와 같이 수학적으로 표현된다.The'pairing score prediction component (module)' uses wide&deep learning. Layers are divided into wide layers and deep layers. In the deep layer, two j-dimensional learning representation vectors are concatenated and passed to another MLP that computes the joint representation of the two components. This joint expression is expressed as a dip vector d and is mathematically expressed as in Equation 4 below.

[수학식 4][Equation 4]

Figure pat00012
Figure pat00012

Figure pat00013
이고 j는 각 레이어의 숨겨진 유닛의 수. 와이드 레이어에서, 2 개의 j 차원 학습 표현 벡터의 외부 곱이 계산되고 j × j 행렬이 생성된다. 행렬은 하기 수학식5와 같이 수학적으로 표현되는 j 2 차원의 와이드 벡터 w로 평탄화된다.
Figure pat00013
And j is the number of hidden units in each layer. In the wide layer, the outer product of two j-dimensional learning expression vectors is calculated and a j × j matrix is generated. The matrix is flattened into a j2-dimensional wide vector w expressed mathematically as in Equation 5 below.

[수학식 5][Equation 5]

Figure pat00014
Figure pat00014

여기서 g는 n × n 행렬을 n2 차원의 단일 벡터로 변환하는 평탄화 함수를 나타낸다.Where g denotes a flattening function that transforms an n × n matrix into a single vector of n 2 dimensions.

이어서 와이드 벡터 w는 딥 벡터 d에 직접 연결된다. 와이드 벡터와 딥 벡터의 연결은 마지막으로 완전히 연결된 레이어로 전달되어 최종 출력에 대한 페어링 스코어를 계산한다. 전체적으로 (w, d)가 와이드 벡터와 딥 벡터의 연결이므로 식재료 페어 (Xa, Xb)에 대한 최종 출력 점수 Y는 수학적으로 하기 수학식 6과 같이 계산된다.Then the wide vector w is directly connected to the deep vector d. The concatenation of the wide vector and the deep vector is finally passed to the fully connected layer to calculate the pairing score for the final output. Overall, since (w, d) is a connection between the wide vector and the deep vector, the final output score Y for the food ingredient pair (Xa, Xb) is mathematically calculated as in Equation 6 below.

[수학식 6][Equation 6]

Figure pat00015
Figure pat00015

여기서

Figure pat00016
Figure pat00017
이고, j는 각 레이어에서 숨겨진 유닛의 수이다.here
Figure pat00016
And
Figure pat00017
And j is the number of hidden units in each layer.

식재료 페어링 예측 모델은 실제 식재료 페어링 스코어(yab)와 코사인 유사도를 이용한 예측 식재료 페어링 스코어(Yab)를 이용한 손실 함수(J(θ))를 하기 수학식 7에 의해 계산하고, 손실 함수의 결과값이 최소화되도록 학습을 통해 최적의 가중치를 결정하는 것일 수 있다.In the food ingredient pairing prediction model, the loss function (J(θ)) using the predicted food ingredient pairing score (Y ab ) using the actual food ingredient pairing score (y ab ) and the cosine similarity was calculated by Equation 7 below, and the result of the loss function It may be to determine the optimal weight through learning so that the value is minimized.

[수학식 7][Equation 7]

Figure pat00018
Figure pat00018

수학식 7은, 손실 함수 (평균 제곱 오차)를 최소화하기 위한 것으로, L은 학습 중에 최소화 될 계산 손실 함수이고, Θ는 학습 할 모델 매개 변수이고 N은 입력쌍에 대한 학습 데이터 총수를 각각 나타낸다. yab는 실제 점수 값이고, Yab는 예측 점수 값을 나타낸다. 제안된 식재료 페어링 예측 모델은 Adam 옵티마이저를 사용할 수 있다. Adam 옵티마이저는 모멘텀을 사용해 정확도를 향상시키고, RMSprop을 이용해 보폭 민감도를 보완하였으며, 학습 속도를 빠르고 안정적으로 할 수 있다.Equation 7 is for minimizing the loss function (mean squared error), L is the calculation loss function to be minimized during training, Θ is the model parameter to be trained, and N is the total number of training data for the input pair, respectively. yab is the actual score value, and Yab is the predicted score value. The proposed food ingredient pairing prediction model can use the Adam optimizer. Adam optimizer uses momentum to improve accuracy, and RMSprop to compensate for stride sensitivity, and can speed up learning quickly and stably.

도 6은 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 중 모델의 예측 결과를 설명하는 도면이다.6 is a diagram illustrating a prediction result of a model in a food ingredient pairing prediction method using a Siamese twin network according to an embodiment of the present invention.

식재료 페어링 예측 모델을 평가하기 전에 먼저 기본 모델을 평가할 수 있다. 먼저 두 입력 성분 벡터 간의 코사인 유사성을 계산하여 페어링 점수를 예측한다. 그런 다음 Python Scikit-learn 패키지의, 선형 지원 벡터 회귀 분석기, 임의의 포레스트 회귀 분석기, 추가 트리 회귀 분석기, SGD 회귀 분석기 및 그라디언트 부스팅에 해당하는 기계 학습 모델을 기본 모델로 사용한다. 또한 간단한 버전의 샴쌍둥이 네트워크를 기본 모델 중 하나에 사용한다. 이 모든 모델에는 빌트인 그리드 검색으로 추정 된 하이퍼 파라미터가 장착되어 있다.Before evaluating the food pairing prediction model, the base model can be evaluated first. First, the pairing score is predicted by calculating the cosine similarity between the two input component vectors. Then, we use the machine learning model equivalent of the Python Scikit-learn package, a linear support vector regression analyzer, an arbitrary forest regression analyzer, an additional tree regression analyzer, an SGD regression analyzer, and gradient boosting as the base model. It also uses a simple version of the Siamese twins network in one of the base models. All of these models are equipped with hyperparameters estimated by built-in grid search.

하기 표 3에서 설명한대로 다음 5 가지 메트릭을 사용하여 모델 성능을 평가한다. RMSE (Root Mean Square Error), MSE (Mean Square Error), MAE (Mean Absolute Error), CORR (correlation) 및 R2와 비교할 때, 본 발명의 식재료 페어링 예측 모델(KitcheNette)은 모든 메트릭에서 기본 모델보다 성능이 뛰어나다.The following five metrics are used to evaluate model performance as described in Table 3 below. Compared with RMSE (Root Mean Square Error), MSE (Mean Square Error), MAE (Mean Absolute Error), CORR (correlation) and R2, the food ingredient pairing prediction model (KitcheNette) of the present invention performs better than the basic model in all metrics. This is excellent.

[표3][Table 3]

Figure pat00019
Figure pat00019

NDCG @ K (Normalized Discounted Cumulative Gain)를 사용하여 모델의 순위 성능을 평가하고 (도 6a) ROC 곡선을 사용하여 모델의 감도를 평가한다 (도 6b). NDCG @ K의 관점에서, 우리의 모델은 정확한 예측을 하는 데 있어 모든 기본 모델보다 뛰어나다. ROC 곡선은 모델의 분류 성능을 측정하는 데에도 사용된다. 예측 점수가 0.274 이상인 모든 페어링은 보완적인 페어링으로 간주한다. 점수가 낮은 페어링은 비 보완적인 것으로 간주한다. ROC 곡선 결과는 본 발명의 식재료 페어링 예측 모델이 보완적 페어링 분류에서 다른 모든 모델보다 높은 성능을 달성함을 보여준다.The ranking performance of the model was evaluated using NDCG @ K (Normalized Discounted Cumulative Gain) (Fig. 6a) and the sensitivity of the model was evaluated using the ROC curve (Fig. 6b). From NDCG @ K's point of view, our model outperforms all basic models in making accurate predictions. The ROC curve is also used to measure the classification performance of the model. All pairings with a predicted score of 0.274 or higher are considered as complementary pairings. Pairing with a low score is considered non-complementary. The ROC curve results show that the food ingredient pairing prediction model of the present invention achieves higher performance than all other models in the complementary pairing classification.

도 7은 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법에 대한 절제 테스트 결과를 설명하는 도면이다.7 is a diagram illustrating a result of an ablation test for a method for predicting food ingredient pairing using a Siamese twin network according to an embodiment of the present invention.

본 발명의 각 기능을 평가하기 위해 절제 테스트를 수행한다. 도 7에서 알 수 있듯이, 본 발명의 식재료 페어링 예측 모델의 광범위하고 심층적인 아키텍처 및 구성 요소 포함은 성능을 향상시키는 데 도움이 된다. 본 발명의 식재료 페어링 예측 모델이 샴쌍둥이 네트워크에서 배운 표현의 코사인 유사성을 사용하면, 식재료 페어링 스코어 예측에서 가장 낮은 성능을 얻는다. 두 표현의 연결(딥 레이어)은 모델의 성능을 크게 향상시킨다. 이것은 식재료 페어링 스코어를 예측하기 위해 의미론적 관계가 학습되어야 함을 나타낸다. 또한 두 가지 성분의 관계를 배우는 와이드 딥 아키텍처는 모델의 성능을 더욱 향상시킨다. 또한 무작위로 초기화 된 벡터 대신 입력 벡터에 성분 임베딩을 사용하면 모델의 성능이 향상된다.Ablation tests are performed to evaluate each function of the present invention. As can be seen from FIG. 7, the inclusion of extensive and in-depth architectures and components of the food ingredient pairing prediction model of the present invention helps to improve performance. When the food ingredient pairing prediction model of the present invention uses the cosine similarity of the expression learned in the Siamese twin network, the lowest performance is obtained in the food ingredient pairing score prediction. The connection of the two expressions (deep layer) greatly improves the performance of the model. This indicates that semantic relationships must be learned to predict food ingredient pairing scores. In addition, the wide deep architecture that learns the relationship between the two components further improves the model's performance. Also, using component embeddings in the input vectors instead of randomly initialized vectors improves the model's performance.

도8은 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 중 알려진 페어링과 새로운 페어링 결과를 설명하는 도면이다.8 is a diagram illustrating a known pairing and a new pairing result in a food ingredient pairing prediction method using a Siamese twin network according to an embodiment of the present invention.

자주 사용하지 않는 음식 재료 페어링에 대한 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법의 예측의 정확성을 입증하기 위해 알려진 재료 페어링과 알려지지 않은 재료 페어링의 예측 결과를 비교 분석한다. 도 8에 도시된 바와 같이, 3 개의 유사한 탄산 화이트 와인 (샴페인, 스파클링 와인 및 프로 세코)을 선택한 후, 다른 재료와 페어를 이루는 각 와인의 점수를 계산하고 하기 세 가지 사례에 대해 가능한 모든 페어링을 분석했다.In order to verify the accuracy of the prediction of the food ingredient pairing prediction method using the Siamese twin network for the food ingredient pairing that is not frequently used, the prediction results of the known ingredient pairing and the unknown ingredient pairing were compared and analyzed. As shown in FIG. 8, after selecting three similar carbonated white wines (champagne, sparkling wine and prosecco), the score of each wine paired with other ingredients was calculated, and all possible pairings were made for the following three cases. Analyzed.

사례 1. 이미 높은 평가를 받는 잘 알려진 성분인 샴페인과 오렌지 트위스트를 비교를 위한 페어링으로 사용했다. 오렌지 트위스트 & 스파클링 와인과 오렌지 트위스트 & 프로 세코 페어링은 드문 페어링이기 때문에 페어링 스코어가 없다. 또한 오렌지 트위스트와 비슷하지만 세 가지 와인 중 자주 사용되지 않는 두 가지 다른 성분 (오렌지 웨지 및 라임 트위스트)을 선택했다. 결과적으로 한 쌍의 알려진 페어링과 8 개의 알려지지 않은 페어링이 있다. 9 개의 모든 페어링의 예측 결과는 일관되게 높았다 (0.33-0.45).Case 1. We used champagne and orange twist, which are well-known ingredients that are already highly regarded, as a pairing for comparison. Orange Twist & Sparkling Wine and Orange Twist & Pro Seco pairings are rare, so there is no pairing score. We also chose two other ingredients (orange wedges and lime twist) that are similar to the orange twist, but aren't used often among the three wines. As a result, there is a pair of known pairings and eight unknown pairings. The predicted results of all 9 pairings were consistently high (0.33-0.45).

사례 2. 계산된 페어링 스코어를 기반으로, 우리는 와인을 서로 다른 성분과 동시에 보완하여 샴페인과 엘더 플라워 리큐어, 스파클링 와인 & 크림 드 카시스, 프로 세코 & 레몬 셔벗 등 세 가지 고유 한 페어링을 만들었다. 나머지 6 개의 알려지지 않은 페어링의 예측 결과는 3 개의 알려진 알려진 페어링과 비교하여 지속적으로 높았다 (0.29-0.42).Case 2. Based on the calculated pairing scores, we simultaneously supplemented the wine with different ingredients to create three unique pairings: Champagne and Elderflower Liqueur, Sparkling Wine & Creme de Cassis, and Prosecco & Lemon Sorbet. The predicted outcome of the remaining 6 unknown pairings was consistently high compared to the 3 known known pairings (0.29-0.42).

사례 3. 마지막으로, 우리는 샴페인과 최악의 페어링을 만들고 나머지 두 와인과 짝을 이루어 양파를 선택했다. 두 개의 알려지지 않은 페어링 (스파클링 와인 & 양파 및 프로 세코 & 양파)의 예측 결과는 알려진 페어링 (샴페인 & 양파)의 점수만큼 일관되게 낮았다.Case 3. Finally, we made the worst pairing with champagne and paired with the other two wines to select onions. The predicted results of the two unknown pairings (sparkling wine & onion and prosecco & onion) were consistently as low as the score of the known pairing (champagne & onion).

결론적으로, 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법은 유추적 추론에 기초하여 특정 페어링에 대해 예측할 수 있음을 보여준다. 이는 A가 B와 유사하고 A가 C와 좋은 페어링을 형성하면 B도 좋은 페어링을 형성할 가능성이 높다는 것을 나타낸다. 이 추론을 사용하면 스코어가 계산되지 않은 식재료 페어링에서 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법의 성능이 향상되었다고 생각할 수 있다.In conclusion, it is shown that the food ingredient pairing prediction method using the Siamese twin network can predict a specific pairing based on analogical inference. This indicates that if A is similar to B and A forms a good pairing with C, then B is likely to form a good pairing. Using this inference, it can be considered that the performance of the method of predicting food pairing using the Siamese twin network in food pairing for which scores are not calculated.

도 9는 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 중 페어링 랭킹을 설명하는 도면이다.9 is a diagram illustrating a pairing ranking in a food ingredient pairing prediction method using a Siamese twin network according to an embodiment of the present invention.

샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법(KitcheNette)에 의해 등급이 매겨진 재료와 FlavorDB 4에서 등급이 매겨진 재료 사이의 비교 분석을 수행한다. 널리 사용되는 4 가지 음식 재료(토마토, 양파, 후추 및 계피)를 선택하고 도12에 나타낸 바와 같이 각각의 선택된 재료에 대한 상위 10 가지 재료 페어링을 검색한다. 본 발명에 따르면 일반적으로 일상적인 요리 및 식사에 자주 사용되는 음식 재료(예: 토마토 및 양상추, 양파 및 갈은 소고기, 후추 및 오레가노, 계피 및 정향, 사과)를 추천한다. 반면 FlavorDB는 선택된 재료와 많은 화합물을 공유하는 음식 재료를 추천했지만, 일부 추천 사항은 조리 및 식사를 위해 선택된 재료(예: 토마토 및 차, 양파 및 코코아, 후추 및 오렌지)와 잘 맞지 않았다.A comparative analysis is performed between ingredients graded by the food pairing prediction method (KitcheNette) using the Siamese twins network and ingredients graded in FlavorDB 4. Four popular food ingredients (tomato, onion, pepper and cinnamon) are selected and the top 10 ingredient pairs are searched for each selected ingredient as shown in Fig. 12. According to the present invention, food ingredients commonly used in daily cooking and meals (eg, tomatoes and lettuce, onions and ground beef, pepper and oregano, cinnamon and cloves, apples) are recommended. On the other hand, FlavorDB recommended selected ingredients and food ingredients that share many compounds, but some recommendations did not fit well with ingredients selected for cooking and eating (eg, tomatoes and tea, onions and cocoa, peppers and oranges).

도 10은 본 발명의 일 실시예에 따른 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법 중 페어링 랭킹을 설명하는 도면이다.10 is a diagram illustrating a pairing ranking of a food ingredient pairing prediction method using a Siamese twin network according to an embodiment of the present invention.

샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법에 의하면 새로운 음식-음료 페어링을 찾을 수 있다. 음식 및 음료 권장 사항에 대한 전문 컨텐츠인 “The Flavor Bible” 및“WHAT to DRINK with WHAT you EAT”의 권장 사항을 도13의 recommendations에 표시하여 본 발명(KitcheNette)과 비교했다. 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법에 의하면 이 책의 요리 전문가의 추천 사항과 일치하는 추천 사항을 제공 할뿐만 아니라 두 권의 책보다 훨씬 더 많은 페어링을 추천한다.A new food-beverage pairing can be found according to the method of predicting food ingredient pairing using the Siamese twin network. Recommendations of “The Flavor Bible” and “WHAT to DRINK with WHAT you EAT”, which are specialized content for food and beverage recommendations, were displayed in the recommendations of FIG. 13 and compared with the present invention (KitcheNette). According to the method of predicting food ingredient pairing using the Siamese twins network, it not only provides recommendations that match the recommendations of culinary experts in this book, but also recommends far more pairings than two books.

레드 와인과 화이트 와인의 경우, 본 발명은 다양한 고기 (예: 쇠고기, 양고기) 및 특정 해산물 재료 (예: 홍합, 랍스터, 새우)를 각각 추천했다. 본 발명은 사케와 짝을 이루는 본격적인 일본 음식 재료를 추천했으며, 이는 데이터 중심 모델이 아시아 요리에서 덜 일반적인 음식 재료를 추천 할 수 있음을 보여준다.For red and white wines, the present invention recommended a variety of meats (eg beef, lamb) and specific seafood ingredients (eg mussels, lobster, shrimp), respectively. The present invention recommended authentic Japanese food ingredients paired with sake, which shows that data-driven models can recommend less common food ingredients in Asian cuisine.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. An embodiment of the present invention may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include a computer storage medium. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Although the methods and systems of the present invention have been described in connection with specific embodiments, some or all of their components or operations may be implemented using a computer system having a general-purpose hardware architecture.

전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present application is for illustrative purposes only, and those of ordinary skill in the art to which the present application pertains will be able to understand that it is possible to easily transform it into other specific forms without changing the technical spirit or essential features of the present application. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present application is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present application.

100: 서버
110: 통신 모듈
120: 메모리
130: 프로세서
140: 데이터베이스
150: 입력모듈
200: 사용자 단말
100: server
110: communication module
120: memory
130: processor
140: database
150: input module
200: user terminal

Claims (12)

서버에 의해 수행되는 샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법에 있어서,
(a) 네트워크를 통해 하나 이상의 요리 정보를 수집하고, 상기 수집된 요리 정보별로 식재료들을 추출하여 식재료 데이터를 생성하는 단계;
(b) 상기 식재료 데이터에 기초하여 식재료들간의 동시 출현 빈도에 따른 식재료 페어링 스코어를 계산하여 페어링 데이터를 제공하는 단계; 및
(c) 상기 페어링 데이터를 입력으로 하여 식재료 페어링 예측 모델에서 식재료 페어링을 예측한 결과 데이터를 제공하는 단계;를 포함하되,
상기 식재료 페어링 예측 모델은 상기 식재료 데이터 및 식재료 페어링 스코어 데이터를 입력 데이터로 하여, 제1 서브 네트워크와 제2 서브 네트워크로 구성되는 샴쌍둥이 네트워크를 이용해 학습된 것인,
샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법.
In the food ingredient pairing prediction method using a Siamese twin network performed by a server,
(a) collecting one or more cooking information through a network, extracting food ingredients according to the collected cooking information, and generating food material data;
(b) providing pairing data by calculating a food ingredient pairing score according to the frequency of simultaneous appearance of ingredients based on the food ingredient data; And
(c) providing data as a result of predicting food ingredient pairing in a food ingredient pairing prediction model by inputting the pairing data; including,
The food ingredient pairing prediction model is learned by using the food ingredient data and the ingredient pairing score data as input data, and using a Siamese twin network consisting of a first sub-network and a second sub-network,
Food ingredient pairing prediction method using Siamese twins network.
제 1 항에 있어서,
상기 (a) 단계에서 식재료들을 추출할 때, 순환 신경망에 기반한 식재료 명칭 추출 모듈을 사용하여, 수집된 요리 정보에서 각 단어에 대해 로지스틱 회귀를 수행하여 식재료 명칭을 추출하는,
샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법.
The method of claim 1,
When extracting food ingredients in step (a), using a food ingredient name extraction module based on a recurrent neural network, performing logistic regression on each word from the collected cooking information to extract food ingredient names,
Food ingredient pairing prediction method using Siamese twins network.
제 2 항에 있어서,
상기 순환 신경망은 양방향 LSTM(Long Short Term Memory models)에 기반한,
샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법.
The method of claim 2,
The recurrent neural network is based on bidirectional Long Short Term Memory models (LSTM),
Food ingredient pairing prediction method using Siamese twins network.
제 1 항에 있어서,
상기 페어링 데이터는 상기 요리 정보에서 두 개의 식재료가 개별적으로 발생하는 확률 및 동시에 발생하는 확률을 하기 수학식 1에 의해 계산하는NPMI(normalized point-wise mutual information)를 기초로 식재료 페어링 스코어를 계산하여 정규화한 것인,
샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법.
[수학식1]
Figure pat00020

p(x,y)=
Figure pat00021

p(x)=
Figure pat00022

p(y)=
Figure pat00023

Figure pat00024
The method of claim 1,
The pairing data is normalized by calculating a food ingredient pairing score based on the NPMI (normalized point-wise mutual information), which calculates the probability that two ingredients occur individually and the probability that they occur simultaneously in the cooking information. One,
Food ingredient pairing prediction method using Siamese twins network.
[Equation 1]
Figure pat00020

p(x,y)=
Figure pat00021

p(x)=
Figure pat00022

p(y)=
Figure pat00023

Figure pat00024
제 4 항에 있어서,
상기 (b) 단계에서, 하나 이상의 상기 정규화된 식재료 페어링 스코어를 이용하여 식재료 페어링 스코어 데이터베이스를 구축하는 단계를 포함하는,
샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법.
The method of claim 4,
In the step (b), comprising the step of building a food ingredient pairing score database using the one or more normalized food ingredient pairing scores,
Food ingredient pairing prediction method using Siamese twins network.
제 1 항에 있어서,
상기 식재료 페어링 예측 모델은 제1 식재료와 제2 식재료에 대한 상기 식재료 페어링 스코어가 산출되도록 가중치를 갱신하는 것이고, 시맨틱 특징을 위한 딥 레이어와 희소성 특징을 위한 와이드 레이어를 통해 식재료 페어링 스코어를 계산하는 것인,
샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법.
The method of claim 1,
The food ingredient pairing prediction model updates weights to calculate the food ingredient pairing score for the first ingredient and the second ingredient, and calculates the ingredient pairing score through a deep layer for semantic features and a wide layer for sparsity features. sign,
Food ingredient pairing prediction method using Siamese twins network.
제 6 항에 있어서,
상기 식재료 페어링 예측 모델은 실제 식재료 페어링 스코어(yab)와 코사인 유사도를 이용한 예측 식재료 페어링 스코어(Yab)를 이용한 손실 함수(J(θ))를 하기 수학식 2에 의해 계산하고, 상기 손실 함수의 결과값이 최소화되도록 학습을 통해 최적의 가중치를 결정하는 것인,
샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법.
[수학식2]
Figure pat00025

N: 학습에 사용된 총 입력 수
The method of claim 6,
The food ingredient pairing prediction model calculates a loss function (J(θ)) using an actual food ingredient pairing score (y ab ) and a predicted food ingredient pairing score (Y ab ) using the cosine similarity by Equation 2 below, and the loss function The optimal weight is determined through learning so that the result value of is minimized.
Food ingredient pairing prediction method using Siamese twins network.
[Equation 2]
Figure pat00025

N: Total number of inputs used for training
제 1 항에 있어서,
상기 (a)단계 이후, 식재료를 나타내는 노드와 식재료와 식재료의 관련도를 나타내는 에지(Edge)로 구성되는 그래프 정보를 생성하는 단계를 더 포함하고,
상기 식재료 페어링 예측 모델은 일대다 식재료 페어링을 학습하기 위해 그래프 기반 신경망 아키텍처를 사용하는 것인,
샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법.
The method of claim 1,
After the step (a), the step of generating graph information consisting of a node representing a food ingredient and an edge representing a degree of relation between the food ingredient and the food ingredient,
The food ingredient pairing prediction model uses a graph-based neural network architecture to learn one-to-many food ingredient pairing,
Food ingredient pairing prediction method using Siamese twins network.
제 1 항에 있어서,
상기 식재료 페어링을 예측한 결과 데이터는 상기 식재료 페어링 스코어에 기초한 식재료 페어링 랭킹 리스트를 포함하는,
샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법.
The method of claim 1,
The result data of predicting the food ingredient pairing includes a food ingredient pairing ranking list based on the food ingredient pairing score,
Food ingredient pairing prediction method using Siamese twins network.
제 1 항에 있어서,
상기 식재료 페어링을 예측한 결과 데이터는 상기 요리 정보에 포함된 식재료 페어링 스코어, 새로운 식재료 페어링 스코어 및 추천 식재료 페어링 데이터를 포함하는,
샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 방법.
The method of claim 1,
The result data of predicting the food ingredient pairing includes food ingredient pairing score, new ingredient pairing score, and recommended ingredient pairing data included in the cooking information,
Food ingredient pairing prediction method using Siamese twins network.
샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 서버에 있어서,
샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 프로그램이 저장된 메모리;
상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하며, 상기 프로세서는 상기 프로그램의 실행에 의해,
네트워크를 통해 하나 이상의 요리 정보를 수집하고, 상기 수집된 요리 정보별로 식재료들을 추출하여 식재료 데이터를 생성하고,
상기 식재료 데이터에 기초하여 식재료들간의 동시 출현 빈도에 따른 식재료 페어링 스코어를 계산하여 페어링 데이터를 제공하고,
상기 페어링 데이터를 입력으로 하여 식재료 페어링 예측 모델에서 식재료 페어링을 예측한 결과 데이터를 제공하고,
상기 식재료 페어링 예측 모델은 상기 식재료 데이터 및 식재료 페어링 스코어 데이터를 입력 데이터로 하여, 제1 서브 네트워크와 제2 서브 네트워크로 구성되는 샴쌍둥이 네트워크를 이용해 학습된 것인,
샴쌍둥이 네트워크를 이용한 식재료 페어링 예측 서버.
In a food ingredient pairing prediction server using a Siamese twin network,
A memory storing a food ingredient pairing prediction program using a Siamese twin network;
And a processor executing a program stored in the memory, wherein the processor executes the program,
Collecting one or more cooking information through a network, extracting food ingredients for each of the collected cooking information to generate food material data,
Provide pairing data by calculating a food ingredient pairing score according to the frequency of simultaneous appearance between ingredients based on the food ingredient data,
Provides data as a result of predicting food ingredient pairing in the food ingredient pairing prediction model by inputting the pairing data,
The food ingredient pairing prediction model is learned by using the food ingredient data and the ingredient pairing score data as input data, and using a Siamese twin network consisting of a first sub-network and a second sub-network,
Food ingredient pairing prediction server using Siamese twins network.
제 1 항에 따르는 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 비일시적 컴퓨터 판독가능 기록매체.A non-transitory computer-readable recording medium on which a computer program for performing the method according to claim 1 is recorded.
KR1020190158385A 2019-08-09 2019-12-02 Method and server for food ingredient pairing prediction using siamese neural network KR102300474B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190097335 2019-08-09
KR20190097335 2019-08-09

Publications (2)

Publication Number Publication Date
KR20210017973A true KR20210017973A (en) 2021-02-17
KR102300474B1 KR102300474B1 (en) 2021-09-10

Family

ID=74731357

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190158385A KR102300474B1 (en) 2019-08-09 2019-12-02 Method and server for food ingredient pairing prediction using siamese neural network

Country Status (1)

Country Link
KR (1) KR102300474B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220128145A (en) * 2021-03-12 2022-09-20 주식회사 퓨처키친 Method for food recommendation using deep-learning module
CN117198466A (en) * 2023-11-08 2023-12-08 北京四海汇智科技有限公司 Diet management method and system for kidney disease patients

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017156886A (en) * 2016-02-29 2017-09-07 Kddi株式会社 Device of tracking object taking similarity degree between images into consideration, program thereof and method thereof
KR101874604B1 (en) * 2016-08-10 2018-07-04 주식회사 원더풀플랫폼 Method for generating creation recipe
KR20180086712A (en) 2017-01-23 2018-08-01 이용진 Iot-based food materials checking and recipe contents providing platform
KR20190065665A (en) * 2017-12-04 2019-06-12 주식회사 솔루게이트 Apparatus and method for recognizing Korean named entity using deep-learning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017156886A (en) * 2016-02-29 2017-09-07 Kddi株式会社 Device of tracking object taking similarity degree between images into consideration, program thereof and method thereof
KR101874604B1 (en) * 2016-08-10 2018-07-04 주식회사 원더풀플랫폼 Method for generating creation recipe
KR20180086712A (en) 2017-01-23 2018-08-01 이용진 Iot-based food materials checking and recipe contents providing platform
KR20190065665A (en) * 2017-12-04 2019-06-12 주식회사 솔루게이트 Apparatus and method for recognizing Korean named entity using deep-learning

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220128145A (en) * 2021-03-12 2022-09-20 주식회사 퓨처키친 Method for food recommendation using deep-learning module
CN117198466A (en) * 2023-11-08 2023-12-08 北京四海汇智科技有限公司 Diet management method and system for kidney disease patients
CN117198466B (en) * 2023-11-08 2024-01-26 北京四海汇智科技有限公司 Diet management method and system for kidney disease patients

Also Published As

Publication number Publication date
KR102300474B1 (en) 2021-09-10

Similar Documents

Publication Publication Date Title
Zhukov et al. Cross-task weakly supervised learning from instructional videos
Park et al. FlavorGraph: a large-scale food-chemical graph for generating food representations and recommending food pairings
Tauber Marketing notes and communications: Hit: Heuristic ideation technique—a systematic procedure for new product search
Park et al. Kitchenette: Predicting and recommending food ingredient pairings using siamese neural networks
Charte et al. QUINTA: A question tagging assistant to improve the answering ratio in electronic forums
CN109447266A (en) A kind of agricultural science and technology service intelligent sorting method based on big data
CN110851571B (en) Data processing method and device, electronic equipment and computer readable storage medium
KR102300474B1 (en) Method and server for food ingredient pairing prediction using siamese neural network
CN109871485A (en) A kind of personalized recommendation method and device
CN110119479B (en) Restaurant recommendation method, restaurant recommendation device, restaurant recommendation equipment and readable storage medium
WO2015051462A1 (en) System and method for classifying food products
Nishimura et al. Structure-aware procedural text generation from an image sequence
CN107833088A (en) Content providing, device and smart machine
Amac et al. Procedural reasoning networks for understanding multimodal procedures
Gim et al. Recipebowl: A cooking recommender for ingredients and recipes using set transformer
Rahman Khilji et al. Question classification and answer extraction for developing a cooking QA system
Tian et al. Recipe representation learning with networks
CN110580285B (en) Product label determination method and device and electronic equipment
Reusch et al. RecipeGM: a hierarchical recipe generation model
Sakib et al. Assorted, archetypal and annotated two million (3a2m) cooking recipes dataset based on active learning
Chen et al. Understanding the wine judges and evaluating the consistency through white-box classification algorithms
Dvornik et al. Graph2vid: Flow graph to video grounding for weakly-supervised multi-step localization
Katserelis et al. Towards Fine-Dining Recipe Generation with Generative Pre-trained Transformers
Aljbawi Health-aware food planner: A personalized recipe generation approach based on gpt-2
Schwabl Classifying user information needs in cooking dialogues–an empirical performance evaluation of transformer networks

Legal Events

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