WO2025041265A1 - Meal recommendation device and meal recommendation method - Google Patents

Meal recommendation device and meal recommendation method Download PDF

Info

Publication number
WO2025041265A1
WO2025041265A1 PCT/JP2023/030158 JP2023030158W WO2025041265A1 WO 2025041265 A1 WO2025041265 A1 WO 2025041265A1 JP 2023030158 W JP2023030158 W JP 2023030158W WO 2025041265 A1 WO2025041265 A1 WO 2025041265A1
Authority
WO
WIPO (PCT)
Prior art keywords
dishes
dish
menu
user
category
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
PCT/JP2023/030158
Other languages
French (fr)
Japanese (ja)
Inventor
悠 安達
渚 関口
実奈 片桐
なぎさ 塩見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to PCT/JP2023/030158 priority Critical patent/WO2025041265A1/en
Publication of WO2025041265A1 publication Critical patent/WO2025041265A1/en
Anticipated expiration legal-status Critical
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles

Definitions

  • menu recommendations that use dietary history aim to provide nutritional intake that takes into account the preferences for individual dishes.
  • the menu recommendation may end up recommending a menu that combines dishes that do not go well together for the user. In this case, it is difficult to recommend a menu that takes into account nutritional balance while maintaining the user's food preferences.
  • the first aspect of the present disclosure is a menu recommendation device that includes a creation unit that extracts dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for individual dishes, obtained from the user's meal history, and creates menu candidates to be recommended to the user by combining the extracted dishes for each cuisine category, and a replacement unit that replaces similar dishes within the same cuisine category of a specific cuisine category with the menu candidates based on the similarity between dishes calculated based on the ingredient composition of each dish.
  • the second aspect of the present disclosure is a menu recommendation method in which a menu recommendation device extracts dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for individual dishes, obtained from the user's meal history, combines the extracted dishes for each cuisine category to create menu candidates to be recommended to the user, and replaces similar dishes within the same cuisine category of a specific cuisine category with the menu candidates based on the similarity between dishes calculated based on the ingredient composition of each dish.
  • the disclosed technology has the effect of being able to recommend menus that take into account nutritional balance while maintaining the user's food preferences as much as possible.
  • FIG. 2 is a block diagram showing an example of a hardware configuration of the menu recommendation device according to the embodiment.
  • FIG. 11 is a diagram for explaining a menu recommendation process according to a comparative example.
  • FIG. 2 is a block diagram showing an example of a functional configuration of a menu recommendation device according to an embodiment in a learning phase.
  • FIG. FIG. 2 is a diagram illustrating an example of a model structure of Word2vec.
  • 1 is a block diagram showing an example of a functional configuration in an estimation phase of a menu recommendation device according to an embodiment.
  • FIG. FIG. 13 is a diagram showing an example of a menu recommended to a target user.
  • FIG. 13 is a diagram for explaining a menu recommendation process according to an embodiment;
  • FIG. 11 is a diagram for explaining a menu recommendation process according to a comparative example.
  • FIG. 2 is a block diagram showing an example of a functional configuration of a menu recommendation device according to an embodiment in a learning phase.
  • FIG. FIG. 2 is
  • FIG. 13 is a diagram for explaining a menu recommendation process according to an embodiment
  • 11 is a diagram illustrating a menu recommendation process according to an embodiment.
  • FIG. 11 is a flowchart showing an example of a flow of a menu recommendation process by the menu recommendation program according to the embodiment.
  • the menu recommendation device provides certain improvements over conventional methods of recommending menus and represents an advancement in the technical field of menu recommendations.
  • FIG. 1 is a block diagram showing an example of the hardware configuration of a menu recommendation device 10 according to this embodiment.
  • the menu recommendation device 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input unit 15, a display unit 16, and a communication interface (I/F) 17.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • storage 14 an input unit
  • I/F communication interface
  • Each component is connected to each other so that they can communicate with each other via a bus 18.
  • the CPU 11 is a central processing unit that executes various programs and controls each part. That is, the CPU 11 reads out a program from the ROM 12 or storage 14, and executes the program using the RAM 13 as a working area. The CPU 11 controls each of the above components and performs various calculation processes according to the program stored in the ROM 12 or storage 14.
  • the ROM 12 or storage 14 stores a menu recommendation program for recommending a menu according to this embodiment. Note that instead of the CPU, for example, a GPU (Graphics Processing Unit) may be used.
  • ROM 12 stores various programs and data.
  • RAM 13 temporarily stores programs or data as a working area.
  • Storage 14 is composed of a HDD (Hard Disk Drive) or SSD (Solid State Drive) and stores various programs including the operating system and various data.
  • the input unit 15 includes a pointing device such as a mouse and a keyboard, and is used to perform various inputs to the device itself.
  • the display unit 16 is, for example, a liquid crystal display, and displays various information.
  • the display unit 16 may also function as the input unit 15 by adopting a touch panel system.
  • the communication interface 17 is, for example, an interface for communicating with other external devices.
  • a wired communication standard such as Ethernet (registered trademark) or FDDI (Fiber Distributed Data Interface)
  • a wireless communication standard such as 4G, 5G, or Wi-Fi (registered trademark) is used.
  • the menu recommendation device 10 is implemented as a general-purpose computer device such as a server computer or a personal computer (PC).
  • a general-purpose computer device such as a server computer or a personal computer (PC).
  • FIG. 2 is a diagram used to explain the menu recommendation process according to the comparative example.
  • the deviation from the dietary intake standards e.g., energy intake standards, carbohydrate intake standards
  • the dietary intake standards e.g., energy intake standards, carbohydrate intake standards
  • the food combination that gives the highest score obtained by multiplying the preference score obtained in (S11) by the nutritional scores obtained in (S12) and (S13) is then recommended to the user.
  • the menu recommendation device 10 quantifies the co-occurrence and intake frequency from the user's meal history as index values representing food preferences, and creates menu candidates to be recommended to the user based on these index values. Then, to ensure nutritional balance, the similarity of dishes in the created menu candidates is quantified based on the ingredient composition of the dishes, and similar dishes are replaced with dishes from the same food category of a specific food classification based on the similarity. This makes it possible to recommend to the user a menu that ensures nutritional balance while maintaining the compatibility between dishes and food preferences as much as possible.
  • “co-occurrence” is an index value that indicates the compatibility between dishes.
  • “Frequency of intake” is also called frequency of appearance or frequency of use, and is an index value that indicates the preference for a single dish.
  • “Menu” refers to a meal menu and includes one or more dishes.
  • “Dish” refers to ingredients that are prepared as is or combined with other ingredients to make them easier to eat, or that are cooked and flavored according to the ingredients. “Dish” also includes dishes that combine multiple ingredients and are cooked, as well as ingredients such as vegetables or fruits.
  • “Dish category” refers to categories that make up a menu, such as staple foods, main dishes, side dishes, dairy products, fruits, etc.
  • “Dish category” refers to categories such as meat dishes, fish dishes, egg dishes, soup dishes, etc.
  • FIG. 3 is a block diagram showing an example of the functional configuration of the menu recommendation device 10 in the learning phase according to this embodiment.
  • the menu recommendation device 10 has, as its functional components, a first learning unit 101, a second learning unit 102, a similar user determination unit 103, and a third learning unit 104.
  • Each functional component is realized by the CPU 11 reading out the menu recommendation program stored in the ROM 12 or storage 14, expanding it in the RAM 13, and executing it.
  • the input data set includes, for example, a target user meal history DB (Database) 201, other users meal history DB 202, and general dish combination list DB 203.
  • the target user meal history DB 201, other users meal history DB 202, and general dish combination list DB 203 may be stored in the storage 14, or may be obtained from an external storage device.
  • the target user meal history DB201 is a database that registers the meal history of the target user, who is the target user for menu recommendations, over a specified period of time in the past.
  • the target user's meal history is registered by food category (staple food, main dish, side dish, dairy product, fruit, etc.).
  • Other users' meal history DB202 is a database that registers the meal history of multiple users other than the target user over a specified period of time in the past.
  • the meal history of other users is registered by food category (staple food, main dish, side dish, dairy product, fruit, etc.).
  • the common food combination list DB203 is a database that lists and registers common food combinations by genre, such as Japanese food, Western food, Chinese food, etc.
  • the first learning unit 101 inputs the target user's meal history from the target user meal history DB 201, and generates a target user meal preference model 204, which is a meal preference model for the target user, by machine learning the target user's meal history.
  • a Word2vec model is used as the target user meal preference model 204.
  • Figure 4 shows an example of a Word2vec model structure.
  • Word2vec uses one of two model structures: the CBOW (Continuous Bag of Words) model and the Skip-gram model.
  • Word2vec is a model that expresses the associations between words, and by using this Word2vec model, it is possible to derive the co-occurrence relationships between words, that is, combinations of words that appear frequently.
  • this Word2vec model is applied to meal history, and by replacing words with "dishes included in the meal history,” it is possible to derive the compatibility between dishes, that is, the degree of co-occurrence.
  • each dish included in the target user's meal history is scored based on the degree of co-occurrence.
  • the "score” may be a value indicating the degree of co-occurrence itself, or a value corresponding to the degree of co-occurrence.
  • the target user food preference model 204 outputs dishes having a score close to the score of the dish in question, that is, dishes that go well together.
  • the degree of co-occurrence is an index value that indicates the compatibility between dishes. According to Word2vec, dishes with high co-occurrence tend to have scores that are close to each other.
  • “Scores that are close” here means, for example, that the scores are determined to be close when the difference in scores is below a threshold.
  • the second learning unit 102 inputs the meal history of the similar user and performs machine learning on the meal history of the similar user to generate a similar user meal preference model 205, which is a meal preference model for the similar user.
  • a "similar user” is a user who has similar preferences to the target user.
  • a Word2vec model is used for the similar user meal preference model 205, as with the target user meal preference model 204.
  • the similar user determination unit 103 inputs the meal history of the target user and the meal history of other users, and determines and extracts the meal history of the similar user from the meal history of the other users. For example, other users who have a similar frequency of intake of a specific dish in the meal history of the other users as the target user may be determined to be similar users.
  • the similar user determination unit 103 outputs the extracted meal history of the similar user to the second learning unit 102.
  • the similar user food preference model 205 When a dish related to a similar user is input, the similar user food preference model 205 outputs dishes that have a score close to the score of the dish in question, that is, dishes that go well together.
  • “scores are close” means, for example, that the scores are determined to be close when the difference between the scores is equal to or less than a threshold value.
  • the third learning unit 104 inputs combinations of general dishes by genre from the general dish combination list DB 203, and generates a general food preference model 206, which is a food preference model for general food combinations by genre, by machine learning the general dish combinations.
  • a general food preference model 206 is a food preference model for general food combinations by genre, by machine learning the general dish combinations.
  • a Word2vec model is used for the general food preference model 206.
  • the general food preference model 206 determines whether the dish combination is appropriate relative to general dish combinations by genre, and outputs the determination result. For example, if the score of the input dish combination is close to the score of a general dish combination in Chinese cuisine, that is, if the degree of co-occurrence is high, it is determined to be appropriate.
  • FIG. 5 is a block diagram showing an example of the functional configuration of the menu recommendation device 10 in the estimation phase according to this embodiment.
  • the menu recommendation device 10 includes, as functional components, a staple food prediction unit 110, a creation unit 111, a replacement unit 112, a determination unit 113, a calculation unit 114, and a selection unit 115.
  • Each functional component is realized by the CPU 11 reading out the menu recommendation program stored in the ROM 12 or storage 14, expanding it in the RAM 13, and executing it.
  • the storage 14 stores a cooking DB 208, a target user dietary history DB 209, a target user dietary preference model 204, a similar user dietary preference model 205, a general dietary preference model 206, and a dietary intake reference DB 210.
  • the cooking DB 208, the target user dietary history DB 209, the target user dietary preference model 204, the similar user dietary preference model 205, the general dietary preference model 206, and the dietary intake reference DB 210 may be stored in an external storage device.
  • the target user dietary preference model 204, the similar user dietary preference model 205, and the general dietary preference model 206 are learned models obtained by prior learning in the learning phase of the menu recommendation device 10.
  • the target user meal history DB209 is a database that registers the meal history of the target user for the past N days by dish category.
  • the data group in the target user meal history DB209 is newer than the data group in the target user meal history DB201 used in the learning phase, but some of the data group may overlap.
  • the dietary intake reference DB210 registers information on dishes such as calories and nutrients.
  • the staple food prediction unit 110 inputs the meal history for the past N days from the target user's meal history DB 209, weights the "staple food” dishes by their “ingestion frequency (occurrence frequency),” and randomly selects one "staple food” dish.
  • the creation unit 111 extracts dishes for each cuisine category based on the co-occurrence and intake frequency obtained from the target user's meal history, and creates menu candidates to be recommended to the target user by combining the extracted dishes for each cuisine category. Specifically, the creation unit 111 inputs the staple dish selected by the staple food prediction unit 110 to the target user food preference model 204.
  • the target user food preference model 204 outputs dishes with co-occurrence scores close to those of the staple dish, for example, in the order of "main dish,” “side dish,” “dairy product,” and "fruit.”
  • the creation unit 111 obtains the frequency of intake and the number of days since intake for each cuisine category from the meal history for the past N days, and corrects the co-occurrence score for each cuisine output from the target user meal preference model 204.
  • the following formula (1) is used to correct the score.
  • N indicates the number of days in the meal history
  • G indicates the frequency of intake (number of times consumed) of a certain cuisine
  • D indicates the number of days since intake of a certain cuisine.
  • the creation unit 111 selectively narrows down the dishes output from the target user's dietary preference model 204 to those with high corrected scores.
  • the creation unit 111 extracts dishes that are frequently consumed for each cuisine category and have been consumed for a long time, and combines the extracted dishes for each cuisine category to create menu candidates to be recommended to the target user.
  • the creation unit 111 may use the meal history of a similar user with similar tastes to the target user to extract dishes of the similar user for the specific cuisine category, and use the extracted dishes of the similar user as the dishes of the specific cuisine category.
  • a specific cuisine category e.g., main dish, side dish
  • the creation unit 111 may use the meal history of a similar user with similar tastes to the target user to extract dishes of the similar user for the specific cuisine category, and use the extracted dishes of the similar user as the dishes of the specific cuisine category.
  • main dishes and side dishes cannot be extracted from the target user, there is a possibility that the dietary intake standards cannot be met in the first place.
  • Similar users can be integrated into one model as collective intelligence. Similar users can also be grouped using user-based collaborative filtering.
  • the relevance between dish A and dish B is expressed by the following formula (2).
  • the determination unit 113 determines whether the dish combination of a menu candidate in which dishes have been replaced by the replacement unit 112 is appropriate with respect to the dish combinations of menus predefined for each food genre.
  • the general food preference model 206 is used to determine the appropriateness of the dish combination of a menu candidate in which dishes have been replaced, so as not to disrupt the dish combination.
  • the general food preference model 206 determines whether the dish combination is appropriate with respect to general dish combinations and outputs the determination result. In other words, if the degree of co-occurrence between dishes of each menu candidate is higher than a threshold value, it is determined to be appropriate with respect to general dish combinations, and is left as a menu candidate.
  • the general food preference model 206 can be used to check whether the combination of menu candidates with replaced dishes is close to a combination of general dishes.
  • the calculation unit 114 obtains calorie information and nutrient information about dishes from the dietary reference intake DB 210, calculates the calories and nutrients that the target user should consume, and calculates the dietary reference intakes for the target user.
  • the selection unit 115 selects, from among the multiple menu candidates obtained above, the menu candidate with the smallest deviation from the dietary reference intakes calculated by the calculation unit 114 as the menu to be recommended to the target user. Specifically, for each menu candidate, the deviation from the dietary reference intakes is expressed as, for example, the mean absolute percentage error (MAPE). As shown in Figure 6, the selection unit 115 selects the menu candidate with the smallest MAPE.
  • FIG 6 is a diagram showing an example of a menu to be recommended to the target user.
  • MAPE is calculated by the following formula (3): where M represents MAPE, A t represents the ideal total of calories and nutrients, F t represents the total of calories and nutrients of each dish in the menu candidates, and n represents the number of dishes (number of items).
  • FIGS. 7, 8A, and 8B are diagrams used to explain the menu recommendation process according to this embodiment.
  • the staple food prediction unit 110 randomly selects a staple dish from the target user's meal history, and the creation unit 111 utilizes the property of dishes with high co-occurrence scores being close to each other in Word2vec of the target user's food preference model 204 to extract dishes with high co-occurrence from the staple food in the order of "main dish,” “side dish,” “dairy product,” and “fruit.”
  • the extracted results are shown as a co-occurrence map.
  • the creation unit 111 selectively narrows down the dishes extracted using the target user's dietary preference model 204 to those with high corrected scores.
  • dishes that are frequently consumed and have been consumed many days ago are extracted, and the extracted dishes for each cuisine category are combined to create menu candidates to be recommended to the target user.
  • Fig. 8A shows a table in which main dishes are vectorized by their ingredient composition
  • Fig. 8B shows a table in which side dishes are vectorized by their ingredient composition.
  • the creation unit 111 creates multiple menu candidates that include staple foods, main dishes, side dishes, and fruit dishes as examples of food categories.
  • the selection unit 115 selects, from among the multiple menu candidates obtained above (e.g., combinations A to C), the menu candidate that has the smallest deviation from the dietary reference intakes calculated by the calculation unit 114, as the menu to be recommended to the target user.
  • FIG. 9 is a flowchart showing an example of the flow of a menu recommendation process by the menu recommendation program according to this embodiment.
  • the menu recommendation process by the menu recommendation program is realized by the CPU 11 of the menu recommendation device 10 writing the menu recommendation program stored in the ROM 12 or storage 14 to the RAM 13 and executing it.
  • step S101 of FIG. 9 the CPU 11 retrieves the target user's meal history for the past N days from the target user meal history DB 209.
  • step S102 the CPU 11 weights the "staple food” dishes from the meal history for the past N days acquired in step S101 by "ingestion frequency (frequency of occurrence)" and randomly selects one "staple food” dish.
  • step S103 the CPU 11 inputs the staple dish selected in step S102 into the target user food preference model 204.
  • the target user food preference model 204 outputs dishes with co-occurrence scores close to those of the staple dish, for example in the order of "main dish,” “side dish,” “dairy products,” and “fruit.”
  • the CPU 11 obtains the frequency of intake and the number of days since intake for each food category from the meal history for the past N days, corrects the co-occurrence scores of each dish output from the target user food preference model 204, and narrows down the dishes with high co-occurrence.
  • step S104 the CPU 11 extracts dishes for each cuisine category that are frequently consumed and have been consumed a long time ago based on the scores corrected in step S103, and creates menu candidates to be recommended to the target user by combining the extracted dishes for each cuisine category.
  • step S105 the CPU 11 determines whether or not there are any main dishes or side dishes in the menu candidates created in step S104. If it is determined that there are main dishes and side dishes (if the determination is negative), the process proceeds to step S106, and if it is determined that there are no main dishes and side dishes (if the determination is positive), the process proceeds to step S107.
  • step S106 the CPU 11 replaces similar dishes in the same cuisine category of a specific cuisine division with those in the menu candidates created in step S104, based on the similarity between the dishes calculated based on the ingredient composition of each dish.
  • step S107 the CPU 11, for example, uses the similar user food preference model 205 to extract dishes with similar scores in the order of "main dish” and "side dish” from the same staple food of the similar user, and complements the extracted main dish and side dish dishes of the similar user as the main dish and side dish dishes of the target user, and proceeds to step S106.
  • step S108 the CPU 11 determines whether the combination of dishes in the menu candidate in which dishes have been replaced in step S106 is appropriate, relative to the combination of dishes in the menu that has been predefined for each food genre. Specifically, to ensure that the combination of dishes is not disrupted, the general food preference model 206 is used, for example, to determine the appropriateness of the combination of dishes in the menu candidate in which dishes have been replaced.
  • step S109 the CPU 11 determines whether or not all staple foods have been completed. If it is determined that all staple foods have been completed (if the determination is positive), the process proceeds to step S110, and if it is determined that all staple foods have not been completed (if the determination is negative), the process returns to step S102 and repeats the process.
  • step S110 the CPU 11 selects, from among the multiple menu candidates obtained above, the menu candidate that has the smallest deviation from the dietary reference intakes calculated for the target user as the menu to be recommended to the target user, and ends the series of processes performed by this menu recommendation program.
  • this embodiment takes into account not only the frequency of intake, which indicates the preference for a single dish, but also the degree of co-occurrence, which indicates the compatibility between dishes, so it is possible to recommend a menu that takes into account nutritional balance while maintaining the user's food preferences as much as possible.
  • the menu recommendation process that is executed by loading the program by the CPU may be executed by various processors other than the CPU.
  • processors in this case include PLDs (Programmable Logic Devices) such as FPGAs (Field-Programmable Gate Arrays) whose circuit configuration can be changed after manufacture, and dedicated electrical circuits such as ASICs (Application Specific Integrated Circuits), which are processors with circuit configurations designed specifically to execute specific processes.
  • the menu recommendation process may be executed by one of these various processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, and a combination of a CPU and an FPGA).
  • the hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor elements.
  • the menu recommendation program is described as being pre-stored (also called “installed") in ROM or storage, but this is not limiting.
  • the menu recommendation program may be provided in a form stored in a non-transitory storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory.
  • the menu recommendation program may also be downloaded from an external device via a network.
  • Memory at least one processor coupled to the memory; Including, The processor, extracting dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for each cuisine, obtained from the user's meal history, and creating menu candidates to be recommended to the user by combining the extracted dishes for each cuisine category; For the menu candidates, replacing similar dishes within the same dish category of a specific dish division based on the similarity between the dishes calculated based on the ingredient composition of each dish. Menu recommendation device.
  • a non-transitory storage medium storing a program executable by a computer to execute a menu recommendation process
  • the menu recommendation process includes: extracting dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for each cuisine, obtained from the user's meal history, and creating menu candidates to be recommended to the user by combining the extracted dishes for each cuisine category; For the menu candidates, replacing similar dishes within the same dish category of a specific dish division based on the similarity between the dishes calculated based on the ingredient composition of each dish.
  • Non-transitory storage media Non-transitory storage media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

This meal recommendation device comprises: a creation unit that extracts a dish from each of multiple dish groups on the basis of the degree of co-occurrence representing the compatibility between dishes and the intake frequency representing preferences regarding individual dishes, the degree of co-occurrence and the intake frequency being obtained from the meal history of a user, and creates a meal candidate to recommend to the user by combining dishes extracted from the dish sections; and a replacement unit that, on the basis of the degree of similarity between dishes calculated on the basis of the ingredient set of each dish, performs replacement of the meal candidate with a similar dish within the same dish group.

Description

献立推薦装置及び献立推薦方法Menu recommendation device and menu recommendation method

 開示の技術は、献立推薦装置及び献立推薦方法に関する。 The disclosed technology relates to a menu recommendation device and a menu recommendation method.

 従来、ユーザの調理履歴を活用して、食材と栄養バランスを考慮した料理レシピを推薦する技術が知られている(例えば、非特許文献1、非特許文献2を参照)。  Technology is known that utilizes a user's cooking history to recommend cooking recipes that take into account ingredients and nutritional balance (see, for example, Non-Patent Documents 1 and 2).

個人の嗜好を考慮した料理レシピ推薦システムにおける栄養情報の取り扱いに関する検討, DEIM Forum 2009 E5-3Consideration of handling nutritional information in a recipe recommendation system considering personal taste, DEIM Forum 2009 E5-3 料理に対する個人の嗜好と栄養バランスを考慮した簡単な料理レシピ推薦手法の提案, DEIM Forum 2019 F4-3A simple recipe recommendation method that considers individual preferences and nutritional balance, DEIM Forum 2019 F4-3

 従来の食事履歴を活用した献立推薦では、料理単体の嗜好を考慮して栄養摂取を行うことを目指している。しかしながら、料理同士の相性は考慮されていないため、献立推薦を利用するユーザにとって相性の良くない料理が組み合わされた献立が推薦されてしまう場合がある。この場合、ユーザの食事の嗜好を維持しつつ、栄養バランスを考慮した献立を推薦することは困難である。  Traditional menu recommendations that use dietary history aim to provide nutritional intake that takes into account the preferences for individual dishes. However, because they do not take into account the compatibility of dishes with each other, the menu recommendation may end up recommending a menu that combines dishes that do not go well together for the user. In this case, it is difficult to recommend a menu that takes into account nutritional balance while maintaining the user's food preferences.

 開示の技術は、上記の点に鑑みてなされたものであり、ユーザの食事の嗜好を出来るだけ維持しつつ、栄養バランスを考慮した献立を推薦することができる献立推薦装置及び献立推薦方法を提供することを目的とする。 The disclosed technology has been developed in consideration of the above points, and aims to provide a menu recommendation device and menu recommendation method that can recommend menus that take nutritional balance into consideration while maintaining the user's food preferences as much as possible.

 本開示の第1態様は、献立推薦装置であって、ユーザの食事履歴から得られる、料理同士の相性を表す共起度及び料理単体の嗜好を表す摂取頻度に基づいて、料理区分毎に料理を抽出し、抽出した料理区分毎の料理を組み合わせて前記ユーザに推薦する献立候補を作成する作成部と、前記献立候補に対して、各料理の食材構成に基づき算出される料理同士の類似度に基づいて、特定の料理区分の同一の料理カテゴリの中で類似する料理の入れ替えを行う入替部と、を備える。 The first aspect of the present disclosure is a menu recommendation device that includes a creation unit that extracts dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for individual dishes, obtained from the user's meal history, and creates menu candidates to be recommended to the user by combining the extracted dishes for each cuisine category, and a replacement unit that replaces similar dishes within the same cuisine category of a specific cuisine category with the menu candidates based on the similarity between dishes calculated based on the ingredient composition of each dish.

 本開示の第2態様は、献立推薦方法であって、献立推薦装置が、ユーザの食事履歴から得られる、料理同士の相性を表す共起度及び料理単体の嗜好を表す摂取頻度に基づいて、料理区分毎に料理を抽出し、抽出した料理区分毎の料理を組み合わせて前記ユーザに推薦する献立候補を作成し、前記献立候補に対して、各料理の食材構成に基づき算出される料理同士の類似度に基づいて、特定の料理区分の同一の料理カテゴリの中で類似する料理の入れ替えを行う。 The second aspect of the present disclosure is a menu recommendation method in which a menu recommendation device extracts dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for individual dishes, obtained from the user's meal history, combines the extracted dishes for each cuisine category to create menu candidates to be recommended to the user, and replaces similar dishes within the same cuisine category of a specific cuisine category with the menu candidates based on the similarity between dishes calculated based on the ingredient composition of each dish.

 開示の技術によれば、ユーザの食事の嗜好を出来るだけ維持しつつ、栄養バランスを考慮した献立を推薦することができる、という効果を有する。 The disclosed technology has the effect of being able to recommend menus that take into account nutritional balance while maintaining the user's food preferences as much as possible.

実施形態に係る献立推薦装置のハードウェア構成の一例を示すブロック図である。2 is a block diagram showing an example of a hardware configuration of the menu recommendation device according to the embodiment. FIG. 比較例に係る献立推薦処理の説明に供する図である。11 is a diagram for explaining a menu recommendation process according to a comparative example. FIG. 実施形態に係る献立推薦装置の学習フェーズにおける機能構成の一例を示すブロック図である。2 is a block diagram showing an example of a functional configuration of a menu recommendation device according to an embodiment in a learning phase. FIG. Word2vecのモデル構造の一例を示す図である。FIG. 2 is a diagram illustrating an example of a model structure of Word2vec. 実施形態に係る献立推薦装置の推定フェーズにおける機能構成の一例を示すブロック図である。1 is a block diagram showing an example of a functional configuration in an estimation phase of a menu recommendation device according to an embodiment. FIG. 対象ユーザに推薦する献立の一例を示す図である。FIG. 13 is a diagram showing an example of a menu recommended to a target user. 実施形態に係る献立推薦処理の説明に供する図であるFIG. 13 is a diagram for explaining a menu recommendation process according to an embodiment; 実施形態に係る献立推薦処理の説明に供する図であるFIG. 13 is a diagram for explaining a menu recommendation process according to an embodiment; 実施形態に係る献立推薦処理の説明に供する図である。11 is a diagram illustrating a menu recommendation process according to an embodiment. FIG. 実施形態に係る献立推薦プログラムによる献立推薦処理の流れの一例を示すフローチャートである。11 is a flowchart showing an example of a flow of a menu recommendation process by the menu recommendation program according to the embodiment.

 以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において、同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。 Below, an example of an embodiment of the disclosed technology will be described with reference to the drawings. Note that in each drawing, the same or equivalent components and parts are given the same reference symbols. Also, the dimensional ratios in the drawings have been exaggerated for the convenience of explanation and may differ from the actual ratios.

 本実施形態に係る献立推薦装置は、献立を推薦する従来の手法に対して特定の改善を提供するものであり、献立を推薦する技術分野の向上を示すものである。 The menu recommendation device according to this embodiment provides certain improvements over conventional methods of recommending menus and represents an advancement in the technical field of menu recommendations.

 図1は、本実施形態に係る献立推薦装置10のハードウェア構成の一例を示すブロック図である。 FIG. 1 is a block diagram showing an example of the hardware configuration of a menu recommendation device 10 according to this embodiment.

 図1に示すように、献立推薦装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16、及び通信インタフェース(I/F)17を備えている。各構成は、バス18を介して相互に通信可能に接続されている。 As shown in FIG. 1, the menu recommendation device 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input unit 15, a display unit 16, and a communication interface (I/F) 17. Each component is connected to each other so that they can communicate with each other via a bus 18.

 CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。ROM12又はストレージ14には、本実施形態に係る献立を推薦するための献立推薦プログラムが格納されている。なお、CPUに代えて、例えば、GPU(Graphics Processing Unit)を用いるようにしてもよい。 The CPU 11 is a central processing unit that executes various programs and controls each part. That is, the CPU 11 reads out a program from the ROM 12 or storage 14, and executes the program using the RAM 13 as a working area. The CPU 11 controls each of the above components and performs various calculation processes according to the program stored in the ROM 12 or storage 14. The ROM 12 or storage 14 stores a menu recommendation program for recommending a menu according to this embodiment. Note that instead of the CPU, for example, a GPU (Graphics Processing Unit) may be used.

 ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。 ROM 12 stores various programs and data. RAM 13 temporarily stores programs or data as a working area. Storage 14 is composed of a HDD (Hard Disk Drive) or SSD (Solid State Drive) and stores various programs including the operating system and various data.

 入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、自装置に対して各種の入力を行うために使用される。 The input unit 15 includes a pointing device such as a mouse and a keyboard, and is used to perform various inputs to the device itself.

 表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能しても良い。 The display unit 16 is, for example, a liquid crystal display, and displays various information. The display unit 16 may also function as the input unit 15 by adopting a touch panel system.

 通信インタフェース17は、例えば、他の外部機器と通信するためのインタフェースである。当該通信には、例えば、イーサネット(登録商標)若しくはFDDI(Fiber Distributed Data Interface)等の有線通信の規格、又は、4G、5G、若しくはWi-Fi(登録商標)等の無線通信の規格が用いられる。 The communication interface 17 is, for example, an interface for communicating with other external devices. For this communication, for example, a wired communication standard such as Ethernet (registered trademark) or FDDI (Fiber Distributed Data Interface), or a wireless communication standard such as 4G, 5G, or Wi-Fi (registered trademark) is used.

 本実施形態に係る献立推薦装置10には、例えば、サーバコンピュータ、パーソナルコンピュータ(PC)等の汎用的なコンピュータ装置が適用される。 The menu recommendation device 10 according to this embodiment is implemented as a general-purpose computer device such as a server computer or a personal computer (PC).

 ここで、図2を参照して、献立推薦処理の比較例について説明する。 Now, with reference to Figure 2, we will explain a comparative example of menu recommendation processing.

 図2は、比較例に係る献立推薦処理の説明に供する図である。 FIG. 2 is a diagram used to explain the menu recommendation process according to the comparative example.

 図2に示すように、(S11)では、ユーザの食事履歴から料理に含まれる食材の利用頻度や特異度を算出してスコア化する。なお、特異度とは、食材が料理を作る上でどの程度特異性があるかを示す指標値である。これより、各料理の組み合わせに対して、含まれる食材の嗜好スコアの総和を求める。 As shown in FIG. 2, in (S11), the frequency of use and specificity of ingredients included in a dish are calculated from the user's meal history and scored. Note that specificity is an index value that indicates the degree of specificity of an ingredient in preparing a dish. From this, the sum of the preference scores of the ingredients included in each dish combination is calculated.

 (S12)及び(S13)では、各料理の組み合わせに対して、食事摂取基準(例えば、エネルギーの摂取基準、炭水化物の摂取基準)との乖離をスコア化して栄養スコアを求める。そして、(S11)で求めた嗜好スコアに、(S12)及び(S13)で求めた栄養スコアを乗じて得られたスコアが最も大きくなる料理の組み合わせをユーザに推薦する。 In (S12) and (S13), the deviation from the dietary intake standards (e.g., energy intake standards, carbohydrate intake standards) for each food combination is scored to determine a nutritional score. The food combination that gives the highest score obtained by multiplying the preference score obtained in (S11) by the nutritional scores obtained in (S12) and (S13) is then recommended to the user.

 しかしながら、上記比較例では、ユーザ個人の料理同士の相性は考慮されていないため、ユーザにとって相性の良くない料理の組み合わせが推薦されてしまう場合がある。 However, in the above comparative example, the compatibility of dishes between each user is not taken into consideration, so dish combinations that are not compatible with the user may be recommended.

 これに対して、本実施形態に係る献立推薦装置10は、ユーザの食事履歴から、共起度及び摂取頻度を食事の嗜好を表す指標値として数値化し、これらの指標値に基づいて、ユーザに推薦する献立候補を作成する。そして、栄養バランスを確保するために、作成した献立候補に対して、料理の食材構成に基づいて料理の類似度を数値化し、類似度に基づいて、特定の料理区分の同一の料理カテゴリの中で類似する料理と入れ替えを行う。これにより、料理同士の相性及び料理の嗜好を出来る限り維持し、栄養バランスを確保した献立をユーザに推薦することができる。 In response to this, the menu recommendation device 10 according to this embodiment quantifies the co-occurrence and intake frequency from the user's meal history as index values representing food preferences, and creates menu candidates to be recommended to the user based on these index values. Then, to ensure nutritional balance, the similarity of dishes in the created menu candidates is quantified based on the ingredient composition of the dishes, and similar dishes are replaced with dishes from the same food category of a specific food classification based on the similarity. This makes it possible to recommend to the user a menu that ensures nutritional balance while maintaining the compatibility between dishes and food preferences as much as possible.

 但し、「共起度」は、料理同士の相性を表す指標値である。「摂取頻度」は、出現頻度あるいは利用頻度ともいい、料理単体の嗜好を表す指標値である。「献立」とは、食事のメニューを表し、1つ以上の料理が含まれる。「料理」とは、食材を適宜にそのまま、または他の食材と組み合わせて食べやすくするか、それぞれの食材に応じて調理し味を調えたものをいう。「料理」には、複数の食材を組み合わせて調理したもの、野菜又は果物等の食材そのものも含まれる。「料理区分」とは、例えば、献立を構成する主食、主菜、副菜、乳製品、果物等の区分を示す。「料理カテゴリ」とは、例えば、肉料理、魚料理、卵料理、汁物料理等のカテゴリを示す。 However, "co-occurrence" is an index value that indicates the compatibility between dishes. "Frequency of intake" is also called frequency of appearance or frequency of use, and is an index value that indicates the preference for a single dish. "Menu" refers to a meal menu and includes one or more dishes. "Dish" refers to ingredients that are prepared as is or combined with other ingredients to make them easier to eat, or that are cooked and flavored according to the ingredients. "Dish" also includes dishes that combine multiple ingredients and are cooked, as well as ingredients such as vegetables or fruits. "Dish category" refers to categories that make up a menu, such as staple foods, main dishes, side dishes, dairy products, fruits, etc. "Dish category" refers to categories such as meat dishes, fish dishes, egg dishes, soup dishes, etc.

 次に、図3及び図4を参照して、献立推薦装置10の機能構成について説明する。 Next, the functional configuration of the menu recommendation device 10 will be described with reference to Figures 3 and 4.

 図3は、本実施形態に係る献立推薦装置10の学習フェーズにおける機能構成の一例を示すブロック図である。 FIG. 3 is a block diagram showing an example of the functional configuration of the menu recommendation device 10 in the learning phase according to this embodiment.

 本実施形態に係る献立推薦装置10は、機能構成として、第1学習部101、第2学習部102、類似ユーザ判定部103、及び第3学習部104を備えている。各機能構成は、CPU11がROM12又はストレージ14に記憶された献立推薦プログラムを読み出し、RAM13に展開して実行することにより実現される。 The menu recommendation device 10 according to this embodiment has, as its functional components, a first learning unit 101, a second learning unit 102, a similar user determination unit 103, and a third learning unit 104. Each functional component is realized by the CPU 11 reading out the menu recommendation program stored in the ROM 12 or storage 14, expanding it in the RAM 13, and executing it.

 入力するデータセットには、例えば、対象ユーザ食事履歴DB(DataBase:データベース)201、他ユーザ食事履歴DB202、及び一般的料理組み合わせリストDB203が含まれる。これらの対象ユーザ食事履歴DB201、他ユーザ食事履歴DB202、及び一般的料理組み合わせリストDB203は、ストレージ14に格納されていてもよいし、外部の記憶装置から取得されてもよい。 The input data set includes, for example, a target user meal history DB (Database) 201, other users meal history DB 202, and general dish combination list DB 203. The target user meal history DB 201, other users meal history DB 202, and general dish combination list DB 203 may be stored in the storage 14, or may be obtained from an external storage device.

 対象ユーザ食事履歴DB201は、献立推薦の対象とするユーザである対象ユーザの過去の所定期間における食事の履歴を登録したデータベースである。対象ユーザ食事履歴DB201には、対象ユーザの食事履歴が料理区分(主食、主菜、副菜、乳製品、果物等)毎に登録されている。 The target user meal history DB201 is a database that registers the meal history of the target user, who is the target user for menu recommendations, over a specified period of time in the past. In the target user meal history DB201, the target user's meal history is registered by food category (staple food, main dish, side dish, dairy product, fruit, etc.).

 他ユーザ食事履歴DB202は、対象ユーザ以外の複数のユーザについての過去の所定期間における食事の履歴を登録したデータベースである。他ユーザ食事履歴DB202には、他ユーザの食事履歴が料理区分(主食、主菜、副菜、乳製品、果物等)毎に登録されている。 Other users' meal history DB202 is a database that registers the meal history of multiple users other than the target user over a specified period of time in the past. In other users' meal history DB202, the meal history of other users is registered by food category (staple food, main dish, side dish, dairy product, fruit, etc.).

 一般的料理組み合わせリストDB203は、例えば、和風料理、洋風料理、中華料理等のジャンル別に一般的な料理の組み合わせをリスト化して登録したデータベースである。 The common food combination list DB203 is a database that lists and registers common food combinations by genre, such as Japanese food, Western food, Chinese food, etc.

 第1学習部101は、対象ユーザ食事履歴DB201から対象ユーザの食事履歴を入力し、対象ユーザの食事履歴を機械学習することにより、対象ユーザについての食事嗜好モデルである対象ユーザ食事嗜好モデル204を生成する。対象ユーザ食事嗜好モデル204には、例えば、Word2vecのモデルが用いられる。 The first learning unit 101 inputs the target user's meal history from the target user meal history DB 201, and generates a target user meal preference model 204, which is a meal preference model for the target user, by machine learning the target user's meal history. For example, a Word2vec model is used as the target user meal preference model 204.

 図4は、Word2vecのモデル構造の一例を示す図である。 Figure 4 shows an example of a Word2vec model structure.

 図4に示すように、Word2vecでは、CBOW(Continuous Bag of Words)モデル、及び、Skip-gramモデルという2つのモデル構造のいずれかが使用される。Word2vecは、単語同士の関連性を表現するモデルであり、このWord2vecのモデルを使用することで単語同士の共起関係、つまり、よく出現する単語の組み合わせを導出することができる。本実施形態では、このWord2vecのモデルを食事履歴に応用し、単語を、「食事履歴に含まれる料理」に置き換えることで、料理同士の相性、つまり、共起度を導出することができる。 As shown in Figure 4, Word2vec uses one of two model structures: the CBOW (Continuous Bag of Words) model and the Skip-gram model. Word2vec is a model that expresses the associations between words, and by using this Word2vec model, it is possible to derive the co-occurrence relationships between words, that is, combinations of words that appear frequently. In this embodiment, this Word2vec model is applied to meal history, and by replacing words with "dishes included in the meal history," it is possible to derive the compatibility between dishes, that is, the degree of co-occurrence.

 対象ユーザ食事嗜好モデル204では、対象ユーザの食事履歴に含まれる各料理が共起度に基づきスコア化されている。「スコア」は、共起度そのものを示す値でもよいし、共起度に対応する値でもよい。対象ユーザ食事嗜好モデル204は、対象ユーザに関するある料理が入力されると、当該料理のスコアに近いスコアを有する料理、つまり、互いに相性の良い料理を出力する。共起度とは、上述したように、料理同士の相性を示す指標値である。Word2vecによれば共起度の高い料理はスコアが近くなる性質がある。ここでいう「スコアが近い」とは、例えば、スコアの差が閾値以下である場合に、スコアが近いと判定される。 In the target user food preference model 204, each dish included in the target user's meal history is scored based on the degree of co-occurrence. The "score" may be a value indicating the degree of co-occurrence itself, or a value corresponding to the degree of co-occurrence. When a certain dish related to the target user is input, the target user food preference model 204 outputs dishes having a score close to the score of the dish in question, that is, dishes that go well together. As described above, the degree of co-occurrence is an index value that indicates the compatibility between dishes. According to Word2vec, dishes with high co-occurrence tend to have scores that are close to each other. "Scores that are close" here means, for example, that the scores are determined to be close when the difference in scores is below a threshold.

 第2学習部102は、類似ユーザの食事履歴を入力し、類似ユーザの食事履歴を機械学習することにより、類似ユーザについての食事嗜好モデルである類似ユーザ食事嗜好モデル205を生成する。「類似ユーザ」とは、対象ユーザと嗜好が類似するユーザである。類似ユーザ食事嗜好モデル205には、対象ユーザ食事嗜好モデル204と同様に、例えば、Word2vecのモデルが用いられる。ここで、類似ユーザ判定部103は、対象ユーザの食事履歴及び他ユーザの食事履歴の各々を入力し、他ユーザの食事履歴の中から類似ユーザの食事履歴を判定して抽出する。例えば、他ユーザの食事履歴のうち特定の料理の摂取頻度が対象ユーザの摂取頻度と同程度の他ユーザを類似ユーザと判定してもよい。類似ユーザ判定部103は、抽出した類似ユーザの食事履歴を第2学習部102に出力する。 The second learning unit 102 inputs the meal history of the similar user and performs machine learning on the meal history of the similar user to generate a similar user meal preference model 205, which is a meal preference model for the similar user. A "similar user" is a user who has similar preferences to the target user. For example, a Word2vec model is used for the similar user meal preference model 205, as with the target user meal preference model 204. Here, the similar user determination unit 103 inputs the meal history of the target user and the meal history of other users, and determines and extracts the meal history of the similar user from the meal history of the other users. For example, other users who have a similar frequency of intake of a specific dish in the meal history of the other users as the target user may be determined to be similar users. The similar user determination unit 103 outputs the extracted meal history of the similar user to the second learning unit 102.

 類似ユーザ食事嗜好モデル205は、類似ユーザに関するある料理が入力されると、当該料理のスコアに近いスコアを有する料理、つまり、互いに相性の良い料理を出力する。ここでいう「スコアが近い」とは、例えば、スコアの差が閾値以下である場合に、スコアが近いと判定される。 When a dish related to a similar user is input, the similar user food preference model 205 outputs dishes that have a score close to the score of the dish in question, that is, dishes that go well together. In this case, "scores are close" means, for example, that the scores are determined to be close when the difference between the scores is equal to or less than a threshold value.

 第3学習部104は、一般的料理組み合わせリストDB203からジャンル別に一般的料理の組み合わせを入力し、一般的料理の組み合わせを機械学習することにより、ジャンル別の一般的料理の組み合わせについての食事嗜好モデルである一般的食事嗜好モデル206を生成する。一般的食事嗜好モデル206には、対象ユーザ食事嗜好モデル204及び類似ユーザ食事嗜好モデル205と同様に、例えば、Word2vecのモデルが用いられる。 The third learning unit 104 inputs combinations of general dishes by genre from the general dish combination list DB 203, and generates a general food preference model 206, which is a food preference model for general food combinations by genre, by machine learning the general dish combinations. As with the target user food preference model 204 and the similar user food preference model 205, for example, a Word2vec model is used for the general food preference model 206.

 一般的食事嗜好モデル206は、対象ユーザに関するある料理の組み合わせが入力されると、当該料理の組み合わせがジャンル別の一般的料理の組み合わせに対して妥当であるか否かを判定し、判定結果を出力する。例えば、入力された料理の組み合わせのスコアが中華料理における一般的料理の組み合わせのスコアに近い、つまり、共起度が高い場合に、妥当と判定される。 When a dish combination related to a target user is input, the general food preference model 206 determines whether the dish combination is appropriate relative to general dish combinations by genre, and outputs the determination result. For example, if the score of the input dish combination is close to the score of a general dish combination in Chinese cuisine, that is, if the degree of co-occurrence is high, it is determined to be appropriate.

 図5は、本実施形態に係る献立推薦装置10の推定フェーズにおける機能構成の一例を示すブロック図である。 FIG. 5 is a block diagram showing an example of the functional configuration of the menu recommendation device 10 in the estimation phase according to this embodiment.

 本実施形態に係る献立推薦装置10は、機能構成として、主食予測部110、作成部111、入替部112、判定部113、算出部114、及び選択部115を備えている。各機能構成は、CPU11がROM12又はストレージ14に記憶された献立推薦プログラムを読み出し、RAM13に展開して実行することにより実現される。 The menu recommendation device 10 according to this embodiment includes, as functional components, a staple food prediction unit 110, a creation unit 111, a replacement unit 112, a determination unit 113, a calculation unit 114, and a selection unit 115. Each functional component is realized by the CPU 11 reading out the menu recommendation program stored in the ROM 12 or storage 14, expanding it in the RAM 13, and executing it.

 ストレージ14には、料理DB208、対象ユーザ食事履歴DB209、対象ユーザ食事嗜好モデル204、類似ユーザ食事嗜好モデル205、一般的食事嗜好モデル206、及び食事摂取基準DB210が格納されている。これらの料理DB208、対象ユーザ食事履歴DB209、対象ユーザ食事嗜好モデル204、類似ユーザ食事嗜好モデル205、一般的食事嗜好モデル206、及び食事摂取基準DB210は、外部の記憶装置に格納されていてもよい。また、対象ユーザ食事嗜好モデル204、類似ユーザ食事嗜好モデル205、及び一般的食事嗜好モデル206は、献立推薦装置10の学習フェーズで予め学習して得られた学習済みモデルである。 The storage 14 stores a cooking DB 208, a target user dietary history DB 209, a target user dietary preference model 204, a similar user dietary preference model 205, a general dietary preference model 206, and a dietary intake reference DB 210. The cooking DB 208, the target user dietary history DB 209, the target user dietary preference model 204, the similar user dietary preference model 205, the general dietary preference model 206, and the dietary intake reference DB 210 may be stored in an external storage device. In addition, the target user dietary preference model 204, the similar user dietary preference model 205, and the general dietary preference model 206 are learned models obtained by prior learning in the learning phase of the menu recommendation device 10.

 料理DB208には、例えば、料理の栄養素情報、料理の食材情報等が登録されている。対象ユーザ食事履歴DB209は、対象ユーザについての過去N日分の食事の履歴を料理区分毎に登録したデータベースである。対象ユーザ食事履歴DB209のデータ群は、学習フェーズで用いた対象ユーザ食事履歴DB201のデータ群よりも新しいが、データ群の一部が重複していてもよい。食事摂取基準DB210には、料理に関するカロリー、栄養素等の情報が登録されている。 In the dish DB208, for example, nutrient information for dishes, information on ingredients for dishes, etc. are registered. The target user meal history DB209 is a database that registers the meal history of the target user for the past N days by dish category. The data group in the target user meal history DB209 is newer than the data group in the target user meal history DB201 used in the learning phase, but some of the data group may overlap. The dietary intake reference DB210 registers information on dishes such as calories and nutrients.

 主食予測部110は、対象ユーザ食事履歴DB209から過去N日分の食事履歴を入力し、料理区分が「主食」の料理について「摂取頻度(出現頻度)」で重み付けし、「主食」の料理をランダムに1つ選択する。 The staple food prediction unit 110 inputs the meal history for the past N days from the target user's meal history DB 209, weights the "staple food" dishes by their "ingestion frequency (occurrence frequency)," and randomly selects one "staple food" dish.

 作成部111は、対象ユーザの食事履歴から得られる共起度及び摂取頻度に基づいて、料理区分毎に料理を抽出し、抽出した料理区分毎の料理を組み合わせて対象ユーザに推薦する献立候補を作成する。具体的には、作成部111は、主食予測部110により選択された主食の料理を対象ユーザ食事嗜好モデル204に入力する。対象ユーザ食事嗜好モデル204は、主食の料理と共起度のスコアが近い料理を、例えば、「主菜」、「副菜」、「乳製品」、「果物」の順で出力する。 The creation unit 111 extracts dishes for each cuisine category based on the co-occurrence and intake frequency obtained from the target user's meal history, and creates menu candidates to be recommended to the target user by combining the extracted dishes for each cuisine category. Specifically, the creation unit 111 inputs the staple dish selected by the staple food prediction unit 110 to the target user food preference model 204. The target user food preference model 204 outputs dishes with co-occurrence scores close to those of the staple dish, for example, in the order of "main dish," "side dish," "dairy product," and "fruit."

 そして、作成部111は、過去N日分の食事履歴の中から、各料理区分の料理について摂取頻度及び摂取後の経過日数を求め、対象ユーザ食事嗜好モデル204から出力された各料理の共起度のスコアを補正する。スコアの補正には、例えば、以下の式(1)が用いられる。但し、Nは食事履歴の過去日数を示し、Gはある料理の摂取頻度(摂取回数)を示し、Dはある料理の摂取後の経過日数を示す。 Then, the creation unit 111 obtains the frequency of intake and the number of days since intake for each cuisine category from the meal history for the past N days, and corrects the co-occurrence score for each cuisine output from the target user meal preference model 204. For example, the following formula (1) is used to correct the score. Here, N indicates the number of days in the meal history, G indicates the frequency of intake (number of times consumed) of a certain cuisine, and D indicates the number of days since intake of a certain cuisine.

 (1) (1)

 そして、作成部111は、対象ユーザ食事嗜好モデル204から出力された料理のうち補正後のスコアが高いものを選択的に絞り込む。つまり、作成部111は、各料理区分について摂取頻度が高く、摂取後の経過日数が長い料理を抽出し、抽出した料理区分毎の料理を組み合わせて対象ユーザに推薦する献立候補を作成する。 Then, the creation unit 111 selectively narrows down the dishes output from the target user's dietary preference model 204 to those with high corrected scores. In other words, the creation unit 111 extracts dishes that are frequently consumed for each cuisine category and have been consumed for a long time, and combines the extracted dishes for each cuisine category to create menu candidates to be recommended to the target user.

 なお、作成部111は、献立候補における特定の料理区分(例えば、主菜、副菜)について料理が抽出できない場合に、対象ユーザと嗜好が類似する類似ユーザの食事履歴を用いて特定の料理区分について類似ユーザの料理を抽出し、抽出した類似ユーザの料理を、特定の料理区分の料理としてもよい。つまり、対象ユーザから主菜、副菜の料理が抽出できない場合、そもそも食事摂取基準を満たせない可能性がある。そこで、類似ユーザ食事嗜好モデル205を用いて、類似ユーザの同じ主食から「主菜」、「副菜」の順でスコアが近い料理を抽出し、抽出した類似ユーザの主菜、副菜の料理を、対象ユーザの主菜、副菜の料理として補完する。 In addition, if the creation unit 111 cannot extract dishes for a specific cuisine category (e.g., main dish, side dish) in the menu candidates, it may use the meal history of a similar user with similar tastes to the target user to extract dishes of the similar user for the specific cuisine category, and use the extracted dishes of the similar user as the dishes of the specific cuisine category. In other words, if main dishes and side dishes cannot be extracted from the target user, there is a possibility that the dietary intake standards cannot be met in the first place. Therefore, using the similar user dietary preference model 205, dishes with similar scores in the order of "main dish" and "side dish" from the same staple food of the similar user are extracted, and the extracted main dish and side dish dishes of the similar user are supplemented as the main dish and side dish dishes of the target user.

 なお、複数の類似ユーザが存在する場合、集合知として1つのモデルに統合すればよい。また、類似ユーザはユーザベースの協調フィルタリングを利用してグルーピングすればよい。 If there are multiple similar users, they can be integrated into one model as collective intelligence. Similar users can also be grouped using user-based collaborative filtering.

 入替部112は、作成部111により作成された献立候補に対して、各料理の食材構成に基づき算出される料理同士の類似度に基づいて、特定の料理区分の同一の料理カテゴリの中で類似する料理の入れ替えを行う。具体的には、後述の「料理を食材構成でベクトル化した表」を用いて、献立候補である主菜、副菜と料理カテゴリが一致し、コサイン類似度の比較によって、予め設定した閾値(=関連度)以上の料理を候補として追加する。なお、料理Aと料理Bとの関連度は、以下の式(2)により表される。 The replacement unit 112 replaces similar dishes within the same cuisine category of a specific cuisine division with respect to the menu candidates created by the creation unit 111, based on the similarity between the dishes calculated based on the ingredient composition of each dish. Specifically, using a "table of dishes vectorized by ingredient composition" described below, dishes that match the cuisine category of the main dish and side dish candidate and that meet a preset threshold value (= relevance) or higher are added as candidates by comparing the cosine similarity. The relevance between dish A and dish B is expressed by the following formula (2).

 (2) (2)

 なお、関連度が大きいほど類似した料理が抽出される。一方、関連度が小さいほど類似の度合いは低くなるが料理のバリエーションは増加する。 The higher the relevance, the more similar dishes will be extracted. On the other hand, the lower the relevance, the lower the degree of similarity, but the more variety there will be in the dishes.

 類似ユーザ食事嗜好モデル205を用いることにより、例えば、「朝食は主食のみ」、「副菜は摂取しない」等の傾向がある対象ユーザに対しても、できる限り対象ユーザの嗜好に合うような料理を推薦することが可能となる。 By using the similar user food preference model 205, it is possible to recommend dishes that match the preferences of the target user as much as possible, even for a target user who tends to, for example, "only eat staple foods for breakfast" or "not eat side dishes."

 判定部113は、料理のジャンル毎に予め定めた献立の料理の組み合わせに対して、入替部112により料理を入れ替えた献立候補の料理の組み合わせが妥当であるか否かを判定する。具体的には、料理の組み合わせが崩れないように、一般的食事嗜好モデル206を用いて、料理を入れ替えた献立候補の料理の組み合わせの妥当性を判定する。一般的食事嗜好モデル206は、入替部112により料理を入れ替えた献立候補の料理の組み合わせが入力されると、当該料理の組み合わせが一般的料理の組み合わせに対して妥当であるか否かを判定し、判定結果を出力する。つまり、各献立候補の料理同士の共起度が閾値よりも高い場合には、一般的料理の組み合わせに対して妥当であると判定し、献立候補として残す。 The determination unit 113 determines whether the dish combination of a menu candidate in which dishes have been replaced by the replacement unit 112 is appropriate with respect to the dish combinations of menus predefined for each food genre. Specifically, the general food preference model 206 is used to determine the appropriateness of the dish combination of a menu candidate in which dishes have been replaced, so as not to disrupt the dish combination. When the dish combination of a menu candidate in which dishes have been replaced by the replacement unit 112 is input, the general food preference model 206 determines whether the dish combination is appropriate with respect to general dish combinations and outputs the determination result. In other words, if the degree of co-occurrence between dishes of each menu candidate is higher than a threshold value, it is determined to be appropriate with respect to general dish combinations, and is left as a menu candidate.

 入れ替えた料理は対象ユーザの食事履歴に存在しない場合もあるため、一般的食事嗜好モデル206を用いることにより、料理を入れ替えた献立候補の組み合わせが、一般的料理の組み合わせに近いかをチェックすることができる。 Since the replaced dishes may not exist in the target user's meal history, the general food preference model 206 can be used to check whether the combination of menu candidates with replaced dishes is close to a combination of general dishes.

 算出部114は、食事摂取基準DB210から料理に関するカロリー情報、栄養素情報を取得し、対象ユーザが摂取すべきカロリー、栄養素を算出し、対象ユーザの食事摂取基準を算出する。 The calculation unit 114 obtains calorie information and nutrient information about dishes from the dietary reference intake DB 210, calculates the calories and nutrients that the target user should consume, and calculates the dietary reference intakes for the target user.

 選択部115は、上記で得られた複数の献立候補の中で、算出部114により算出された食事摂取基準に対する乖離が最小となる献立候補を、対象ユーザに推薦する献立として選択する。具体的には、各献立候補において、食事摂取基準との乖離を、一例として、平均絶対パーセント誤差(MAPE:Mean Absolute Percentage Error)として表す。選択部115は、図6に示すように、このMAPEが最小となる献立候補を選択する。図6は、対象ユーザに推薦する献立の一例を示す図である。 The selection unit 115 selects, from among the multiple menu candidates obtained above, the menu candidate with the smallest deviation from the dietary reference intakes calculated by the calculation unit 114 as the menu to be recommended to the target user. Specifically, for each menu candidate, the deviation from the dietary reference intakes is expressed as, for example, the mean absolute percentage error (MAPE). As shown in Figure 6, the selection unit 115 selects the menu candidate with the smallest MAPE. Figure 6 is a diagram showing an example of a menu to be recommended to the target user.

 なお、MAPEは、以下の式(3)により求められる。但し、MはMAPEを示し、Aは理想とするカロリーと栄養素の合計を示し、Fは献立候補の各料理のカロリーと栄養素の合計を示し、nは料理の数(品数)を示す。 MAPE is calculated by the following formula (3): where M represents MAPE, A t represents the ideal total of calories and nutrients, F t represents the total of calories and nutrients of each dish in the menu candidates, and n represents the number of dishes (number of items).

 (3) (3)

 次に、図7、図8A、及び図8Bを参照して、本実施形態に係る献立推薦処理を具体的に説明する。 Next, the menu recommendation process according to this embodiment will be described in detail with reference to Figures 7, 8A, and 8B.

 図7、図8A、及び図8Bは、本実施形態に係る献立推薦処理の説明に供する図である。 FIGS. 7, 8A, and 8B are diagrams used to explain the menu recommendation process according to this embodiment.

 図7に示すように、(S1)では、主食予測部110が、対象ユーザの食事履歴から主食の料理をランダムに選択し、作成部111が、対象ユーザ食事嗜好モデル204のWord2vecによる共起度の高い料理のスコアが近くなる性質を利用して、主食から「主菜」、「副菜」、「乳製品」、「果物」の順で共起度の高い料理を抽出する。抽出した結果を共起マップとして示す。 As shown in FIG. 7, in (S1), the staple food prediction unit 110 randomly selects a staple dish from the target user's meal history, and the creation unit 111 utilizes the property of dishes with high co-occurrence scores being close to each other in Word2vec of the target user's food preference model 204 to extract dishes with high co-occurrence from the staple food in the order of "main dish," "side dish," "dairy product," and "fruit." The extracted results are shown as a co-occurrence map.

 (S2)では、作成部111が、対象ユーザ食事嗜好モデル204を用いて抽出された料理のうち補正後のスコアが高いものを選択的に絞り込む。つまり、各料理区分について摂取頻度が高く、摂取後の経過日数が長い料理を抽出し、抽出した料理区分毎の料理を組み合わせて対象ユーザに推薦する献立候補を作成する。 In (S2), the creation unit 111 selectively narrows down the dishes extracted using the target user's dietary preference model 204 to those with high corrected scores. In other words, for each cuisine category, dishes that are frequently consumed and have been consumed many days ago are extracted, and the extracted dishes for each cuisine category are combined to create menu candidates to be recommended to the target user.

 (S3)では、入替部112が、一例として、図8A及び図8Bに示すように、「料理を食材構成でベクトル化した表」を用いて、献立候補である主菜、副菜と料理カテゴリが一致し、コサイン類似度の比較(類似度が高いほどスコアが近くなる。)によって、予め設定した閾値(=関連度)以上の料理を候補として追加する。なお、図8Aは主菜の料理を食材構成でベクトル化した表を示し、図8Bは副菜の料理を食材構成でベクトル化した表を示す。 In (S3), as shown in Figs. 8A and 8B, the replacement unit 112 uses a "table in which dishes are vectorized by their ingredient composition" to add as candidates dishes that match the main dish and side dish candidates and that meet a preset threshold (= relevance) or higher by comparing cosine similarity (the higher the similarity, the closer the score). Fig. 8A shows a table in which main dishes are vectorized by their ingredient composition, and Fig. 8B shows a table in which side dishes are vectorized by their ingredient composition.

 (S4)では、作成部111が、料理区分の一例として主食、主菜、副菜、及び果物の各料理を含む複数の献立候補を作成する。 In (S4), the creation unit 111 creates multiple menu candidates that include staple foods, main dishes, side dishes, and fruit dishes as examples of food categories.

 (S5)では、選択部115が、上記で得られた複数の献立候補(例えば、組み合わせA~C)の中で、算出部114により算出された食事摂取基準に対する乖離が最小となる献立候補を、対象ユーザに推薦する献立として選択する。 In (S5), the selection unit 115 selects, from among the multiple menu candidates obtained above (e.g., combinations A to C), the menu candidate that has the smallest deviation from the dietary reference intakes calculated by the calculation unit 114, as the menu to be recommended to the target user.

 次に、図9を参照して、本実施形態に係る献立推薦装置10の作用について説明する。 Next, the operation of the menu recommendation device 10 according to this embodiment will be described with reference to FIG. 9.

 図9は、本実施形態に係る献立推薦プログラムによる献立推薦処理の流れの一例を示すフローチャートである。献立推薦プログラムによる献立推薦処理は、献立推薦装置10のCPU11が、ROM12又はストレージ14に記憶されている献立推薦プログラムをRAM13に書き込んで実行することにより、実現される。 FIG. 9 is a flowchart showing an example of the flow of a menu recommendation process by the menu recommendation program according to this embodiment. The menu recommendation process by the menu recommendation program is realized by the CPU 11 of the menu recommendation device 10 writing the menu recommendation program stored in the ROM 12 or storage 14 to the RAM 13 and executing it.

 図9のステップS101では、CPU11が、対象ユーザ食事履歴DB209から、対象ユーザの過去N日分の食事履歴を取得する。 In step S101 of FIG. 9, the CPU 11 retrieves the target user's meal history for the past N days from the target user meal history DB 209.

 ステップS102では、CPU11が、ステップS101で取得した過去N日分の食事履歴から、料理区分が「主食」の料理について「摂取頻度(出現頻度)」で重み付けし、「主食」の料理をランダムに1つ選択する。 In step S102, the CPU 11 weights the "staple food" dishes from the meal history for the past N days acquired in step S101 by "ingestion frequency (frequency of occurrence)" and randomly selects one "staple food" dish.

 ステップS103では、CPU11が、ステップS102で選択した主食の料理を対象ユーザ食事嗜好モデル204に入力する。対象ユーザ食事嗜好モデル204は、主食の料理と共起度のスコアが近い料理を、例えば、「主菜」、「副菜」、「乳製品」、「果物」の順で出力する。そして、CPU11は、過去N日分の食事履歴の中から、各料理区分の料理について摂取頻度及び摂取後の経過日数を求め、対象ユーザ食事嗜好モデル204から出力された各料理の共起度のスコアを補正して、共起度の高い料理の絞り込みを行う。 In step S103, the CPU 11 inputs the staple dish selected in step S102 into the target user food preference model 204. The target user food preference model 204 outputs dishes with co-occurrence scores close to those of the staple dish, for example in the order of "main dish," "side dish," "dairy products," and "fruit." The CPU 11 then obtains the frequency of intake and the number of days since intake for each food category from the meal history for the past N days, corrects the co-occurrence scores of each dish output from the target user food preference model 204, and narrows down the dishes with high co-occurrence.

 ステップS104では、CPU11が、ステップS103で補正したスコアに基づいて、各料理区分について摂取頻度が高く、摂取後の経過日数が長い料理を抽出し、抽出した料理区分毎の料理を組み合わせて対象ユーザに推薦する献立候補を作成する。 In step S104, the CPU 11 extracts dishes for each cuisine category that are frequently consumed and have been consumed a long time ago based on the scores corrected in step S103, and creates menu candidates to be recommended to the target user by combining the extracted dishes for each cuisine category.

 ステップS105では、CPU11が、ステップS104で作成した献立候補の中に、主菜、副菜が存在しないか否かを判定する。主菜、副菜が存在すると判定した場合(否定判定の場合)、ステップS106に移行し、主菜、副菜が存在しないと判定した場合(肯定判定の場合)、ステップS107に移行する。 In step S105, the CPU 11 determines whether or not there are any main dishes or side dishes in the menu candidates created in step S104. If it is determined that there are main dishes and side dishes (if the determination is negative), the process proceeds to step S106, and if it is determined that there are no main dishes and side dishes (if the determination is positive), the process proceeds to step S107.

 ステップS106では、CPU11が、ステップS104で作成した献立候補に対して、各料理の食材構成に基づき算出される料理同士の類似度に基づいて、特定の料理区分の同一の料理カテゴリの中で類似する料理の入れ替えを行う。具体的には、一例として、上述の図8A及び図8Bの表を用いて、献立候補である主菜、副菜と料理カテゴリが一致し、コサイン類似度の比較によって、予め設定した閾値(=関連度)以上の料理を候補として追加する。 In step S106, the CPU 11 replaces similar dishes in the same cuisine category of a specific cuisine division with those in the menu candidates created in step S104, based on the similarity between the dishes calculated based on the ingredient composition of each dish. Specifically, as an example, using the tables of Figures 8A and 8B described above, dishes that match the cuisine category of the main dish and side dish candidate menu and that meet a preset threshold value (= relevance) or higher by comparing the cosine similarity are added as candidates.

 一方、ステップS107では、CPU11が、一例として、類似ユーザ食事嗜好モデル205を用いて、類似ユーザの同じ主食から「主菜」、「副菜」の順でスコアが近い料理を抽出し、抽出した類似ユーザの主菜、副菜の料理を、対象ユーザの主菜、副菜の料理として補完し、ステップS106に移行する。 On the other hand, in step S107, the CPU 11, for example, uses the similar user food preference model 205 to extract dishes with similar scores in the order of "main dish" and "side dish" from the same staple food of the similar user, and complements the extracted main dish and side dish dishes of the similar user as the main dish and side dish dishes of the target user, and proceeds to step S106.

 ステップS108では、CPU11が、料理のジャンル毎に予め定めた献立の料理の組み合わせに対して、ステップS106で料理を入れ替えた献立候補の料理の組み合わせが妥当であるか否かを判定する。具体的には、料理の組み合わせが崩れないように、一例として、一般的食事嗜好モデル206を用いて、料理を入れ替えた献立候補の料理の組み合わせの妥当性を判定する。 In step S108, the CPU 11 determines whether the combination of dishes in the menu candidate in which dishes have been replaced in step S106 is appropriate, relative to the combination of dishes in the menu that has been predefined for each food genre. Specifically, to ensure that the combination of dishes is not disrupted, the general food preference model 206 is used, for example, to determine the appropriateness of the combination of dishes in the menu candidate in which dishes have been replaced.

 ステップS109では、CPU11が、全ての主食について完了したか否かを判定する。全ての主食について完了したと判定した場合(肯定判定の場合)、ステップS110に移行し、全ての主食について完了していないと判定した場合(否定判定の場合)、ステップS102に戻り処理を繰り返す。 In step S109, the CPU 11 determines whether or not all staple foods have been completed. If it is determined that all staple foods have been completed (if the determination is positive), the process proceeds to step S110, and if it is determined that all staple foods have not been completed (if the determination is negative), the process returns to step S102 and repeats the process.

 ステップS110では、CPU11が、上記で得られた複数の献立候補の中で、対象ユーザについて算出して得られた食事摂取基準に対する乖離が最小となる献立候補を、対象ユーザに推薦する献立として選択し、本献立推薦プログラムによる一連の処理を終了する。 In step S110, the CPU 11 selects, from among the multiple menu candidates obtained above, the menu candidate that has the smallest deviation from the dietary reference intakes calculated for the target user as the menu to be recommended to the target user, and ends the series of processes performed by this menu recommendation program.

 このように本実施形態によれば、料理単体の嗜好を表す摂取頻度のみならず、料理同士の相性を表す共起度も考慮するため、ユーザの食事の嗜好を出来るだけ維持しつつ、栄養バランスを考慮した献立を推薦することができる。 In this way, this embodiment takes into account not only the frequency of intake, which indicates the preference for a single dish, but also the degree of co-occurrence, which indicates the compatibility between dishes, so it is possible to recommend a menu that takes into account nutritional balance while maintaining the user's food preferences as much as possible.

 また、栄養バランスを踏まえた料理の入れ替え後、料理同士の相性、及び、料理単体の嗜好を崩さないように維持することができる。 In addition, after replacing dishes based on nutritional balance, it is possible to maintain the compatibility between dishes and the taste of each individual dish.

 上記実施形態でCPUがプログラムを読み込んで実行した献立推薦処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、献立推薦処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。 In the above embodiment, the menu recommendation process that is executed by loading the program by the CPU may be executed by various processors other than the CPU. Examples of processors in this case include PLDs (Programmable Logic Devices) such as FPGAs (Field-Programmable Gate Arrays) whose circuit configuration can be changed after manufacture, and dedicated electrical circuits such as ASICs (Application Specific Integrated Circuits), which are processors with circuit configurations designed specifically to execute specific processes. The menu recommendation process may be executed by one of these various processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, and a combination of a CPU and an FPGA). The hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor elements.

 また、上記実施形態では、献立推薦プログラムがROM又はストレージに予め記憶(「インストール」ともいう)されている態様を説明したが、これに限定されない。献立推薦プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、献立推薦プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。 In the above embodiment, the menu recommendation program is described as being pre-stored (also called "installed") in ROM or storage, but this is not limiting. The menu recommendation program may be provided in a form stored in a non-transitory storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory. The menu recommendation program may also be downloaded from an external device via a network.

 本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。 All publications, patent applications, and technical standards described in this specification are incorporated by reference into this specification to the same extent as if each individual publication, patent application, and technical standard was specifically and individually indicated to be incorporated by reference.

 以上の実施形態に関し、更に以下の付記を開示する。 The following notes are further provided with respect to the above embodiment.

(付記項1)
 メモリと、
 前記メモリに接続された少なくとも1つのプロセッサと、
 を含み、
 前記プロセッサは、
 ユーザの食事履歴から得られる、料理同士の相性を表す共起度及び料理単体の嗜好を表す摂取頻度に基づいて、料理区分毎に料理を抽出し、抽出した料理区分毎の料理を組み合わせて前記ユーザに推薦する献立候補を作成し、
 前記献立候補に対して、各料理の食材構成に基づき算出される料理同士の類似度に基づいて、特定の料理区分の同一の料理カテゴリの中で類似する料理の入れ替えを行う、
 献立推薦装置。
(Additional Note 1)
Memory,
at least one processor coupled to the memory;
Including,
The processor,
extracting dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for each cuisine, obtained from the user's meal history, and creating menu candidates to be recommended to the user by combining the extracted dishes for each cuisine category;
For the menu candidates, replacing similar dishes within the same dish category of a specific dish division based on the similarity between the dishes calculated based on the ingredient composition of each dish.
Menu recommendation device.

(付記項2)
 献立推薦処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
 前記献立推薦処理は、
 ユーザの食事履歴から得られる、料理同士の相性を表す共起度及び料理単体の嗜好を表す摂取頻度に基づいて、料理区分毎に料理を抽出し、抽出した料理区分毎の料理を組み合わせて前記ユーザに推薦する献立候補を作成し、
 前記献立候補に対して、各料理の食材構成に基づき算出される料理同士の類似度に基づいて、特定の料理区分の同一の料理カテゴリの中で類似する料理の入れ替えを行う、
 非一時的記憶媒体。
(Additional Note 2)
A non-transitory storage medium storing a program executable by a computer to execute a menu recommendation process,
The menu recommendation process includes:
extracting dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for each cuisine, obtained from the user's meal history, and creating menu candidates to be recommended to the user by combining the extracted dishes for each cuisine category;
For the menu candidates, replacing similar dishes within the same dish category of a specific dish division based on the similarity between the dishes calculated based on the ingredient composition of each dish.
Non-transitory storage media.

10   献立推薦装置
11   CPU
12   ROM
13   RAM
14   ストレージ
15   入力部
16   表示部
17   通信I/F
18   バス
101 第1学習部
102 第2学習部
103 類似ユーザ判定部
104 第3学習部
110 主食予測部
111 作成部
112 入替部
113 判定部
114 算出部
115 選択部
10 Menu recommendation device 11 CPU
12 ROM
13 RAM
14 Storage 15 Input unit 16 Display unit 17 Communication I/F
18 Bus 101 First learning unit 102 Second learning unit 103 Similar user determination unit 104 Third learning unit 110 Staple food prediction unit 111 Creation unit 112 Replacement unit 113 Determination unit 114 Calculation unit 115 Selection unit

Claims (4)

 ユーザの食事履歴から得られる、料理同士の相性を表す共起度及び料理単体の嗜好を表す摂取頻度に基づいて、料理区分毎に料理を抽出し、抽出した料理区分毎の料理を組み合わせて前記ユーザに推薦する献立候補を作成する作成部と、
 前記献立候補に対して、各料理の食材構成に基づき算出される料理同士の類似度に基づいて、特定の料理区分の同一の料理カテゴリの中で類似する料理の入れ替えを行う入替部と、
 を備えた献立推薦装置。
A creation unit that extracts dishes for each cuisine category based on a co-occurrence degree indicating compatibility between dishes and an intake frequency indicating a preference for each cuisine, which are obtained from a user's meal history, and creates menu candidates to be recommended to the user by combining the extracted dishes for each cuisine category;
A replacement unit that replaces similar dishes in the same dish category of a specific dish classification based on the similarity between the dishes calculated based on the ingredient composition of each dish with respect to the menu candidates;
A menu recommendation device equipped with the above.
 前記作成部は、前記献立候補における特定の料理区分について料理が抽出できない場合に、前記ユーザと嗜好が類似する類似ユーザの食事履歴を用いて前記特定の料理区分について前記類似ユーザの料理を抽出し、抽出した前記類似ユーザの料理を、前記特定の料理区分の料理とする、
 請求項1に記載の献立推薦装置。
When a dish cannot be extracted for a specific cuisine category in the menu candidate, the creation unit extracts a dish of the similar user for the specific cuisine category using a meal history of a similar user who has a similar taste to the user, and sets the extracted dish of the similar user as a dish of the specific cuisine category.
The menu recommendation device according to claim 1 .
 料理のジャンル毎に予め定めた献立の料理の組み合わせに対して、前記入替部により料理を入れ替えた献立候補の料理の組み合わせが妥当であるか否かを判定する判定部を更に備えた、
 請求項1又は請求項2に記載の献立推薦装置。
The method further includes a determination unit that determines whether the combination of dishes of the menu candidate in which the dishes are replaced by the replacement unit is appropriate for the combination of dishes of the menu predetermined for each food genre,
The menu recommendation device according to claim 1 or 2.
 献立推薦装置が、
 ユーザの食事履歴から得られる、料理同士の相性を表す共起度及び料理単体の嗜好を表す摂取頻度に基づいて、料理区分毎に料理を抽出し、抽出した料理区分毎の料理を組み合わせて前記ユーザに推薦する献立候補を作成し、
 前記献立候補に対して、各料理の食材構成に基づき算出される料理同士の類似度に基づいて、特定の料理区分の同一の料理カテゴリの中で類似する料理の入れ替えを行う、
 献立推薦方法。
The menu recommendation device,
extracting dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for each cuisine, obtained from the user's meal history, and creating menu candidates to be recommended to the user by combining the extracted dishes for each cuisine category;
For the menu candidates, replacing similar dishes within the same dish category of a specific dish division based on the similarity between the dishes calculated based on the ingredient composition of each dish.
How to recommend a donation.
PCT/JP2023/030158 2023-08-22 2023-08-22 Meal recommendation device and meal recommendation method Pending WO2025041265A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/030158 WO2025041265A1 (en) 2023-08-22 2023-08-22 Meal recommendation device and meal recommendation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/030158 WO2025041265A1 (en) 2023-08-22 2023-08-22 Meal recommendation device and meal recommendation method

Publications (1)

Publication Number Publication Date
WO2025041265A1 true WO2025041265A1 (en) 2025-02-27

Family

ID=94731540

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/030158 Pending WO2025041265A1 (en) 2023-08-22 2023-08-22 Meal recommendation device and meal recommendation method

Country Status (1)

Country Link
WO (1) WO2025041265A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016012247A (en) * 2014-06-30 2016-01-21 富士機械製造株式会社 Menu creation system
JP2020064666A (en) * 2016-04-07 2020-04-23 楽天株式会社 Information processing device, information processing method, and program
CN115080832A (en) * 2021-03-10 2022-09-20 松下电器研究开发(苏州)有限公司 Recipe recommendation method, recipe recommendation device and refrigerator

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016012247A (en) * 2014-06-30 2016-01-21 富士機械製造株式会社 Menu creation system
JP2020064666A (en) * 2016-04-07 2020-04-23 楽天株式会社 Information processing device, information processing method, and program
CN115080832A (en) * 2021-03-10 2022-09-20 松下电器研究开发(苏州)有限公司 Recipe recommendation method, recipe recommendation device and refrigerator

Similar Documents

Publication Publication Date Title
Grasso et al. Part meat and part plant: are hybrid meat products fad or future?
Osadchiy et al. Recommender system based on pairwise association rules
Didinger et al. Motivating pulse-centric eating patterns to benefit human and environmental well-being
US20160103839A1 (en) Food recipe scoring and ranking system
US8647121B1 (en) Food item grading
US20190171707A1 (en) Systems and methods for automatic analysis of text-based food-recipes
US9483547B1 (en) Clustering and display of recipes
Ueda et al. Recipe recommendation method by considering the users preference and ingredient quantity of target recipe
US9824152B1 (en) Recipe recommendation
CN103345591A (en) Personalized nutrition recipe device and method
Kim et al. Tell me what you eat, and i will tell you where you come from: A data science approach for global recipe data on the web
JP2022041724A (en) Information processing equipment, information processing methods and information processing programs
Hu et al. Developing low-fat banana bread by using okra gum as a fat replacer
Jabeen et al. EvoChef: show me what to cook! Artificial evolution of culinary arts
Görür et al. Analysing food image branding of turkey from instagram social media platform
Ratisoontorn Recipe recommendations for toddlers using integrated nutritional and ingredient similarity measures
Nadamoto et al. Clustering for similar recipes in user-generated recipe sites based on main ingredients and main seasoning
CN111863192A (en) Method, device and device for recommending recipes
Tansey et al. Diet2Vec: Multi-scale analysis of massive dietary data
DuBois Ten centuries of Chinese food writing: what do we do with all these recipes?
CN112638219A (en) Automatic extraction of essential ingredients from food formulations
Knight ‘If You're Not Allowed to Have Rice, What do you have with your Curry?’: Nostalgia and Tradition in Low-Carbohydrate Diet Discourse and Practice
Druck Recipe attribute prediction using review text as supervision
Byrd Comida mineira: a “cultural patrimony” of Brazil
Pesaranghader et al. RECipe: does a multi-modal recipe knowledge graph fit a multi-purpose recommendation system?

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23949726

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2025541217

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2025541217

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE