KR20230015555A - Food Recommendation Apparatus and Method - Google Patents
Food Recommendation Apparatus and Method Download PDFInfo
- Publication number
- KR20230015555A KR20230015555A KR1020210096831A KR20210096831A KR20230015555A KR 20230015555 A KR20230015555 A KR 20230015555A KR 1020210096831 A KR1020210096831 A KR 1020210096831A KR 20210096831 A KR20210096831 A KR 20210096831A KR 20230015555 A KR20230015555 A KR 20230015555A
- Authority
- KR
- South Korea
- Prior art keywords
- food
- foods
- meal
- representative
- user
- Prior art date
Links
- 235000013305 food Nutrition 0.000 title claims abstract description 695
- 238000000034 method Methods 0.000 title claims abstract description 43
- 235000012041 food component Nutrition 0.000 claims abstract description 89
- 235000012054 meals Nutrition 0.000 claims abstract description 89
- 239000005417 food ingredient Substances 0.000 claims abstract description 51
- 239000004615 ingredient Substances 0.000 claims abstract description 50
- 235000012631 food intake Nutrition 0.000 claims abstract description 47
- 230000037406 food intake Effects 0.000 claims abstract description 46
- 238000004458 analytical method Methods 0.000 claims abstract description 9
- 238000012886 linear function Methods 0.000 claims description 11
- 230000000116 mitigating effect Effects 0.000 claims 1
- 230000036541 health Effects 0.000 abstract description 10
- 235000019640 taste Nutrition 0.000 abstract description 9
- 235000015097 nutrients Nutrition 0.000 abstract description 2
- 235000015219 food category Nutrition 0.000 description 17
- 235000016709 nutrition Nutrition 0.000 description 14
- 230000035764 nutrition Effects 0.000 description 10
- 235000021109 kimchi Nutrition 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 201000010099 disease Diseases 0.000 description 5
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 5
- CIWBSHSKHKDKBQ-JLAZNSOCSA-N Ascorbic acid Chemical compound OC[C@H](O)[C@H]1OC(=O)C(O)=C1O CIWBSHSKHKDKBQ-JLAZNSOCSA-N 0.000 description 4
- 235000019197 fats Nutrition 0.000 description 4
- 235000012046 side dish Nutrition 0.000 description 3
- ZZZCUOFIHGPKAK-UHFFFAOYSA-N D-erythro-ascorbic acid Natural products OCC1OC(=O)C(O)=C1O ZZZCUOFIHGPKAK-UHFFFAOYSA-N 0.000 description 2
- 229930003268 Vitamin C Natural products 0.000 description 2
- 150000001720 carbohydrates Chemical class 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 235000005911 diet Nutrition 0.000 description 2
- 230000037213 diet Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 235000021003 saturated fats Nutrition 0.000 description 2
- 235000021023 sodium intake Nutrition 0.000 description 2
- 235000019154 vitamin C Nutrition 0.000 description 2
- 239000011718 vitamin C Substances 0.000 description 2
- 240000007124 Brassica oleracea Species 0.000 description 1
- 235000003899 Brassica oleracea var acephala Nutrition 0.000 description 1
- 235000011301 Brassica oleracea var capitata Nutrition 0.000 description 1
- 235000001169 Brassica oleracea var oleracea Nutrition 0.000 description 1
- 239000004278 EU approved seasoning Substances 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 235000021152 breakfast Nutrition 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 235000011194 food seasoning agent Nutrition 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 235000015220 hamburgers Nutrition 0.000 description 1
- 235000013372 meat Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000005180 public health Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 235000011888 snacks Nutrition 0.000 description 1
- 235000013547 stew Nutrition 0.000 description 1
- 235000013311 vegetables Nutrition 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/12—Hotels or restaurants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
Description
본 발명은 음식 추천 장치 및 방법에 관한 것으로, 개인에 따른 적합도와 영양에 기반하여 최적으로 조합된 음식을 추천할 수 있는 음식 추천 장치 및 방법에 관한 것이다.The present invention relates to a food recommendation apparatus and method, and more particularly to a food recommendation apparatus and method capable of recommending optimally combined foods based on personal fitness and nutrition.
삶의 질적 향상에 따라 건강에 대한 관심이 높아졌으며, 그 중에서도 음식에 대한 사회적 관심이 크게 높아지고 있다. 특히 현대에는 기존에 비해 매우 다양한 종류의 음식이 보급되고 있으며, 사람들의 편중된 식사로 인해 개인의 영양 불균형이 점차 심각해지고 있는 상황이다. 또한 고령화에 따라 각종 성인병을 보유하고 있는 사람이 많아짐에 따라 회피해야 하는 음식이 많음에도 각 음식들에 포함된 식재료나 섭취량에 따른 영양 성분 등을 개개인이 인지하기는 어렵다는 문제가 있다. 더욱이 우리나라의 경우, 반찬 문화로 인해 매끼 식사 시에 다양한 음식이 조합되어야 하므로, 각 개인의 식단 선택은 더욱 복잡하고 어렵다는 문제가 있다.As the quality of life has improved, interest in health has increased, and among them, social interest in food is greatly increasing. In particular, in modern times, a wide variety of foods are being supplied compared to before, and personal nutritional imbalance is gradually becoming more serious due to people's biased diet. In addition, as the number of people with various adult diseases increases with aging, there is a problem that it is difficult for individuals to recognize the ingredients contained in each food or the nutritional components according to the amount of intake, even though there are many foods to avoid. Moreover, in the case of Korea, since various foods must be combined at each meal due to the side dish culture, there is a problem in that each individual's diet selection is more complicated and difficult.
본 발명의 목적은 적절한 양의 영양 성분이 보충될 수 있도록 음식 조합을 추천할 수 있는 음식 추천 장치 및 방법을 제공하는데 있다.An object of the present invention is to provide a food recommendation device and method capable of recommending a food combination so that an appropriate amount of nutritional components can be supplemented.
본 발명의 다른 목적은 개인의 취향과 건강 상태에 따른 음식 조합을 추천할 수 있는 음식 추천 장치 및 방법을 제공하는데 있다.Another object of the present invention is to provide a food recommendation apparatus and method capable of recommending a food combination according to personal tastes and health conditions.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 음식 추천 장치는 사용자의 이전 기지정된 기간 동안 식사 시 섭취한 음식에 대한 정보인 사용자 식사 정보와 다수의 사람들의 식사 시 섭취하는 음식과 각 음식의 식재료에 대한 정보가 포함된 음식 섭취 데이터를 수집하여 획득하는 정보 수집부; 상기 음식 섭취 데이터를 기반으로 음식과 식재료 사이의 관계를 분석하기 위한 음식-식재료 이분 그래프와 음식과 식사 사이의 관계를 분석하기 위한 음식-식사 이분 그래프를 획득하는 관계 분석부; 상기 사용자 식사 정보에서 획득된 음식을 기준으로 상기 음식-식재료 이분 그래프에서 연관된 음식을 탐색하여 연관성이 높은 기지정된 개수의 대표 음식을 선택하고, 상기 대표 음식 각각을 기준으로 상기 음식-식사 이분 그래프에서 연관된 음식을 탐색하여 대표 음식 각각에 대응하는 높은 연관성을 갖는 기지정된 개수의 조합 음식을 선택하여 대표 음식과 조합 음식으로 구성되는 음식 세트를 획득하는 음식 선택부; 및 상기 음식 세트에 포함된 음식들의 연관성에 기초하여 각 음식의 제공량을 최적화하고, 각 음식의 최적 제공량에 기초하여 계산되는 전체 연관성이 높은 기지정된 개수의 음식 세트를 선택하여 추천하는 음식 추천부를 포함한다.In order to achieve the above object, a food recommendation device according to an embodiment of the present invention provides user meal information, which is information about food consumed by a user during a previous predetermined period of time, food consumed by a plurality of people, and each food. Information collection unit for collecting and obtaining food intake data containing information on the ingredients of the; a relationship analysis unit that acquires a food-ingredient bipartite graph for analyzing a relationship between food and ingredients and a food-meal bipartite graph for analyzing a relationship between food and meal based on the food intake data; Based on the food obtained from the user's meal information, search for related foods in the food-ingredient bipartite graph to select a predetermined number of representative foods with high correlation, and based on each of the representative foods, in the food-meal bipartite graph. a food selection unit for obtaining a food set consisting of the representative food and the combination food by searching for related foods and selecting a predetermined number of combination foods having a high correlation corresponding to each of the representative foods; And a food recommendation unit that optimizes the serving amount of each food based on the correlation of the foods included in the food set, and selects and recommends a predetermined number of food sets having a high total correlation calculated based on the optimal serving amount of each food. do.
상기 음식 선택부는 상기 사용자 식사 정보에서 획득된 음식을 기준으로 상기 음식-식재료 이분 그래프에서 공통된 식재료를 이용하는 연관 음식을 탐색하고, 기준이 된 음식과 연관 음식과의 연관성을 공통으로 포함된 식재료의 비중을 고려하여 수정한 수정 아다믹 아다르 인덱스(Adamic-Adar Index: 이하 AAI)로 계산하여 높은 수정 AAI를 갖는 기지정된 개수의 연관 음식을 대표 음식을 선택하는 대표 음식 선택부; 및 상기 대표 음식 각각을 기준으로 상기 음식-식사 이분 그래프에서 동일 식사에서 제공된 음식인 연관 음식을 탐색하고, 각 대표 음식과 연관 음식과의 연관성을 AAI로 계산하여 높은 AAI를 갖는 기지정된 개수의 연관 음식을 조합 음식을 선택하여 대표 음식과 조합 음식으로 구성되는 음식 세트를 획득하는 조합 음식 선택부를 포함할 수 있다.The food selection unit searches for related foods using common ingredients in the food-ingredient dichotomy graph based on the food acquired from the user meal information, and determines the relationship between the standard food and the related food as a proportion of ingredients included in common. a representative food selection unit for selecting a representative food from a predetermined number of related foods having a high modified AAI by calculating a modified Adamic-Adar Index (hereinafter referred to as AAI) in consideration of; And based on each of the representative foods, search for related foods that are foods served at the same meal in the food-meal dichotomy graph, calculate the association between each representative food and the related food by AAI, and calculate a predetermined number of associations with a high AAI. It may include a combination food selection unit that selects a food combination and obtains a food set composed of the representative food and the combination food.
상기 관계 분석부는 상기 음식 섭취 데이터에서 다수의 음식과 다수의 식재료를 서로 다른 2개의 카테고리로 분류하고, 다수의 음식 각각에 포함된 식재료를 서로 연결하여 상기 음식-식재료 이분 그래프를 획득하는 음식 식재료 관계 그래프 획득부; 및 상기 음식 섭취 데이터에서 식사와 음식을 서로 다른 2개의 카테고리로 분류하고, 각 식사 시에 섭취한 음식을 서로 연결하여 상기 음식-식사 이분 그래프를 획득하는 음식 식사 관계 그래프 획득부를 포함할 수 있다.The relationship analyzer classifies a plurality of foods and a plurality of food ingredients in the food intake data into two different categories, connects ingredients included in each of the plurality of foods, and obtains the food-ingredient bipartite graph. a graph acquisition unit; and a food-meal relationship graph obtaining unit configured to classify meals and foods into two different categories from the food intake data and connect the foods consumed at each meal to obtain the food-meal dichotomy graph.
상기 음식 추천부는 상기 음식 세트에 포함된 음식들의 연관성의 합으로 계산되는 전체 연관성이 최대가 되도록 각 음식의 제공량을 최적화하고, 미리 지정된 영양 성분별로 연산된 음식별 최적 제공량을 적용하여 음식별 최적 제공량에 따른 각 음식 세트의 영양 성분량을 계산하며, 계산된 영양 성분량이 기지정된 영양 성분별 조건을 만족하면서 전체 연관성이 가장 높은 기지정된 개수의 음식 세트를 선택하여 추천할 수 있다.The food recommendation unit optimizes the serving amount of each food so that the total correlation calculated as the sum of the correlations of the foods included in the food set is maximized, and applies the optimal serving amount for each food calculated for each predetermined nutritional component to the optimal serving amount for each food. The nutritional component amount of each food set is calculated according to , and a predetermined number of food sets having the highest total correlation may be selected and recommended while satisfying the predetermined nutritional component-specific condition.
상기 음식 추천부는 기지정된 영양 성분별 조건과의 차이에 따라 계산되는 조건 완화 패널티가 적용된 전체 연관성을 계산하고, 상기 조건 완화 패널티가 적용된 전체 연관성이 최대가 되도록 각 음식의 제공량을 최적화하고, 최적 제공량에 따른 전체 연관성이 가장 높은 기지정된 개수의 음식 세트를 선택하여 추천할 수 있다.The food recommendation unit calculates the total correlation to which the condition relaxation penalty, which is calculated according to the difference from the condition for each predetermined nutritional component, is applied, optimizes the serving amount of each food so that the total correlation to which the condition relaxation penalty is applied is maximized, and optimizes the serving amount It is possible to select and recommend a pre-specified number of food sets having the highest overall correlation according to .
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 영양기반 음식 추천 방법은 사용자의 이전 기지정된 기간 동안 식사 시 섭취한 음식에 대한 정보인 사용자 식사 정보와 다수의 사람들의 식사 시 섭취하는 음식과 각 음식의 식재료에 대한 정보가 포함된 음식 섭취 데이터를 수집하여 획득하는 단계; 상기 음식 섭취 데이터를 기반으로 음식과 식재료 사이의 관계를 분석하기 위한 음식-식재료 이분 그래프와 음식과 식사 사이의 관계를 분석하기 위한 음식-식사 이분 그래프를 포함하는 이분 그래프를 획득하는 단계; 상기 사용자 식사 정보에서 획득된 음식을 기준으로 상기 음식-식재료 이분 그래프에서 연관된 음식을 탐색하여 연관성이 높은 기지정된 개수의 대표 음식을 선택하고, 상기 대표 음식 각각을 기준으로 상기 음식-식사 이분 그래프에서 연관된 음식을 탐색하여 대표 음식 각각에 대응하는 높은 연관성을 갖는 기지정된 개수의 조합 음식을 선택하여 대표 음식과 조합 음식으로 구성되는 음식 세트를 획득하는 단계; 및 상기 음식 세트에 포함된 음식들의 연관성에 기초하여 각 음식의 제공량을 최적화하고, 각 음식의 최적 제공량에 기초하여 계산되는 전체 연관성이 높은 기지정된 개수의 음식 세트를 선택하여 추천하는 단계를 포함한다.In order to achieve the above object, a nutrition-based food recommendation method according to another embodiment of the present invention provides user meal information, which is information about food consumed during a meal for a predetermined period of time by a user, food consumed during a meal of a plurality of people, and Collecting and obtaining food intake data including information on ingredients of each food; Obtaining a bipartite graph including a food-ingredient bipartite graph for analyzing a relationship between food and ingredients and a food-meal bipartite graph for analyzing a relationship between food and meal based on the food intake data; Based on the food obtained from the user's meal information, search for related foods in the food-ingredient bipartite graph to select a predetermined number of representative foods with high correlation, and based on each of the representative foods, in the food-meal bipartite graph. obtaining a food set consisting of the representative food and the combination food by searching for related foods and selecting a predetermined number of combination foods having a high correlation corresponding to each of the representative foods; And optimizing the serving amount of each food based on the correlation of the foods included in the food set, and selecting and recommending a predetermined number of food sets having a high total correlation calculated based on the optimal serving amount of each food. .
따라서, 본 발명의 실시예에 따른 음식 추천 장치 및 방법은 개인의 취향과 건강 상태에 따른 적절한 양의 영양 성분이 보충될 수 있도록 음식 조합을 추천할 수 있다.Accordingly, the food recommendation apparatus and method according to an embodiment of the present invention may recommend a food combination so that an appropriate amount of nutritional components according to personal tastes and health conditions may be supplemented.
도 1은 본 발명의 일 실시예에 따른 영양기반 음식 추천 시스템을 나타낸다.
도 2는 도 1의 음식 추천 장치의 개략적 구조의 일 예를 나타낸다.
도 3은 도 2의 그래프 획득부에서 획득되는 이분 그래프의 일 예를 나타낸다.
도 4는 도 2의 음식 분류부에 따라 설정된 음식 분류와 단위량의 일 예를 나타낸다.
도 5는 도 2의 음식 분류부의 개인 취향 설정 일 예를 나타낸다.
도 6은 본 발명의 일 실시예에 따른 영양기반 음식 추천 방법을 나타낸다.1 shows a nutrition-based food recommendation system according to an embodiment of the present invention.
FIG. 2 shows an example of a schematic structure of the food recommendation device of FIG. 1 .
FIG. 3 shows an example of a bipartite graph obtained by the graph acquisition unit of FIG. 2 .
Figure 4 shows an example of food classification and unit amount set according to the food classification unit of FIG.
5 shows an example of personal taste setting of the food classification unit of FIG. 2 .
6 shows a nutrition-based food recommendation method according to an embodiment of the present invention.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. In order to fully understand the present invention and its operational advantages and objectives achieved by the practice of the present invention, reference should be made to the accompanying drawings illustrating preferred embodiments of the present invention and the contents described in the accompanying drawings.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다. Hereinafter, the present invention will be described in detail by describing preferred embodiments of the present invention with reference to the accompanying drawings. However, the present invention may be embodied in many different forms and is not limited to the described embodiments. And, in order to clearly describe the present invention, parts irrelevant to the description are omitted, and the same reference numerals in the drawings indicate the same members.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈", "블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. Throughout the specification, when a part "includes" a certain component, it means that it may further include other components, not excluding other components unless otherwise stated. In addition, terms such as "... unit", "... unit", "module", and "block" described in the specification mean a unit that processes at least one function or operation, which is hardware, software, or hardware. And it can be implemented as a combination of software.
도 1은 본 발명의 일 실시예에 따른 영양기반 음식 추천 시스템을 나타낸다.1 shows a nutrition-based food recommendation system according to an embodiment of the present invention.
도 1을 참조하면 본 실시예에 따른 영양기반 음식 추천 시스템은 다수의 사용자 단말(10)과 의료 단말(20), 데이터베이스 서버(30) 및 음식 추천 서버(40)를 포함할 수 있다.Referring to FIG. 1 , the nutrition-based food recommendation system according to the present embodiment may include a plurality of
다수의 사용자 단말(10)은 스마트폰과 같은 휴대용 사용자 단말 분만 아니라 PC나 랩탑과 같은 거치형 사용자 단말 등으로 구현될 수 있으며, 각각 음식 추천 앱이 설치된다.The plurality of
사용자는 자신이 섭취한 음식 각각의 종류와 양을 음식 추천 앱이 설치된 사용자 단말(10)에 입력할 수 있으며, 사용자 단말(10)은 입력된 음식 종류와 양은 네트워크를 통해 음식 추천 서버(40)로 전달한다. 또한 사용자 단말(10)은 사용자의 개인 취향에 따라 사용자가 입력한 선호 및 비선호 음식 정보 또는 질병 등에 따른 금지 음식, 권장 음식 정보 등을 음식 추천 서버(40)로 전달할 수 있다.The user may input the type and amount of each food he/she has consumed into the
그리고 사용자 단말(10)은 사용자의 명령에 따라 음식 추천 서버(40)로 음식 추천 요청을 전송하고, 음식 추천 서버(40)로부터 추천 음식이 전송되면, 추천 음식을 사용자에게 표시할 수 있다.The
의료 단말(20)은 병원 등과 같은 의료 기관에서 이용되는 단말이며, 사용자의 승인 하에 이용되는 것이 바람직하다. 의료 단말(20)은 사용자 단말(10)과 유사하게 사용자의 질병에 따른 금지 음식, 권장 음식 정보 등을 음식 추천 서버(40)로 전달할 수 있으며, 사용자가 병원에 입원중인 상태 등과 같은 특수한 경우에는 사용자에게 제공된 음식의 종류와 양을 음식 추천 서버(40)로 전달할 수 있다. 즉 의료 단말(20)은 사용자의 건강 상태에 따라 섭취하거나 금지할 음식 정보를 의료 기관에서 제공하는 경우에 사용자 단말(10)을 대체하거나 보조하는 수단으로 이용될 수 있다.The
데이터베이스 서버(30)는 음식 섭취 데이터가 저장되며, 음식 추천 서버(40)의 요청에 따라 저장된 음식 섭취 데이터를 전송한다. 본 실시예에서 식사는 사용자가 한 번에 적어도 하나의 음식을 섭취하는 행위를 의미하며, 여기에는 아침, 점심, 저녁 식사와 같은 한끼 식사뿐만아니라 간식 등도 포함될 수 있다. 그리고 음식은 공기밥, 각종 구이, 찌게, 김치, 햄버거 등과 같이, 개별적으로 구분되어 제공될 수 있는 모든 음식물을 의미한다.The
경우에 따라서 데이터베이스 서버(30)는 다수의 사용자 단말(10) 또는 의료 단말로부터 각 사용자가 식사 시에 섭취한 음식의 종류와 양을 인가받아 저장할 수도 있다.In some cases, the
본 실시예에서는 일 예로 질병 관리청에서 공개하여 제공하는 국민 건강 영양 조사 내역 중 식품섭취조사(개인별 24시회상조사) 항목을 음식 섭취 데이터로서 이용하는 것으로 가정한다. 국민 건강 영양 조사 내역의 식품섭취조사(개인별 24시회상조사) 항목은 미리 지정된 피실험자의 24시간 동안 식사 내역을 조사하여 기록한 데이터로서, 하루 동안의 식사 시간과 식사 시 섭취한 음식의 종류, 각 음식에 사용된 식재료의 중량이 포함된다. 예로서 2018년 데이터의 경우, 7064명에 대해 실험을 진행하여 1783 종류의 음식과 음식에 포함된 3079 종류의 식재료가 포함되어 있다. 또한 식품섭취조사 항목에는 농촌진흥청에서 공표하는 표준식품성분표에 따른 음식별 영양 성분 정보가 함께 포함되어 있다.In this embodiment, for example, it is assumed that the food intake survey (24-hour recall survey by individual) is used as food intake data among the public health and nutrition survey details provided by the Korea Centers for Disease Control and Prevention. The food intake survey (individual 24-hour recall survey) item of the National Health and Nutrition Examination Survey is the data recorded by surveying the meal details of the subjects designated in advance for 24 hours. Including the weight of ingredients used in For example, in the case of the 2018 data, the experiment was conducted on 7064 people, and 1783 types of food and 3079 types of ingredients included in the food were included. In addition, the food intake survey items include nutritional component information for each food according to the standard food composition table announced by the Rural Development Administration.
음식 추천 서버(40)는 본 실시예의 음식 추천 장치로서, 음식 섭취 데이터를 분석하여, 다수의 사람들이 섭취한 식사와 음식 사이의 관계와 음식과 식재료 사이의 관계를 분석한다. 또한 다수의 사용자 단말(10) 각각으로부터 사용자가 섭취한 식사 및 음식 정보를 획득하여 저장하고, 사용자 단말(10)로부터 음식 추천 요청이 전송되면 분석된 식사와 음식, 및 음식과 식재료 사이의 관계 정보를 기반으로 사용자의 식사를 위해 적합한 음식 조합을 추천한다.The
이때 본 실시예에 따른 음식 추천 서버(40)는 다수의 사람들의 음식 조합 패턴을 참조하여 음식을 추천하되, 사용자에게 적합한 영양 성분과 양을 고려하여 음식 조합을 추천할 수 있다. 또한 사용자 개개인이 직접 설정하는 사용자 조건과 건강 상태 등에 따른 적절한 양의 영양 성분이 보충될 수 있도록 음식 조합과 양을 획득하여 추천한다.At this time, the
그리고 음식 추천 서버(40)는 직접 음식 섭취 데이터를 획득하도록 구성될 수도 있으며, 이 경우, 데이터베이스 서버(30)는 음식 추천 서버(40)에 통합되어 생략될 수도 있다.Also, the
도 2는 도 1의 음식 추천 장치의 개략적 구조의 일 예를 나타낸다.FIG. 2 shows an example of a schematic structure of the food recommendation device of FIG. 1 .
도 2를 참조하면, 본 실시예에 따른 음식 추천 장치(40)는 정보 수집부(100), 관계 분석부(200), 음식 선택부(300), 음식 분류부(400), 조건 설정부(500) 및 음식 추천부(600)를 포함할 수 있다.Referring to FIG. 2 , the
정보 수집부(100)는 사용자에게 음식을 추천하기 위한 각종 정보를 수집한다. 정보 수집부(100)는 사용자 식사 정보 획득부(110)와 식품 섭취 정보 수집부(120)를 포함할 수 있다. 사용자 식사 정보 획득부(110)는 다수의 사용자 단말(10) 각각로부터 사용자 개개인이 식사 시에 섭취한 음식의 종류와 양이 포함된 사용자 식사 정보를 수집한다. 사용자 식사 정보 획득부(110)는 다수의 사용자 단말(10) 또는 의료 단말(20)로부터 다수의 사용자 각각의 최근 기지정된 기간(예를 들면 1주일)동안 식사 시에 섭취한 음식의 종류와 양을 사용자 식사 정보로서 획득할 수 있다. 그리고 식품 섭취 정보 수집부(120)는 상기한 음식 섭취 데이터를 수집하여 획득한다.The
사람들은 한끼의 식사에서 한가지 음식만을 섭취하는 경우는 매우 드물고, 통상적으로 4 ~ 5가지 음식을 조합하여 섭취한다. 이와 같이 한끼 식사에 함께 섭취되는 음식들 중에는 핵심이 되는 1 ~ 2 종류의 메인 음식과 나머지 서브 음식으로 구분될 수 있으며, 식사에 따라서는 과일이나 음료와 같은 부가 음식 또한 존재할 수 있다. 이에 수집되는 음식 섭취 데이터에는 메인 음식, 서브 음식 및 부가 음식과 같은 음식 카테고리가 미리 지정되어 함께 획득될 수 있다.It is very rare for people to consume only one food at a meal, and usually consumes a combination of 4 to 5 foods. Among the foods consumed together in a meal as described above, one or two main types of main foods and the remaining sub foods may be classified as core foods, and additional foods such as fruits or beverages may also exist depending on the meal. Food categories such as main food, sub food, and additional food may be pre-specified and acquired together with the collected food intake data.
상기한 바와 같이, 음식 섭취 데이터에는 각 음식에 포함되는 식재료와 이에 따른 영양 성분 정보가 함께 포함되어 있으며 여기서 포함되는 식재료의 양과 영양 성분은 1인분을 기준으로 설정되어 있다. 이에 음식 섭취 데이터에는 1인분에 대한 단위량 또한 미리 지정될 수 있다. 즉 음식 섭취 데이터에는 한 사람이 1회 식사 시에 섭취하는 해당 음식의 평균량이 미리 포함되어 함께 획득될 수 있다.As described above, the food intake data includes the ingredients included in each food and the corresponding nutritional component information, and the amount and nutritional components of the ingredients included here are set based on one serving. Accordingly, the unit amount for one serving may also be pre-specified in the food intake data. That is, the food intake data may include an average amount of the corresponding food consumed by one person in one meal and may be acquired together.
여기서는 음식 추천 장치(40)에 데이터베이스 서버(30)가 포함되어 구성되는 것을 가정하여, 데이터베이스 서버(30)를 대체하여 정보 수집부(100)가 사용자 식사 정보와 음식 섭취 데이터를 수집하지만, 데이터베이스 서버(30)가 별도로 구성된 경우, 정보 수집부(100)는 음식 추천 장치(40)에서 생략될 수 있다.Here, it is assumed that the
관계 분석부(200)는 정보 수집부(100)에서 수집된 사용자 식사 정보와 음식 섭취 데이터를 기반으로 사용자와 음식, 음식과 식사 및 음식과 식재료 사이의 관계를 분석한다. 관계 분석부(200)는 다양한 데이터 분석 기법에 따라 수집된 정보들 사이의 관계를 분석할 수 있으나, 여기서는 일 예로 이분 그래프(Bipartite Graph)를 이용하여 사용자와 음식, 음식과 식사 및 음식과 식재료 사이의 관계를 분석한다.The
도 3은 도 2의 그래프 획득부에서 획득되는 이분 그래프의 일 예를 나타낸다.FIG. 3 shows an example of a bipartite graph obtained by the graph acquisition unit of FIG. 2 .
도 3에 도시된 바와 같이 이분 그래프는 두 개 카테고리(U, V)로 구분되는 데이터((u1, u2, …, ui), (v1, v2, …, vj))를 서로 연결하여 획득되는 그래프로서, 서로 다른 카테고리(U, V)에 포함된 데이터((u1, u2, …, ui), (v1, v2, …, vj)) 중 서로 연관된 데이터들을 간단하게 표현하기 위해 이용된다.As shown in FIG. 3, the bipartite graph includes data ((u 1 , u 2 , …, u i ), (v 1 , v 2 , …, v j ) divided into two categories (U and V). As a graph obtained by connecting each other, among the data ((u 1 , u 2 , …, u i ), (v 1 , v 2 , …, v j )) included in different categories (U, V) are related to each other It is used to simply represent data.
도 3의 예를 참조하면, 제1 카테고리(U)의 데이터(u1)는 제2 카테고리(V)의 데이터(v1)에만 연관되지만, 제2 카테고리(V)의 데이터(v1)는 제1 카테고리(U)의 데이터(u1) 뿐만 아니라, 다른 2개의 데이터(u2, ui)와도 연관됨을 알 수 있고, 제1 카테고리(U)의 데이터(u2)는 제2 카테고리(V)의 2개의 데이터(v1, v2)에 연관됨을 용이하게 알 수 있다. 즉 이분 그래프는 서로 다른 카테고리의 데이터들 사이의 연관 관계를 매우 간단하게 설정하고 확인할 수 있는 데이터 분석 수단이다.Referring to the example of FIG. 3 , the data (u 1 ) of the first category (U) is related only to the data (v 1 ) of the second category (V), but the data (v 1 ) of the second category (V) It can be seen that the data (u 1 ) of the first category (U) is associated with the other two data (u 2 , u i ), and the data (u 2 ) of the first category (U) is associated with the second category ( It can be easily seen that V) is related to two data (v 1 , v 2 ). That is, the bipartite graph is a data analysis means that can very simply set and check the correlation between data of different categories.
관계 분석부(200)는 사용자 음식 관계 그래프 획득부(210), 음식 식재료 관계 그래프 획득부(220) 및 음식 식사 관계 그래프 획득부(230)를 포함할 수 있다. The
사용자 음식 관계 그래프 획득부(210)는 사용자 식사 정보를 이용하여 각 사용자와 사용자가 섭취한 음식 사이의 관계를 이분 그래프로 획득한다. 사용자 음식 관계 획득부(210)는 일 예로 사용자를 제1 카테고리(U)로 설정하고, 음식을 제2 카테고리(V)로 설정하여 음식-식재료 이분 그래프를 획득할 수 있다. 그러나 다른 예로서 음식을 제1 카테고리(U)로 설정하고, 사용자를 2 카테고리(V)로 설정할 수도 있다.The user food relationship
음식 식재료 관계 그래프 획득부(220)는 음식 섭취 데이터를 이용하여 각 음식과 식재료 사이의 관계를 이분 그래프로 획득한다. 음식 식재료 관계 그래프 획득부(220)는 음식을 제1 카테고리(U)로 설정하고, 식재료를 제2 카테고리(V)로 설정하여 음식-식재료 이분 그래프를 획득할 수 있다.The food ingredient relationship
한편, 음식 식사 관계 그래프 획득부(230)는 식품 섭취 정보 수집부(120)에서 수집된 음식 섭취 데이터를 기반으로 다수의 사람들의 식사와 사람들이 식사 시에 섭취한 음식 사이의 관계를 이분 그래프로 획득한다. 음식 식사 관계 그래프 획득부(230)는 제1 카테고리(U)로 설정하고, 다수의 사람들의 식사를 사람들이 섭취한 음식을 제2 카테고리(V)로 설정하여 식사-음식 이분 그래프를 획득할 수 있다.On the other hand, the food meal relationship
음식 선택부(300)는 관계 분석부(200)에서 획득된 이분 그래프를 기반으로 사용자에게 추천할 음식 후보를 선정한다. 본 실시예에서 음식 선택부(300)는 공통 이웃(common neighbor)의 차수(degree)를 활용하여 두 점 사이의 친밀도를 비교하는 지표인 아다믹 아다르 인덱스(Adamic-Adar Index: 이하 AAI)를 기반으로 사용자에게 추천할 음식 후보를 정렬할 수 있다.The
AAI는 소셜 네트워크에서 두 노드 사이의 공유 링크 양에 따른 중요도를 수치적으로 표현하기 위해 제안된 알고리즘으로 이를 도 3의 이분 그래프에 적용하는 경우, 제1 카테고리(U)의 다수의 제1 데이터(u1, u2, …, ui) 중에서 2개의 제1 데이터(up, uq)가 공통으로 연결되는 제2 데이터(vm)의 개수, 즉 공통 연관 제2 데이터(vm)의 개수가 많고, 공통으로 연결된 제2 데이터(vm)가 연결된 제1 데이터(u)의 개수(N(v))가 적을수록 높은 수치를 갖도록 계산된다. 이는 2개의 제1 데이터(up, uq)가 공통으로 연결된 제2 데이터(vm)의 개수가 많을수록 상호 연관성이 많으나, 제2 데이터(vm)가 연결된 제1 데이터의 개수가 희소할수록 2개의 제1 데이터(up, uq)의 연관성에 대한 중요도가 높기 때문이다.AAI is an algorithm proposed to numerically express the importance according to the amount of shared links between two nodes in a social network. When applied to the bipartite graph of FIG. 3, a plurality of first data of the first category U ( The number of second data (v m ) to which the two first data (u p , u q ) are commonly connected among u 1 , u 2 , …, u i , that is, the number of commonly associated second data (v m ) It is calculated to have a higher value as the number (N(v)) of the first data (u) connected to the second data (v m ) connected in common is large. As the number of second data (v m ) commonly connected to the two first data (up p , u q ) increases, the correlation increases, but as the number of first data connected to the second data (v m ) becomes rarer, This is because the importance of the correlation between the two first data u p and u q is high.
일 예로 제1 카테고리(U)의 2개의 제1 데이터(u1, u2)에 대한 AAI(AAI(u1, u2))는 수학식 1과 같이 계산될 수 있다.For example, AAI (AAI(u 1 , u 2 )) for the two first data u 1 and u 2 of the first category U may be calculated as in
음식 선택부(300)는 대표 음식 선택부(310)와 조합 음식 선택부(320)를 포함할 수 있다.The
대표 음식 선택부(310)는 일예로 사용자 식사 정보 획득부(110)에서 획득된 사용자 식사 정보로부터 사용자의 과거 기지정된 기간(예를 들면 1주일) 동안 식사 시에 섭취한 다수의 음식 각각에 대응하는 데이터를 음식 식재료 관계 그래프 획득부(220)가 획득한 음식-식재료 이분 그래프의 제1 카테고리(U)에서 확인한다. 그리고 확인된 다수의 음식 데이터(up) 각각에 대해 제2 카테고리(V)인 식재료를 매개로 하여 연관이 있는 제1 카테고리(U)의 연관 음식 데이터(uq)를 탐색한다. 즉 사용자가 섭취한 음식의 식재료를 기반으로 공통된 식재료를 사용한 음식 데이터를 탐색할 수 있다.The representative
다만 사용자 개인이 섭취한 음식에만 기초하여 음식 데이터를 탐색하게 되면, 탐색되는 음식의 종류가 제한적일 수 있다. 이를 극복하기 위해서 대표 음식 선택부(310)는 사용자 음식 관계 그래프 획득부(210)에서 획득된 사용자-음식 이분 그래프의 제1 카테고리(U)에서 현재 사용자(up)와 연결된 제2 카테고리(V)의 음식을 탐색하고, 탐색된 음식을 공통으로 섭취한 다른 사용자인 연관 사용자(uq)를 다시 제1 카테고리(U)에서 탐색할 수 있다. 그리고 탐색된 연관 사용자(uq)가 섭취한 음식을 기반으로 다시 음식-식재료 이분 그래프를 이용하여 연관 음식을 탐색할 수도 있다. 이 경우, 현재 사용자와 공통된 음식을 섭취한 연관 사용자가 섭취한 음식을 추가로 고려하여 연관 음식 데이터를 탐색하게 되므로, 탐색되는 음식의 종류를 확장시킬 수 있다. 그리고 이때, 연관 사용자의 수가 과도하게 증가하지 않도록, 현재 사용자(up)와 연관 사용자(uq) 사이의 연관성을 AAI를 기반으로 계산하고, 계산된 AAI가 높은 기지정된 수의 연관 사용자(uq)가 섭취한 음식에 기초하여 음식-식재료 이분 그래프를 이용할 수도 있다.However, when food data is searched based only on food consumed by an individual user, the type of food to be searched may be limited. In order to overcome this problem, the representative
한편 음식-식재료 이분 그래프의 제1 카테고리(U)에서 사용자가 섭취한 다수의 음식 데이터(up)에 연관된 다른 음식 데이터인 연관 음식 데이터(uq)가 탐색되면, 섭취한 음식 데이터(up) 각각과 연관된 연관 음식 데이터(uq) 사이의 연관성을 AAI를 기반으로 계산하고, 계산된 AAI에 따라 탐색된 연관 음식 데이터(uq)를 정렬한다. 이는 사용자 또는 공통된 음식을 섭취한 다른 사용자가 과거 섭취한 음식 내역을 기반으로 사용자의 선호 식재료를 확인하고, 선호 식재료에 따른 음식이 우선 추천될 수 있도록 하기 위함이다.On the other hand, when related food data (u q ), which is other food data related to a plurality of food data (u p ) consumed by the user in the first category (U) of the food-ingredient bipartite graph, is searched for, the consumed food data (u p ), the association between each associated food data (u q ) is calculated based on AAI, and the searched related food data (u q ) is sorted according to the calculated AAI. This is to confirm the user's preferred food ingredients based on the food history of the user or other users who have consumed common food in the past, and to prioritize recommending foods according to the preferred food ingredients.
다만, 음식에는 다양한 식재료가 포함되며, 이 중에서는 해당 음식의 핵심이 되는 중요 식재료가 존재하는 반면, 조미료 등과 같은 부가 식재료도 함께 존재한다. 따라서 음식에 대한 식재료들 사이의 관계는 서로 대등한 관계로 보기 어렵다. 비록 음식-식재료 이분 그래프에서 2개의 제1 데이터(up, uq)에 대한 AAI(AAI(up, uq))가 공통으로 연결되는 공통 식재료(v)의 개수가 많고, 공통 식재료가 이용되는 음식(u)의 개수가 적을수록 높은 값을 가지게 되어, 중요 식재료를 중심으로 연관되는 음식(uq)이 높은 AAI를 가질 확률이 높지만, 수학식 1의 AAI를 이용하는 것만으로는 음식에 공통으로 포함된 식재료의 중요도가 음식 사이의 연관성에 제대로 반영되지 않는다.However, food includes various ingredients, and among them, there are important ingredients that are the core of the food, while additional ingredients such as seasonings also exist. Therefore, it is difficult to see the relationship between food ingredients as an equal relationship. Although AAI (AAI (up p , u q )) for the two first data (up p , u q ) in the food-food dichotomous graph has a large number of common ingredients (v) that are commonly connected, and the common ingredients are The smaller the number of foods (u) used, the higher the value, and the food (u q ) related to important ingredients is more likely to have a high AAI. The importance of commonly included ingredients is not properly reflected in the relationship between foods.
이에 본 실시예에서 대표 음식 선택부(310)는 음식 사이의 연관성에 식재료의 중량에 따른 비중이 추가로 반영되도록 수학식 1의 AAI를 수학식 2와 같이 수정함으로써, 음식들 사이의 연관성을 수학식 2의 수정 AAI(mAAI)를 이용하여 계산하고, 수정 AAI(mAAI)에 따라 연관성이 높은 음식(uq)을 순차적으로 정렬한다.Accordingly, in this embodiment, the representative
여기서 Am은 식재료(v)가 포함된 모든 음식들 내에서 식재료(v)의 평균 중량을 나타내고, mp, mq는 각각 음식(up, uq)에 포함된 식재료(v)의 중량을 나타낸다.Here, Am represents the average weight of the ingredient (v) within all foods containing the ingredient (v), and m p , m q are the weight of the ingredient (v) included in the food (up p , u q ), respectively. indicate
그리고 대표 음식 선택부(310)에서 정렬된 음식(uq)에서 수정 AAI가 큰 상위 기지정된 개수(예를 들면 10개)의 음식을 선택하여 조합 음식 선택부(320)로 전달한다.Then, the representative
조합 음식 선택부(320)는 대표 음식 선택부(310)에서 선택되어 전달된 기지정된 개수의 대표 음식 각각에 대해 사람들이 함께 조합하여 섭취한 조합 음식을 탐색 및 정렬한다.The combination
대표 음식 선택부(310)에 따라 정렬된 음식(uq)은 이전 사용자 또는 연관 사용자가 섭취한 음식의 중요 식재료가 포함되는 음식으로 이중 상위 기지정된 개수의 음식을 대표 음식이라할 수 있다. 여기서 대표 음식은 단순히 중요도에 따라 선출된 음식들로서 메인 음식이거나 서브 음식 또는 부가 음식이어도 무방하다.The food u q arranged according to the
조합 음식 선택부(320)는 대표 음식 선택부(310)에서 선택된 기지정된 개수의 대표 음식을 인가받고, 인가된 대표 음식을 음식 식사 관계 그래프 획득부(230)가 획득한 음식-식사 이분 그래프의 제1 카테고리(U)에서 확인한다. 그리고 확인된 다수의 음식 데이터(up) 각각에 대해 제2 카테고리(V)인 식사를 매개로 하여 연관이 있는 제1 카테고리(U)의 연관 음식 데이터(uq)를 탐색한다. 즉 사람들이 식사 시에 대표 음식과 함께 섭취한 음식 데이터를 탐색한다.The combination
음식-식사 이분 그래프의 제1 카테고리(U)에서 대표 음식에 대한 음식 데이터(up)에 연관된 연관 음식 데이터(uq)가 탐색되면, 조합 음식 선택부(320)는 대표 음식 데이터(up) 각각과 연관된 연관 음식 데이터(uq) 사이의 연관성을 AAI를 기반으로 계산하고, 계산된 AAI에 따라 탐색된 연관 음식 데이터(uq)를 정렬하여, 각 대표 음식에 대해 AAI가 높은 상위 기지정된 개수의 연관 음식 데이터(uq)를 해당 대표 음식과 조합될 조합 음식으로 선택한다.When the associated food data (u q ) related to the food data (up p ) for the representative food in the first category (U) of the food-meal dichotomy graph is searched for, the combination
즉 사람들이 대표 음식과 함께 섭취하는 비율이 높은 음식을 순차적으로 정렬한다. 식사 시에 함께 섭취하는 음식 사이의 관계는 서로 대등한 관계로 볼 수 있으므로, 조합 음식 선택부(320)는 수학식 1에 따라 계산되는 AAI에 따라 음식을 정렬할 수 있다. 그리고 조합 음식 선택부(320)는 AAI에 따라 정렬된 다수의 음식 중 기지정된 개수의 음식을 해당 대표 음식과 함께 조합될 조합 음식으로 선택한다.In other words, the foods that people consume with the representative foods are sequentially arranged. Since the relationship between foods consumed together during a meal can be regarded as an equal relationship, the combination
본 실시예에서 음식 선택부(300)에서 대표 음식 선택부(310)는 음식-식재료 이분 그래프를 이용하여 사용자가 이전 섭취한 음식과 공통된 식재료를 사용한 음식 데이터를 탐색하여 정렬하므로, 조합 음식 선택부(320)는 음식-식사 이분 그래프를 이용하여 사람들이 함께 섭취하는 음식 데이터를 탐색하여 정렬하므로, 서로 연관성이 없는 음식을 탐색하지 않고 AAI 또한 계산하지 않는다. 따라서 낮은 연산 비용으로 대표 음식과 조합 음식을 정렬할 수 있다.In this embodiment, in the
한편, 음식 분류부(400)는 정보 수집부(100)에서 수집된 음식의 종류와 양을 분류한다. 음식 분류부(400)는 음식 카테고리 설정부(410)와 단위 음식량 설정부(420)를 포함할 수 있다.On the other hand, the
도 4는 도 2의 음식 분류부에 따라 설정된 음식 분류와 단위량의 일 예를 나타낸다. 도 4의 4번째 칼럼(main)에 나타난 바와 같이, 음식 카테고리 설정부(410)는 정보 수집부(100)에서 수집된 음식의 카테고리에 따른 구분자를 부여할 수 있다. 즉 음식 카테고리 설정부(410)는 메인 음식과 서브 음식 및 부가 음식인지에 따라 서로 다른 구분자를 부여할 수 있으며, 도 4에서는 메인 음식에 대해서는 1의 구분자를 부여하였으며, 서브 음식에 대해서는 0의 구분자를 부여한 경우를 도시하였다.Figure 4 shows an example of food classification and unit amount set according to the food classification unit of FIG. As shown in the fourth column (main) of FIG. 4 , the food
여기서 음식 카테고리 설정부(410)가 음식 카테고리에 따른 구분자를 부여하는 것은 구분자에 따라 구분된 각 음식 카테고리의 음식이 식사에 일정 비율 이상으로 고르게 포함될 수 있도록 하기 위함이다. Here, the food
상기한 음식 선택부(300)에서 대표 음식과 이와 함께 섭취할 조합 음식이 식재료 및 식사에 따른 연관성에 기초하여 정렬될지라도, 이는 음식 상호간의 연관성만을 고려한 정렬 순서이다. 따라서 음식 선택부(300)에서 정렬된 순서에 따라 음식을 선택하여 추천하게 되는 경우, 메인 음식의 비율이 너무 높거나 서브 음식의 비율이 너무 높게 추천되는 경우가 발생할 수 있다. 이러한 문제를 방지하기 위해, 음식 카테고리 설정부(410)는 후술하는 조건 설정부(500)가 음식 카테고리에 따른 음식을 다양하게 포함시킬 수 있도록 미리 음식 카테고리에 따른 구분자를 부여할 수 있다.Although the representative food and the combination food to be consumed together in the
한편 단위 음식량 설정부(420)는 각 음식의 음식량을 이산화한다. 도 4의 표에서 3번째 칼럼(serving_size)에 나타난 바와 같이, 식사 시에 제공되는 각 음식의 양은 매우 다양하고 종류별로 상이하다. 그러나 각 음식에 대한 1인분에 따른 단위량으로 이산화되어 설정될 수는 있다. 이에 단위 음식량 설정부(420)는 각 음식이 1인분 단위로 증감되도록, 음식 종류에 따른 1인분 중량을 설정한다.Meanwhile, the unit food
여기서 음식 분류부(400)는 음식 추천 장치를 관리하는 관리자가 각 음식의 카테고리와 단위 음식량을 설정하여 저장할 수 있다. 다만 수집된 음식 섭취 데이터에 이미 메인 음식과 서브 음식 및 부가 음식에 따른 구분자가 부여된 경우, 음식 카테고리 설정부(410)는 생략될 수 있으며, 음식 정보에 1인분에 대한 단위량이 미리 설정된 경우에는 단위 음식량 설정부(420)가 생략될 수 있다.Here, in the
조건 설정부(500)는 음식 추천 장치가 사용자에게 음식을 추천할 때, 고려해야할 각종 제약 사항을 설정한다. 여기서 제약 사항에는 영양 성분에 따른 제약 사항과 더불어 사용자의 기호에 따른 사용자 조건이 함께 설정될 수 있다.The
조건 설정부(500)는 기본 조건 설정부(510) 및 사용자 조건 설정부(520)를 포함할 수 있다.The
기본 조건 설정부(510)는 음식의 영양 성분을 고려한 조건을 설정한다. 여기서는 일 예로 기본 조건 설정부(510)가 나트륨 섭취량(na), 열량(en), 포화 지방 비율(sfa), 지방 비율(fat), 탄수화물 비율(carb) 및 비타민 C 함량(vitc)을 기본적으로 고려하는 것으로 가정한다. 이 경우, 나트륨 섭취량(na)은 2000mg 이하가 되도록 설정되고, 열량(en)은 2000kcal 이하, 포화 지방 비율(sfa)은 7% 이하, 지방 비율(fat)은 15 ~ 30% 사이, 탄수화물 비율(carb)은 55 ~ 65% 사이 및 비타민 C 함량(vitc)은 50 ~ 1000mg 이 되도록 조건을 설정할 수 있다. 다만 이는 단순한 일 예로서 영양 성분의 종류와 갯수는 다양하게 변경될 수 있다.The basic
또한 기본 조건 설정부(510)는 음식의 구성이 통상적인 식사의 형태를 유지할 수 있도록 추가적인 조건을 설정할 수 있다. 예로서 기본 조건 설정부(510)는 음식 카테고리에서 메인 음식으로 분류된 음식이 기지정된 중량(예를 들면 700g) 이상 포함되도록 설정할 수 있다. 이는 반찬이나 채소 등과 같은 서브 음식만이 과도하게 제공되고 메인 음식이 제공되지 않아 사용자가 추천되는 음식을 신뢰하지 못하는 경우를 방지하기 위함이다. 그리고 과일과 같은 특정 종류의 음식의 제공량이 미리 지정될 수도 있다.In addition, the basic
사용자 조건 설정부(520)는 사용자 단말(10)로부터 인가되는 선호 및 비선호 음식 정보와 질병 등에 따른 금지 음식 정보에 따라 반드시 포함하거나 제외할 음식에 대한 조건을 설정할 수 있다. 일 예로 사용자는 추천 음식에 김치가 반드시 포함되도록 설정하거나, 포함되지 않도록 설정할 수 있다.The user
도 5는 도 2의 음식 분류부의 개인 취향 설정 일 예를 나타낸다.5 shows an example of personal taste setting of the food classification unit of FIG. 2 .
도 5에서는 김치가 반드시 포함되도록 조건을 설정한 경우의 예를 나타내며, 이 경우 단순히 배추 김치만을 포함하는 것이 아니라 음식 종류에서 김치로 분류되는 다양한 김치 중 적어도 하나가 포함될 수 있도록, 오른쪽 칼럼에서와 같이 김치로 분류되는 모든 음식이 1로 활성화되었음을 알 수 있다.5 shows an example in which conditions are set so that kimchi must be included. In this case, as shown in the right column, at least one of various kimchi classified as kimchi in the food category is included, rather than simply including cabbage kimchi. It can be seen that all foods classified as kimchi are activated as 1.
여기서 반드시 포함하거나 제외할 음식이 아닌 식재료가 인가된 경우에는 음식 식재료 관계 그래프 획득부(220)가 획득한 음식-식재료 이분 그래프를 이용하여 해당 식재료가 포함된 음식을 확인할 수 있다.Here, when an ingredient other than a food to be necessarily included or excluded is authorized, the food including the corresponding ingredient can be identified using the food-ingredient bipartite graph acquired by the food ingredient relationship
또한 사용자 조건 설정부(520)는 사용자의 건강 상태에 따른 개인 영양 조건이 추가로 설정될 수도 있으며, 사용자 조건 설정부(520)에서 설정된 조건이 기본 조건 설정부(510)에서 설정된 조건과 중복되는 경우 사용자 조건 설정부(520)에서 설정된 조건을 우선하도록 조건을 수정할 수 있다.In addition, the user
음식 추천부(600)는 음식 선택부(300)의 대표 음식 선택부(310)에서 추출한 기지정된 개수의 대표 음식과 조합 음식 선택부(320)에서 각 대표 음식에 따라 추출한 기지정된 개수의 음식이 조합된 음식 세트를 다수개로 인가받고, 조건 설정부(500)에서 설정된 조건에 부합되는 음식 세트와 음식 세트에 포함된 음식량을 결정하여 추천 음식으로서 사용자 단말(10)로 전달한다. 여기서 음식 세트의 개수는 선택된 대표 음식의 개수와 동일할 수 있다.The
음식 추천부(600)는 음식 세트에 포함된 음식들의 AAI와 제공량을 기반으로 선형 계획법에 기초하여 음식 세트를 정렬하고, 상위에 정렬된 음식 세트 중에서 조건 설정부(500)에서 설정된 조건에 만족하는 기지정된 개수(예를 들면 3개)의 음식 세트를 추천 음식으로 결정한다.The
음식 추천부(600)는 다수의 음식 세트 각각에 대해 포함된 각 음식의 AAI를 스코어(s)로 지정하고, 각 음식의 제공량을 변수(x)로 설정하여 선형 함수를 구성하고, 선형 함수의 연산값이 최대가 되도록 음식 제공량(x)을 지정된 범위 내에서 가변하여 각 음식 세트에서의 음식 제공량을 최적화한다. 즉 음식 추천부(600)는 음식 세트에 포함된 음식들의 연관성을 이용하여 각 음식의 제공량을 최적화한다.The
만일 음식 세트에 포함된 음식의 개수가 n개일 때, 음식 세트의 각 음식 제공량은 수학식 3에 따라 최적화될 수 있다.If the number of foods included in the food set is n, the serving amount of each food in the food set can be optimized according to Equation 3.
여기서 s1 ~ sn 은 음식 세트에 포함된 n개의 음식 각각의 스코어를 나타내고, x1 ~ xn 은 n개의 음식 각각의 제공량을 나타낸다.Here, s 1 to s n represent the scores of each of the n foods included in the food set, and x 1 to x n represent the serving amounts of each of the n foods.
이때, 음식 제공량(x)은 단위량을 기초로 0인분, 1인분 및 2인분(0, 1, 2)으로 이산된 단위로 제공되도록 제한될 수 있다. 이는 음식 제공량(x)이 제한되지 않는 경우, 수학식 3의 연산 함수의 연산값이 사용자가 식사 중에 섭취할 수 있는 상식적인 범위의 양을 초과할 수 있기 때문이다. 즉 특정 음식이 한끼에 2인분을 초과하여 제공되지 않도록 제한할 수 있다.At this time, the amount of food to be provided (x) may be limited to be provided in discrete units such as 0 servings, 1 serving, and 2 servings (0, 1, 2) based on the unit amount. This is because, when the amount of food provided (x) is not limited, the calculated value of the calculation function of Equation 3 may exceed the amount within a common sense range that the user can consume during a meal. That is, certain foods can be restricted so that they are not provided in excess of two servings per meal.
다만 일부 음식의 경우에는 다수의 사람들이 음식을 나누어서 섭취하는 것을 기본으로 1회 제공량이 결정되어 있으므로, 음식 제공량(x)이 0인분, 1인분 및 2인분(0, 1, 2)이 아닌 0인분, 0.5 인분, 1 인분, 1.5인분(0, 0.5, 1, 1.5)의 이산된 단위로 제공되도록 설정할 수도 있다.However, in the case of some foods, since the serving amount is determined based on the fact that many people share the food and consume it, the food serving amount (x) is 0, not 0 servings, 1 serving, and 2 servings (0, 1, 2). It can also be set to be served in discrete units of servings, 0.5 servings, 1 serving, 1.5 servings (0, 0.5, 1, 1.5).
수학식 3에 따라 다수의 음식 세트 각각에 대한 음식 제공량의 최적화가 수행되면, 최적화된 연산값에 따라 다수의 음식 세트를 정렬한다. 즉 최적화된 제공량에 기초하여 계산되는 음식 세트의 연관성이 높은 순서로 음식 세트를 정렬한다.When the amount of food provided for each of the plurality of food sets is optimized according to Equation 3, the plurality of food sets are sorted according to the optimized calculation value. That is, the food sets are arranged in an order of high correlation among the food sets calculated based on the optimized serving amount.
그리고 최적화된 연산값에 따른 음식 제공량이 결정된 음식 세트의 음식 조합이 조건 설정부(500)에서 설정된 조건에 만족하는지 확인한다. 이때 기본 조건 설정부(510)에서 설정된 영양 조건을 만족하는지 여부는 수학식 4에 따라 계산될 수 있다.In addition, it is checked whether the food combination of the food set in which the food serving amount is determined according to the optimized calculation value satisfies the condition set by the
여기서 am1 ~ amn 은 n개의 음식 각각의 단위량에서의 특정 영양 성분(m)을 나타내고, bmu 와 bml 은 각각 특정 영양 성분(m)에 대해 설정된 상한 및 하한 조건을 나타낸다.Here, a m1 to a mn represent specific nutritional components (m) in each unit amount of n foods, and b mu and b ml represent upper and lower limit conditions set for specific nutritional components (m), respectively.
즉 수학식 4는 음식 세트에 포함된 음식들의 최적 제공량(x1 ~ xn)에 따른 특정 영양 성분(m)이 상한 및 하한 조건(bmu, bml)을 초과하는지 여부를 판별한다.That is, Equation 4 determines whether a specific nutritional component (m) according to the optimal serving amount (x 1 to x n ) of foods included in the food set exceeds the upper and lower limit conditions (b mu , b ml ).
다만 일반적으로 사용자들이 섭취해야하는 영양 성분은 1회 식사가 아닌 1일 단위로 설정된다. 따라서 음식 추천부(600)는 사용자가 해당일의 이전 식사시에 섭취한 음식에 의해 제공된 영양 성분을 추가로 고려하여 상한 및 하한 조건(bmu, bml)을 조절할 수 있다. 즉 1일 단위에서 영양 성분이 부족하거나 초과되지 않도록 상한 및 하한 조건(bmu, bml)을 변경할 수 있다.However, in general, the nutritional components that users should consume are set per day, not per meal. Therefore, the
이후 음식 추천부(600)는 최적화된 연산값에 따른 음식 제공량이 결정된 음식 세트에서 조건 설정부(500)에서 설정된 조건에 만족하는 음식 세트를 선택하여 추천 음식으로서 사용자 단말로 전달한다. 이때 조건 설정부(500)에서 설정된 조건에 만족하는 음식 세트가 다수개인 경우, 정렬된 순서, 즉 최적화된 연산값이 큰 음식 세트 순서로 기지정된 개수의 음식 세트를 선택하여 사용자 단말로 전송할 수 있다.Thereafter, the
추가적으로 본 실시예에서 음식 추천부(600)는 설정된 조건에 의해 추천 가능한 음식 세트가 매우 제한되거나 선택되지 않는 경우를 방지하기 위해 조건 완화 패널티를 추가로 적용할 수도 있다.Additionally, in this embodiment, the
조건 완화 패널티는 각 영양 성분(m)의 조건 초과량(em)에 대해 미리 지정된 영양 성분별 패널티 계수(pm)를 가중하여 설정될 수 있으며, 이 경우 수학식 3의 선형 함수는 영양 성분에 따른 패널티를 차감하여 수학식 5로 변형될 수 있다.The condition relaxation penalty can be set by weighting the pre-specified penalty coefficient (p m ) for each nutritional component (m ) over the condition (e m ) of each nutritional component (m). In this case, the linear function of Equation 3 is It can be transformed into Equation 5 by subtracting the penalty according to
그리고 음식 추천부(600)는 수학식 5에 따라 각 음식 세트에서 최적의 음식 제공량을 결정하고, 결정된 최적의 음식 제공량에 따른 연산값을 기초로 음식 세트를 정렬하여 추천 음식을 결정할 수 있다.Also, the
결과적으로 본 실시예에 따른 음식 추천 장치는 사용자가 이전 식사 시에 섭취한 음식으로부터 연관성이 높은 대표 음식을 추출하고, 추출된 대표 음식과 함께 섭취하기 좋은 다수의 조합 음식을 추출하여 음식 세트를 구성하고 구성된 음식 세트에서 각 음식의 제공량을 결정하여 사용자에게 추천할 수 있다. 또한 음식 세트에 따른 영양 성분과 같은 기본 조건과 사용자 개인이 설정한 사용자 조건을 만족하는 음식 세트를 선택하도록 함으로써 사용자의 기호와 영양을 고려한 음식 추천이 가능하도록 한다.As a result, the food recommendation device according to the present embodiment configures a food set by extracting a representative food with a high correlation from the food consumed by the user at a previous meal, and extracting a plurality of combination foods that are good to be consumed together with the extracted representative food. It is possible to determine the serving amount of each food from the configured food set and recommend it to the user. In addition, it is possible to recommend food considering the user's taste and nutrition by allowing the user to select a food set that satisfies basic conditions such as nutritional components according to the food set and user conditions set by the individual user.
도 6은 본 발명의 일 실시예에 따른 영양기반 음식 추천 방법을 나타낸다.6 shows a nutrition-based food recommendation method according to an embodiment of the present invention.
도 1 내지 도 5를 참조하여, 도 6의 음식 추천 방법을 설명하면, 우선 음식 섭취 데이터를 수집하여 획득한다(S11). 여기서 음식 섭취 데이터에는 다수의 사람들이 섭취한 음식 및 음식에 이용된 식재료에 대한 정보가 포함되며, 예로서 하루 동안의 식사 시간과 식사 시 섭취한 음식의 종류, 각 음식에 사용된 식재료의 중량 및 음식별 영양 성분 정보가 포함될 수 있다.Referring to the food recommendation method of FIG. 6 with reference to FIGS. 1 to 5 , first, food intake data is collected and obtained (S11). Here, the food intake data includes information on the food consumed by a large number of people and the ingredients used in the food, for example, the meal time during the day, the type of food consumed at the time of meal, the weight of the food material used for each food, and Nutrient component information for each food may be included.
그리고 음식 섭취 데이터에 대한 정보가 수집되면, 사용자 각각이 기지정된 기간 동안의 식사와 식사 시에 섭취한 음식의 종류와 양에 대한 정보가 포함된 사용자 식사 정보를 획득한다(S12). 사용자 식사 정보는 다수의 사용자 단말(10)로부터 전송되어 획득될 수 있다.Then, when information on food intake data is collected, user meal information including information on the type and amount of food consumed during each user's meal for a predetermined period of time and during the meal is obtained (S12). User meal information may be transmitted and obtained from a plurality of
음식 섭취 데이터와 사용자 식사 정보가 획득되면, 획득된 사용자 식사 정보와 음식 섭취 데이터를 기반으로 사용자와 음식, 음식과 식사 및 음식과 식재료 사이의 관계를 분석하기 위한 이분 그래프를 획득한다(S13). 이때, 음식과 식재료 사이의 관계를 나타내는 음식-식재료 이분 그래프 및 음식과 식사 사이의 관계를 음식-식사 이분 그래프로 구분하여 획득될 수 있으며, 사용자와 음식 사이의 관계를 나타내는 사용자-음식 이분 그래프가 추가로 획득될 수 있다.When the food intake data and user meal information are acquired, a bipartite graph is obtained to analyze the relationship between the user and food, food and meal, and food and ingredients based on the obtained user meal information and food intake data (S13). At this time, it can be obtained by dividing the food-food bipartite graph representing the relationship between food and food and the food-meal bipartite graph representing the relationship between food and food, and the user-food bipartite graph representing the relationship between the user and food can be obtained additionally.
음식-식재료 이분 그래프와 음식-식사 이분 그래프가 획득되면, 사용자 식사 정보를 기반으로 사용자가 이전 기지정된 기간 동안 섭취한 음식을 기초로 음식-식재료 이분 그래프를 이용하여 공통된 식재료를 갖는 연관 음식을 탐색하고, 두 음식 사이의 연관성을 식재료의 비중을 고려한 수학식 2의 수정 AAI로 계산하여 높은 수정 AAI값을 갖는 기지정된 개수의 음식을 대표 음식으로 선택한다(S14).When the food-ingredient bipartite graph and food-meal bipartite graph are obtained, based on the user's meal information, based on the food consumed by the user for a pre-determined period, search for related foods having common ingredients using the food-ingredient bipartite graph. And, the correlation between the two foods is calculated by the modified AAI of Equation 2 considering the specific gravity of the ingredients, and a predetermined number of foods having a high modified AAI value are selected as representative foods (S14).
기지정된 개수의 대표 음식 각각을 기초로 음식-식사 이분 그래프를 이용하여 사람들이 해당 음식과 함께 섭취한 연관 음식을 탐색하고, 두 음식 사이의 연관성을 AAI로 계산하여 높은 AAI값을 갖는 기지정된 개수의 음식을 각 대표 음식에 대한 조합 음식으로 선택한다(S15).Based on each of a predetermined number of representative foods, a food-meal dichotomy graph is used to search for related foods that people consume with the corresponding food, and the relationship between the two foods is calculated with AAI to determine a predetermined number of high AAI values. The food of each is selected as a combination food for each representative food (S15).
기지정된 개수의 대표 음식과 각 대표 음식에 대한 기지정된 개수의 조합 음식이 선택되면, 대표 음식과 대응하는 조합 음식을 음식 세트로 설정한다(S16).When a predetermined number of representative foods and a predetermined number of combination foods for each representative food are selected, the representative food and the corresponding combination food are set as a food set (S16).
한편, 이와는 별도로 음식 섭취 데이터와 사용자 식사 정보가 획득되면, 각 음식을 메인 음식, 서브 음식 및 부가 음식으로 음식 카테고리를 분류하여 카테고리에 따른 구분자를 부여한다(S21). 각 음식의 1회 제공량을 기준으로 단위량을 설정한다(S22).Meanwhile, separately from this, when food intake data and user meal information are obtained, food categories are classified into main food, sub food, and additional food, and a separator according to the category is assigned (S21). A unit amount is set based on the serving amount of each food (S22).
다만 수집된 음식 섭취 데이터에 메인 음식, 서브 음식 및 부가 음식과 같은 음식 카테고리가 미리 구분된 경우, 카테고리 분류 단계(S21)는 생략될 수 있다. 또한 음식 섭취 데이터에 음식별 단위량이 미리 설정된 경우, 음식 단위량 설정 단계(S22) 또한 생략될 수 있다.However, if food categories such as main food, sub food, and additional food are pre-classified in the collected food intake data, the category classification step (S21) may be omitted. In addition, if the unit amount for each food is set in advance in the food intake data, the food unit amount setting step (S22) may also be omitted.
그리고 추천되는 음식 세트에 대한 기본 조건이 설정될 수 있다(S23). 여기서 기본 조건에는 음식 세트로 제공되어야 할 각종 영양 성분이나 카테고리에 따른 음식량과 필수 포함 음식 등이 설정될 수 있다.In addition, basic conditions for recommended food sets may be set (S23). Here, as the basic condition, various nutritional components to be provided as a food set, amount of food according to category, and essential food may be set.
또한 사용자 개인의 취향이나 건강 상태에 따른 사용자 조건이 추가로 설정된다(S24). 여기서 사용자 조건에는 사용자의 선호 및 비선호 음식과 건강 상태에 따른 영양 성분별 필요량 등이 포함될 수 있다. 만일 기본 조건과 사용자 조건이 동일한 내용에 대한 조건으로 설정되는 경우, 사용자 조건이 우선 설정될 수 있다.In addition, user conditions according to the user's personal taste or health condition are additionally set (S24). Here, the user conditions may include the user's preferred and non-preferred food and the required amount of each nutritional component according to the user's health condition. If the basic condition and the user condition are set as conditions for the same content, the user condition may be set first.
여기서 기본 조건의 경우, 관리자에 의해 사전에 미리 설정될 수 있으며, 사용자 조건 또한 사용자에 의해 미리 설정될 수 있으며, 이 경우, 기본 조건 설정 단계와 사용자 조건 설정 단계는 생략될 수 있다.Here, the basic conditions may be set in advance by the administrator, and the user conditions may also be set in advance by the user. In this case, the basic condition setting step and the user condition setting step may be omitted.
그리고 음식 세트가 설정되면, 설정된 각 음식 세트에 포함된 음식들의 AAI값과 제공량을 기반으로, 음식들 각각의 제공량을 최적화한다(S17). 이때, 제공량을 단위량에 따른 이산적인 변수로 설정하여 기지정된 범위 내에서 가변하면서 수학식 3으로 나타나는 선형 함수의 연산값이 최대화되는 제공량을 계산함으로써, 음식 제공량을 최적화할 수 있다.When the food set is set, the serving amount of each food is optimized based on the AAI value and the serving amount of the food included in each set food set (S17). At this time, the serving amount can be optimized by setting the serving amount to a discrete variable according to the unit amount and calculating the serving amount at which the calculated value of the linear function represented by Equation 3 is maximized while varying within a predetermined range.
이후 최적화된 음식 제공량을 기초로 다수의 음식 세트 각각이 설정된 기본 조건 및 사용자 조건을 만족하는지 판별하여 조건을 만족하는 음식 세트를 선별한다(S18).Then, based on the optimized amount of food provided, it is determined whether each of the plurality of food sets satisfies the set basic condition and user condition, and a food set satisfying the condition is selected (S18).
조건을 만족하는 음식 세트가 존재하면, 조건을 만족하는 음식 세트를 추천 음식으로 사용자에게 추천한다(S19). 이때 조건을 만족하는 음식 세트 중 선형 함수의 연산값이 큰 순서로 기지정된 기준 개수의 음식 세트를 사용자에게 추천할 수 있다. 그러나 만일 조건을 만족하는 음식 세트가 존재하지 않거나 조건을 만족하는 음식 세트의 개수가 기준 개수 미만이면, 각 영양 성분(m)의 조건 초과량(em)에 대해 미리 지정된 영양 성분별 패널티 계수(pm)를 가중하여 누적한 조건 완화 패널티를 수학식 3의 선형 함수에 추가로 반영하여 수학식 5와 같이 변형된 선형 함수를 이용한다. 이는 음식 세트의 음식 제공량이 요구되는 조건을 만족시키지 못하여 패널티가 적용됨에도 높은 연산값을 나타내는 음식 세트가 사용자에게 추천될 수 있도록 하여 사용자가 추천된 음식에 대한 불만을 일정 수준 해소할 수 있도록 하기 위함이다.If there is a food set that satisfies the condition, the food set that satisfies the condition is recommended to the user as recommended food (S19). In this case, among the food sets satisfying the condition, food sets of a predetermined reference number may be recommended to the user in the order of increasing calculated values of the linear function. However, if there is no food set that satisfies the condition or the number of food sets that satisfy the condition is less than the standard number, the penalty coefficient ( The condition relaxation penalty accumulated by weighting p m ) is additionally reflected in the linear function of Equation 3, and the modified linear function is used as shown in Equation 5. This is to allow the user to be recommended a food set with a high computational value even though a penalty is applied because the amount of food provided in the food set does not satisfy the required condition, so that the user can resolve the complaint about the recommended food to a certain level. am.
본 발명에 따른 방법은 컴퓨터에서 실행시키기 위한 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 여기서 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스 될 수 있는 임의의 가용 매체일 수 있고, 또한 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함하며, ROM(판독 전용 메모리), RAM(랜덤 액세스 메모리), CD(컴팩트 디스크)-ROM, DVD(디지털 비디오 디스크)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등을 포함할 수 있다.The method according to the present invention may be implemented as a computer program stored in a medium for execution on a computer. Here, computer readable media may be any available media that can be accessed by a computer, and may also include all computer storage media. 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, including read-only memory (ROM) dedicated memory), random access memory (RAM), compact disk (CD)-ROM, digital video disk (DVD)-ROM, magnetic tape, floppy disk, optical data storage device, and the like.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.Although the present invention has been described with reference to the embodiments shown in the drawings, this is only exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims.
10: 사용자 단말
20: 의료 단말
30: 데이터베이스 서버
40: 음식 추천 서버
100: 정보 수집부
110: 사용자 식사 정보 획득부
120: 식품 섭취 정보 수집부
200: 관계 분석부
210: 사용자 음식 관계 그래프 획득부
220: 음식 식재료 관계 그래프 획득부
230: 음식 식사 관계 그래프 획득부
300: 음식 선택부
310: 대표 음식 선택부
320: 조합 음식 선택부
400: 음식 분류부
410: 음식 카테고리 설정부
420: 단위 음식량 설정부
500: 조건 설정부
510: 기본 조건 설정부
520: 사용자 조건 설정부
600: 음식 추천부10: user terminal 20: medical terminal
30: database server 40: food recommendation server
100: information collection unit 110: user meal information acquisition unit
120: food intake information collection unit 200: relationship analysis unit
210: user food relationship graph acquisition unit
220: food ingredient relationship graph acquisition unit
230: food meal relationship graph acquisition unit
300: food selection unit 310: representative food selection unit
320: combination food selection unit 400: food classification unit
410: food category setting unit 420: unit food amount setting unit
500: condition setting unit 510: basic condition setting unit
520: user condition setting unit 600: food recommendation unit
Claims (18)
상기 음식 섭취 데이터를 기반으로 음식과 식재료 사이의 관계를 분석하기 위한 음식-식재료 이분 그래프와 음식과 식사 사이의 관계를 분석하기 위한 음식-식사 이분 그래프를 획득하는 관계 분석부;
상기 사용자 식사 정보에서 획득된 음식을 기준으로 상기 음식-식재료 이분 그래프에서 연관된 음식을 탐색하여 연관성이 높은 기지정된 개수의 대표 음식을 선택하고, 상기 대표 음식 각각을 기준으로 상기 음식-식사 이분 그래프에서 연관된 음식을 탐색하여 대표 음식 각각에 대응하는 높은 연관성을 갖는 기지정된 개수의 조합 음식을 선택하여 대표 음식과 조합 음식으로 구성되는 음식 세트를 획득하는 음식 선택부; 및
상기 음식 세트에 포함된 음식들의 연관성에 기초하여 각 음식의 제공량을 최적화하고, 각 음식의 최적 제공량에 기초하여 계산되는 전체 연관성이 높은 기지정된 개수의 음식 세트를 선택하여 추천하는 음식 추천부를 포함하는 음식 추천 장치.Information collection obtained by collecting user meal information, which is information about the user's previous food consumption during a pre-specified period, and food intake data, which includes information about the food consumed by a large number of people and the ingredients of each meal. wealth;
a relationship analysis unit that acquires a food-ingredient bipartite graph for analyzing a relationship between food and ingredients and a food-meal bipartite graph for analyzing a relationship between food and meal based on the food intake data;
Based on the food obtained from the user's meal information, search for related foods in the food-ingredient bipartite graph to select a predetermined number of representative foods with high correlation, and based on each of the representative foods, in the food-meal bipartite graph. a food selection unit for obtaining a food set consisting of the representative food and the combination food by searching for related foods and selecting a predetermined number of combination foods having a high correlation corresponding to each of the representative foods; and
A food recommendation unit that optimizes the serving amount of each food based on the relevance of the foods included in the food set and selects and recommends a predetermined number of food sets having a high total correlation calculated based on the optimal serving amount of each food Food recommendation device.
상기 사용자 식사 정보에서 획득된 음식을 기준으로 상기 음식-식재료 이분 그래프에서 공통된 식재료를 이용하는 연관 음식을 탐색하고, 기준이 된 음식과 연관 음식과의 연관성을 공통으로 포함된 식재료의 비중을 고려하여 수정한 수정 아다믹 아다르 인덱스(Adamic-Adar Index: 이하 AAI)로 계산하여 높은 수정 AAI를 갖는 기지정된 개수의 연관 음식을 대표 음식을 선택하는 대표 음식 선택부; 및
상기 대표 음식 각각을 기준으로 상기 음식-식사 이분 그래프에서 동일 식사에서 제공된 음식인 연관 음식을 탐색하고, 각 대표 음식과 연관 음식과의 연관성을 AAI로 계산하여 높은 AAI를 갖는 기지정된 개수의 연관 음식을 조합 음식을 선택하여 대표 음식과 조합 음식으로 구성되는 음식 세트를 획득하는 조합 음식 선택부를 포함하는 음식 추천 장치.The method of claim 1, wherein the food selection unit
Based on the food obtained from the user's meal information, search for related foods using common ingredients in the food-ingredient bipartite graph, and modify the relationship between the standard food and the related food in consideration of the proportion of commonly included ingredients. a representative food selection unit for selecting a representative food from a predetermined number of related foods having a high modified AAI calculated by a modified Adamic-Adar Index (hereinafter referred to as AAI); and
Based on each of the representative foods, a related food that is a food served at the same meal is searched for in the food-meal dichotomy graph, and the association between each representative food and the related food is calculated by AAI, and a predetermined number of related foods having a high AAI are calculated. A food recommendation device including a combination food selection unit for selecting a combination food to obtain a food set consisting of the representative food and the combination food.
상기 음식 섭취 데이터에서 다수의 음식과 다수의 식재료를 서로 다른 2개의 카테고리로 분류하고, 다수의 음식 각각에 포함된 식재료를 서로 연결하여 상기 음식-식재료 이분 그래프를 획득하는 음식 식재료 관계 그래프 획득부; 및
상기 음식 섭취 데이터에서 식사와 음식을 서로 다른 2개의 카테고리로 분류하고, 각 식사 시에 섭취한 음식을 서로 연결하여 상기 음식-식사 이분 그래프를 획득하는 음식 식사 관계 그래프 획득부를 포함하는 음식 추천 장치.The method of claim 2, wherein the relationship analysis unit
a food ingredient relationship graph acquisition unit configured to classify a plurality of foods and a plurality of ingredients into two different categories in the food intake data, and acquire the food-ingredient bipartite graph by connecting ingredients included in each of the plurality of foods; and
and a food-meal relationship graph acquisition unit configured to classify meals and foods into two different categories from the food intake data and to obtain the food-meal dichotomy graph by connecting foods consumed at each meal.
상기 수정 AAI(mAAI)를 수학식
(여기서 up 는 음식-식재료 이분 그래프에서 기준이 되는 음식과 연관 음식을 나타내고, v는 식재료, Am은 식재료(v)가 포함된 모든 음식들 내에서 식재료(v)의 평균 중량을 나타내고, mp, mq는 각각 음식(up, uq)에 포함된 식재료(v)의 중량을 나타낸다.)
에 따라 계산하는 음식 추천 장치.The method of claim 2, wherein the representative food selection unit
The modified AAI (mAAI) is expressed as
(Where u p represents the standard food and related food in the food-ingredient bipartite graph, v is the food ingredient, Am represents the average weight of the food ingredient (v) within all foods including the food ingredient (v), m p , m q represent the weight of ingredients (v) included in food (u p , u q ), respectively.)
Food recommendation device that calculates according to.
상기 AAI를 수학식
(여기서 up 는 음식-식사 이분 그래프에서 기준이 되는 음식과 연관 음식을 나타내고, v는 식사를 나타낸다.)
에 따라 계산하는 음식 추천 장치.The method of claim 2, wherein the combination food selection unit
Equation above AAI
(Where u p represents the standard food and related food in the food-meal dichotomy graph, and v represents the meal.)
Food recommendation device that calculates according to.
상기 음식 세트에 포함된 음식들의 연관성의 합으로 계산되는 전체 연관성이 최대가 되도록 각 음식의 제공량을 최적화하고, 미리 지정된 영양 성분별로 연산된 음식별 최적 제공량을 적용하여 음식별 최적 제공량에 따른 각 음식 세트의 영양 성분량을 계산하며, 계산된 영양 성분량이 기지정된 영양 성분별 조건을 만족하면서 전체 연관성이 가장 높은 기지정된 개수의 음식 세트를 선택하여 추천하는 음식 추천 장치.The method of claim 3, wherein the food recommendation unit
The serving amount of each food is optimized so that the total correlation calculated as the sum of the correlations of the foods included in the food set is maximized, and the optimal serving amount for each food calculated for each predetermined nutritional component is applied to each food according to the optimal serving amount for each food. A food recommendation device that calculates the amount of nutritional components of a set, selects and recommends a predetermined number of food sets having the highest total correlation while satisfying the predetermined nutritional component-specific conditions.
선형 계획법에 따라 상기 대표 음식 각각과 상기 조합 음식 사이의 AAI를 스코어(s)로 지정하고, 각 음식의 제공량을 각 음식이 제공되는 단위량에 따른 변수(x)로 설정하여 구성되어 음식 세트의 전체 연관성을 나타내는 선형 함수의 연산값이 최대가 되도록 수학식
을 만족하는 변수(x)를 기지정된 범위 내에서 탐색하여 각 음식별 최적 제공량을 연산하는 음식 추천 장치.The method of claim 6, wherein the food recommendation unit
According to the linear programming method, the AAI between each of the representative foods and the combination food is designated as a score (s), and the serving amount of each food is set as a variable (x) according to the unit amount provided for each food. Equation so that the calculated value of the linear function representing the total correlation is maximized
A food recommendation device that calculates an optimal serving amount for each food by searching for a variable (x) that satisfies within a predetermined range.
기지정된 영양 성분별 조건과의 차이에 따라 계산되는 조건 완화 패널티가 적용된 전체 연관성을 계산하고, 상기 조건 완화 패널티가 적용된 전체 연관성이 최대가 되도록 각 음식의 제공량을 최적화하고, 최적 제공량에 따른 전체 연관성이 가장 높은 기지정된 개수의 음식 세트를 선택하여 추천하는 음식 추천 장치.The method of claim 3, wherein the food recommendation unit
Calculate the total relevance to which the condition relief penalty, which is calculated according to the difference from the condition for each predetermined nutritional component, is applied, optimize the serving amount of each food so that the total relevance to which the condition relief penalty is applied is maximized, and the total relevance according to the optimal serving amount A food recommendation device that selects and recommends the highest predetermined number of food sets.
선형 계획법에 따라 상기 대표 음식 각각과 상기 조합 음식 사이의 AAI를 스코어(s)로 지정하고, 각 음식의 제공량을 각 음식이 제공되는 단위량에 따른 변수(x)로 설정하며, 각 영양 성분(m)의 조건 초과량(em)에 대해 미리 지정된 영양 성분별 패널티 계수(pm)를 가중하여 설정되는 조건 완화 패널티로 구성되어 음식 세트의 전체 연관성을 나타내는 선형 함수의 연산값이 최대가 되도록 수학식
을 만족하는 변수(x)를 기지정된 범위 내에서 탐색하여 각 음식별 최적 제공량을 연산하는 음식 추천 장치.The method of claim 8, wherein the food recommendation unit
According to the linear programming method, the AAI between each of the representative foods and the combination food is designated as score (s), the serving amount of each food is set as a variable (x) according to the unit amount provided, and each nutritional component ( m) of the condition excess amount (e m ), which is composed of a condition relaxation penalty set by weighting the penalty coefficient (p m ) for each nutritional component specified in advance, so that the calculated value of the linear function representing the overall association of the food set is maximized math formula
A food recommendation device that calculates an optimal serving amount for each food by searching for a variable (x) that satisfies within a predetermined range.
상기 음식 섭취 데이터를 기반으로 음식과 식재료 사이의 관계를 분석하기 위한 음식-식재료 이분 그래프와 음식과 식사 사이의 관계를 분석하기 위한 음식-식사 이분 그래프를 포함하는 이분 그래프를 획득하는 단계;
상기 사용자 식사 정보에서 획득된 음식을 기준으로 상기 음식-식재료 이분 그래프에서 연관된 음식을 탐색하여 연관성이 높은 기지정된 개수의 대표 음식을 선택하고, 상기 대표 음식 각각을 기준으로 상기 음식-식사 이분 그래프에서 연관된 음식을 탐색하여 대표 음식 각각에 대응하는 높은 연관성을 갖는 기지정된 개수의 조합 음식을 선택하여 대표 음식과 조합 음식으로 구성되는 음식 세트를 획득하는 단계; 및
상기 음식 세트에 포함된 음식들의 연관성에 기초하여 각 음식의 제공량을 최적화하고, 각 음식의 최적 제공량에 기초하여 계산되는 전체 연관성이 높은 기지정된 개수의 음식 세트를 선택하여 추천하는 단계를 포함하는 음식 추천 방법.Collecting and obtaining user meal information, which is information about food consumed by a user during a pre-specified period of time, and food intake data including information about food eaten by a plurality of people and ingredients of each meal;
Obtaining a bipartite graph including a food-ingredient bipartite graph for analyzing a relationship between food and ingredients and a food-meal bipartite graph for analyzing a relationship between food and meal based on the food intake data;
Based on the food obtained from the user's meal information, search for related foods in the food-ingredient bipartite graph to select a predetermined number of representative foods with high correlation, and based on each of the representative foods, in the food-meal bipartite graph. obtaining a food set consisting of the representative food and the combination food by searching for related foods and selecting a predetermined number of combination foods having a high correlation corresponding to each of the representative foods; and
Optimizing the serving amount of each food based on the correlation of the foods included in the food set, and selecting and recommending a predetermined number of food sets having a high total correlation calculated based on the optimal serving amount of each food How to recommend.
상기 사용자 식사 정보에서 획득된 음식을 기준으로 상기 음식-식재료 이분 그래프에서 공통된 식재료를 이용하는 연관 음식을 탐색하고, 기준이 된 음식과 연관 음식과의 연관성을 공통으로 포함된 식재료의 비중을 고려하여 수정한 수정 아다믹 아다르 인덱스(Adamic-Adar Index: 이하 AAI)로 계산하여 높은 수정 AAI를 갖는 기지정된 개수의 연관 음식을 대표 음식을 선택하는 단계; 및
상기 대표 음식 각각을 기준으로 상기 음식-식사 이분 그래프에서 동일 식사에서 제공된 음식인 연관 음식을 탐색하고, 각 대표 음식과 연관 음식과의 연관성을 AAI로 계산하여 높은 AAI를 갖는 기지정된 개수의 연관 음식을 조합 음식을 선택하여 대표 음식과 조합 음식으로 음식 세트를 구성하는 단계를 포함하는 음식 추천 방법.11. The method of claim 10, wherein obtaining the set of food comprises:
Based on the food obtained from the user's meal information, search for related foods using common ingredients in the food-ingredient bipartite graph, and modify the relationship between the standard food and the related food in consideration of the proportion of commonly included ingredients. selecting a representative food from a predetermined number of related foods having a high modified AAI by calculating with a modified Adamic-Adar Index (hereinafter referred to as AAI); and
Based on each of the representative foods, a related food that is a food served at the same meal is searched for in the food-meal dichotomy graph, and the association between each representative food and the related food is calculated by AAI, and a predetermined number of related foods having a high AAI are calculated. A food recommendation method comprising selecting a combination food and configuring a food set with representative food and combination food.
상기 음식 섭취 데이터에서 다수의 음식과 다수의 식재료를 서로 다른 2개의 카테고리로 분류하고, 다수의 음식 각각에 포함된 식재료를 서로 연결하여 상기 음식-식재료 이분 그래프를 획득하는 단계; 및
상기 음식 섭취 데이터에서 식사와 음식을 서로 다른 2개의 카테고리로 분류하고, 각 식사 시에 섭취한 음식을 서로 연결하여 상기 음식-식사 이분 그래프를 획득하는 단계를 포함하는 음식 추천 방법.12. The method of claim 11, wherein the step of obtaining the bipartite graph
obtaining the food-ingredient dichotomy graph by classifying a plurality of foods and a plurality of ingredients into two different categories in the food intake data and connecting ingredients included in each of the plurality of foods; and
and classifying meals and foods into two different categories from the food intake data, and obtaining the food-meal dichotomy graph by connecting the foods consumed at each meal to each other.
상기 수정 AAI(mAAI)를 수학식
(여기서 up 는 음식-식재료 이분 그래프에서 기준이 되는 음식과 연관 음식을 나타내고, v는 식재료, Am은 식재료(v)가 포함된 모든 음식들 내에서 식재료(v)의 평균 중량을 나타내고, mp, mq는 각각 음식(up, uq)에 포함된 식재료(v)의 중량을 나타낸다.)
에 따라 계산하는 음식 추천 방법.The method of claim 11, wherein the step of selecting the representative food
The modified AAI (mAAI) is expressed as
(Where u p represents the standard food and related food in the food-ingredient bipartite graph, v is the food ingredient, Am represents the average weight of the food ingredient (v) within all foods including the food ingredient (v), m p , m q represent the weight of ingredients (v) included in food (u p , u q ), respectively.)
Food recommendation method to calculate according to.
상기 AAI를 수학식
(여기서 up 는 음식-식사 이분 그래프에서 기준이 되는 음식과 연관 음식을 나타내고, v는 식사를 나타낸다.)
에 따라 계산하는 음식 추천 방법.12. The method of claim 11, wherein constructing the food set comprises:
Equation above AAI
(Where u p represents the standard food and related food in the food-meal dichotomy graph, and v represents the meal.)
Food recommendation method to calculate according to.
상기 음식 세트에 포함된 음식들의 연관성의 합으로 계산되는 전체 연관성이 최대가 되도록 각 음식의 제공량을 최적화하는 단계;
미리 지정된 영양 성분별로 연산된 음식별 최적 제공량을 적용하여 음식별 최적 제공량에 따른 각 음식 세트의 영양 성분량을 계산하는 단계; 및
계산된 영양 성분량이 기지정된 영양 성분별 조건을 만족하면서 전체 연관성이 가장 높은 기지정된 개수의 음식 세트를 추천하는 단계를 포함하는 음식 추천 방법.The method of claim 12, wherein the step of selecting and recommending the food set
optimizing the serving amount of each food so that the total relevance calculated as the sum of the relevance of the foods included in the food set is maximized;
Calculating the amount of nutritional components of each food set according to the optimal serving amount for each food by applying the optimal serving amount for each food calculated for each predetermined nutritional component; and
A food recommendation method comprising the step of recommending a predetermined number of food sets having the highest total correlation while satisfying predetermined conditions for each nutritional component with calculated nutritional component amounts.
선형 계획법에 따라 상기 대표 음식 각각과 상기 조합 음식 사이의 AAI를 스코어(s)로 지정하고, 각 음식의 제공량을 각 음식이 제공되는 단위량에 따른 변수(x)로 설정하여 구성되어 음식 세트의 전체 연관성을 나타내는 선형 함수의 연산값이 최대가 되도록 수학식
을 만족하는 변수(x)를 기지정된 범위 내에서 탐색하여 각 음식별 최적 제공량을 연산하는 음식 추천 방법.16. The method of claim 15, wherein optimizing the serving amount of food
According to the linear programming method, the AAI between each of the representative foods and the combination food is designated as a score (s), and the serving amount of each food is set as a variable (x) according to the unit amount provided for each food. Equation so that the calculated value of the linear function representing the total correlation is maximized
A food recommendation method that calculates the optimal serving amount for each food by searching for a variable (x) that satisfies within a predetermined range.
기지정된 영양 성분별 조건과의 차이에 따라 계산되는 조건 완화 패널티를 설정하는 단계;
상기 음식 세트에 포함된 음식들의 연관성과 상기 조건 완화 패널티를 적용하여 전체 연관성이 최대가 되도록 각 음식의 제공량을 최적화하는 단계; 및
상기 조건 완화 패널티가 적용된 전체 연관성이 가장 높은 기지정된 개수의 음식 세트를 선택하여 추천하는 음식 추천 방법.The method of claim 12, wherein the step of selecting and recommending the food set
setting a condition mitigation penalty calculated according to a difference from a condition for each predetermined nutritional component;
optimizing the serving amount of each food by applying the relevance of the foods included in the food set and the condition relaxation penalty to maximize the overall relevance; and
A food recommendation method for selecting and recommending a predetermined number of food sets having the highest overall correlation to which the condition relaxation penalty is applied.
선형 계획법에 따라 상기 대표 음식 각각과 상기 조합 음식 사이의 AAI를 스코어(s)로 지정하고, 각 음식의 제공량을 각 음식이 제공되는 단위량에 따른 변수(x)로 설정하며, 각 영양 성분(m)의 조건 초과량(em)에 대해 미리 지정된 영양 성분별 패널티 계수(pm)를 가중하여 설정되는 조건 완화 패널티로 구성되어 음식 세트의 전체 연관성을 나타내는 선형 함수의 연산값이 최대가 되도록 수학식
을 만족하는 변수(x)를 기지정된 범위 내에서 탐색하여 각 음식별 최적 제공량을 연산하는 음식 추천 방법.18. The method of claim 17, wherein the step of optimizing the serving amount of food
According to the linear programming method, the AAI between each of the representative foods and the combination food is designated as score (s), the serving amount of each food is set as a variable (x) according to the unit amount provided, and each nutritional component ( m) of the condition excess amount (e m ), which is composed of a condition relaxation penalty set by weighting the penalty coefficient (p m ) for each nutritional component specified in advance, so that the calculated value of the linear function representing the overall association of the food set is maximized math formula
A food recommendation method that calculates the optimal serving amount for each food by searching for a variable (x) that satisfies within a predetermined range.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210096831A KR20230015555A (en) | 2021-07-23 | 2021-07-23 | Food Recommendation Apparatus and Method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210096831A KR20230015555A (en) | 2021-07-23 | 2021-07-23 | Food Recommendation Apparatus and Method |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230015555A true KR20230015555A (en) | 2023-01-31 |
Family
ID=85109555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210096831A KR20230015555A (en) | 2021-07-23 | 2021-07-23 | Food Recommendation Apparatus and Method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230015555A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102132975B1 (en) | 2018-11-02 | 2020-07-13 | 홍수연 | Method and apparatus for recommending restaurant based on preffered menu |
-
2021
- 2021-07-23 KR KR1020210096831A patent/KR20230015555A/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102132975B1 (en) | 2018-11-02 | 2020-07-13 | 홍수연 | Method and apparatus for recommending restaurant based on preffered menu |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6725619B2 (en) | System and method for user-specific adjustment of nutritional intake | |
CN110135957A (en) | A kind of vegetable recommended method, device and the storage medium of intelligent restaurant healthy diet | |
US8504385B2 (en) | Personalized nutrition advisor | |
CN110504019A (en) | User individual dietary recommendations continued method, apparatus, electronic equipment and storage medium | |
Weber et al. | Insights from machine-learned diet success prediction | |
Mokdara et al. | Personalized food recommendation using deep neural network | |
WO2006031919A1 (en) | Method and apparatus for transitioning a diet | |
CN107391531A (en) | A kind of vegetable recommends method and apparatus | |
CN107731281A (en) | A kind of method for recommending dining | |
KR101466626B1 (en) | Method for valuating food and recording-medium recorded program thereof | |
Caldeira et al. | Healthy menus recommendation: optimizing the use of the pantry | |
KR102422591B1 (en) | Weight control customized balanced diet recommendation method and device | |
CN114329198A (en) | Method and device for recommending health information based on user sleep | |
KR101692299B1 (en) | Method and Apparatus for providing a recommended dinner menu | |
KR20210052123A (en) | Method for providing user-customized food information service and server using the same | |
KR20230015555A (en) | Food Recommendation Apparatus and Method | |
CN112528008A (en) | Diabetic catering method and device based on knowledge graph | |
US20190108287A1 (en) | Menu generation system tying healthcare to grocery shopping | |
CN116130058A (en) | Recipe recommendation method based on intelligent diet | |
US20220171933A1 (en) | Methods and systems for personal recipe generation | |
CN109461502A (en) | Health control method, system, Human fat balance and mobile terminal | |
RU2685019C1 (en) | Method and system for monitoring and compliance with nutrition recommendations at public catering enterprise | |
Mejova et al. | Comfort Foods and Community Connectedness: Investigating Diet Change during COVID-19 Using YouTube Videos on Twitter | |
Natilli et al. | Exploring students eating habits through individual profiling and clustering analysis | |
Rani et al. | Product or Item‐Based Recommender System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |