WO2024043184A1 - 情報処理方法、情報処理装置、プログラム - Google Patents

情報処理方法、情報処理装置、プログラム Download PDF

Info

Publication number
WO2024043184A1
WO2024043184A1 PCT/JP2023/029813 JP2023029813W WO2024043184A1 WO 2024043184 A1 WO2024043184 A1 WO 2024043184A1 JP 2023029813 W JP2023029813 W JP 2023029813W WO 2024043184 A1 WO2024043184 A1 WO 2024043184A1
Authority
WO
WIPO (PCT)
Prior art keywords
cooking
block
information
user
blocks
Prior art date
Application number
PCT/JP2023/029813
Other languages
English (en)
French (fr)
Inventor
綺宙 湯浅
豪章 小泉
健太 村上
Original Assignee
パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ filed Critical パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Publication of WO2024043184A1 publication Critical patent/WO2024043184A1/ja

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24CDOMESTIC STOVES OR RANGES ; DETAILS OF DOMESTIC STOVES OR RANGES, OF GENERAL APPLICATION
    • F24C7/00Stoves or ranges heated by electric energy
    • F24C7/02Stoves or ranges heated by electric energy using microwaves
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24CDOMESTIC STOVES OR RANGES ; DETAILS OF DOMESTIC STOVES OR RANGES, OF GENERAL APPLICATION
    • F24C7/00Stoves or ranges heated by electric energy
    • F24C7/04Stoves or ranges heated by electric energy with heat radiated directly from the heating element
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Definitions

  • the present disclosure relates to information processing technology, and particularly relates to an information processing method, an information processing device, and a program that combine multiple cooking steps.
  • the server and cooking equipment are connected via a network.
  • the server maintains a database that includes the user's purchase history, the inventory of food stored in the user's refrigerator, the types of cooking equipment owned by the user, cooking recipes for each type of cooking equipment, and the user's cooking history for each cooking equipment.
  • a cooking recipe to be proposed to the user is determined by using the cooking recipe (for example, see Patent Document 1).
  • Patent Document 1 a cooking recipe that can be cooked using cooking equipment owned by a user at home is provided.
  • a cooking recipe that can be cooked using cooking equipment owned by a user at home is provided.
  • the present disclosure has been made in view of these circumstances, and its purpose is to provide a technology that provides cooking recipes according to the user's situation.
  • an information processing method includes a step of acquiring a plurality of cooking steps, a step of associating one or more blocks with each of the plurality of cooking steps, and a step of associating one or more blocks with each of the plurality of cooking steps. a step of acquiring information, a step of selecting a block according to the user's situation from one or more blocks in each of the plurality of cooking processes, and a step of combining the blocks selected in each of the plurality of cooking processes to determine the user's situation.
  • the method includes a step of creating a cooking program according to the above, and a step of outputting the created cooking program.
  • This device includes a first acquisition section that acquires a plurality of cooking steps, a first processing section that associates one or more blocks with each of the plurality of cooking steps, and a second acquisition section that acquires information regarding the user's situation. , a second processing unit that selects a block according to the user's situation from among one or more blocks in each of the plurality of cooking processes; It includes a third processing section that creates a cooking program, and an output section that outputs the created cooking program.
  • cooking recipes can be provided according to the user's situation.
  • FIG. 1 is a diagram showing the configuration of a device control system according to a first embodiment.
  • 2(a) to 2(e) are diagrams showing the configuration of functional blocks used in the device control system of FIG. 1.
  • FIG. FIGS. 3(a) to 3(c) are diagrams showing the configuration of a functional block sequence used in the device control system of FIG. 1.
  • FIG. 2 is a diagram showing an outline of the operation of the device in FIG. 1; 1 is a diagram showing the configuration of an information processing system according to a first embodiment.
  • 6 is a diagram showing the configuration of the information processing device shown in FIG. 5.
  • FIG. 7 is a diagram showing the data structure of a database stored in the cooking recipe storage section of FIG. 6.
  • FIG. 6 is a diagram showing a screen displayed on the terminal in FIG. 5.
  • FIG. 5 is a diagram showing the data structure of a database stored in the cooking recipe storage section of FIG. 6.
  • FIGS. 9(a) and 9(b) are diagrams showing an overview of processing by the action block processing section of FIG. 6.
  • 7 is a diagram showing the data structure of a database stored in the cooking process storage section of FIG. 6.
  • FIG. 7 is a diagram illustrating an overview of another process by the action block processing section of FIG. 6.
  • FIG. 7 is a diagram showing the data structure of a database stored in the cooking utensil storage section of FIG. 6.
  • FIG. 7 is a diagram illustrating an overview of processing by the cooking block selection processing section of FIG. 6.
  • FIGS. 14(a) and 14(b) are diagrams showing schedules indicated in the status information acquired by the status acquisition unit of FIG. 6.
  • 7 is a diagram showing another outline of the processing by the cooking block selection processing section of FIG. 6.
  • FIG. 7 is a diagram showing still another outline of the processing by the cooking block selection processing section of FIG. 6.
  • FIG. 7 is a diagram showing still another outline of the processing by the cooking block selection processing section of FIG. 6.
  • FIG. 6 is a diagram showing a screen displayed on the terminal in FIG. 5.
  • FIG. 6 is a diagram showing another screen displayed on the terminal diagram 20 of FIG. 5.
  • FIG. 7 is a diagram showing still another outline of the processing by the cooking block selection processing section of FIG. 6.
  • FIG. 7 is a diagram showing still another outline of the processing by the cooking block selection processing section of FIG. 6.
  • FIG. 7 is a diagram showing still another outline of the processing by the cooking block selection processing section of FIG. 6.
  • FIG. 7 is a flowchart showing a procedure for outputting a cooking program by the information processing device of FIG.
  • FIG. 6; 7 is a flowchart showing the procedure of cooking process creation processing by the information processing device of FIG. 6.
  • FIG. 7 is a flowchart showing the procedure of cooking block selection processing by the information processing device of FIG. 6.
  • FIG. 26(a) and 26(b) are diagrams illustrating an overview of processing according to modification example 1.
  • FIGS. 27(a) and 27(b) are diagrams showing another outline of the process according to the first modification.
  • FIG. 7 is a diagram showing an overview of processing by a cooking block selection processing section according to Modification 2.
  • FIG. 7 is a diagram showing another outline of the processing by the cooking block selection processing section according to Modification 2.
  • FIG. 12 is a flowchart illustrating the procedure of cooking block selection processing by the information processing device according to Modification 2.
  • FIG. 12 is a flowchart illustrating the procedure of cooking block selection processing by the information processing device according to Modification 2.
  • FIG. 12 is a diagram illustrating the configuration of an information processing system according to Modification 3.
  • FIG. FIGS. 32(a) and 32(b) are diagrams showing schedules indicated in the situation information acquired by the situation acquisition unit according to modification 4.
  • 7 is a flowchart showing a procedure for outputting a cooking program by the information processing device according to the second embodiment.
  • Example 1 The examples described below all show one preferred specific example of the present disclosure. Therefore, the numerical values, shapes, materials, components, arrangement positions and connection forms of the components, steps (processes) and order of steps, etc. shown in the following examples are examples and limit the present disclosure. It's not the main idea. Therefore, among the constituent elements in the following examples, constituent elements that are not described in the independent claims representing the topmost concept of the present disclosure will be described as arbitrary constituent elements. Further, in each figure, substantially the same configurations are denoted by the same reference numerals, and overlapping explanations will be omitted or simplified. In the following, the embodiment will be described in the order of (1) an overview of functional blocks and functional block sequences, and (2) output of a cooking program.
  • FIG. 1 shows the configuration of an information processing system 1000.
  • a four-layer model consisting of the first layer to the fourth layer is defined.
  • the configuration of the device 1100 is defined.
  • the device 1100 is, for example, a rice cooker (device 1100a), a washing machine (device 1100b), or a microwave oven (device 1100c).
  • the device 1100 is not limited to these.
  • Each device 1100 includes multiple components 1102, multiple drivers 1104, and multiple functional blocks 1110.
  • the component 1102 is a hardware element that constitutes a unit into which the operation (actuation/sensing) of the device 1100 is divided, and includes actuators and sensors that execute the functions of the device 1100. Actuators are output devices and sensors are input devices.
  • the actuators include, for example, a bottom IH (induction heating) coil (component 1102a) in a rice cooker (equipment 1100a), a trunk IH coil (component 1102b), a stepping motor (component 1102c), a water container IH coil (component 1102d), and a cooling coil. They are a fan (component 1102e) and a piezoelectric buzzer (component 1102f).
  • the sensor is, for example, a temperature sensor (component 1102g) in a rice cooker (apparatus 1100a).
  • the components 1102 included in the rice cooker (device 1100a) are not limited to these, and the washing machine (device 1100b) and microwave oven (device 1100c) are similarly configured.
  • the driver 1104 is software for directly controlling the component 1102.
  • the IH control (driver 1104) in the rice cooker (device 1100a) controls the bottom outside IH coil (component 1102a). Further, the IH control (driver 1104b) controls the body IH coil (component 1102b), the pressure valve control (driver 1104c) controls the stepping motor (component 1102c), and the IH control (driver 1104d) controls the water container IH coil (component 1102b). component 1102d).
  • the fan control controls the cooling fan (component 1102e)
  • the buzzer control controls the piezoelectric buzzer (component 1102f)
  • the sensor control controls the temperature sensor (component 1102g). Control.
  • the driver 1104 included in the rice cooker (device 1100a) is not limited to these, and the washing machine (device 1100b) and microwave oven (device 1100c) are similarly configured.
  • the functional block 1110 is a software interface (API: Application Programming Interface) that is associated with one or more drivers 1104 and for operating one or more components 1102.
  • Functional block 1110 can accept one or more parameters that control the operation of (each) component 1102. Details of functional block 1110 will be described later.
  • a functional block sequence 1120 is defined in which one or more functional blocks 1110 are arranged in order of operation in order to cause the device 1100 to execute a target process.
  • functional block sequence 1120 defines the order of execution of one or more functional blocks 1110.
  • the target processing is determined depending on the device 1100, and is, for example, cooking for a rice cooker (device 1100a) and microwave oven (device 1100c), and washing for a washing machine (device 1100b).
  • Functional block sequence 1120a is used for a rice cooker (appliance 1100a)
  • functional block sequence 1120b is used for a washing machine (appliance 1100b)
  • functional block sequence 1120c is used for a microwave oven (appliance 1100c).
  • Device 1100 performs operations in the order of functional blocks 1110 arranged in functional block sequence 1120. Therefore, by changing the arrangement of the functional blocks 1110 or changing the parameters set in the functional blocks 1110, it is possible to update the functions and operations of the device 1100. Details of the functional block sequence 1120 will be described later.
  • a platform server 1130 that manages various information in the information processing system 1000 is arranged at the third layer.
  • Platform server 1130 includes a sequence manager, a device manager, and various databases.
  • the sequence manager manages the functional block sequence 1120
  • the device manager manages registration information of the device 1100 that can use the functional block sequence 1120
  • the various databases manage information of users who can use the functional block sequence 1120.
  • a user application server 1132 that publishes each functional block sequence 1120 as a user application is arranged at the fourth layer.
  • the functional block sequence 1120 published to the user application server 1132 is downloaded to the device 1100.
  • the downloaded functional block sequence 1120 is made available on the device 1100.
  • another functional block sequence 1120 is downloaded to device 1100, another functional block sequence 1120 is enabled in device 1100.
  • the third layer and the fourth layer in the information processing system 1000 may be combined.
  • the platform server 1130 and the user application server 1132 are integrally configured.
  • the third layer and the fourth layer in the information processing system 1000 may be arranged in the same layer.
  • the third layer and the fourth layer in the information processing system 1000 may be omitted.
  • the functional block sequence 1120 is downloaded to the device 1100 from a user device (not shown) owned by the user.
  • FIGS. 2(a) to 2(e) show the configuration of a functional block 1110 used in the information processing system 1000.
  • FIG. 2(a) shows the basic configuration of the functional block 1110.
  • the functional blocks 1110 are defined in units of functions that can be executed by the device 1100, and have "block names" depending on the content of the functions.
  • a plurality of parameters can be set in the functional block 1110 depending on the function.
  • Each parameter set in the functional block 1110 is output to the driver 1104.
  • the driver 1104 controls the operation of the component 1102 according to the parameters.
  • FIG. 2(b) shows a "pre-cooking" functional block 1110a in the rice cooker (apparatus 1100a) of FIG. 1.
  • parameters such as pot bottom temperature, duration, convection pattern, bottom (outer) IH time, and bottom (inner) IH time can be set.
  • FIG. 2(c) shows the "boiling" function block 1110b in the rice cooker (device 1100a) in FIG. 1
  • FIG. 2(d) shows the "uneven” function in the rice cooker (device 1100a) in FIG.
  • a block 1110c is shown
  • FIG. 2(e) shows a "keep warm” functional block 1110d.
  • a plurality of parameters can also be set in each of the functional blocks 1110b to 1110d. The same applies to the functional block 1110 in the washing machine (device 1100b) and microwave oven (device 1100c) in FIG.
  • FIG. 3(a) to (c) show the configuration of a functional block sequence 1120 used in the information processing system 1000, particularly a functional block sequence 1120a used in the rice cooker (device 1100a) in FIG. 1.
  • Figure 3 (a) shows the sequence for "cooking rice”
  • Figure 3 (b) shows the sequence for "cooking boiled food”
  • Figure 3 (c) shows the sequence for "cooking roast beef (low temperature cooking)”. Indicates the sequence.
  • a "pre-cooking” functional block 1110a In the sequence for "simmering food cooking” shown in FIG. 3(b), a "pre-cooking” functional block 1110a, a “cooking” functional block 1110n, a “boiling” functional block 1110b, and a “warming” functional block 1110d are arranged in order.
  • the sequence for "roast beef (low temperature cooking)" shown in FIG. 3(c) includes a "keep warm” function block 1110d.
  • FIG. 4 shows an outline of the operation of the device 1100, particularly the rice cooker (device 1100a) in FIG. 1.
  • This shows the operation of the device 1100a according to the sequence for "cooking rice” in FIG. 3(a).
  • three "pre-cooking" functional blocks 1110a with different parameters set are executed in sequence, and the components 1102 corresponding to these blocks operate according to the parameters.
  • the pot temperature increases stepwise over time.
  • the "cooking" function block 1110n, the "boiling” function block 1110b, the “cooking” function block 1110c, and the “keeping warm” function block 1110d are executed in order to correspond to these functions.
  • the component 1102 operated according to the parameters. That is, rice is cooked in the device 1100a by sequentially executing the plurality of functional blocks 1110.
  • FIG. 5 is a diagram showing the configuration of the information processing system 1000.
  • Information processing system 1000 includes a terminal 100, a network 300, and an information processing device 400.
  • the terminal 100 and the information processing device 400 are connected via a network 300 such as the Internet.
  • the information processing device 400 creates a cooking program that is a cooking recipe suitable for the user's situation, and the information processing device 400 allows the created cooking program to be used by the user via the network 300.
  • the information is provided to the terminal 100.
  • the number of terminals 100 included in information processing system 1000 is not limited to "1".
  • the terminal 100 is a device having a communication function that can be connected to the network 300, and is used by a user.
  • the terminal 100 is, for example, a household electrical appliance such as a computer, a smartphone, a tablet terminal, or a cooking appliance.
  • Terminal 100 includes an operation unit (not shown) such as a button that can accept information input by a user, and a display unit (not shown) such as a display that can display information to the user.
  • the operation section and the display section may be integrated as a touch panel.
  • the terminal 100 manages the user's situation and transmits information regarding the user's situation (hereinafter referred to as “situation information”) to the information processing device 400 via the network 300.
  • the "user's situation” is, for example, "the user's schedule” and "the cooking equipment the user has.”
  • “User's schedule” includes information on “the degree to which the user can devote time and effort to cooking.”
  • the terminal 100 may include a cooking utensil storage unit and a schedule storage unit. Further, the terminal 100 receives a cooking program from the information processing device 400 via the network 300, and displays the cooking program.
  • the information processing device 400 is a device having a communication function that can be connected to the network 300, and is, for example, a computer such as a server or a cloud server equipped with a processor, memory, etc.
  • Information processing device 400 receives status information from terminal 100 via network 300.
  • Information processing device 400 creates a cooking program by reflecting the situation information, and transmits the cooking program to terminal 100 via network 300 .
  • FIG. 6 shows the configuration of the information processing device 400.
  • the information processing device 400 includes a communication section 410, a processing section 420, a cooking recipe storage section 430, a cooking process storage section 440, and a cooking utensil storage section 450.
  • the processing section 420 includes a recipe acquisition section 460, an operation block processing section 462, an appliance/material acquisition section 464, a cooking block selection processing section 466, a situation acquisition section 468, a cooking program creation processing section 470, and an output section 472.
  • the cooking recipe storage unit 430, the cooking process storage unit 440, and the cooking utensil storage unit 450 are HDDs (Hard Disk Drives) or SSDs (Solid State Drives), and are capable of storing electronic information.
  • Communication unit 410 performs communication with terminal 100 via network 300.
  • the recipe acquisition unit 460 acquires information on ingredients that the user can use for cooking (hereinafter referred to as “ingredient information”) via the communication unit 410 and the network 300.
  • ingredient information information on ingredients that the user can use for cooking
  • an internal camera of a refrigerator installed in a user's residence captures an image of the inside of the refrigerator, and the refrigerator transmits the image to the information processing device 400 via the network 300.
  • an in-home camera installed in the user's residence may capture an image inside the residence, and the in-home camera may transmit the image to the information processing device 400 via the network 300.
  • the recipe acquisition unit 460 acquires food ingredient information by performing image recognition processing on the image received by the communication unit 410.
  • an in-house camera or an in-house camera is called a sensor, the image is called sensor information.
  • the terminal 100 may acquire food information from the user through manual input or voice input, and the terminal 100 may transmit the food information to the information processing device 400 via the network 300.
  • the recipe acquisition unit 460 may acquire food information from both
  • the cooking recipe storage unit 430 stores the correspondence between each of a plurality of cooking recipes and ingredients.
  • FIG. 7 shows the data structure of the database stored in the cooking recipe storage unit 430.
  • names of dishes such as curry and meat and potatoes are listed, and in the column of ingredients names, names of ingredients used in each cooking recipe are indicated.
  • the cooking recipe may be stored in advance in the cooking recipe storage unit 430, or may be added as appropriate by the user.
  • the recipe acquisition unit 460 extracts a food name from the acquired food information and refers to the database stored in the cooking recipe storage unit 430 to obtain a cooking recipe that includes the extracted food name as a cooking recipe candidate. This corresponds to acquiring a cooking recipe using the ingredients in the acquired ingredients information. For example, if the ingredient in the ingredients information is "potato", cooking recipe candidates include curry, meat and potatoes, stew, etc.
  • the recipe acquisition unit 460 transmits cooking recipe candidates to the terminal 100 via the communication unit 410 and the network 300.
  • the terminal 100 Upon receiving the cooking recipe candidates from the information processing device 400, the terminal 100 displays the cooking recipe candidates on the display unit.
  • FIG. 8 shows a screen displayed on the terminal 100. For example, curry, meat and potatoes, and stew are displayed as cooking recipe candidates. While looking at the cooking recipe candidates displayed on the screen, the user uses the operation unit to select a cooking recipe to be cooked.
  • Terminal 100 transmits information regarding the selected cooking recipe to information processing device 400.
  • the recipe acquisition unit 460 of the information processing device 400 acquires information regarding cooking recipes from the terminal 100 via the network 300 and the communication unit 410.
  • the information regarding a cooking recipe may be information regarding one cooking recipe, or may be information regarding a plurality of cooking recipes.
  • Recipe acquisition section 460 outputs information regarding cooking recipes to operation block processing section 462.
  • the operation block processing unit 462 receives information regarding cooking recipes from the recipe acquisition unit 460.
  • information about cooking recipes shows curry.
  • FIGS. 9(a) and 9(b) show an overview of processing by the motion block processing unit 462.
  • FIG. 9A shows a curry cooking recipe 500 received by the action block processing unit 462.
  • the first cooking process 510a to the tenth cooking process 510h are arranged in order.
  • the first cooking process 510a to the tenth cooking process 510h are collectively referred to as a cooking process 510.
  • Cooking step 510 represents an operation at one stage in a multi-stage cooking process. For example, the first cooking step 510a is indicated as "cutting onions into wedges.”
  • the operation block processing unit 462 interprets the contents of each cooking step 510 of the cooking recipe 500.
  • the action block processing unit 462 performs morphological analysis as an example of content interpretation.
  • the action block processing unit 462 extracts cooking-related action information from each of the plurality of cooking steps 510.
  • the subject of the "cooking-related action” may be a user (human) or an automatic cooker (cooking utensil) such as an autocooker.
  • verbs such as "cut (of food),” "boil,” “bake,” “boil,” and “chill” are understood.
  • the recipe acquisition unit 460 converts the extracted action information into a block (hereinafter referred to as an "action block") indicating an action related to cooking.
  • FIG. 9B shows the first action block 520a to the eighth action block 520h converted by the recipe acquisition unit 460.
  • the first action block 520a is a block that shows the action of "cutting ingredients”
  • the second action block 520b is a block that shows the action of "frying”.
  • the first cooking process 510a to the third cooking process 510c are converted into a first action block 520a
  • the fourth cooking process 510d is converted into a second action block 520b.
  • the cooking process storage unit 440 stores the correspondence between each of the plurality of action blocks 520 and one or more blocks (hereinafter referred to as "cooking blocks").
  • the cooking block is a block that indicates the contents of cooking to realize the action block 520.
  • the cooking block may be the functional block 1110 described above.
  • FIG. 10 shows the data structure of the database stored in the cooking process storage unit 440.
  • the ninth action block 520i to the thirteenth action block 520m included in the database are also collectively referred to as action blocks 520.
  • the database also includes first cooking blocks 530a to 14th cooking blocks 530n, which are collectively referred to as cooking blocks 530.
  • the database may include operation blocks 520 and cooking blocks 530 other than those shown in FIG.
  • one or more cooking blocks 530 associated with each action block 520 are shown.
  • the first cooking block 530a to the third cooking block 530c are linked to the first action block 520a. This indicates that the first operation block 520a is executed by executing one of the first cooking block 530a to the third cooking block 530c. The same applies to other operation blocks 520.
  • this database is common to all cooking recipes 500 and all users.
  • Each cooking block 530 includes the following information.
  • the first information is information about the equipment or materials that should be used to execute cooking block 530.
  • Ingredients indicate special ingredients such as cut vegetables. This corresponds to, for example, "chopping board & knife” in the first cooking block 530a, "food processor” in the second cooking block 530b, and "cut vegetables” in the third cooking block 530c.
  • the second information is information indicating whether or not it takes time to execute the cooking block 530.
  • the term ⁇ taken a lot of effort'' means that the user cannot leave the scene, such as checking to see if it burns.
  • first information indicating the degree of user involvement in cooking corresponding to cooking block 530.
  • no effort required means that the user can simply put the ingredients into the cooking utensil and leave it alone to leave the cooking to the cooking utensil or the like.
  • second information indicating that the degree of user involvement required for cooking corresponding to cooking block 530 is smaller than the degree of involvement in the first information.
  • Cooking blocks 530 shown in dots, such as the first cooking block 530a include first information
  • cooking blocks 530 shown in white, such as the second cooking block 530b include second information.
  • the third information is information on the cooking time corresponding to the cooking block 530.
  • the cooking time may be expressed as a specific numerical value in a format such as X minutes, or may be expressed as information obtained by scoring the amount of time it takes. For example, the cooking time is indicated as "5 min” in the first cooking block 530a, "3 min” in the second cooking block 530b, and "0 min” in the third cooking block 530c. Return to FIG. 6.
  • the action block processing unit 462 acquires one or more cooking blocks 530 corresponding to each of the plurality of action blocks 520 included in the cooking recipe 500 from the database stored in the cooking process storage unit 440.
  • FIG. 11 shows an overview of another process by the motion block processing unit 462.
  • the first action block 520a to the eighth action block 520h converted from the plurality of cooking steps 510 included in the cooking recipe 500 are arranged in order.
  • the action block processing unit 462 obtains the third cooking block 530c from the first cooking block 530a corresponding to the first action block 520a by referring to the database stored in the cooking process storage unit 440.
  • the action block processing unit 462 associates the acquired first cooking blocks 530a to third cooking blocks 530c with the first action block 520a.
  • the operation block processing unit 462 executes similar processing for each of the second operation block 520b to the eighth cooking block 530h. That is, the action block processing unit 462 associates each of the plurality of action blocks 520 with one or more cooking blocks 530.
  • one or more cooking blocks 530 associated with each of the plurality of action blocks 520 may be referred to as "candidate data" as shown in FIG. 11. Return to FIG. 6.
  • the cooking utensil storage unit 450 stores information about cooking utensils owned at the user's residence.
  • FIG. 12 shows the data structure of the database stored in the cooking utensil storage section 450.
  • the database shows cooking utensils such as "cutting boards & knives.” Further, the database may include information regarding ingredients such as "cut vegetables”.
  • Information regarding cooking utensils and materials included in the database is acquired by sensor information or input, similar to the recipe acquisition unit 460. Moreover, such databases differ from residence to residence.
  • the utensil/material acquisition unit 464 acquires information included in the database stored in the cooking utensil storage unit 450, that is, information regarding the utensils or materials that can be used by the user.
  • the cooking block selection processing unit 466 also receives information regarding the equipment or materials that can be used by the user and information about the equipment or materials that should be used to execute each cooking block 530, which was acquired by the equipment/material acquisition unit 464. Then, from the candidate data, a cooking block 530 that uses the utensils or materials available to the user is selected.
  • candidate data in which a user selects a cooking block 530 that uses available equipment or materials will also be referred to as "candidate data.”
  • FIG. 13 shows an overview of the processing by the cooking block selection processing section 466.
  • the first operation block 520a is associated with the first cooking block 530a to the third cooking block 530c.
  • the first cooking block 530a uses a “chopping board and knife”
  • the second cooking block 530b uses a “food processor”
  • the third cooking block 530c uses "cut vegetables”.
  • the information acquired by the equipment/material acquisition unit 464 includes “chopping board & knife” but does not include “food processor” and "cut vegetables”.
  • the cooking block selection processing unit 466 selects a first cooking block 530a that uses "chopping board & knife” that can be used by the user, from among the first cooking blocks 530a to 330c associated with the first action block 520a. Select. In other words, the second cooking block 530b and the third cooking block 530c that use "food processor” and "cut vegetables” which are not usable by the user are excluded. In FIG. 13, the excluded second cooking block 530b and third cooking block 530c are shown in gray.
  • the cooking block selection processing unit 466 performs similar processing on other operation blocks 520 as well. For example, in the second operation block 520b, the fourth cooking block 530d, the fifth cooking block 530e, and the eighth cooking block 530h are selected. Return to FIG. 6.
  • the status acquisition unit 468 acquires status information from the terminal 100 via the communication unit 410 and the network 300.
  • FIGS. 14(a) and 14(b) show schedules indicated in the status information acquired by the status acquisition unit 468.
  • FIG. 14(a) shows an example of the user's (mother) weekday schedule
  • FIG. 14(b) shows an example of the user's (father) weekday schedule.
  • the cooking ready flag is set for a time when the user's hands are completely free and when a time-consuming cooking process can be performed. This is a flag indicating that the user can execute the cooking block 530 of the first information and the second information.
  • the light cooking flag is set for a time when it is not possible to be in the kitchen all the time, but when light cooking can be done, such as turning off the heat or moving food from a frying pan to a pot.
  • the schedule includes information regarding the times when the user is available for cooking.
  • the schedule shown in FIG. 14A includes “free time” from 17:30 to 18:30 as information regarding the time when the user (mother) can cook.
  • the schedule shown in FIG. 14(b) includes “free time” from 18:20 to 19:30 and “free time” from 19:30 to 20:00 as information regarding the time when the user (father) can cook. Includes ⁇ work from home.'' Return to FIG. 6. Below, cases will be described in the following order: (1) when the schedule indicates the cooking possible flag, (2) when the schedule indicates the light cooking possible flag, and (3) when the schedule indicates the cooking possible flag and the light cooking possible flag.
  • the cooking block selection processing unit 466 compares the candidate data with the situation information acquired by the situation acquisition unit 468, and excludes cooking blocks 530 that do not match the user's situation from the candidate data. Specifically, when the status information includes only the cooking flag, the cooking block selection processing unit 466 selects the cooking block 530 that includes the first information and excludes the cooking block 530 that includes the second information. This is because it is possible to spend time and effort on cooking during the time period indicated by the cooking ready flag.
  • candidate data excluding cooking blocks 530 that do not match the user's situation will also be referred to as "candidate data.”
  • FIG. 15 shows another outline of the processing by the cooking block selection processing section 466.
  • the cooking block 530 that includes the second information, that is, the hassle-free cooking block 530 is the eighth cooking block 530h. Therefore, the cooking block selection processing unit 466 excludes the eighth cooking block 530h from the candidate data.
  • the excluded eighth cooking block 530h is shown in gray.
  • the cooking block selection processing unit 466 does not exclude the one cooking block 530. This also applies to the subsequent processing. Return to FIG. 6.
  • the cooking block selection processing unit 466 counts the number of types including the appliances and materials to be used, based on the information on the appliances or materials to be used to execute the cooking block 530. Moreover, the cooking block selection processing unit 466 selects the cooking block 530 with the smallest total number of types. This can be said to calculate the total value of the number of types of appliances and the number of types of materials (hereinafter referred to as "number of types") used in each cooking block 530, and select the one with the smallest number of types. In the following, candidate data obtained by selecting cooking blocks 530 such that the number of types is reduced may also be referred to as "candidate data.”
  • FIG. 16 shows still another outline of the processing by the cooking block selection processing section 466.
  • the fourth cooking block 530d can be used in the second action block 520b (stir fry), the third action block 520c (simmer), the fifth action block 520e (simmer), and the eighth action block 520h (simmer).
  • the fifth cooking block 530e (frying pan) can be used in the second action block 520b (fry), the third action block 520c (simmer), the fifth action block 520e (simmer), and the eighth action block 520h (simmer). .
  • the seventh cooking block 530g (pressure cooker) can be used in the third action block 520c (simmer), the fifth action block 520e (simmer), and the eighth action block 520h (simmer), but the second action block 520b ( It cannot be used for frying.
  • the fourth cooking block 530d (pot) and the fifth cooking block 530e (frying pan) can be used in four operation blocks 520, but the seventh cooking block 530g (pressure cooker) can be used in three operation blocks 520. Available for use. Therefore, the number of types used is smaller when the fourth cooking block 530d (pot) and fifth cooking block 530e (frying pan) are used than when the seventh cooking block 530g (pressure cooker) is used.
  • the cooking block selection processing unit 466 calculates the number of action blocks 520 in which each cooking block 530 is used, and decides to exclude cooking blocks 530 with a relatively small number of action blocks 520.
  • the cooking block selection processing unit 466 excludes the seventh cooking block 530g (pressure cooker) from the candidate data.
  • the excluded seventh cooking block 530g (pressure cooker) is shown in gray.
  • the order of the utensils used in each action block 520 is "knife -> pot -> frying pan -> pot"
  • the total number of types is "3".
  • the cooking block selection processing unit 466 selects one cooking block 530 for each of the plurality of action blocks 520 arranged in the candidate data, and generates one sequence by combining the selected cooking blocks 530. Furthermore, by changing the selection of the cooking blocks 530, the cooking block selection processing unit 466 generates another sequence with a different combination pattern of the cooking blocks 530. The cooking block selection processing unit 466 generates a plurality of sequences from the cooking blocks 530 remaining in the candidate data by repeatedly performing such processing. The sequence may be the functional block sequence 1120 described above.
  • the cooking block selection processing unit 466 calculates the cooking time of each sequence by integrating the cooking time of the cooking blocks 530 in each sequence. Further, the cooking block selection processing unit 466 calculates the difference between the calculated cooking time and the time during which the user can cook. The cooking block selection processing unit 466 selects a sequence with a small calculated difference. As a result, one cooking block 530 is selected for one operation block 520.
  • FIG. 17 shows still another outline of the processing by the cooking block selection processing section 466. Due to the previous selections in the cooking block selection processing unit 466, the first cooking block 530a, the two fourth cooking blocks 530d, the fifteenth cooking block 530o, the fourth cooking block 530d, the sixteenth cooking block 530p, and the seventeenth cooking block 530q. , the fourth cooking block 530d (hereinafter referred to as a "first sequence") is formed. Further, the first cooking block 530a, two fifth cooking blocks 530e, the fifteenth cooking block 530o, the fifth cooking block 530e, the sixteenth cooking block 530p, the seventeenth cooking block 530q, and the fifth cooking block 530e are arranged in this order. A sequence (hereinafter referred to as "second sequence”) is also formed.
  • the cooking time for the first sequence is 1 hour and 25 minutes, and the cooking time for the second sequence is 1 hour and 5 minutes. Further, the time during which the user (mother) can cook is one hour. Since the cooking time of the second sequence is closer to the time during which the user (mother) can cook than the cooking time of the first sequence, the cooking block selection processing unit 466 selects the second sequence. That is, the cooking block selection processing unit 466 selects the first cooking block 530a for the first action block 520a, the second action block 520b, the third action block 520c, the fifth action block 520e, and the eighth action block 520h. The fifth cooking block 530e is selected for each of the following.
  • the cooking block selection processing unit 466 selects the 15th cooking block 530o for the 4th operation block 520d, selects the 16th cooking block 530p for the 6th operation block 520f, and selects the 16th cooking block 530p for the 7th operation block 520g. In contrast, the 17th cooking block 530q is selected. In this way, the cooking block selection processing unit 466 selects a cooking block 530 according to the user's situation from one or more cooking blocks 530 in each of the plurality of operation blocks 520. Return to FIG. 6.
  • the cooking program creation processing section 470 creates a cooking program by combining the cooking blocks 530 selected from each of the plurality of operation blocks 520. This corresponds to combining the cooking block 530 selected by the cooking block selection processing section 466 with each operation block 520.
  • the cooking program is a new cooking recipe in which the cooking blocks 530 are adjusted according to the user's situation.
  • the output unit 472 outputs the cooking program created by the cooking program creation processing unit 470 to the terminal 100 via the communication unit 410 and the network 300.
  • Terminal 100 receives the cooking program.
  • the terminal 100 is a device that can display a created cooking program, and displays the cooking program on a display section.
  • FIG. 18 shows a screen displayed on the terminal 100.
  • a plurality of operation blocks 520 included in the cooking program are shown similarly to a plurality of cooking steps 510 included in the cooking recipe 500 shown in FIG. 9(a).
  • the contents of the corresponding cooking block 530 are added to each action block 520.
  • the information “fry beef, onions, potatoes, and carrots” is added to "fry beef, onions, potatoes, and carrots" for about 15 minutes in the fifth cooking block 530e.
  • the third action block 520c the information of "Use a frying pan for about 15 minutes" in the fifth cooking block 530e is added to "Add water and boil".
  • FIG. 19 shows another screen displayed on the terminal 100. Similar to FIG. 18, the plurality of operation blocks 520 included in the cooking program are shown similarly to the plurality of cooking steps 510 included in the cooking recipe 500 shown in FIG. 9(a). Each action block 520 is attached with the utensils handled in the corresponding cooking block 530. For example, in the second action block 520b, the information "in a frying pan” in the fifth cooking block 530e is added to "fry beef, onions, potatoes, and carrots.” Further, in the third operation block 520c, the information of "in a frying pan" of the fifth cooking block 530e is added to "add water and boil". Furthermore, along with the display of the cooking program, the cooking time calculated by the cooking block selection processing unit 466, that is, the estimated time required for the entire cooking process, is displayed, such as "It will take 65 minutes to make curry using this cooking process.” may be displayed.
  • the cooking time calculated by the cooking block selection processing unit 466 that is, the estimated time required for the entire cooking process
  • a button labeled "View other cooking steps” may be displayed on such a screen.
  • the terminal 100 requests the information processing device 400 to provide another cooking program in which the cooking block 530 is changed.
  • a signal (hereinafter referred to as a "request signal") is transmitted.
  • the cooking block selection processing unit 466 newly selects the first sequence that was excluded when selecting the second sequence.
  • the cooking program creation processing unit 470 creates a new cooking program that reflects the plurality of cooking blocks 530 included in the first sequence.
  • the output unit 472 outputs the new cooking program created by the cooking program creation processing unit 470 to the terminal 100, which is an example of an external device, via the communication unit 410 and the network 300.
  • the terminal 100 Upon receiving the new cooking program, the terminal 100 displays a screen of the new cooking program on the display unit.
  • "frying pan” in FIGS. 18 and 19 is replaced with “pot”. Further, “15 minutes” in FIG. 18 is replaced with “20 minutes”. In that case, a message such as "Cooking in a pot increases cooking time by X minutes” may be displayed.
  • cooking block 530 includes cooking time.
  • the fifth cooking block 530e includes "15 min” which is the cooking time in a frying pan.
  • the processing unit 420 of the information processing device 400 may perform the following process.
  • the cooking step 510 in the original cooking recipe 500 includes equipment and time such as "boil in a pot for 30 minutes” and if this is changed to the fifth cooking block 530e that uses a frying pan, the processing unit Step 420 calculates the value X of the amount of heat J required for boiling in a pot for 30 minutes and the number of minutes required to reach value X in a frying pan.
  • the cooking process storage unit 440 creates a cooking program by replacing equipment and time.
  • the cooking block selection processing unit 466 compares the candidate data with the situation information acquired by the situation acquisition unit 468, and excludes cooking blocks 530 that do not match the user's situation from the candidate data. In order to specifically explain this process, FIGS. 20 to 22 will be used here.
  • FIG. 20 shows still another outline of the processing by the cooking block selection processing section 466.
  • the cooking block selection processing unit 466 connects all the cooking blocks 530 that use utensils or materials that can be used by the user from among the candidate data.
  • the first cooking block 530a, the two fourth cooking blocks 530d, the fifteenth cooking block 530o, the fourth cooking block 530d, the sixteenth cooking block 530p, the seventeenth cooking block 530q, and the fourth cooking block 530d are arranged in this order.
  • a sequence is formed.
  • the first cooking block 530a, the two fifth cooking blocks 530e, the fifteenth cooking block 530o, the fifth cooking block 530e, the sixteenth cooking block 530p, the seventeenth cooking block 530q, and the fifth cooking block 530e may be arranged in this order.
  • a sequence is also formed.
  • the first cooking block 530a, the two eighth cooking blocks 530h, the fifteenth cooking block 530o, the eighth cooking block 530h, the sixteenth cooking block 530p, the seventeenth cooking block 530q, and the eighth cooking block 530h are arranged in this order. It is formed.
  • a sequence in which the fourth cooking block 530d, the fifth cooking block 530e, and the eighth cooking block 530h are mixed is also formed. In this way, multiple types of sequences are formed.
  • FIG. 21 shows yet another outline of the processing by the cooking block selection processing section 466. This shows some sequences among the plurality of types of sequences formed in FIG. Here, four types of sequences are shown. These are common to the first cooking block 530a, the two fourth cooking blocks 530d, the fifteenth cooking block 530o, the fourth cooking block 530d, the sixteenth cooking block 530p, and the seventeenth cooking block 530q. Sequence from the 17th cooking block 530q to the 4th cooking block 530d, sequence from the 17th cooking block 530q to the 5th cooking block 530e, sequence from the 17th cooking block 530q to the 7th cooking block 530g, 17th cooking block 530q A sequence from to the eighth cooking block 530h is formed.
  • the cooking block selection processing unit 466 sequentially adds the cooking time of the cooking block 530 from the sequence starting point "18:20" to determine the timing at which the cooking possible flag and the light cooking possible flag switch (hereinafter referred to as "switching"). (referred to as “timing") "19:30" is detected.
  • the timing of the sixth operation block 520f that is, the sixteenth cooking block 530p, is detected as the switching timing.
  • the cooking block selection processing unit 466 identifies the period of the light dish possible flag based on the switching timing.
  • the period after the switching timing is specified as the period of the light meal possible flag.
  • FIG. 22 shows still another outline of the processing by the cooking block selection processing section 466. This shows the process following FIG. 21.
  • the cooking block selection processing unit 466 selects the cooking block 530 that includes the second information, that is, the cooking block 530 that does not require much effort, during the period of the light meal possible flag.
  • the eighth cooking block 530h is selected.
  • the subsequent processing is the same as before, so the explanation will be omitted here.
  • this configuration can be realized by the CPU (Central Processing Unit), memory, and other LSI (Large Scale Integration) of any computer, and in terms of software, it can be realized by programs loaded into memory.
  • CPU Central Processing Unit
  • LSI Large Scale Integration
  • FIG. 23 is a flowchart showing a procedure for outputting a cooking program by the information processing device 400.
  • the recipe acquisition unit 460 acquires the ingredients information (S1), it refers to the cooking recipe storage unit 430 to acquire cooking recipe candidates (S2).
  • the recipe acquisition unit 460 outputs the cooking recipe candidates to the terminal 100 (S3), and acquires the selected cooking recipe 500 from the terminal 100 (S4).
  • the cooking program creation processing section 470 from the operation block processing section 462 executes a cooking process creation process (S5).
  • the output unit 472 outputs the cooking program to the terminal 100 (S6).
  • FIG. 24 is a flowchart showing the procedure of cooking process creation processing by the information processing device 400. This corresponds to step S5 in FIG.
  • the action block processing unit 462 interprets the contents of the cooking step 510 of the cooking recipe 500 (S501), and replaces the cooking step 510 with the action block 520.
  • the action block processing unit 462 obtains a cooking block 530 for executing each action block 520 (S502).
  • the appliance/material acquisition unit 464 acquires appliances/materials that can be used in the user's home (S503).
  • the status acquisition unit 468 acquires the user's status (S504).
  • the cooking block selection processing unit 466 executes the selection process of the cooking block 530 (S505).
  • the cooking program creation processing unit 470 creates a cooking program based on the selected cooking block 530 (S506).
  • FIG. 25 is a flowchart showing the procedure of cooking block selection processing by the information processing device 400. This corresponds to step S505 in FIG. 24.
  • the cooking block selection processing unit 466 selects a cooking block 530 that is executable by the user based on S502 and S503 (S551).
  • the cooking block selection processing unit 466 selects a cooking block 530 suitable for the user's situation based on S551 and S504 (S552).
  • S552 the cooking block selection processing unit 466 selects a cooking block 530 that uses fewer types (S553).
  • S553 the cooking block selection processing unit 466 selects a cooking block 530 suitable for the user's available cooking time (S554).
  • one or more cooking blocks 530 are associated with each of the plurality of operation blocks 520 included in the cooking recipe 500, and then the cooking program is executed by selecting the cooking block 530 according to the user's situation. , it is possible to provide cooking recipes according to the user's situation. Furthermore, information on cooking-related actions is extracted from each of the plurality of cooking steps 510 included in the cooking recipe 500, and the extracted action information is converted into the action block 520, so the action block 520 corresponding to the cooking recipe 500 is can be obtained. Furthermore, for each action block 520, a correspondence relationship between the action block 520 and one or more cooking blocks 530 is stored, and one or more cooking blocks 530 corresponding to the action block 520 are acquired based on the correspondence relationship.
  • the cooking block 530 can be easily obtained.
  • the cooking block 530 is selected based on the information about the utensils or materials that can be used by the user and the information about the utensils or materials that should be used to execute the cooking block 530, the utensils that can be used by the user are Alternatively, a cooking block 530 that uses the material can be selected.
  • Each cooking block 530 also includes first information indicating the degree of user involvement in cooking corresponding to the cooking block 530, and information indicating the user's involvement required for cooking corresponding to the cooking block 530 in the first information. Since any one of the second information indicating that the degree of involvement is smaller than the degree of involvement is included, the degree of effort involved in cooking for the cooking block 530 can be defined.
  • the status information also includes a cooking flag indicating that the user can execute the cooking block 530 of the first information and the second information, and a cooking flag indicating that the user can execute the cooking block 530 of the second information, but the cooking block 530 of the second information is Since at least one of the light cooking possible flag indicating that the cooking block 530 of 1 information cannot be executed is included, the user can be informed of the amount of effort required for cooking.
  • the cooking block 530 is selected based on the amount of effort defined in the cooking block 530 and the amount of effort the user puts into cooking, the cooking block 530 is selected based on the amount of effort the user puts into cooking. can be selected. Furthermore, based on the information regarding the utensils or materials that can be used by the user and the information on the utensils or materials that should be used to execute the cooking block 530, the cooking block 530 is configured so that the number of types used is reduced. User convenience can be improved by selecting the option. Moreover, since the cooking blocks 530 are selected so that the cooking time when a plurality of cooking blocks 530 are combined is close to the time that the user can cook, the cooking time can be made close to the user's situation. Furthermore, since the created cooking program is output to the terminal 100, the user can confirm the cooking program.
  • FIGS. 26(a) and 26(b) show an overview of processing according to modification 1.
  • FIG. 26(a) shows an example of a user's schedule on a day when there is a special event, such as a party.
  • a special event such as a party.
  • the cooking block selection processing unit 466 selects the cooking block 530 as a cooking block 530 suitable for the user's situation.
  • a cooking block 530 that takes time and effort to cook is selected based on the "important flag”.
  • a cooking program based on the special curry cooking recipe 502 as shown in FIG. 26(b) is created.
  • FIGS. 27(a) and 27(b) show another outline of the processing according to modification 1.
  • FIG. 27(a) shows a cooking program created without changing the curry cooking recipe 500
  • FIG. 27(b) shows a cooking program based on the special curry cooking recipe 502. Comparing these, it can be seen that "Add roux" in the seventh action block 520g and 17th cooking block 530q in the cooking recipe 500 and "Add spices” in the ninth action block 520i and the 18th cooking block 530r in the cooking recipe 502. different.
  • the user can control the seventh operation block 520g and the seventeenth cooking block 530q by operating the operation section of the terminal 100.
  • a message such as "You can make a more authentic curry by replacing the roux with spices” may be displayed on the terminal 100.
  • the cooking block selection processing unit 466 of the information processing device 400 that has received the instruction changes "Add roux" from the seventh action block 520g and the seventeenth cooking block 530q to "add roux" from the ninth action block 520i and the eighteenth cooking block 530r. Change to ⁇ Add spices''.
  • the ninth action block 520i "Add spices” and the eighteenth cooking block 530r are stored in the cooking process storage unit 440 as "option blocks” for the seventh action block 520g "Add roux” and the seventeenth cooking block 530q. is stored in advance.
  • a cooking program for elaborate dishes is created by adding an important flag to the schedule, so it is possible to provide a cooking program suitable for the user. Furthermore, by changing some of the operation blocks 520 (cooking blocks 530) in the cooking program for normal cooking, a cooking program for elaborate cooking is created, making it easy to change the cooking program. .
  • the conventional cooking block selection processing unit 466 executes the selection process of the cooking blocks 530 according to the number of types, and then executes the selection process of the cooking blocks 530 according to the cooking time. However, even if the cooking block selection processing unit 466 switches these orders and executes the process of selecting the cooking blocks 530 according to the cooking time, the process of selecting the cooking blocks 530 according to the number of types is performed. good.
  • FIG. 28 shows an overview of the processing by the cooking block selection processing section 466. This shows candidate data excluding cooking blocks 530 that do not match the user's situation.
  • the cooking block selection processing unit 466 generates a plurality of sequences from the cooking blocks 530 remaining in the candidate data.
  • the cooking block selection processing unit 466 also calculates the cooking time of each sequence. Further, the cooking block selection processing unit 466 selects a sequence so that the cooking time of the sequence is close to the time that the user can cook.
  • a first cooking block 530a, two fifth cooking blocks 530e, a fifteenth cooking block 530o, a fifth cooking block 530e, a sixteenth cooking block 530p, a seventeenth cooking block 530q, and a fifth cooking block 530e are arranged in this order.
  • the sequence (hereinafter referred to as the "third sequence") is selected.
  • a sequentially arranged sequence (hereinafter referred to as a "fourth sequence”) is also formed.
  • FIG. 29 shows another outline of the processing by the cooking block selection processing section 466. This shows the process following FIG. 28.
  • the cooking block selection processing unit 466 selects the cooking block 530 from the candidate data based on the information on the equipment or materials to be used to execute the cooking block 530 so that the number of types used in the candidate data is reduced. select.
  • the third sequence is selected by the same process as before.
  • FIG. 30 is a flowchart showing the procedure of cooking block selection processing by the information processing device 400. This corresponds to step S505 in FIG. 24.
  • the cooking block selection processing unit 466 selects a cooking block 530 that is executable by the user based on S502 and S503 (S551).
  • the cooking block selection processing unit 466 selects a cooking block 530 suitable for the user's situation based on S551 and S504 (S552).
  • S552 the cooking block selection processing unit 466 selects a cooking block 530 suitable for the user's available cooking time (S561).
  • S561 the cooking block selection processing unit 466 selects a cooking block 530 that uses fewer types (S562).
  • the order of selection of the cooking blocks 530 is changed, so the degree of freedom in configuration can be improved.
  • FIG. 31 shows the configuration of the information processing system 1000.
  • Information processing system 1000 further includes cooking appliance 200 compared to FIG. 5 .
  • the cooking device 200 is, for example, a rice cooker, a microwave oven, or an automatic cooking device.
  • the cooking appliance 200 may be the appliance 1100 described above.
  • Cooking appliance 200 has a communication function and is connected to information processing device 400 via network 300 .
  • the output unit 472 of the information processing device 400 transmits the cooking program to the cooking appliance 200 via the communication unit 410 and the network 300. At that time, the cooking program may be converted into a format that can be processed by cooking appliance 200.
  • cooking appliance 200 executes the cooking program.
  • the cooking program is output to the cooking appliance 200 and the cooking appliance 200 is caused to execute the cooking program, so that user convenience can be improved.
  • the situation acquisition unit 468 has acquired situation information including the schedule of the user (mother) shown in FIG. 14(a), and situation information including the schedule of the user (father) shown in FIG. 14(b). I'm getting it.
  • the status acquisition unit 468 may acquire both schedules.
  • FIGS. 32(a) and 32(b) show schedules indicated in the status information acquired by the status acquisition unit 468.
  • FIG. 32A shows the schedule of the user (mother), in which a cooking flag is assigned to the period from 17:30 to 18:30.
  • Figure 32(b) shows the schedule of the user (father), in which a cooking flag is given for the period from 18:00 to 19:30, and light cooking is possible for the period from 19:30 to 20:00. A flag is given.
  • the cooking block selection processing unit 466 of the information processing device 400 determines the period of the cooking possible flag in the user's (mother) schedule and the cooking possible flag in the user's (father) schedule. period and the period of the light meal possible flag. As a result, a cooking possible flag period from 17:30 to 19:30 and a light cooking possible flag period from 19:30 to 20:00 are formed. When the cooking possible flag period and the light cooking possible flag period overlap between the user's (mother's) schedule and the user's (father's) schedule, the period of the cooking possible flag may be given priority.
  • the subsequent processing is the same as the processing in the case where the schedule (3) includes the cooking possible flag and the light cooking possible flag, so the description thereof will be omitted here.
  • the information processing device 400 in the first embodiment creates a cooking program for one cooking recipe 500 selected from the cooking recipe candidates.
  • the information processing device 400 in the second embodiment creates a cooking program for each of the plurality of cooking recipes 500 included in the cooking recipe candidates. As a result, one cooking program is selected from among the plurality of cooking programs.
  • the recipe acquisition unit 460 of the information processing device 400 acquires the same cooking recipe candidates as before.
  • the cooking recipe candidates include "meat and potatoes, curry, and anhydrous curry.”
  • the cooking program creation processing unit 470 from the operation block processing unit 462 creates a cooking program for each of the meat and potatoes cooking recipe 500, the curry cooking recipe 500, and the anhydrous curry cooking recipe 500.
  • the output unit 472 transmits the meat and potatoes cooking program, the curry cooking program, and the anhydrous curry cooking program to the terminal 100 via the communication unit 410 and the network 300.
  • the terminal 100 receives the meat and potatoes cooking program, the curry cooking program, and the anhydrous curry cooking program
  • the terminal 100 displays the meat and potatoes cooking program, the curry cooking program, and the anhydrous curry cooking program on the display section.
  • the user checks the displayed meat and potatoes cooking program, curry cooking program, and anhydrous curry cooking program, and selects one cooking program.
  • FIG. 33 is a flowchart showing a procedure for outputting a cooking program by the information processing device 400.
  • the recipe acquisition unit 460 acquires the ingredients information (S1), it refers to the cooking recipe storage unit 430 to acquire cooking recipe candidates (S2).
  • the cooking program creation processing section 470 from the operation block processing section 462 executes a cooking process creation process (S5).
  • the output unit 472 outputs the cooking program to the terminal 100 (S6).
  • a plurality of cooking programs are created and presented to the user, making it easier for the user to select a cooking program.
  • Example 3 Up to now, assuming that one dish is to be cooked, the information processing device 400 has created a cooking program corresponding to one dish. In the third embodiment, it is assumed that a plurality of dishes are cooked at once.
  • the recipe acquisition unit 460 of the information processing device 400 has already acquired information regarding one cooking recipe 500, for example, the curry cooking recipe 500.
  • the situation acquisition unit 468 from the operation block processing unit 462 creates a curry cooking program based on the curry cooking recipe 500. In this state, if the user wants to cook another dish, for example potato salad as a side dish, the recipe acquisition unit 460 acquires information regarding another cooking recipe 500, for example potato salad cooking recipe 500, based on the user's instructions. get.
  • the situation acquisition unit 468 from the operation block processing unit 462 executes the same processing as before based on the potato salad cooking recipe 500.
  • the potato salad cooking recipe 500 includes an action block 520 for "boiling" the potatoes.
  • the eleventh action block 520k corresponding to "boiling” is associated with the fifth cooking block 530e "frying pan”.
  • the cooking block selection processing unit 466 selects the fifth cooking block 530e of "frying pan” when selecting the cooking block 530 for potato salad.
  • the fifth cooking block 530e of "frying pan” is removed from the selection so that the fifth cooking block 530e is not used.
  • the cooking blocks 530 are not duplicated, so it is possible to avoid clashing of appliances between the plurality of cooking programs.
  • Each cooking block 530 so far includes three types of information: information on the equipment or materials that should be used to execute the cooking block 530, information indicating whether or not execution of the cooking block 530 is time-consuming, and information on the cooking block 530. Information about the cooking time corresponding to block 530 is included.
  • Each cooking block 530 according to the fourth embodiment includes other information in addition to the three types of information described above.
  • the information processing system 1000 and information processing device 400 according to the fourth embodiment are of the same type as those shown in FIGS. 5 and 6. Here, we will mainly explain the differences from the previous version.
  • the operation unit in the terminal 100 in FIG. 5 receives information indicating a request for cooking (hereinafter referred to as "request information") from the user.
  • the request information includes information on whether to give priority to the taste of the dish and information on whether to give priority to the appearance of the dish.
  • the information included in the request information is not limited to these.
  • the terminal 100 transmits request information to the information processing device 400 via the network 300.
  • the request information may be sent together with the situation information, or may be sent separately from the situation information.
  • Information processing device 400 receives status information and request information from terminal 100 via network 300.
  • the database stored in the cooking process storage unit 440 of the information processing device 400 in FIG. 6 includes multiple types of cooking blocks 530 as before.
  • each cooking block 530 includes information on the equipment or materials that should be used to execute the cooking block 530, information indicating whether or not execution of the cooking block 530 is time-consuming, and information on cooking corresponding to the cooking block 530. Contains time information.
  • Each cooking block 530 according to the present embodiment further includes information indicating whether or not the number of cooking failures by the user is small, and information indicating whether or not the appearance of the completed dish is affected.
  • Information indicating whether or not the number of cooking failures by the user is low for example, "1" indicates that the number of cooking failures is small, and "0" indicates that the number of cooking failures is not small.
  • Information indicating whether the user has few cooking failures is determined in advance, but may be updated every time the user cooks. For example, when the user inputs success or failure information into the terminal 100 after finishing cooking, the terminal 100 transmits information on the executed cooking program and success or failure information to the information processing device 400.
  • the processing unit 420 of the information processing device 400 identifies one or more cooking blocks 530 included in the received cooking program, and manages the number of successes and the number of failures for each cooking block 530.
  • the processing unit 420 calculates the number of successes/(the number of successes+the number of failures), and determines that the number of cooking failures is small if the calculation result is equal to or greater than a threshold value. Further, when the calculation result is smaller than the threshold value, the processing unit 420 determines that there are more than a few cooking failures.
  • the information indicating whether or not the number of cooking failures by the user is low may be expressed as a numerical value such as a success rate.
  • the success rate is also predetermined, but may be updated every time the user cooks. For example, when the user inputs into the terminal 100 information indicating that the time has exceeded a predetermined time period or that the food has been burnt, the terminal 100 may input information on the executed cooking program and The input information is transmitted to the information processing device 400.
  • the processing unit 420 of the information processing device 400 identifies one or more cooking blocks 530 included in the received cooking program, and determines success for each cooking block 530 if the time exceeds the general time by a predetermined time. Reduce the success rate or reduce the success rate if you burn the food.
  • the status acquisition unit 468 acquires status information from the terminal 100 via the communication unit 410 and the network 300 as before.
  • the status acquisition unit 468 also acquires request information from the terminal 100 via the communication unit 410 and the network 300.
  • the cooking block selection processing unit 466 selects a cooking block 530 according to the user's situation from one or more cooking blocks 530 in each of the plurality of operation blocks 520.
  • the cooking block selection processing unit 466 in the embodiments described above calculates the difference between the calculated cooking time and the time that the user can cook, and selects a sequence for which the calculated difference is small. As a result, one cooking block 530 is selected for one operation block 520.
  • the cooking block selection processing unit 466 in the fourth embodiment calculates the difference between the calculated cooking time and the time during which the user can cook, and selects a sequence for which the calculated difference is equal to or less than a predetermined value. Accordingly, a plurality of cooking blocks 530 may be selected for one operation block 520.
  • the cooking block selection processing unit 466 selects the cooking block 530 based on the request information acquired by the status acquisition unit 468. For example, if the request information indicates that priority should be given to the taste of the food, the cooking block selection processing unit 466 determines whether the number of cooking failures of the user in each of the plurality of cooking blocks 530 included in each sequence is small. Get information indicating. The cooking block selection processing unit 466 accumulates information indicating whether or not the number of cooking failures by the user is small for each sequence. The larger the integrated value, the fewer the user's cooking failures. Therefore, the cooking block selection processing unit 466 selects the sequence with the largest integrated value. Similar processing is performed when the information indicating whether or not the number of cooking failures by the user is small is indicated by the success rate.
  • the cooking block selection processing unit 466 influences the appearance of the completed food in each of the plurality of cooking blocks 530 included in each sequence. Obtain information indicating whether or not to do so.
  • the cooking block selection processing unit 466 accumulates information indicating whether or not the appearance of the completed dish is affected for each sequence. The larger the integrated value, the more it affects the appearance of the finished dish. Therefore, the cooking block selection processing unit 466 selects the sequence with the largest integrated value.
  • the cooking block 530 since the cooking block 530 includes information indicating whether or not the number of cooking failures by the user is low, it is possible to select a sequence for prioritizing the taste of the food. Furthermore, since the cooking block 530 includes information indicating whether or not the appearance of the completed dish is affected, a sequence for giving priority to the appearance of the dish can be selected. Furthermore, since the sequence is selected by reflecting the request information, it is possible to create a cooking process that also takes into account the user's purpose.
  • An information processing method includes the steps of: acquiring a plurality of cooking processes; associating one or more blocks with each of the plurality of cooking processes; acquiring information regarding a user's situation; a step of selecting a block according to the user's situation from one or more blocks in each of the cooking processes; and a step of creating a cooking program according to the user's situation by combining the blocks selected in each of the plurality of cooking processes. and a step of outputting the created cooking program.
  • the method may further include a step of extracting cooking-related operation information from each of the plurality of cooking steps.
  • a correspondence relationship between the action related to cooking and one or more blocks is stored, and the step of associating is to obtain one or more blocks corresponding to the action related to cooking based on the correspondence relationship. Good too.
  • the method may further include a step of obtaining information regarding instruments or materials that can be used by the user.
  • Each block includes information about the equipment or materials that should be used to perform the block, and the selection step includes information about the equipment or materials available to the user and the equipment or materials that should be used to perform the block. Based on the equipment or material information, the user may select a block that uses available equipment or materials.
  • Each block includes first information indicating the degree of involvement of the user in cooking corresponding to the block, and the degree of involvement of the user required for cooking corresponding to the block is smaller than the degree of involvement in the first information.
  • the information regarding the user's situation includes a first flag indicating that the user can execute the blocks of the first information and the second information; and a second flag indicating that the block of information is executable, but the block of information of the first information is not executable, and the step of selecting includes: if the information regarding the user's situation indicates the first flag; , a block containing the first information may be selected, and when the information regarding the user's situation indicates the second flag, the block containing the second information may be selected.
  • the number of types including the equipment and materials to be used is counted based on the information on the equipment or materials to be used to execute the block, and the total number of types in multiple cooking processes is small. You can also select blocks.
  • Each block includes information on the cooking time corresponding to the block, the information on the user's situation includes information on the time the user can cook, and the selection step is for each of the plurality of cooking steps.
  • the difference between the cooking time when the blocks are combined and the time that the user can cook may be calculated, and a block with a smaller calculated difference may be selected.
  • Each block includes information on the cooking time corresponding to the block, the information on the user's situation includes information on the time the user can cook, and the selection step is for each of the plurality of cooking steps.
  • the blocks may be selected so that the cooking time when the blocks are combined is close to the time that the user can cook.
  • the number of types including the equipment and materials to be used is counted based on the information on the equipment or materials to be used to execute the block, and the total number of types in multiple cooking processes is small. You can also select blocks.
  • This device includes a first acquisition unit that acquires a plurality of cooking processes, a first processing unit that associates one or more blocks with each of the plurality of cooking processes, and a second acquisition unit that acquires information regarding the user's situation. , a second processing unit that selects a block according to the user's situation from among one or more blocks in each of the plurality of cooking processes; It includes a third processing section that creates a cooking program, and an output section that outputs the created cooking program.
  • cooking recipes can be provided according to the user's situation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

レシピ取得部460は、複数の調理工程を取得する。動作ブロック処理部462は、複数の調理工程のそれぞれに1以上のブロックを対応づける。状況取得部468は、ユーザの状況に関する情報を取得する。調理ブロック選択処理部466は、複数の調理工程のそれぞれにおいて、1以上のブロックからユーザの状況に応じたブロックを選択する。調理プログラム作成処理部470は、複数の調理工程のそれぞれで選択されたブロックを組み合わせてユーザの状況に応じた調理プログラムを作成する。出力部472は、作成した調理プログラムを出力する。

Description

情報処理方法、情報処理装置、プログラム
 本開示は、情報処理技術に関し、特に複数の調理工程を組み合わせる情報処理方法、情報処理装置、プログラムに関する。
 調理支援サービスを提供するために、サーバと調理機器とがネットワークを介して接続される。サーバは、ユーザの購入履歴、ユーザの冷蔵庫に貯蔵されている食品の在庫、ユーザが保有する調理機器の種類、調理機器の種類毎の調理レシピ、ユーザに関する調理機器毎の調理履歴などのデータベースを利用して、ユーザに提案する調理レシピを決定する(例えば、特許文献1参照)。
特開2020-8989号公報
 特許文献1によれば、ユーザの家庭にて所有する調理機器で調理可能な調理レシピが提供される。しかしながら、ユーザのスケジュールの都合などの状況によってはそのような調理レシピに沿った調理をできない場合もある。そのため、ユーザの状況に適した調理レシピを提供することが望まれる。
 本開示はこうした状況に鑑みてなされたものであり、その目的は、ユーザの状況に応じた調理レシピを提供する技術を提供することにある。
 上記課題を解決するために、本開示のある態様の情報処理方法は、複数の調理工程を取得するステップと、複数の調理工程のそれぞれに1以上のブロックを対応づけるステップと、ユーザの状況に関する情報を取得するステップと、複数の調理工程のそれぞれにおいて、1以上のブロックからユーザの状況に応じたブロックを選択するステップと、複数の調理工程のそれぞれで選択されたブロックを組み合わせてユーザの状況に応じた調理プログラムを作成するステップと、作成した調理プログラムを出力するステップと、を備える。
 本開示の別の態様は、情報処理装置である。この装置は、複数の調理工程を取得する第1取得部と、複数の調理工程のそれぞれに1以上のブロックを対応づける第1処理部と、ユーザの状況に関する情報を取得する第2取得部と、複数の調理工程のそれぞれにおいて、1以上のブロックからユーザの状況に応じたブロックを選択する第2処理部と、複数の調理工程のそれぞれで選択されたブロックを組み合わせてユーザの状況に応じた調理プログラムを作成する第3処理部と、作成した調理プログラムを出力する出力部と、を備える。
 なお、以上の構成要素の任意の組合せ、本開示の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本開示の態様として有効である。
 本開示によれば、ユーザの状況に応じた調理レシピを提供できる。
実施例1に係る機器制御システムの構成を示す図である。 図2(a)-(e)は、図1の機器制御システムにおいて使用される機能ブロックの構成を示す図である。 図3(a)-(c)は、図1の機器制御システムにおいて使用される機能ブロックシーケンスの構成を示す図である。 図1の機器の動作概要を示す図である。 実施例1に係る情報処理システムの構成を示す図である。 図5の情報処理装置の構成を示す図である。 図6の調理レシピ記憶部に記憶されるデータベースのデータ構造を示す図である。 図5の端末に表示される画面を示す図である。 図9(a)-(b)は、図6の動作ブロック処理部による処理の概要を示す図である。 図6の調理工程記憶部に記憶されるデータベースのデータ構造を示す図である。 図6の動作ブロック処理部による別の処理の概要を示す図である。 図6の調理器具記憶部に記憶されるデータベースのデータ構造を示す図である。 図6の調理ブロック選択処理部による処理の概要を示す図である。 図14(a)-(b)は、図6の状況取得部において取得された状況情報において示されるスケジュールを示す図である。 図6の調理ブロック選択処理部による処理の別の概要を示す図である。 図6の調理ブロック選択処理部による処理のさらに別の概要を示す図である。 図6の調理ブロック選択処理部による処理のさらに別の概要を示す図である。 図5の端末に表示される画面を示す図である。 図5の端末図20に表示される別の画面を示す図である。 図6の調理ブロック選択処理部による処理のさらに別の概要を示す図である。 図6の調理ブロック選択処理部による処理のさらに別の概要を示す図である。 図6の調理ブロック選択処理部による処理のさらに別の概要を示す図である。 図6の情報処理装置による調理プログラムの出力手順を示すフローチャートである。 図6の情報処理装置による調理工程作成処理の手順を示すフローチャートである。 図6の情報処理装置による調理ブロック選択処理の手順を示すフローチャートである。 図26(a)-(b)は、変形例1に係る処理の概要を示す図である。 図27(a)-(b)は、変形例1に係る処理の別の概要を示す図である。 変形例2に係る調理ブロック選択処理部による処理の概要を示す図である。 変形例2に係る調理ブロック選択処理部による処理の別の概要を示す図である。 変形例2に係る情報処理装置による調理ブロック選択処理の手順を示すフローチャートである。 変形例3に係る情報処理システムの構成を示す図である。 図32(a)-(b)は、変形例4に係る状況取得部において取得された状況情報において示されるスケジュールを示す図である。 実施例2に係る情報処理装置による調理プログラムの出力手順を示すフローチャートである。
(実施例1)
 以下に説明する実施例は、いずれも本開示の好ましい一具体例を示す。よって、以下の実施例で示される、数値、形状、材料、構成要素、構成要素の配置位置および接続形態、並びに、ステップ(工程)およびステップの順序などは、一例であって本開示を限定する主旨ではない。したがって、以下の実施例における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図において、実質的に同一の構成に対しては同一の符号を付しており、重複する説明は省略又は簡略化する。以下では、実施例を、(1)機能ブロックと機能ブロックシーケンスの概要、(2)調理プログラムの出力の順に説明する。
(1)機能ブロックと機能ブロックシーケンスの概要
 炊飯器、洗濯機、電子レンジ等の家庭用電気機械器具(以下、「機器」という)では、特定の機能を実現するためのソフトウエアによりハードウエアの機能・動作が制御される。本実施例では、機器を制御するためのソフトウエアの作成または更新を可能にする仕組みとして機器制御システムを導入する。
 図1は、情報処理システム1000の構成を示す。情報処理システム1000では第1階層から第4階層により構成される4階層のモデルが定義される。第1階層では、機器1100の構成が規定される。機器1100は、例えば、炊飯器(機器1100a)、洗濯機(機器1100b)、電子レンジ(機器1100c)である。機器1100はこれらに限定されない。各機器1100には、複数のコンポーネント1102、複数のドライバ1104、複数の機能ブロック1110が含まれる。
 コンポーネント1102とは、機器1100の動作(アクチュエーション・センシング)が分割された単位を構成するハードウエア要素であって、機器1100の機能を実行するアクチュエータおよびセンサを含む。アクチュエータは出力デバイスであり、センサは入力デバイスである。アクチュエータは、例えば、炊飯器(機器1100a)における底外IH(Induction Heating)コイル(コンポーネント1102a)、胴IHコイル(コンポーネント1102b)、ステッピングモータ(コンポーネント1102c)、水容器IHコイル(コンポーネント1102d)、冷却ファン(コンポーネント1102e)、圧電ブザー(コンポーネント1102f)である。センサは、例えば、炊飯器(機器1100a)における温度センサ(コンポーネント1102g)である。炊飯器(機器1100a)に含まれるコンポーネント1102はこれらに限定されず、洗濯機(機器1100b)、電子レンジ(機器1100c)も同様に構成される。
 ドライバ1104とは、コンポーネント1102を直接制御するためのソフトウエアである。炊飯器(機器1100a)におけるIH制御(ドライバ1104)は底外IHコイル(コンポーネント1102a)を制御する。また、IH制御(ドライバ1104b)は胴IHコイル(コンポーネント1102b)を制御し、圧力弁制御(ドライバ1104c)はステッピングモータ(コンポーネント1102c)を制御し、IH制御(ドライバ1104d)は水容器IHコイル(コンポーネント1102d)を制御する。さらに、ファン制御(ドライバ1104e)は冷却ファン(コンポーネント1102e)を制御し、ブザー制御(ドライバ1104f)は圧電ブザー(コンポーネント1102f)を制御し、センサ制御(ドライバ1104g)は温度センサ(コンポーネント1102g)を制御する。炊飯器(機器1100a)に含まれるドライバ1104はこれらに限定されず、洗濯機(機器1100b)、電子レンジ(機器1100c)も同様に構成される。
 機能ブロック1110とは、1つ以上のドライバ1104に対応づけられ、1または複数のコンポーネント1102を動作させるためのソフトウエアインターフェース(API:Application Programming Interface)である。機能ブロック1110は、(各)コンポーネント1102の動作を制御する1または複数のパラメータを受付可能である。機能ブロック1110の詳細は後述する。
 第2階層では、機器1100に目的の処理を実行させるために、1つまたは複数の機能ブロック1110を動作順に並べた機能ブロックシーケンス1120が規定される。換言すると、機能ブロックシーケンス1120は、1つまたは複数の機能ブロック1110の実行順序を規定する。目的の処理は、機器1100に応じて定められており、例えば、炊飯器(機器1100a)と電子レンジ(機器1100c)に対する調理、洗濯機(機器1100b)に対する洗濯である。機能ブロックシーケンス1120aは炊飯器(機器1100a)に使用され、機能ブロックシーケンス1120bは洗濯機(機器1100b)に使用され、機能ブロックシーケンス1120cは電子レンジ(機器1100c)に使用される。機器1100は、機能ブロックシーケンス1120に並べられた機能ブロック1110の順に動作を実行する。そのため、機能ブロック1110の並べ方を変えたり、機能ブロック1110に設定するパラメータを変えたりすることによって、機器1100の機能・動作を更新することが可能である。機能ブロックシーケンス1120の詳細は後述する。
 第3階層には、情報処理システム1000における各種情報を管理するプラットフォームサーバ1130が配置される。プラットフォームサーバ1130は、シーケンスマネージャ、デバイスマネージャ、各種データベースを含む。シーケンスマネージャは機能ブロックシーケンス1120を管理し、デバイスマネージャは機能ブロックシーケンス1120を使用可能な機器1100の登録情報を管理し、各種データベースは機能ブロックシーケンス1120を使用可能なユーザ情報を管理する。
 第4階層には、ユーザアプリケーションとして各機能ブロックシーケンス1120を公開するユーザアプリケーションサーバ1132が配置される。ユーザアプリケーションサーバ1132に公開された機能ブロックシーケンス1120は機器1100にダウンロードされる。ダウンロードされた機能ブロックシーケンス1120は、機器1100において使用可能にされる。別の機能ブロックシーケンス1120が機器1100にダウンロードされると、機器1100において別の機能ブロックシーケンス1120が使用可能にされる。
 情報処理システム1000における第3階層と第4階層とがまとめられてもよい。その際、プラットフォームサーバ1130とユーザアプリケーションサーバ1132は、一体的に構成される。また、情報処理システム1000における第3階層と第4階層は、同一階層に並べられてもよい。さらに、情報処理システム1000における第3階層と第4階層とが省略されてもよい。その際、ユーザの所持するユーザ装置(図示せず)から機器1100に機能ブロックシーケンス1120がダウンロードされる。
 図2(a)-(e)は、情報処理システム1000において使用される機能ブロック1110の構成を示す。図2(a)は、機能ブロック1110の基本構成を示す。機能ブロック1110は、機器1100が実行可能な機能単位で規定されており、機能の内容に応じた「ブロック名」を有する。機能ブロック1110には、機能に応じた複数のパラメータを設定可能である。機能ブロック1110に設定された各パラメータは、ドライバ1104に出力される。ドライバ1104は、機能ブロック1110からのパラメータを受けつけると、パラメータに応じてコンポーネント1102の動作を制御する。
 図2(b)は、図1の炊飯器(機器1100a)における「前炊き」の機能ブロック1110aを示す。「前炊き」の機能ブロック1110aには、鍋底温度、継続時間、対流パターン、底(外)IH時間、底(内)IH時間のパラメータが設定可能である。図2(c)は、図1の炊飯器(機器1100a)における「沸騰」の機能ブロック1110bを示し、図2(d)は、図1の炊飯器(機器1100a)における「むらし」の機能ブロック1110cを示し、図2(e)は、「保温」の機能ブロック1110dを示す。機能ブロック1110bから機能ブロック1110dのそれぞれにおいても複数のパラメータが設定可能である。図1の洗濯機(機器1100b)、電子レンジ(機器1100c)における機能ブロック1110も同様である。
 図3(a)-(c)は、情報処理システム1000において使用される機能ブロックシーケンス1120、特に図1の炊飯器(機器1100a)に使用される機能ブロックシーケンス1120aの構成を示す。図3(a)は「米炊き」のためのシーケンスを示し、図3(b)は「煮物調理」のためのシーケンスを示し、図3(c)は「ローストビーフ(低温調理)」のためのシーケンスを示す。
 図3(a)に示される「米炊き」のためのシーケンスでは、3つの「前炊き」の機能ブロック1110a、「炊き上げ」の機能ブロック1110n、「沸騰」の機能ブロック1110b、「むらし」の機能ブロック1110c、「保温」の機能ブロック1110dが順番に並べられる。3つの「前炊き」の機能ブロック1110aでは、互いに異なったパラメータが設定される。このように互いに異なったパラメータが設定された3つの「前炊き」の機能ブロック1110aを順に並べることによって、3段階の前炊きが実行可能である。
 図3(b)に示される「煮物調理」のためのシーケンスでは、「前炊き」の機能ブロック1110a、「炊き上げ」の機能ブロック1110n、「沸騰」の機能ブロック1110b、「保温」の機能ブロック1110dが順番に並べられる。図3(c)に示される「ローストビーフ(低温調理)」のためのシーケンスは、「保温」の機能ブロック1110dを含む。このように使用する機能ブロック1110の種類と並べ方とパラメータとを変えることによって、「米炊き」、「煮物調理」、「ローストビーフ(低温調理)」の異なった目的の処理を実行可能である。図1の洗濯機(機器1100b)、電子レンジ(機器1100c)における機能ブロックシーケンス1120も同様である。
 図4は、機器1100、特に図1の炊飯器(機器1100a)の動作概要を示す。これは、図3(a)「米炊き」のためのシーケンスにしたがった機器1100aの動作を示す。浸水工程では、互いに異なったパラメータを設定した3つの「前炊き」の機能ブロック1110aが順番に実行されることによって、これらに対応したコンポーネント1102がパラメータにしたがって動作する。その結果、鍋温度が時間の経過とともに階段状に増加する。これらに続いて、「炊き上げ」の機能ブロック1110n、「沸騰」の機能ブロック1110b、「むらし」の機能ブロック1110c、「保温」の機能ブロック1110dが順番に実行されることによって、これらに対応したコンポーネント1102がパラメータにしたがって動作する。つまり、複数の機能ブロック1110が順番に実行されることにより、機器1100aでは米炊きがなされる。
(2)調理プログラムの出力
 図5は、情報処理システム1000の構成を示す図である。情報処理システム1000は、端末100、ネットワーク300、情報処理装置400を含む。端末100と情報処理装置400は、インターネットなどのネットワーク300を介して接続される。情報処理システム1000では、ユーザの状況に適した調理レシピである調理プログラムを情報処理装置400が作成し、情報処理装置400は作成された調理プログラムを、ネットワーク300を介して、ユーザに使用される端末100に提供する。情報処理システム1000に含まれる端末100の数は「1」に限定されない。
 端末100は、ネットワーク300に接続可能な通信機能を有する装置であり、ユーザに使用される。端末100は、例えば、コンピュータ、スマートフォン、タブレット端末、調理機器等の家庭用電気機械器具である。端末100は、ユーザにより入力された情報を受付可能なボタン等の操作部(図示せず)と、ユーザに対して情報を表示可能なディスプレイ等の表示部(図示せず)とを含む。操作部と表示部はタッチパネルとして一体化されてもよい。端末100は、ユーザの状況を管理しており、ネットワーク300を介して情報処理装置400に、ユーザの状況に関する情報(以下、「状況情報」という)を送信する。「ユーザの状況」とは、例えば「ユーザのスケジュール」および「ユーザが持っている調理機器」である。「ユーザのスケジュール」には、「ユーザが料理に手間を割けることができる度合い」の情報が含まれる。このようなユーザの状況を知るために、端末100には、調理器具記憶部やスケジュール記憶部が含まれてもよい。また、端末100は、ネットワーク300を介して情報処理装置400から調理プログラムを受信し、調理プログラムを表示する。
 情報処理装置400は、ネットワーク300に接続可能な通信機能を有する装置であり、例えば、プロセッサ、メモリ等を備えたサーバ、クラウドサーバ等のコンピュータである。情報処理装置400は、ネットワーク300を介して端末100から状況情報を受信する。情報処理装置400は、状況情報を反映させて調理プログラムを作成し、ネットワーク300を介して端末100に調理プログラムを送信する。
 図6は、情報処理装置400の構成を示す。情報処理装置400は、通信部410、処理部420、調理レシピ記憶部430、調理工程記憶部440、調理器具記憶部450を含む。処理部420は、レシピ取得部460、動作ブロック処理部462、器具・材料取得部464、調理ブロック選択処理部466、状況取得部468、調理プログラム作成処理部470、出力部472を含む。調理レシピ記憶部430、調理工程記憶部440、調理器具記憶部450は、HDD(HardDiskDrive)またはSSD(SolidStateDrive)であり、電子情報を記憶可能である。通信部410は、ネットワーク300を介して端末100との通信を実行する。
 レシピ取得部460は、通信部410、ネットワーク300を介して、ユーザが調理に使用可能な食材の情報(以下、「食材情報」という)を取得する。例えば、ユーザの住居に設置された冷蔵庫の庫内カメラが冷蔵庫内の画像を撮像し、冷蔵庫がネットワーク300を介して情報処理装置400に画像を送信する。また、ユーザの住居に設置された宅内カメラが住居内の画像を撮像し、宅内カメラがネットワーク300を介して情報処理装置400に画像を送信してもよい。これらの場合において、レシピ取得部460は、通信部410において受信した画像に対して画像認識処理を実行することにより、食材情報を取得する。庫内カメラ、宅内カメラをセンサと呼ぶ場合、画像はセンサ情報と呼ばれる。端末100がユーザから手入力または音声入力により食材情報を取得し、端末100がネットワーク300を介して情報処理装置400に食材情報を送信してもよい。レシピ取得部460は、センサ情報と入力の両方から食材情報を取得してもよい。
 調理レシピ記憶部430は、複数の調理レシピのそれぞれと食材との対応関係を記憶する。図7は、調理レシピ記憶部430に記憶されるデータベースのデータ構造を示す。データベースにおける調理レシピの欄には、カレー、肉じゃが等の料理名が記載され、食材名の欄には、各調理レシピに使用される食材名が示される。調理レシピは調理レシピ記憶部430に予め記憶されてもよいし、ユーザにより適宜追加されてもよい。図6に戻る。レシピ取得部460は、取得した食材情報から食材名を抽出し、調理レシピ記憶部430に記憶されるデータベースを参照することによって、抽出した食材名が含まれる調理レシピを調理レシピ候補として取得する。これは、取得した食材情報における食材を使用する調理レシピを取得することに相当する。例えば、食材情報における食材が「じゃがいも」である場合、カレー、肉じゃが、シチューなどが調理レシピ候補となる。レシピ取得部460は、通信部410、ネットワーク300を介して端末100に調理レシピ候補を送信する。
 端末100は、情報処理装置400からの調理レシピ候補を受信すると、調理レシピ候補を表示部に表示する。図8は、端末100に表示される画面を示す。例えば、調理レシピ候補として、カレー、肉じゃが、シチューが表示される。ユーザは、画面に表示された調理レシピ候補を見ながら、操作部を使用して、調理する調理レシピを選択する。端末100は、選択された調理レシピに関する情報を情報処理装置400に送信する。情報処理装置400のレシピ取得部460は、ネットワーク300、通信部410を介して端末100からの調理レシピに関する情報を取得する。調理レシピに関する情報は、1つの調理レシピに関する情報であってもよく、複数の調理レシピに関する情報であってもよい。レシピ取得部460は、調理レシピに関する情報を動作ブロック処理部462に出力する。
 動作ブロック処理部462は、調理レシピに関する情報をレシピ取得部460から受けつける。一例として、調理レシピに関する情報ではカレーが示される。図9(a)-(b)は、動作ブロック処理部462による処理の概要を示す。図9(a)は、動作ブロック処理部462が受けつけたカレーの調理レシピ500を示す。調理レシピ500では、第1調理工程510aから第10調理工程510hが順に並べられる。第1調理工程510aから第10調理工程510hは調理工程510と総称される。調理工程510は、複数の段階でなされる調理における1つの段階での動作を示す。例えば、第1調理工程510aは、「玉ねぎをくし切りにする」と示される。
 動作ブロック処理部462は、調理レシピ500の各調理工程510の内容を解釈する。例えば、動作ブロック処理部462は、内容の解釈の一例として形態素分析を実行する。その結果、動作ブロック処理部462は、複数の調理工程510のそれぞれから調理に関する動作の情報を抽出する。「調理に関する動作」の主体は、ユーザ(人間)であってもよく、オートクッカーのような自動調理器(調理器具)であってもよい。例えば、各調理工程510において「(食材の)切断」、「煮る」「焼く」「茹でる」「冷やす」などの動詞が分かるレベルの解釈がなされる。
 レシピ取得部460は、抽出した動作の情報を、調理に関する動作を示すブロック(以下、「動作ブロック」という)に変換する。図9(b)は、レシピ取得部460において変換された第1動作ブロック520aから第8動作ブロック520hを示す。第1動作ブロック520aは「材料を切る」動作を示すブロックであり、第2動作ブロック520bは「炒める」動作を示すブロックである。第1調理工程510aから第3調理工程510cが第1動作ブロック520aに変換され、第4調理工程510dが第2動作ブロック520bに変換される。その際、第4調理工程510dにおける動作以外の情報、つまり「牛肉、玉ねぎ、じゃがいも、人参」は、第2動作ブロック520bに関連付けられる。第2動作ブロック520b以外の動作ブロック520についても同様である。さらに、第1動作ブロック520aから第8動作ブロック520hは動作ブロック520と総称される。図6に戻る。
 調理工程記憶部440は、複数の動作ブロック520のそれぞれと1以上のブロック(以下、「調理ブロック」という)との対応関係を記憶する。調理ブロックとは、動作ブロック520を実現するための調理の内容を示すブロックである。調理ブロックが前述の機能ブロック1110であってもよい。図10は、調理工程記憶部440に記憶されるデータベースのデータ構造を示す。データベースに含まれる第9動作ブロック520iから第13動作ブロック520mも動作ブロック520と総称される。また、データベースには、調理ブロック530と総称される第1調理ブロック530aから第14調理ブロック530nも含まれる。データベースには、図10以外の動作ブロック520、調理ブロック530が含まれてもよい。
 データベースでは、各動作ブロック520に紐づいた1以上の調理ブロック530が示される。例えば、第1動作ブロック520aには第1調理ブロック530aから第3調理ブロック530cが紐付けられる。これは、第1調理ブロック530aから第3調理ブロック530cのうちの1つを実行することによって、第1動作ブロック520aが実行されることを示す。他の動作ブロック520についても同様である。また、このデータベースは、すべての調理レシピ500、すべてのユーザに対して共通である。
 各調理ブロック530には、次の情報が含まれる。1つ目の情報は、調理ブロック530を実行するために使用すべき器具または材料の情報である。材料は、カット野菜等の特別な材料を示す。これは、例えば、第1調理ブロック530aにおける「まな板&包丁」に対応し、第2調理ブロック530bにおける「フードプロセッサー」に対応し、第3調理ブロック530cにおける「カット野菜」に対応する。
 2つ目の情報は、調理ブロック530の実行に手間がかかるのか否かを示す情報である。手間がかかるとは、焦げ付かないか様子を見るなどユーザがその場から離れられないことを示す。これは、調理ブロック530に対応した調理にユーザの関与の度合いを示す「第1情報」に相当する。また、手間がかからないとは、調理器具等に任せるためにユーザが調理器具に材料を入れるだけでよく放置できることを示す。これは、調理ブロック530に対応した調理に必要とされるユーザの関与が第1情報での関与の度合いよりも小さいことを示す「第2情報」に相当する。第1調理ブロック530a等のドットで示された調理ブロック530が第1情報を含み、第2調理ブロック530b等の白色で示された調理ブロック530が第2情報を含む。
 3つ目の情報は、調理ブロック530に対応した調理時間の情報である。調理時間は、X分のような形式で具体的な数値で示されてもよく、時間のかかり具合をスコア化した情報で示されてもよい。調理時間は、例えば、第1調理ブロック530aにおいて「5min」と示され、第2調理ブロック530bにおいて「3min」と示され、第3調理ブロック530cにおいて「0min」と示される。図6に戻る。
 動作ブロック処理部462は、調理レシピ500に含まれる複数の動作ブロック520のそれぞれに対応した1以上の調理ブロック530を、調理工程記憶部440に記憶されたデータベースから取得する。図11は、動作ブロック処理部462による別の処理の概要を示す。調理レシピ500に含まれる複数の調理工程510から変換された第1動作ブロック520aから第8動作ブロック520hが順番に並べられる。動作ブロック処理部462は、調理工程記憶部440に記憶されたデータベースを参照することによって、第1動作ブロック520aに対応した第1調理ブロック530aから第3調理ブロック530cを取得する。動作ブロック処理部462は、取得した第1調理ブロック530aから第3調理ブロック530cを第1動作ブロック520aに対応づける。
 動作ブロック処理部462は、第2動作ブロック520bから第8調理ブロック530hのそれぞれに対しても同様の処理を実行する。つまり、動作ブロック処理部462は、複数の動作ブロック520のそれぞれに1つ以上の調理ブロック530を対応づける。以下では、図11のように、複数の動作ブロック520のそれぞれに対応づけられた1つ以上の調理ブロック530を「候補データ」と呼ぶこともある。図6に戻る。
 調理器具記憶部450は、ユーザの住居で所持されている調理器具の情報を記憶する。図12は、調理器具記憶部450に記憶されるデータベースのデータ構造を示す。データベースには、「まな板&包丁」等の調理器具が示される。また、データベースに、「カット野菜」等の材料に関する情報が含まれてもよい。データベースに含まれる調理器具、材料に関する情報は、レシピ取得部460と同様に、センサ情報または入力により取得されている。さらに、このようなデータベースは、住居毎に異なる。図6に戻る。器具・材料取得部464は、調理器具記憶部450に記憶されたデータベースに含まれた情報、つまりユーザが使用可能な器具または材料に関する情報を取得する。
 調理ブロック選択処理部466は、器具・材料取得部464において取得されたユーザが使用可能な器具または材料に関する情報と、各調理ブロック530を実行するために使用すべき器具または材料の情報とをもとに、候補データから、ユーザが使用可能な器具または材料を使用する調理ブロック530を選択する。以下では、ユーザが使用可能な器具または材料を使用する調理ブロック530を選択した候補データもまた「候補データ」と呼ばれる。
 図13は、調理ブロック選択処理部466による処理の概要を示す。前述のごとく、第1動作ブロック520aには、第1調理ブロック530aから第3調理ブロック530cが対応づけられている。また、第1調理ブロック530aでは「まな板&包丁」が使用され、第2調理ブロック530bでは「フードプロセッサー」が使用され、第3調理ブロック530cでは「カット野菜」が使用される。一方、器具・材料取得部464において取得された情報には、「まな板&包丁」が含まれるが、「フードプロセッサー」と「カット野菜」が含まれない。
 調理ブロック選択処理部466は、第1動作ブロック520aに対応づけられた第1調理ブロック530aから第3調理ブロック530cのうち、ユーザが使用可能な「まな板&包丁」を使用する第1調理ブロック530aを選択する。つまり、ユーザが使用可能でない「フードプロセッサー」と「カット野菜」を使用する第2調理ブロック530bと第3調理ブロック530cは除外される。図13では、除外された第2調理ブロック530bと第3調理ブロック530cは灰色で示される。調理ブロック選択処理部466は、他の動作ブロック520に対しても同様の処理を実行する。例えば、第2動作ブロック520bでは、第4調理ブロック530d、第5調理ブロック530e、第8調理ブロック530hが選択される。図6に戻る。
 状況取得部468は、通信部410、ネットワーク300を介して端末100から状況情報を取得する。図14(a)-(b)は、状況取得部468において取得された状況情報において示されるスケジュールを示す。図14(a)は、ユーザ(母)の平日のスケジュールの一例を示し、図14(b)は、ユーザ(父)の平日のスケジュールの一例を示す。
 スケジュールには、2つのフラグ、「料理可能フラグ」と「軽料理可能フラグ」がユーザにより入力されている。料理可能フラグは、ユーザの手が完全に空いている時間であり、かつ手間がかかる調理工程も実行可能な時間に対して設定される。これは、ユーザが第1情報と第2情報の調理ブロック530を実行可能であることを示すフラグである。一方、軽料理可能フラグとは、常にキッチンに立つことはできないが、火を止める、フライパンから鍋に移す、などの軽い料理を実行できる時間に対して設定される。例えば、在宅勤務であるが、会議がない業務時間内・会議中の自身がプレゼンテーションを行わない時間、家にいるが子供の相手も同時にこなさなくてはいけない時間、などである。これは、ユーザが第2情報の調理ブロック530を実行可能であるが、第1情報の調理ブロック530を実行できないことを示すフラグである。料理可能フラグを「第1フラグ」と呼ぶ場合、軽料理可能フラグは「第2フラグ」と呼ばれる。「料理可能フラグ」と「軽料理可能フラグ」の両方が付与されていない時間は、在宅勤務の会議発表中や外出中など全く料理ができない時間を示す。
 「料理可能フラグ」と「軽料理可能フラグ」を使用することによって、スケジュールには、ユーザが調理可能な時間に関する情報が含まれる。図14(a)に示されるスケジュールには、ユーザ(母)が調理可能な時間に関する情報として、17:30から18:30の「空き時間」が含まれる。また、図14(b)に示されるスケジュールには、ユーザ(父)が調理可能な時間に関する情報として、18:20から19:30の「空き時間」と、19:30から20:00の「在宅勤務」が含まれる。図6に戻る。以下では、(1)スケジュールが料理可能フラグを示す場合、(2)スケジュールが軽料理可能フラグを示す場合、(3)スケジュールが料理可能フラグと軽料理可能フラグとを示す場合の順に説明する。
(1)スケジュールが料理可能フラグを示す場合
 ここでは、状況取得部468においてユーザ(母)のスケジュール(図14(a))が取得されているとする。調理ブロック選択処理部466は、候補データと、状況取得部468において取得した状況情報とを比較して、ユーザの状況に合っていない調理ブロック530を候補データから除外する。具体的に説明すると、調理ブロック選択処理部466は、状況情報が料理可能フラグのみを含む場合、第1情報を含む調理ブロック530を選択し、第2情報を含む調理ブロック530を除外する。料理可能フラグで示された時間帯において調理に手間をかけることができるからである。以下では、ユーザの状況に合っていない調理ブロック530を除外した候補データもまた「候補データ」と呼ばれる。
 図15は、調理ブロック選択処理部466による処理の別の概要を示す。第2情報を含む調理ブロック530、つまり手間のかからない調理ブロック530は、第8調理ブロック530hである。そのため、調理ブロック選択処理部466は、候補データから第8調理ブロック530hを除外する。除外された第8調理ブロック530hは灰色で示される。ここで、例えば第4動作ブロック520d(アクを取る)のように1つの調理ブロック530だけが対応づけられる場合、調理ブロック選択処理部466は、当該1つの調理ブロック530を除外しない。これは、以下に続く処理においても同様である。図6に戻る。
 調理ブロック選択処理部466は、調理ブロック530を実行するために使用すべき器具または材料の情報をもとに、使用すべき器具と材料とを含めた種類数を数える。また、調理ブロック選択処理部466は、種類数の合計が少ない調理ブロック530を選択する。これは、各調理ブロック530で使用されている器具の種類数と材料の種類数の合計値(以下、「種類数」という)を計算し、種類数が少ないものを選択するともいえる。以下では、種類数が少なくなるように調理ブロック530を選択した候補データもまた「候補データ」と呼ばれることもある。
 図16は、調理ブロック選択処理部466による処理のさらに別の概要を示す。第4調理ブロック530d(鍋)は、第2動作ブロック520b(炒める)、第3動作ブロック520c(煮る)、第5動作ブロック520e(煮る)、第8動作ブロック520h(煮る)で使用可能である。第5調理ブロック530e(フライパン)は、第2動作ブロック520b(炒める)、第3動作ブロック520c(煮る)、第5動作ブロック520e(煮る)、第8動作ブロック520h(煮る)で使用可能である。
 第7調理ブロック530g(圧力鍋)は、第3動作ブロック520c(煮る)、第5動作ブロック520e(煮る)、第8動作ブロック520h(煮る)で使用可能であるが、第2動作ブロック520b(炒める)で使用できない。つまり、第4調理ブロック530d(鍋)と第5調理ブロック530e(フライパン)は、4つの動作ブロック520において使用可能であるが、第7調理ブロック530g(圧力鍋)は、3つの動作ブロック520において使用可能である。そのため、第7調理ブロック530g(圧力鍋)を使用するよりも、第4調理ブロック530d(鍋)と第5調理ブロック530e(フライパン)を使用した方が、使用される種類数が少なくなる。そのため、調理ブロック選択処理部466は、各調理ブロック530が使用される動作ブロック520の数を計算し、動作ブロック520の数が相対的に小さい調理ブロック530の除外を決定する。調理ブロック選択処理部466は、第7調理ブロック530g(圧力鍋)を候補データから除外する。除外された第7調理ブロック530g(圧力鍋)は灰色で示される。ここで、各動作ブロック520で用いられる器具が「包丁→鍋→フライパン→鍋」の順番の場合、種類数の合計は「3」になる。図6に戻る。
 調理ブロック選択処理部466は、候補データにおいて並べられた複数の動作ブロック520のそれぞれに対して1つの調理ブロック530を選択し、選択した調理ブロック530を組み合わせることによって、1つのシーケンスを生成する。また、調理ブロック選択処理部466は、調理ブロック530の選択を変えることによって、調理ブロック530の組合せのパターンが異なった別のシーケンスを生成する。調理ブロック選択処理部466は、このような処理を繰り返し実行することによって、候補データに残っている調理ブロック530から複数のシーケンスを生成する。シーケンスが前述の機能ブロックシーケンス1120であってもよい。
 調理ブロック選択処理部466は、各シーケンスにおける調理ブロック530の調理時間を積算することによって、各シーケンスの調理時間を計算する。また、調理ブロック選択処理部466は、計算した調理時間とユーザが調理可能な時間との差分を算出する。調理ブロック選択処理部466は、算出した差分が小さいシーケンスを選択する。これにより、1つの動作ブロック520に対して1つの調理ブロック530が選択される。
 図17は、調理ブロック選択処理部466による処理のさらに別の概要を示す。調理ブロック選択処理部466におけるこれまでの選択により、第1調理ブロック530a、2つの第4調理ブロック530d、第15調理ブロック530o、第4調理ブロック530d、第16調理ブロック530p、第17調理ブロック530q、第4調理ブロック530dの順に並べられたシーケンス(以下、「第1シーケンス」という)が形成される。また、第1調理ブロック530a、2つの第5調理ブロック530e、第15調理ブロック530o、第5調理ブロック530e、第16調理ブロック530p、第17調理ブロック530q、第5調理ブロック530eの順に並べられたシーケンス(以下、「第2シーケンス」という)も形成される。
 第1シーケンスの調理時間は1時間25分であり、第2シーケンスの調理時間は1時間5分である。また、ユーザ(母)が調理可能な時間は1時間である。第1シーケンスの調理時間よりも第2シーケンスの調理時間の方が、ユーザ(母)が調理可能な時間に近いので、調理ブロック選択処理部466は、第2シーケンスを選択する。つまり、調理ブロック選択処理部466は、第1動作ブロック520aに対して第1調理ブロック530aを選択し、第2動作ブロック520b、第3動作ブロック520c、第5動作ブロック520e、第8動作ブロック520hのそれぞれに対して第5調理ブロック530eを選択する。また、調理ブロック選択処理部466は、第4動作ブロック520dに対して第15調理ブロック530oを選択し、第6動作ブロック520fに対して第16調理ブロック530pを選択し、第7動作ブロック520gに対して第17調理ブロック530qを選択する。このように調理ブロック選択処理部466は、複数の動作ブロック520のそれぞれにおいて、1以上の調理ブロック530からユーザの状況に応じた調理ブロック530を選択する。図6に戻る。
 調理プログラム作成処理部470は、複数の動作ブロック520のそれぞれで選択された調理ブロック530を組み合わせることによって、調理プログラムを作成する。これは、調理ブロック選択処理部466において選択された調理ブロック530を各動作ブロック520に組み合わせることに相当する。調理プログラムは、ユーザの状況に応じて調理ブロック530を調節した新たな調理レシピである。
 出力部472は、通信部410、ネットワーク300を介して端末100に、調理プログラム作成処理部470において作成した調理プログラムを出力する。端末100は、調理プログラムを受信する。端末100は、作成した調理プログラムを表示可能な装置であり、調理プログラムを表示部に表示する。
 図18は、端末100に表示される画面を示す。調理プログラムに含まれる複数の動作ブロック520は、図9(a)に示された調理レシピ500に含まれる複数の調理工程510と同様に示される。各動作ブロック520には、対応する調理ブロック530の内容が付加される。例えば、第2動作ブロック520bでは、「牛肉、玉ねぎ、じゃがいも、人参を炒める」に、第5調理ブロック530eの「フライパンを使って約15分」の情報が追加される。また、第3動作ブロック520cでは、「水を加えて煮る」に、第5調理ブロック530eの「フライパンを使って約15分」の情報が追加される。
 図19は、端末100に表示される別の画面を示す。図18と同様に、調理プログラムに含まれる複数の動作ブロック520は、図9(a)に示された調理レシピ500に含まれる複数の調理工程510と同様に示される。各動作ブロック520には、対応する調理ブロック530において扱われる器具が付加される。例えば、第2動作ブロック520bでは、「牛肉、玉ねぎ、じゃがいも、人参を炒める」に、第5調理ブロック530eの「フライパンで」の情報が追加される。また、第3動作ブロック520cでは、「水を加えて煮る」に、第5調理ブロック530eの「フライパンで」の情報が追加される。さらに、調理プログラムの表示とともに、調理ブロック選択処理部466において計算された調理時間、つまり調理全体にかかると予想される時間が、「この調理工程でカレーを作ると65分かかります。」のように表示されてもよい。
 このような画面に「他の調理工程を見る」と示されたボタンが表示されてもよい。ユーザが端末100の操作部を使用して「他の調理工程を見る」を選択した場合、端末100は、調理ブロック530を変更した他の調理プログラムの提供を情報処理装置400に要求するための信号(以下、「要求信号」という)を送信する。情報処理装置400の通信部410が要求信号を受信すると、調理ブロック選択処理部466は、第2シーケンスを選択する際に除外した第1シーケンスを新たに選択する。調理プログラム作成処理部470は、第1シーケンスに含まれた複数の調理ブロック530を反映させた新たな調理プログラムを作成する。出力部472は、通信部410、ネットワーク300を介して外部装置の一例である端末100に、調理プログラム作成処理部470において作成した新たな調理プログラムを出力する。
 端末100は、新たな調理プログラムを受信すると、新たな調理プログラムの画面を表示部に表示する。新たな調理プログラムの画面では、図18、図19における「フライパン」が「鍋」に置きかえられる。また、図18における「15分」が「20分」に置きかえられる。その場合、「鍋で調理すると調理時間がX分延びます」のようなメッセージが表示されてもよい。
 これまでは、調理ブロック530に調理時間が含まれている。例えば、第5調理ブロック530eにフライパンでの調理時間である「15min」が含まれる。しかしながら、調理時間の情報が調理ブロック530に含まれていない場合、情報処理装置400の処理部420は、次の処理を実行してもよい。仮に、もとの調理レシピ500における調理工程510に「鍋で30分煮る」のように器具と時間が記載されていて、これをフライパンを使用する第5調理ブロック530eに変更する場合、処理部420は、鍋で30分煮る際に必要な熱量Jの値Xとフライパンで値Xに達するまでに何分要するかを計算する。調理工程記憶部440は、器具と時間を置きかえることによって、調理プログラムを作成する。
(2)スケジュールが軽料理可能フラグを示す場合
 これは、状況取得部468が取得したユーザ(母)のスケジュール(図14(a))において、料理可能フラグの代わりに、軽料理可能フラグが含まれている場合に相当する。調理ブロック選択処理部466は、候補データと、状況取得部468において取得した状況情報とを比較して、ユーザの状況に合っていない調理ブロック530を候補データから除外する。調理ブロック選択処理部466は、状況情報が軽料理可能フラグのみを含む場合、第2情報を含む調理ブロック530を選択し、第1情報を含む調理ブロック530を除外する。これに続く処理はこれまでと同様であるので、ここでは説明を省略する。
(3)スケジュールが料理可能フラグと軽料理可能フラグとを示す場合
 ここでは、状況取得部468においてユーザ(父)のスケジュール(図14(b))が取得されているとする。調理ブロック選択処理部466は、候補データと、状況取得部468において取得した状況情報とを比較して、ユーザの状況に合っていない調理ブロック530を候補データから除外する。この処理を具体的に説明するために、ここでは、図20から図22を使用する。
 図20は、調理ブロック選択処理部466による処理のさらに別の概要を示す。調理ブロック選択処理部466は、候補データのうち、ユーザが使用可能な器具または材料を使用する調理ブロック530をすべてつなぐ。その結果、第1調理ブロック530a、2つの第4調理ブロック530d、第15調理ブロック530o、第4調理ブロック530d、第16調理ブロック530p、第17調理ブロック530q、第4調理ブロック530dの順に並べられるシーケンスが形成される。
 また、第1調理ブロック530a、2つの第5調理ブロック530e、第15調理ブロック530o、第5調理ブロック530e、第16調理ブロック530p、第17調理ブロック530q、第5調理ブロック530eの順に並べら得るシーケンスも形成される。第1調理ブロック530a、2つの第8調理ブロック530h、第15調理ブロック530o、第8調理ブロック530h、第16調理ブロック530p、第17調理ブロック530q、第8調理ブロック530hの順に並べら得るシーケンスも形成される。さらに、第4調理ブロック530d、第5調理ブロック530e、第8調理ブロック530hを混合させたようなシーケンスも形成される。このように複数種類のシーケンスが形成される。
 図21は、調理ブロック選択処理部466による処理のさらに別の概要を示す。これは、図20において形成された複数種類のシーケンスのうちの一部のシーケンスを示す。ここでは、4種類のシーケンスが示される。これらは、第1調理ブロック530a、2つの第4調理ブロック530d、第15調理ブロック530o、第4調理ブロック530d、第16調理ブロック530p、第17調理ブロック530qまで共通である。第17調理ブロック530qから第4調理ブロック530dに向かうシーケンス、第17調理ブロック530qから第5調理ブロック530eに向かうシーケンス、第17調理ブロック530qから第7調理ブロック530gに向かうシーケンス、第17調理ブロック530qから第8調理ブロック530hに向かうシーケンスが形成される。
 調理ブロック選択処理部466は、シーケンスの起点「18:20」から調理ブロック530の調理時間を順に加算していくことによって、料理可能フラグと軽料理可能フラグとが切りかわるタイミング(以下、「切替タイミング」という)「19:30」を検出する。ここでは、第6動作ブロック520f、つまり第16調理ブロック530pのタイミングが切替タイミングとして検出される。また、調理ブロック選択処理部466は、切替タイミングをもとに軽料理可能フラグの期間を特定する。ここでは、切替タイミング以降が軽料理可能フラグの期間として特定される。これらの処理はシーケンス毎になされる。図示した4種類のシーケンスでは、切替タイミングと軽料理可能フラグの期間が共通する。しかしながら、切替タイミングと軽料理可能フラグの期間が異なるシーケンスも存在する。
 図22は、調理ブロック選択処理部466による処理のさらに別の概要を示す。これは、図21に続く処理を示す。調理ブロック選択処理部466は、軽料理可能フラグの期間において第2情報を含む調理ブロック530、つまり手間のかからない調理ブロック530を選択する。図22では、第8調理ブロック530hが選択される。これに続く処理はこれまでと同様であるので、ここでは説明を省略する。
 この構成は、ハードウエア的には、任意のコンピュータのCPU(Central Processing Unit)、メモリ、その他のLSI(Large Scale Integration)で実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能のブロックを描いている。したがって、これらの機能のブロックがハードウエアのみ、ハードウエアとソフトウエアの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
 以上の構成による情報処理システム1000の動作を説明する。図23は、情報処理装置400による調理プログラムの出力手順を示すフローチャートである。レシピ取得部460は、食材情報を取得すると(S1)、調理レシピ記憶部430を参照して調理レシピ候補を取得する(S2)。レシピ取得部460は、調理レシピ候補を端末100に出力し(S3)、選択された調理レシピ500を端末100から取得する(S4)。動作ブロック処理部462から調理プログラム作成処理部470は調理工程作成処理を実行する(S5)。出力部472は調理プログラムを端末100に出力する(S6)。
 図24は、情報処理装置400による調理工程作成処理の手順を示すフローチャートである。これは図23のステップS5に相当する。動作ブロック処理部462は、調理レシピ500の調理工程510の内容を解釈し(S501)、調理工程510を動作ブロック520に置きかえる。動作ブロック処理部462は、各動作ブロック520を実行するための調理ブロック530を取得する(S502)。器具・材料取得部464は、ユーザの家で使用可能な器具・材料を取得する(S503)。状況取得部468は、ユーザの状況を取得する(S504)。調理ブロック選択処理部466は、調理ブロック530の選択処理を実行する(S505)。調理プログラム作成処理部470は、選択された調理ブロック530に基づいて、調理プログラムを作成する(S506)。
 図25は、情報処理装置400による調理ブロック選択処理の手順を示すフローチャートである。これは、図24のステップS505に相当する。調理ブロック選択処理部466は、S502とS503を基に、ユーザが実行可能な調理ブロック530を選択する(S551)。調理ブロック選択処理部466は、S551とS504を基に、ユーザの状況に適した調理ブロック530を選択する(S552)。調理ブロック選択処理部466は、S552を基に、用いる種類数が少ない調理ブロック530を選択する(S553)。調理ブロック選択処理部466は、S553を基に、ユーザの調理可能な時間に適した調理ブロック530を選択する(S554)。
 本実施例によれば、調理レシピ500に含まれた複数の動作ブロック520のそれぞれに1以上の調理ブロック530を対応づけてから、ユーザの状況に応じた調理ブロック530を選択することによって調理プログラムを作成するので、ユーザの状況に応じた調理レシピを提供できる。また、調理レシピ500に含まれた複数の調理工程510のそれぞれから調理に関する動作の情報を抽出して、抽出した動作の情報を動作ブロック520に変換するので、調理レシピ500に応じた動作ブロック520を取得できる。また、動作ブロック520毎に、動作ブロック520と1以上の調理ブロック530との対応関係が記憶されており、対応関係をもとに、動作ブロック520に応じた1以上の調理ブロック530を取得するので、調理ブロック530を簡易に取得できる。また、ユーザが使用可能な器具または材料に関する情報と、調理ブロック530を実行するために使用すべき器具または材料の情報とをもとに、調理ブロック530を選択するので、ユーザが使用可能な器具または材料を使用する調理ブロック530を選択できる。
 また、各調理ブロック530には、調理ブロック530に対応した調理にユーザの関与の度合いを示す第1情報と、調理ブロック530に対応した調理に必要とされるユーザの関与が第1情報での関与の度合いよりも小さいことを示す第2情報のいずれか1つが含まれるので、調理ブロック530に対する調理の手間の程度を定義できる。また、状況情報には、ユーザが第1情報と第2情報の調理ブロック530を実行可能であることを示す料理可能フラグと、ユーザが第2情報の調理ブロック530を実行可能であるが、第1情報の調理ブロック530を実行できないことを示す軽料理可能フラグとの少なくとも1つが含まれるので、ユーザが調理にかけられる手間の程度を知らせることできる。
 また、調理ブロック530に定義された手間の程度と、ユーザが調理にかけられる手間の程度とをもとに、調理ブロック530を選択するので、ユーザが調理にかけられる手間の程度に応じた調理ブロック530を選択できる。また、ユーザが使用可能な器具または材料に関する情報と、調理ブロック530を実行するために使用すべき器具または材料の情報とをもとに、使用される種類数が少なくなるように調理ブロック530を選択するので、ユーザの利便性を向上できる。また、複数の調理ブロック530を組み合わせた場合の調理時間が、ユーザが調理可能な時間に近くなるように調理ブロック530を選択するので、調理時間をユーザの状況に近づけることができる。また、作成した調理プログラムを端末100に出力するので、調理プログラムをユーザに確認させることができる。
(変形例1)
 図26(a)-(b)は、変形例1に係る処理の概要を示す。図26(a)は、特別な予定、例えばパーティーがある日のユーザのスケジュールの一例を示す。特別な予定のためにユーザは、手の込んだ料理を作りたいと思った場合、スケジュールに「重要フラグ」を付与する。このような「重要フラグ」が付与されたスケジュールを含む状況情報を情報処理装置400の状況取得部468が取得した場合、調理ブロック選択処理部466は、ユーザの状況に適した調理ブロック530として、「重要フラグ」をもとに調理時間も手間もかかる調理ブロック530を選択する。その結果、図26(b)のようなスペシャルカレーの調理レシピ502をもとにした調理プログラムが作成される。
 また、状況情報に含まれたスケジュールに「重要フラグ」が付与されない場合であっても、特別な食材、例えば、「スパイス」が予め登録されてもよい。情報処理装置400のレシピ取得部460が取得した食材情報に、予め登録された特別な食材「スパイス」が含まれている場合、調理ブロック選択処理部466は、「重要フラグ」が付与されている場合と同様に、図26(b)のようなスペシャルカレーの調理レシピ502をもとにした調理プログラムを作成する。
 図27(a)-(b)は、変形例1に係る処理の別の概要を示す。図27(a)は、カレーの調理レシピ500を変更せずに作成した調理プログラムを示し、図27(b)は、スペシャルカレーの調理レシピ502をもとにした調理プログラムを示す。これらを比較すると、調理レシピ500における第7動作ブロック520g、第17調理ブロック530qの「ルーを入れる」と調理レシピ502における第9動作ブロック520i、第18調理ブロック530rの「スパイスを入れる」とが異なる。
 端末100に表示された図27(a)のカレーの調理プログラムをユーザが見た場合に、ユーザは、端末100の操作部を操作することによって、第7動作ブロック520g、第17調理ブロック530qの「ルーを入れる」を「スパイスを入れる」に変更する指示を入力してもよい。その際、「ルーをスパイスに変更するとより本格的なカレーが作れます」などの表示が端末100になされていてもよい。当該指示を受けつけた情報処理装置400の調理ブロック選択処理部466は、第7動作ブロック520g、第17調理ブロック530qの「ルーを入れる」を、第9動作ブロック520i、第18調理ブロック530rの「スパイスを入れる」に変更する。この場合、「スパイスを入れる」の第9動作ブロック520i、第18調理ブロック530rは、「ルーを入れる」の第7動作ブロック520g、第17調理ブロック530qに対する「オプションブロック」として調理工程記憶部440に予め記憶されている。
 本変形例によれば、スケジュールに重要フラグを付与することによって、手の込んだ料理の調理プログラムを作成するので、ユーザに適した調理プログラムを提供できる。また、通常の料理の調理プログラムのうちの一部の動作ブロック520(調理ブロック530)を変更することによって、手の込んだ料理の調理プログラムが作成されるので、調理プログラムの変更を容易にできる。
(変形例2)
 これまでの調理ブロック選択処理部466は、種類数に応じた調理ブロック530の選択処理を実行してから、調理時間に応じた調理ブロック530の選択処理を実行している。しかしながら、調理ブロック選択処理部466は、これらの順番を入れかえて、調理時間に応じた調理ブロック530の選択処理を実行してから、種類数に応じた調理ブロック530の選択処理を実行してもよい。
 図28は、調理ブロック選択処理部466による処理の概要を示す。これは、ユーザの状況に合っていない調理ブロック530を除外した候補データを示す。調理ブロック選択処理部466は、候補データに残った調理ブロック530から複数のシーケンスを生成する。また、調理ブロック選択処理部466は、各シーケンスの調理時間を計算する。また、調理ブロック選択処理部466は、シーケンスの調理時間が、ユーザが調理可能な時間に近くなるようにシーケンスを選択する。
 ここでは、第1調理ブロック530a、2つの第5調理ブロック530e、第15調理ブロック530o、第5調理ブロック530e、第16調理ブロック530p、第17調理ブロック530q、第5調理ブロック530eが順に並べられたシーケンス(以下、「第3シーケンス」という)が選択される。また、第1調理ブロック530a、第5調理ブロック530e、第7調理ブロック530g、第15調理ブロック530o、第7調理ブロック530g、第16調理ブロック530p、第17調理ブロック530q、第7調理ブロック530gが順に並べられたシーケンス(以下、「第4シーケンス」という)も形成される。
 図29は、調理ブロック選択処理部466による処理の別の概要を示す。これは、図28に続く処理を示す。調理ブロック選択処理部466は、調理ブロック530を実行するために使用すべき器具または材料の情報をもとに、候補データにおいて使用される種類数が少なくなるように、候補データから調理ブロック530を選択する。これまでと同様の処理により、第3シーケンスが選択される。
 以上の構成による情報処理システム1000の動作を説明する。図30は、情報処理装置400による調理ブロック選択処理の手順を示すフローチャートである。これは、図24のステップS505に相当する。調理ブロック選択処理部466は、S502とS503を基に、ユーザが実行可能な調理ブロック530を選択する(S551)。調理ブロック選択処理部466は、S551とS504を基に、ユーザの状況に適した調理ブロック530を選択する(S552)。調理ブロック選択処理部466は、S552を基に、ユーザの調理可能な時間に適した調理ブロック530を選択する(S561)。調理ブロック選択処理部466は、S561を基に、用いる種類数が少ない調理ブロック530を選択する(S562)。
 本変形例によれば、調理ブロック530の選択の順番を入れかえるので、構成の自由度を向上できる。
(変形例3)
 図31は、情報処理システム1000の構成を示す。情報処理システム1000は、図5と比較して、調理機器200をさらに含む。調理機器200は、例えば、炊飯器、電子レンジ、自動調理機器である。調理機器200が前述の機器1100であってもよい。調理機器200は、通信機能を有し、ネットワーク300を介して情報処理装置400に接続される。情報処理装置400の出力部472は、通信部410、ネットワーク300を介して調理機器200に調理プログラムを送信する。その際、調理プログラムは、調理機器200が処理可能なフォーマットに変換されていてもよい。調理機器200は、調理プログラムを受信すると、調理プログラムを実行する。
 本変形例によれば、調理プログラムを調理機器200に出力し、調理機器200に調理プログラムを実行させるので、ユーザの利便性を向上できる。
(変形例4)
 これまでの状況取得部468は、図14(a)に示されるユーザ(母)のスケジュールを含む状況情報を取得したり、図14(b)に示されるユーザ(父)のスケジュールを含む状況情報を取得したりしている。ここでは、状況取得部468が両方のスケジュールを取得してもよい。
 図32(a)-(b)は、状況取得部468において取得された状況情報において示されるスケジュールを示す。図32(a)は、ユーザ(母)のスケジュールであり、17:30から18:30の期間に対して料理可能フラグが付与される。図32(b)は、ユーザ(父)のスケジュールであり、18:00から19:30の期間に対して料理可能フラグが付与され、19:30から20:00の期間に対して軽料理可能フラグが付与される。
 情報処理装置400の調理ブロック選択処理部466は、これらの状況情報を状況取得部468から受けつけると、ユーザ(母)のスケジュールにおける料理可能フラグの期間と、ユーザ(父)のスケジュールにおける料理可能フラグの期間と軽料理可能フラグの期間とを組み合わせる。その結果、17:30から19:30の料理可能フラグの期間と、19:30から20:00の軽料理可能フラグの期間とが形成される。ユーザ(母)のスケジュールとユーザ(父)のスケジュールとの間において料理可能フラグの期間と軽料理可能フラグの期間とが重複する場合、料理可能フラグの期間が優先されればよい。これに続く処理は、前述の(3)スケジュールに料理可能フラグと軽料理可能フラグとが含まれる場合での処理と同様であるので、ここでは説明を省略する。
(実施例2)
 実施例1における情報処理装置400は、調理レシピ候補の中から選択された1つの調理レシピ500に対して調理プログラムを作成している。実施例2における情報処理装置400は、調理レシピ候補に含まれた複数の調理レシピ500のそれぞれに対して調理プログラムを作成する。これにより、複数の調理プログラムの中から1つの調理プログラムが選択される。
 情報処理装置400のレシピ取得部460はこれまでと同様の調理レシピ候補を取得する。例えば、調理レシピ候補には、「肉じゃが、カレー、無水カレー」が含まれる。動作ブロック処理部462から調理プログラム作成処理部470は、肉じゃがの調理レシピ500、カレーの調理レシピ500、無水カレーの調理レシピ500のそれぞれに対して調理プログラムを作成する。出力部472は、肉じゃがの調理プログラム、カレーの調理プログラム、無水カレーの調理プログラムを通信部410、ネットワーク300経由で端末100に送信する。端末100は、肉じゃがの調理プログラム、カレーの調理プログラム、無水カレーの調理プログラムを受信すると、肉じゃがの肉じゃがの調理プログラム、カレーの調理プログラム、無水カレーの調理プログラムを表示部に表示する。ユーザは、表示された肉じゃがの調理プログラム、カレーの調理プログラム、無水カレーの調理プログラムを確認して、1つの調理プログラムを選択する。
 以上の構成による情報処理システム1000の動作を説明する。図33は、情報処理装置400による調理プログラムの出力手順を示すフローチャートである。レシピ取得部460は、食材情報を取得すると(S1)、調理レシピ記憶部430を参照して調理レシピ候補を取得する(S2)。動作ブロック処理部462から調理プログラム作成処理部470は調理工程作成処理を実行する(S5)。出力部472は調理プログラムを端末100に出力する(S6)。
 本実施例によれば、複数の調理プログラムを作成してユーザに提示するので、ユーザに調理プログラムを選択させやすくできる。
(実施例3)
 これまでは、1つの料理を調理する場合を想定し、情報処理装置400は、1つの料理に対応した調理プログラムを作成している。実施例3では、複数の料理をまとめて調理する場合を想定する。
 情報処理装置400のレシピ取得部460は、1つの調理レシピ500、例えばカレーの調理レシピ500に関する情報を既に取得している。動作ブロック処理部462から状況取得部468は、カレーの調理レシピ500をもとにカレーの調理プログラムを作成する。この状態においてユーザが別の料理、例えば副菜としてのポテトサラダを調理したい場合、レシピ取得部460は、ユーザの指示をもとに、別の調理レシピ500、例えばポテトサラダの調理レシピ500に関する情報を取得する。動作ブロック処理部462から状況取得部468は、ポテトサラダの調理レシピ500をもとにこれまでと同様の処理を実行する。
 ここで、ポテトサラダの調理レシピ500には、じゃがいもを「茹でる」ための動作ブロック520が含まれる。調理工程記憶部440に記憶されたデータベース(図10)では、「茹でる」ことに対応する第11動作ブロック520kには、「フライパン」の第5調理ブロック530eが紐づいている。しかしながら、「フライパン」の第5調理ブロック530eがカレーの調理プログラムで使用されている場合、調理ブロック選択処理部466は、ポテトサラダのための調理ブロック530を選択する場合に、「フライパン」の第5調理ブロック530eを使用しないように「フライパン」の第5調理ブロック530eを選択肢から外す。
 本実施例によれば、複数の調理プログラムを作成する際に、調理ブロック530を重複させないので、複数の調理プログラム間での器具のバッティングを回避できる。
(実施例4)
 これまでの各調理ブロック530には、3種類の情報、つまり調理ブロック530を実行するために使用すべき器具または材料の情報、調理ブロック530の実行に手間がかかるのか否かを示す情報、調理ブロック530に対応した調理時間の情報が含まれる。実施例4に係る各調理ブロック530には、前述の3種類の情報に加えて別の情報も含まれる。実施例4に係る情報処理システム1000、情報処理装置400は、図5、図6と同様のタイプである。ここでは、これまでとの差異を中心に説明する。
 図5の端末100における操作部は、料理に対する要求を示す情報(以下、「要求情報」という)をユーザから受けつける。要求情報は、料理の味を優先させるか否かの情報、料理の見た目を優先させるか否かの情報を含む。要求情報に含まれる情報はこれらに限定されない。端末100は、ネットワーク300を介して情報処理装置400に要求情報を送信する。要求情報は、状況情報とまとめて送信されてもよいし、状況情報とは別に送信されてもよい。情報処理装置400は、ネットワーク300を介して端末100から状況情報と要求情報を受信する。
 図6の情報処理装置400の調理工程記憶部440に記憶されるデータベースは、これまでと同様に複数種類の調理ブロック530を含む。各調理ブロック530は、前述のごとく、調理ブロック530を実行するために使用すべき器具または材料の情報、調理ブロック530の実行に手間がかかるのか否かを示す情報、調理ブロック530に対応した調理時間の情報を含む。本実施例に係る各調理ブロック530は、さらに、ユーザの調理失敗が少ないか否かを示す情報、完成した料理の見た目の良さに影響するか否かを示す情報も含む。
 ユーザの調理失敗が少ないか否かを示す情報では、例えば、調理失敗が少ない場合が「1」で示され、調理失敗が少なくない場合が「0」で示される。ユーザの調理失敗が少ないか否かを示す情報は、予め定められるが、ユーザが料理をするたびに更新されてもよい。例えば、料理終了後にユーザが成功または失敗の情報を端末100に入力すると、端末100は、実行した調理プログラムの情報と、成功または失敗の情報とを情報処理装置400に送信する。情報処理装置400の処理部420は、受信した調理プログラムに含まれた1以上の調理ブロック530を特定し、調理ブロック530毎に成功の回数と失敗の回数を管理する。処理部420は、成功の回数/(成功の回数+失敗の回数)を計算し、計算結果がしきい値以上である場合に、調理失敗が少ない場合であると決定する。また、処理部420は、計算結果がしきい値より小さい場合に、調理失敗が少なくない場合であると決定する。
 ユーザの調理失敗が少ないか否かを示す情報は、成功率などの数値で示されてもよい。成功率も、予め定められるが、ユーザが料理をするたびに更新されてもよい。例えば、時間が一般的な時間より所定時間超過したことを示す情報、または料理を焦がしてしまったことを示す情報をユーザが端末100に入力すると、端末100は、実行した調理プログラムの情報と、入力された情報とを情報処理装置400に送信する。情報処理装置400の処理部420は、受信した調理プログラムに含まれた1以上の調理ブロック530を特定し、各調理ブロック530に対して、時間が一般的な時間より所定時間オーバした場合に成功率を下げたり、料理を焦がしてしまった場合に成功率を下げたりする。
 完成した料理の見た目の良さに影響するか否かを示す情報では、例えば、完成した料理の見た目の良さに影響する場合が「1」で示され、完成した料理の見た目の良さに影響するしない場合が「0」で示される。完成した料理の見た目の良さに影響するか否かを示す情報は、予め定められる。
 状況取得部468は、これまで通り、通信部410、ネットワーク300を介して端末100から状況情報を取得する。また、状況取得部468は、通信部410、ネットワーク300を介して端末100から要求情報も取得する。
 調理ブロック選択処理部466は、前述のごとく、複数の動作ブロック520のそれぞれにおいて、1以上の調理ブロック530からユーザの状況に応じた調理ブロック530を選択する。これまでの実施例における調理ブロック選択処理部466は、計算した調理時間とユーザが調理可能な時間との差分を算出し、算出した差分が小さいシーケンスを選択する。これにより、1つの動作ブロック520に対して1つの調理ブロック530が選択される。一方、実施例4における調理ブロック選択処理部466は、計算した調理時間とユーザが調理可能な時間との差分を算出し、算出した差分が所定値以下のシーケンスを選択する。これにより、1つの動作ブロック520に対して複数の調理ブロック530が選択されることもある。
 調理ブロック選択処理部466は、状況取得部468において取得した要求情報をもとに調理ブロック530を選択する。例えば、要求情報において、料理の味を優先させることが示されている場合、調理ブロック選択処理部466は、各シーケンスに含まれる複数の調理ブロック530のそれぞれにおけるユーザの調理失敗が少ないか否かを示す情報を取得する。調理ブロック選択処理部466は、ユーザの調理失敗が少ないか否かを示す情報をシーケンス毎に積算する。積算値が大きくなるほど、ユーザの調理失敗が少なくなる。そのため、調理ブロック選択処理部466は、積算値が最大のシーケンスを選択する。ユーザの調理失敗が少ないか否かを示す情報が成功率により示されている場合も同様の処理がなされる。
 例えば、要求情報において、料理の見た目を優先させることが示されている場合、調理ブロック選択処理部466は、各シーケンスに含まれる複数の調理ブロック530のそれぞれにおける完成した料理の見た目の良さに影響するか否かを示す情報を取得する。調理ブロック選択処理部466は、完成した料理の見た目の良さに影響するか否かを示す情報をシーケンス毎に積算する。積算値が大きくなるほど、完成した料理の見た目の良さに影響する。そのため、調理ブロック選択処理部466は、積算値が最大のシーケンスを選択する。
 本変形例によれば、調理ブロック530にユーザの調理失敗が少ないか否かを示す情報が含まれるので、料理の味を優先させるためのシーケンスを選択できる。また、調理ブロック530に完成した料理の見た目の良さに影響するか否かを示す情報が含まれるので、料理の見た目を優先させるためのシーケンスを選択できる。また、要求情報を反映してシーケンスを選択するので、ユーザの目的も加味した調理工程を作成できる。
 本開示の一態様の概要は、次の通りである。本開示のある態様の情報処理方法は、複数の調理工程を取得するステップと、複数の調理工程のそれぞれに1以上のブロックを対応づけるステップと、ユーザの状況に関する情報を取得するステップと、複数の調理工程のそれぞれにおいて、1以上のブロックからユーザの状況に応じたブロックを選択するステップと、複数の調理工程のそれぞれで選択されたブロックを組み合わせてユーザの状況に応じた調理プログラムを作成するステップと、作成した調理プログラムを出力するステップと、を備える。
 複数の調理工程のそれぞれから調理に関する動作の情報を抽出するステップをさらに備えてもよい。対応づけるステップは、複数の調理工程のそれぞれに対して、調理に関する動作に応じた1以上のブロックを対応づける。
 調理に関する動作毎に、調理に関する動作と1以上のブロックとの対応関係が記憶されており、対応づけるステップは、対応関係をもとに、調理に関する動作に応じた1以上のブロックを取得してもよい。
 ユーザが使用可能な器具または材料に関する情報を取得するステップをさらに備えてもよい。各ブロックには、当該ブロックを実行するために使用すべき器具または材料の情報が含まれ、選択するステップは、ユーザが使用可能な器具または材料に関する情報と、ブロックを実行するために使用すべき器具または材料の情報とをもとに、ユーザが使用可能な器具または材料を使用するブロックを選択してもよい。
 各ブロックには、当該ブロックに対応した調理にユーザの関与の度合いを示す第1情報と、当該ブロックに対応した調理に必要とされるユーザの関与が第1情報での関与の度合いよりも小さいことを示す第2情報のいずれか1つが含まれ、ユーザの状況に関する情報には、ユーザが第1情報と第2情報のブロックを実行可能であることを示す第1フラグと、ユーザが第2情報のブロックを実行可能であるが、第1情報のブロックを実行できないことを示す第2フラグとの少なくとも1つが含まれ、選択するステップは、ユーザの状況に関する情報が第1フラグを示す場合に、第1情報を含むブロックを選択し、ユーザの状況に関する情報が第2フラグを示す場合に、第2情報を含むブロックを選択してもよい。
 選択するステップは、ブロックを実行するために使用すべき器具または材料の情報をもとに、使用すべき器具と材料とを含めた種類数を数え、複数の調理工程における種類数の合計が少ないブロックを選択してもよい。
 各ブロックには、当該ブロックに対応した調理時間の情報が含まれ、ユーザの状況に関する情報には、ユーザが調理可能な時間に関する情報が含まれ、選択するステップは、複数の調理工程のそれぞれに対するブロックを組み合わせた場合の調理時間とユーザが調理可能な時間の差分を算出し、算出した差分が小さいブロックを選択してもよい。
 各ブロックには、当該ブロックに対応した調理時間の情報が含まれ、ユーザの状況に関する情報には、ユーザが調理可能な時間に関する情報が含まれ、選択するステップは、複数の調理工程のそれぞれに対するブロックを組み合わせた場合の調理時間が、ユーザが調理可能な時間に近くなるようにブロックを選択してもよい。
 選択するステップは、ブロックを実行するために使用すべき器具または材料の情報をもとに、使用すべき器具と材料とを含めた種類数を数え、複数の調理工程における種類数の合計が少ないブロックを選択してもよい。
 本開示の別の態様は、情報処理装置である。この装置は、複数の調理工程を取得する第1取得部と、複数の調理工程のそれぞれに1以上のブロックを対応づける第1処理部と、ユーザの状況に関する情報を取得する第2取得部と、複数の調理工程のそれぞれにおいて、1以上のブロックからユーザの状況に応じたブロックを選択する第2処理部と、複数の調理工程のそれぞれで選択されたブロックを組み合わせてユーザの状況に応じた調理プログラムを作成する第3処理部と、作成した調理プログラムを出力する出力部と、を備える。
 以上、本開示を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
 本開示によれば、ユーザの状況に応じた調理レシピを提供できる。
 100 端末、 200 調理機器、 300 ネットワーク、 400 情報処理装置、 410 通信部、 420 処理部、 430 調理レシピ記憶部、 440 調理工程記憶部、 450 調理器具記憶部、 460 レシピ取得部、 462 動作ブロック処理部、 464 器具・材料取得部、 466 調理ブロック選択処理部、 468 状況取得部、 470 調理プログラム作成処理部、 472 出力部、 500,502 調理レシピ、 510 調理工程、 520 動作ブロック、 530 調理ブロック、 1000 情報処理システム。

Claims (11)

  1.  複数の調理工程を取得するステップと、
     前記複数の調理工程のそれぞれに1以上のブロックを対応づけるステップと、
     ユーザの状況に関する情報を取得するステップと、
     前記複数の調理工程のそれぞれにおいて、前記1以上のブロックから前記ユーザの状況に応じたブロックを選択するステップと、
     前記複数の調理工程のそれぞれで選択された前記ブロックを組み合わせて前記ユーザの状況に応じた調理プログラムを作成するステップと、
     作成した前記調理プログラムを出力するステップと、
     を備える情報処理方法。
  2.  前記複数の調理工程のそれぞれから調理に関する動作の情報を抽出するステップをさらに備え、
     前記対応づけるステップは、前記複数の調理工程のそれぞれに対して、前記調理に関する動作に応じた前記1以上のブロックを対応づける請求項1に記載の情報処理方法。
  3.  前記調理に関する動作毎に、前記調理に関する動作と前記1以上のブロックとの対応関係が記憶されており、
     前記対応づけるステップは、前記対応関係をもとに、前記調理に関する動作に応じた前記1以上のブロックを取得する請求項2に記載の情報処理方法。
  4.  前記ユーザが使用可能な器具または材料に関する情報を取得するステップをさらに備え、
     各ブロックには、当該ブロックを実行するために使用すべき器具または材料の情報が含まれ、
     前記選択するステップは、前記ユーザが使用可能な器具または材料に関する情報と、前記ブロックを実行するために使用すべき器具または材料の情報とをもとに、前記ユーザが使用可能な器具または材料を使用するブロックを選択する請求項3に記載の情報処理方法。
  5.  各ブロックには、当該ブロックに対応した調理に前記ユーザの関与の度合いを示す第1情報と、当該ブロックに対応した調理に必要とされる前記ユーザの関与が前記第1情報での関与の度合いよりも小さいことを示す第2情報のいずれか1つが含まれ、
     前記ユーザの状況に関する情報には、前記ユーザが前記第1情報と前記第2情報のブロックを実行可能であることを示す第1フラグと、前記ユーザが前記第2情報のブロックを実行可能であるが、前記第1情報のブロックを実行できないことを示す第2フラグとの少なくとも1つが含まれ、
     前記選択するステップは、前記ユーザの状況に関する情報が前記第1フラグを示す場合に、前記第1情報を含むブロックを選択し、前記ユーザの状況に関する情報が前記第2フラグを示す場合に、前記第2情報を含むブロックを選択する請求項4に記載の情報処理方法。
  6.  前記選択するステップは、前記ブロックを実行するために使用すべき器具または材料の情報をもとに、使用すべき器具と材料とを含めた種類数を数え、前記複数の調理工程における前記種類数の合計が少ないブロックを選択する請求項5に記載の情報処理方法。
  7.  各ブロックには、当該ブロックに対応した調理時間の情報が含まれ、
     前記ユーザの状況に関する情報には、前記ユーザが調理可能な時間に関する情報が含まれ、
     前記選択するステップは、前記複数の調理工程のそれぞれに対するブロックを組み合わせた場合の調理時間と前記ユーザが調理可能な時間の差分を算出し、算出した前記差分が小さいブロックを選択する請求項6に記載の情報処理方法。
  8.  各ブロックには、当該ブロックに対応した調理時間の情報が含まれ、
     前記ユーザの状況に関する情報には、前記ユーザが調理可能な時間に関する情報が含まれ、
     前記選択するステップは、前記複数の調理工程のそれぞれに対するブロックを組み合わせた場合の調理時間が、前記ユーザが調理可能な時間に近くなるようにブロックを選択する請求項5に記載の情報処理方法。
  9.  前記選択するステップは、前記ブロックを実行するために使用すべき器具または材料の情報をもとに、使用すべき器具と材料とを含めた種類数を数え、前記複数の調理工程における前記種類数の合計が少ないブロックを選択する請求項8に記載の情報処理方法。
  10.  複数の調理工程を取得する第1取得部と、
     前記複数の調理工程のそれぞれに1以上のブロックを対応づける第1処理部と、
     ユーザの状況に関する情報を取得する第2取得部と、
     前記複数の調理工程のそれぞれにおいて、前記1以上のブロックから前記ユーザの状況に応じたブロックを選択する第2処理部と、
     前記複数の調理工程のそれぞれで選択された前記ブロックを組み合わせて前記ユーザの状況に応じた調理プログラムを作成する第3処理部と、
     作成した前記調理プログラムを出力する出力部と、
     を備える情報処理装置。
  11.  複数の調理工程を取得するステップと、
     前記複数の調理工程のそれぞれに1以上のブロックを対応づけるステップと、
     ユーザの状況に関する情報を取得するステップと、
     前記複数の調理工程のそれぞれにおいて、前記1以上のブロックから前記ユーザの状況に応じたブロックを選択するステップと、
     前記複数の調理工程のそれぞれで選択された前記ブロックを組み合わせて前記ユーザの状況に応じた調理プログラムを作成するステップと、
     作成した前記調理プログラムを出力するステップとをコンピュータに実行させるためのプログラム。
PCT/JP2023/029813 2022-08-26 2023-08-18 情報処理方法、情報処理装置、プログラム WO2024043184A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022134871 2022-08-26
JP2022-134871 2022-08-26

Publications (1)

Publication Number Publication Date
WO2024043184A1 true WO2024043184A1 (ja) 2024-02-29

Family

ID=90013286

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/029813 WO2024043184A1 (ja) 2022-08-26 2023-08-18 情報処理方法、情報処理装置、プログラム

Country Status (1)

Country Link
WO (1) WO2024043184A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000279103A (ja) * 1999-03-29 2000-10-10 Osaka Gas Co Ltd 調理条件算出装置及び記録媒体
JP2004220414A (ja) * 2003-01-16 2004-08-05 Osaka Gas Co Ltd 調理レシピ提供システム
JP2006309628A (ja) * 2005-05-02 2006-11-09 Nippon Telegr & Teleph Corp <Ntt> クッキングナビ方法、及び通信端末装置
JP2009129336A (ja) * 2007-11-27 2009-06-11 Toshiba Corp 調理手順作成装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000279103A (ja) * 1999-03-29 2000-10-10 Osaka Gas Co Ltd 調理条件算出装置及び記録媒体
JP2004220414A (ja) * 2003-01-16 2004-08-05 Osaka Gas Co Ltd 調理レシピ提供システム
JP2006309628A (ja) * 2005-05-02 2006-11-09 Nippon Telegr & Teleph Corp <Ntt> クッキングナビ方法、及び通信端末装置
JP2009129336A (ja) * 2007-11-27 2009-06-11 Toshiba Corp 調理手順作成装置

Similar Documents

Publication Publication Date Title
CN113133681B (zh) 烹饪设备及其烹饪控制方法和装置、显示控制方法
AU2017220002B2 (en) Wirelessly controlled cooking system
JP5657066B1 (ja) 加熱調理器
US20100313768A1 (en) System for facilitating food preparation
KR101960824B1 (ko) 쿠킹 장치
CN104146586B (zh) 一种智能烹饪设备及智能烹饪设备的工作方法
US20170011649A1 (en) Recipe system
US20170188741A1 (en) Method and System for Acquiring Cooking Information
JP6568382B2 (ja) 複数のレシピの調理工程を下準備工程と仕上げ工程に分類する方法
JP2007128305A (ja) 調理支援装置
JP2006250510A (ja) 調理支援システム
JP2010192274A (ja) 加熱調理器
US20180267683A1 (en) Cooking system
CN108415311A (zh) 一种烹饪设备的控制方法和装置
CN110267541A (zh) 用于食物保持装置的产品分组和选择的系统和方法
JP2016031642A (ja) 情報提供システム、サーバ、端末装置、情報提供方法、および制御プログラム
JP5897088B2 (ja) 加熱調理器
Reichel et al. Mampf: An intelligent cooking agent for zoneless stoves
WO2024043184A1 (ja) 情報処理方法、情報処理装置、プログラム
WO2021235291A1 (ja) 調理習得支援システムおよび調理習得支援方法
JPH096751A (ja) 電子献立作成装置
WO2022215332A1 (ja) 情報処理方法、情報処理装置及びプログラム
WO2024116547A1 (ja) 情報処理方法、情報処理装置、プログラム
EP3591598A1 (en) Method for providing information to a user of a household appliance, device for providing information to a user of a household appliance and software program product
JP7336423B2 (ja) レシピ提案装置およびレシピ提案システム

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: 23857296

Country of ref document: EP

Kind code of ref document: A1