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

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

Info

Publication number
WO2017175356A1
WO2017175356A1 PCT/JP2016/061396 JP2016061396W WO2017175356A1 WO 2017175356 A1 WO2017175356 A1 WO 2017175356A1 JP 2016061396 W JP2016061396 W JP 2016061396W WO 2017175356 A1 WO2017175356 A1 WO 2017175356A1
Authority
WO
WIPO (PCT)
Prior art keywords
recipe
search
search condition
user
target
Prior art date
Application number
PCT/JP2016/061396
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 楽天株式会社
Priority to PCT/JP2016/061396 priority Critical patent/WO2017175356A1/ja
Priority to JP2017554622A priority patent/JP6275932B1/ja
Publication of WO2017175356A1 publication Critical patent/WO2017175356A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Definitions

  • the present invention relates to a technical field regarding an information processing apparatus, an information processing method, and a program for managing recipes. Specifically, the present invention relates to various processes for causing a user to post a recipe.
  • Patent Document 1 describes a technique for performing a search based on a relaxed search condition by deleting keywords that impose an unnecessarily severe condition from keywords extracted from an expression input by a user.
  • An information processing apparatus includes a search information acquisition unit that acquires a compound search condition including at least two or more keywords used to search for information related to a recipe, and a number of times to be searched for the compound search condition; A search unit that acquires the number of search results corresponding to the acquired composite search condition, and a support that determines a composite search condition that is a support target based on the acquired number of searches and the number of search results corresponding to the composite search condition.
  • the target determination unit and a recipe corresponding to the first partial search condition composed of only a part of the two or more keywords included in the composite search condition determined to be the support target are determined as the arrangement target recipe.
  • Arrangement target determination unit and some of the two or more keywords included in the composite search condition determined to be the support target A user management unit that identifies a recipe corresponding to the second partial search condition composed of remaining remaining keywords, identifies a user who has posted the identified recipe as a support request target user, and the identified support request
  • a transmission control unit that controls transmission of request information for requesting the target user to generate the determined recipe to be arranged and a recipe based on the second partial search condition; As a result, the potential needs of the user are taken up and the relatively deficient recipe is identified.
  • the support target determination unit of the information processing apparatus described above is based on a ratio of the number of search results to the number of searches of the composite search condition and a threshold specified according to the number of search results of the composite search condition. It may be determined whether or not the composite search condition is to be supported. As a result, it is possible to set a composite search condition in which the ratio of the number of search results of the composite search condition to the search target count is a predetermined value or less as the support target search condition.
  • the support target determination unit of the information processing apparatus described above depends on a ratio of the number of search results to the number of times of search of the composite search condition and the number of times of use of each recipe included in the search result corresponding to the composite search condition. Whether or not the composite search condition is to be supported may be determined based on the threshold value specified in the above. Thereby, a threshold value is specified according to the number of recipes that satisfy the user's request among the recipes included in the search result.
  • the support target determination unit of the information processing apparatus described above may specify a higher threshold value as the number of times of use of each recipe included in the search result corresponding to the complex search condition is smaller than the number of times of search.
  • the support target determining unit of the information processing apparatus described above may specify a higher threshold value as a change in the number of searches in the predetermined period of the complex search condition is larger. For example, when the change in the number of searches increases in a short time, it is estimated that the needs are rapidly increasing. Specifying a high threshold value in such a state increases the possibility that the complex search condition is selected as the support target search condition.
  • the support target determining unit of the information processing apparatus described above is configured such that a ratio of the number of search results to the number of searches corresponding to the complex search condition is equal to a ratio of the number of search results to the number of searches corresponding to the other complex search condition. Therefore, relatively few complex search conditions may be determined as the support target. Thereby, for example, when there are a plurality of similar composite search conditions, a composite search condition having a relatively small number of recipes is set as the support target search condition.
  • the support target determination unit of the information processing apparatus gives higher priority to a complex search condition having a larger number of search results corresponding to the first partial search condition, and the transmission control unit has a relatively higher priority. Control may be performed so that request information based on the composite search condition to which is assigned is preferentially transmitted. Thereby, the priority of the composite search condition in which many recipes that are candidates for the arrangement target recipe are searched increases. In other words, the number of arrangement target recipes increases.
  • the arrangement target determining unit of the information processing apparatus described above specifies a priority for each keyword included in the complex search condition determined as the support target, and includes the keyword having a relatively high specified priority.
  • a recipe corresponding to the first part search condition may be determined as an arrangement target recipe. Thereby, a recipe that already contains a keyword (for example, main ingredients) having a relatively high priority is extracted as an arrangement target recipe.
  • An information processing method includes a search condition acquisition step of acquiring a compound search condition including at least two or more keywords used to search for information related to a recipe, and the number of times searched for the compound search condition; A search step for acquiring the number of search results corresponding to the acquired composite search condition, and a support for determining a composite search condition that is a support target based on the acquired number of searches and the number of search results corresponding to the composite search condition
  • the recipe corresponding to the first partial search condition including only a part of the two or more keywords included in the complex search condition determined to be the support target and the target determination step is determined as the arrangement target recipe.
  • Arrangement target determination step and two or more keywords included in the complex search condition determined to be the support target A user management step of identifying a recipe corresponding to a second partial search condition configured by remaining keywords not included in the partial keyword and identifying a user who has posted the identified recipe as a support request target user; A transmission control step for controlling transmission of request information for requesting generation of a recipe based on the determined arrangement target recipe and the second partial search condition to the identified support request target user. It is a thing.
  • This information processing method provides an environment for expanding recipe information that is relatively insufficient for the estimated user needs.
  • the program according to the present invention is a program that causes an information processing apparatus to execute processing executed as the information processing method. The above information processing apparatus is realized by these programs.
  • a cooking recipe (hereinafter simply referred to as a recipe) will be described as an example of a recipe.
  • the recipe includes information such as cooking procedures, ingredients used, and cooking utensils.
  • a recipe site operated by the recipe management server 1 is taken as an example of a portal site for providing a service capable of searching a recipe according to a search query and posting a recipe.
  • the recipe management server 1 is connected to the user terminals 3, 3, 3,... Via the communication network 2 so that they can communicate with each other.
  • the recipe management server 1 includes a user DB (Database) 50 in which information about users is stored, a recipe DB 51 in which information about recipes is stored, a search DB 52 in which information on search queries and search results is stored, and various operations by the user Are connected to a history DB 53 storing the history of the web page and a web page DB 54 storing the web page data of various web pages constituting the recipe site.
  • DB Database
  • the recipe management server 1 corresponds to an embodiment of the information processing apparatus of the present invention.
  • the recipe management server 1 is an information processing apparatus that performs processing for managing a recipe posted by a user and processing for presenting a recipe according to a search query. A specific configuration will be described later.
  • the configuration of the communication network 2 is not particularly limited.
  • the Internet an intranet, an extranet, a LAN (Local Area Network), a CATV (Community Antenna TeleVision) communication network, a virtual private network (Virtual Private Network), a telephone line A network, a mobile communication network, a satellite communication network, etc. are assumed.
  • Various examples of transmission media constituting all or part of the communication network 2 are also envisaged.
  • IEEE Institute of Electrical and Electronics Engineers 1394, USB (Universal Serial Bus), power line carrier, telephone line, etc., infrared, IrDA (Infrared Data Association), Bluetooth (registered trademark), 802.11 wireless It can also be used wirelessly, such as mobile phone networks, satellite lines, and digital terrestrial networks.
  • the user terminal 3 is a terminal used by a user who posts a recipe to the recipe management server 1 and a user who searches and browses recipe information managed by the recipe management server 1. In the user terminal 3, various transmission / reception processes and display processes are executed as necessary.
  • the user terminal 3 is, for example, a PC (Personal Computer), a feature phone, a PDA (Personal Digital Assistant) having a communication function, or a smart device such as a smartphone or a tablet terminal.
  • the recipe management server 1 includes a recipe management unit 1a, a search information acquisition unit 1b, a search unit 1c, a support target determination unit 1d, an arrangement target determination unit 1e, a user management unit 1f, and a transmission control unit 1g. I have.
  • the recipe management unit 1a uses the recipe DB 51 to store recipe information posted by the user (recipe title, used ingredients, cooking method, category information to which the recipe belongs, and the like associated with identification information identifying the user who posted the recipe information). It manages by memorizing.
  • recipe information posted by the user recipe title, used ingredients, cooking method, category information to which the recipe belongs, and the like associated with identification information identifying the user who posted the recipe information. It manages by memorizing.
  • a recipe of “vegetable curry” posted by a user is a recipe belonging to the category “curry and rice”, and the ingredients used include “potato”, “carrot”, “onion”, “broccoli”, “tomato” , “Spinach”, seasonings (such as “salt” and “pepper”), and the like (for example, “carrero”) are associated and stored.
  • the recipe management unit 1a manages the creation report posted for the posted recipe for each recipe.
  • the created report shows the impression of the recipe when the other user actually cooks using the posted recipe (for example, the taste of the dish felt by the user who cooked, the ease of the cooking procedure, etc.) ).
  • the creation report is associated with each recipe in the recipe DB 51 and managed.
  • the recipe management part 1a performs the process regarding contribution of a recipe and a creation report, and the process regarding the provision of privilege with respect to the user who arranged the recipe.
  • An example of privilege grant will be described later.
  • the search information acquisition unit 1b executes a search information acquisition process for acquiring the number of times the search query has been used for the search.
  • the search unit 1c executes a search process for extracting a search result corresponding to the search query. At this time, the number of extracted recipes is acquired as the number of search results.
  • a keyword included in a search query is simply referred to as “keyword”.
  • examples of “keywords” include ingredients (such as “carrots” and “tomatoes”), but in addition to these, the names of dishes (such as “hamburger” and “curry”), seasonings, cooking methods and utensils, etc. May be a “keyword”.
  • a search query including a plurality of keywords is set as a “compound search condition”.
  • the search query “K1, K2, K3” including the keywords K1, K2, K3 is a complex search condition.
  • a search query including only a part of keywords in the complex search condition is set as “first partial search condition”, and the remaining keywords are set as “second partial search condition”.
  • the first partial search condition of the composite search condition “K1, K2, K3” is “K1,” “K2,” “K3,” “K1, K2,” “K1, K3,” “K2, K3. ”Can be listed.
  • a second partial search condition exists for each first partial search condition. For example, the second partial search condition for “K1” as the first partial search condition is “K2, K3”. The second partial search condition for “K1, K2” as the first partial search condition is “K3”.
  • examples other than search queries that enumerate keywords are also conceivable.
  • it is a sentence such as “Cooking C using Food A and Food B”.
  • “Food A”, “Food B”, and “Cook C” are keywords
  • “Food A, Cook C”, “Food A”, etc. are used as the first partial search condition.
  • the second partial search condition for “food A, dish C” as the first partial search condition is “food B”.
  • the recipe management server 1 may use a keyword DB in which keywords are registered.
  • the search unit 1c executes a search process using the first partial search condition and a search process using the second partial search condition in various processes to be described later.
  • the support target determining unit 1d determines a search condition (support target search condition) to be a support target from the complex search conditions according to the number of search queries and the number of search results.
  • the support target search condition is a search query that is a target of support for increasing the number of search results. For example, the number of search results is small with respect to the number of times to be searched (that is, a search query having a need). Regardless of the number of recipes to be extracted, the search query or the like. Details will be described later.
  • the support target determination unit 1d may give priority to the composite search condition and select a composite search condition having a high priority as the support target search condition. In addition, when there are a plurality of determined support target search conditions, a priority for determining the order of subsequent processing may be given.
  • the arrangement target determining unit 1e selects the recipe extracted by the search process using the first partial search condition of the support target search condition (the support for increasing the number of search results among the complex search conditions).
  • the process of determining as the “arrangement target recipe” is executed.
  • the arrangement target recipe is a recipe that is an arrangement target when the support request target user selected in the process described later is requested to arrange the recipe. Specifically, it is assumed that the composite search condition “K1, K2, K3” is selected as the support target search condition. Then, it is assumed that the recipes “R1” and “R2” are extracted by the search process using “K1, K2” as the first partial search condition.
  • the recipes “R1” and “R2” are, for example, recipes that include the keywords “K1” and “K2” but do not include “K3”. That is, it is a recipe that is not extracted as a search result based on the support target search condition but is extracted as a search result based on the first partial search condition.
  • Such recipes “R1” and “R2” are determined as recipes to be arranged.
  • the user management unit 1 f manages the user information by storing it in the user DB 50. Also, a user specifying process for specifying the user who has posted the recipe extracted by the search process using the “second partial search condition” of the support target search condition as the “support request target user” is executed. Specifically, it is assumed that the composite search condition “K1, K2, K3” is selected as the support target search condition. When “K1, K2” as the first partial search condition is selected, the second partial search condition is “K3”, and it is assumed that recipes “R3” and “R4” are extracted based on “K3”. The recipes “R3” and “R4” are, for example, recipes that include the keyword “K3” but do not include “K1” and “K2”.
  • a user who has posted such a recipe “R3” or a user who has posted “R4” is selected as a support request target user.
  • the user who has posted the recipes “R3” and “R4” may be good at cooking about the keyword “K3”. That is, when the keyword “K3” is an ingredient, the user is assumed to be good at cooking using the ingredient “K3”. When the keyword “K3” is an appliance, the cooking appliance “K3” is changed. It is a user who is presumed to be good at cooking.
  • the user specifying process is a process for specifying such a user as a support request target user. Some specific examples of selection of the support request target user will be described later.
  • the transmission control unit 1g transmits information for requesting generation of a recipe extracted by the second partial search condition to the support request target user. For example, it is information for requesting posting of an “arrangement recipe” in which the second partial search condition is added to the arrangement target recipe. In the following description, such information is referred to as “arrangement request information”.
  • arrangement request information For an assistance request target user (user who has posted recipes “R3” and “R4”), an arrangement recipe in which the keyword “K3” is added to the recipes “R1” and “R2”.
  • Information for requesting posting is the arrangement request information.
  • the arrangement request information may be notified to the support request target user by e-mail. Moreover, you may display the message for notifying arrangement request information on a recipe site. Furthermore, notification by push notification may be performed for a user who uses a dedicated application for browsing the recipe site.
  • the recipe management server 1 is provided with various units necessary for realizing a function of transmitting and receiving various types of information and an authentication process for a user login operation.
  • the authentication process is a process of collating the user ID (Identification) and password as login information transmitted from the user terminal 3 with the authentication information stored in the user DB 50.
  • FIG. 3 is a diagram illustrating hardware of the recipe management server 1 and the user terminal 3 shown in FIG. 1, and hardware of the user DB 50, the recipe DB 51, the search DB 52, the history DB 53, and the web page DB 54.
  • a CPU (Central Processing Unit) 101 of a computer device in each server, terminal, or DB is loaded into a RAM (Random Access Memory) 103 from a program stored in a ROM (Read Only Memory) 102 or a storage unit 108. Various processes are executed according to the program.
  • the RAM 103 also appropriately stores data necessary for the CPU 101 to execute various processes.
  • the CPU 101, ROM 102, and RAM 103 are connected to each other via a bus 104.
  • the input / output interface 105 is also connected to the bus 104.
  • the input / output interface 105 includes an input device 106 composed of a keyboard, mouse, touch panel, etc., a display composed of a liquid crystal display (LCD), a cathode ray tube (CRT), an organic EL (electroluminescence) panel, and an output composed of a speaker.
  • a device 107, a storage unit 108 including an HDD (Hard Disk Drive), a flash memory device, and the like, and a communication unit 109 that performs communication processing and communication between devices via the communication network 2 are connected.
  • a media drive 110 is also connected to the input / output interface 105 as necessary, and a removable medium 111 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and information can be written to the removable medium 111. Reading is performed.
  • a removable medium 111 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and information can be written to the removable medium 111. Reading is performed.
  • each information processing apparatus which comprises the recipe management server 1, the user terminal 3, the user DB 50, the recipe DB 51, the search DB 52, the history DB 53, and the web page DB 54 is configured by a single computer apparatus as shown in FIG. Not limited to this, it may be configured by a plurality of computerized computer devices.
  • the plurality of computer devices may be systemized by a LAN or the like, or may be arranged in a remote place in a communicable state by a VPN (Virtual Private Network) using the Internet or the like.
  • Each function as the recipe management server 1 is a function realized by processing executed by the CPU 101 in accordance with the program in the information processing apparatus. However, all or part of the processing of each configuration described below may be realized by hardware. Further, when each function is realized by software, each function need not be realized by an independent program. Processing of a plurality of functions may be executed by one program, or one function may be realized by cooperation of a plurality of program modules.
  • Each DB managed by the recipe management server 1 will be described.
  • Each DB may be realized in any form as long as the recipe management server 1 is accessible.
  • all the DBs may be formed in the storage unit in the same system as the recipe management server 1, or a part or all of each DB may be separated, or a computer system such as a remote place May be provided.
  • each DB does not need to be formed in one device (for example, one HDD).
  • Each DB does not need to be configured as one DB.
  • information stored as the user DB 50 may be stored and managed by a plurality of user DBs (for example, a login user DB and a transaction user DB).
  • Each DB described below is merely an example of a storage unit for information related to the processing of the embodiment in the form of one DB.
  • the user DB 50 stores information on users who receive services provided by the recipe management server 1. For example, personal information such as a login password, name, age, sex, and mail address is associated with one user ID (Identification) that can identify one user and stored. Moreover, preference information for each user may be stored.
  • personal information such as a login password, name, age, sex, and mail address is associated with one user ID (Identification) that can identify one user and stored.
  • preference information for each user may be stored.
  • the preference information is information on the user's favorite ingredients (favorable ingredients) or disliked ingredients (non-favorable ingredients) determined by the recipe management server 1 according to the behavior such as search and browsing of recipe information and cooking information by the user,
  • the preference information may be information arbitrarily registered by the user.
  • the preference information is used when the user performs a recipe search.
  • the recipe DB 51 is a DB that stores recipe information posted by the user. Specifically, for each recipe ID that can identify each recipe, a user ID that identifies the user who posted the recipe, post date information, category information to which the recipe belongs, and information on ingredients used for the recipe (such as quantity) ), Recipe cooking procedures, image information such as cooking images (finished cooking images and cooking images), and other users who actually used the recipe (created dishes)
  • the created report ID for specifying the created report is linked and stored.
  • URL Uniform Resource Locator
  • the recipe DB 51 stores information on creation reports posted for each recipe. As the information of the created report, text data indicating the report contents, cooked dish images, user IDs that can identify posters, posting date information, and the like are stored.
  • the arrangement recipe information described above may be stored as arrangement recipe information separately from the creation report, or the report content of the creation report may be analyzed to handle the creation report as arrangement recipe information. Specifically, if the report contains a sentence that says “It has become even more delicious when tomatoes are added.”, This report is handled as an arrangement recipe. That is, when “tomato” is specified as the second partial search condition, the posting user of the arrangement recipe may be a user who is good at a recipe using “tomato” (the above-described support request target user). . At this time, by memorizing that the recipe is an arrangement recipe related to the keyword “tomato”, it is not necessary to analyze the contents of the arrangement recipe every time the support request target user is searched.
  • the search DB 52 is a DB that stores search results corresponding to the search query. Specifically, multiple recipes are linked and stored as search results in response to a search query such as a dish name such as “curry rice” or “hamburg” or an ingredient name such as “mushroom” or “tomato”.
  • a search process is executed according to a search query designated by the user, and the search result extracted as a result is linked to the search query and stored in the search DB 52.
  • a search process using a search keyword may be executed periodically in advance, and the search result extracted as a result may be associated with the search keyword and stored in the search DB 52.
  • the history DB 53 stores various histories related to user operations. Specifically, for each operation performed by the user, a user ID, a history ID, an operation type, an operation target (a recipe ID that becomes a browsing target if “recipe browsing operation” or “recipe printing operation”, “web page” If it is “operation to browse”, information specifying the target web page, if “post operation”, posted recipe ID or creation report ID, if “user information change operation”, it will be changed. Item name, etc.), operation date and time, operation result (if “login operation”, login permission / inhibition, “user information change operation”, changeability / notice, etc. are stored.
  • the web page DB 54 stores data of various web pages provided to the user by the recipe management server 1. Specifically, it is web page data such as a recipe search page, a special feature page, a search result page, a recipe detail page, and a user page.
  • web page data such as a recipe search page, a special feature page, a search result page, a recipe detail page, and a user page.
  • URL Uniform Resource Locator
  • the arrangement information is information that describes the arrangement mode (position, size, color, etc.) of each object on the web page.
  • the information stored in the web page DB 54 may be stored in a structured document file such as HTML (Hyper Text Markup Language) or XHTML (Extensible HyperText Markup Language).
  • step S101 the user terminal 3 executes a login screen information request process according to a login screen display operation (that is, an operation for displaying a login screen) by the user.
  • a login screen display operation that is, an operation for displaying a login screen
  • the recipe management server 1 executes a login screen information transmission process in step S201. Thereby, for example, a web page corresponding to the login screen information (web page data) of the recipe site received from the recipe management server 1 is displayed on the user terminal 3.
  • the recipe management server 1 may store the fact that the login screen is displayed on the user terminal 3 as a history (that is, a browsing history of the login screen).
  • step S102 the user terminal 3 executes login information transmission processing for transmitting login information (user ID and login password) according to the user input operation to the recipe management server 1.
  • the recipe management server 1 executes an authentication process in step S202, and executes a process of storing a login history in the subsequent step S203, and the authentication result in step S204. Execute notification processing. Specifically, the recipe management server 1 compares the user ID and password input on the user terminal 3 with the information stored in the user DB 50 to determine whether or not the user can log in, and records the login availability information as a history. Information is stored in the history DB 53, and the login permission / inhibition information is notified to the user terminal 3 as an authentication result. In addition, while transmitting an authentication result to the user terminal 3, you may transmit the web page data of the top page of a recipe site. Thereby, user authentication is performed and the top page of the recipe site is displayed on the user terminal 3.
  • step S202 the series of flows shown in FIG. 4 shows a case where it is determined that login is possible in the authentication process of step S202. If it is determined in step S202 that login is not possible, the user terminal 3 executes the process of step S102 again, and the recipe management server 1 executes the process of step S202 accordingly.
  • step S ⁇ b> 103 the user terminal 3 executes a search query transmission process for transmitting a search query for searching for a recipe input by the user to the recipe management server 1.
  • a search query transmission process for transmitting a search query for searching for a recipe input by the user to the recipe management server 1.
  • a part of the recipe name designated by the user and the ingredients used are transmitted to the recipe management server 1 as information for extracting the search result.
  • the recipe management server 1 that has received the search query executes a search process for extracting (acquiring) a recipe search result based on the search query and the information stored in the search DB 52 in step S205. Further, the recipe management server 1 executes a search history storage process for storing the search history in the history DB 53 in step S206. In addition, when managing the frequency
  • step S207 the recipe management server 1 executes a presentation process for displaying the search result extracted in step S205 on the user terminal 3.
  • a search result including presentation priority information is transmitted to the user terminal 3.
  • the search result received from the recipe management server 1 is presented at the user terminal 3.
  • the user terminal 3 executes a recipe selection process in step S104.
  • the recipe selection process the recipe management server 1 is notified of which recipe the recipe selected by the user is as selected recipe information. This process is a process for requesting the web page data of the detail page of the selected recipe.
  • the recipe management server 1 that has received the selected recipe information executes a process of storing the browsing history of the recipe detail page in the history DB 53 in step S208, and in the subsequent step S209, the detailed information of the selected recipe is described.
  • a detailed information transmission process for transmitting web page data is executed.
  • the detailed information is, for example, information on the ingredients used for the recipe, cooking procedures, cooking utensil information, and the like.
  • information on a creation report posted for the selected recipe may be included.
  • step S ⁇ b> 105 when an operation for printing detailed recipe information is performed as an operation for which the use of a recipe is estimated, in step S ⁇ b> 105, the user terminal 3 transmits information regarding the printing operation to the recipe management server. 1 is executed.
  • the information regarding the printing operation includes the user ID of the user who performed the operation and the recipe ID of the recipe to be printed.
  • step S210 the recipe management server 1 that has received the print operation information executes a use history storage process of storing a history indicating that the recipe has been used in the history DB 53.
  • a use history storage process of storing a history indicating that the recipe has been used in the history DB 53.
  • the operation in which the use of the recipe is estimated for example, a creation report posting operation, an operation of registering in a favorite recipe, a predetermined time of recipe detailed information (for example, 80% of the cooking time)
  • the above browsing operations can be listed. Any of these operations is an operation in which use of a recipe by the user (that is, actual cooking has been performed) is estimated.
  • step S301 the recipe management server 1 executes a process for acquiring a composite search condition.
  • the composite search condition acquisition process is shown in FIG.
  • the compound search condition is a search query including two or more keywords, and is a search query such as “tomato, carrot” and “hamburger using tomato” as described above.
  • the recipe management server 1 executes a process of acquiring one search query (a search query that is not necessarily a complex search condition) used for the search within a predetermined period from the history DB 53. To do.
  • the recipe management server 1 executes a process of determining whether or not a combined search condition is satisfied (that is, whether or not two or more keywords are included) for one acquired search query.
  • the recipe management server 1 selects the search query as a processing target complex search condition in step S403.
  • the processing target indicates that it is a target of each subsequent process shown in FIG.
  • step S404 determines in step S404 whether the acquisition of the search query has ended (that is, another search searched for within a predetermined period).
  • a process for determining whether there is a query is executed.
  • the recipe management server 1 in FIG. The series of processing shown is completed.
  • the recipe management server 1 executes the process of step S401 again.
  • the recipe management server 1 that has acquired one or a plurality of complex search conditions (selected as complex search conditions to be processed in step S403) acquires the number of searches as search information for each complex search condition. Execute the process. As described above, the number of times to be searched represents the number of times that the complex search condition is used as a search query. The number of searches is acquired from the history DB 53. Further, when the number of searches for each search query is stored in the search DB 52, it may be acquired from the search DB 52.
  • the number of searches may be added for each search request. That is, even if the same user performs a plurality of searches using the same search query, all are added to the number of searches.
  • the number of searched times is the number of search requests by a unique user (a non-overlapping user, in other words, a user with a different user ID) for each unit time (unit period) (the search request by the same user is 1).
  • the number of times counted as times That is, assuming that the unit time is one week, even if the same user performs a search using the same search query five times a week, the number of searches is added as one.
  • the number of searches is added as three times. Further, the number of searches may be added up to a maximum of once for each user. That is, a search using the same search query by the same user is performed once no matter how many times. In other words, a recipe having a search count of 100 has been viewed by 100 different users so far.
  • step S303 the recipe management server 1 that has acquired the number of times to be searched executes a process of acquiring the number of search results for each complex search condition to be processed.
  • the number of search results is the number of recipes extracted according to the search query. That is, in step S303, search processing is performed for each complex search condition, and processing for acquiring the number of extracted search recipes is executed.
  • the number of search results for each search query is stored in the search DB 52, it may be acquired from the search DB 52.
  • the recipe management server 1 By executing each process of steps S301 to S303, the recipe management server 1 acquires the number of searches and the number of search results for each acquired composite search condition. Subsequently, in step S304, the recipe management server 1 executes a process of determining a support target search condition according to the number of searches for each complex search condition and the number of search results.
  • the support target search condition determination process will be described with reference to FIG.
  • the recipe management server 1 first selects one complex search condition as a process target in step S501. Subsequently, in step S502, the recipe management server 1 determines whether or not the number of search results with respect to the number of searches of the selected composite search condition is equal to or less than a predetermined ratio (threshold). If it is determined that the number of search results with respect to the number of searches is less than or equal to a predetermined ratio, the recipe management server 1 determines the selected composite search condition as a support target search condition in step S503. That is, a composite search condition having a smaller number of search results than the number of times the composite search condition is used as a search query is determined as a support target search condition with priority.
  • a predetermined ratio threshold
  • step S504 the recipe management server 1 determines whether or not each process of steps S501 to S503 has been executed for the composite search condition to be processed. If an unprocessed composite search condition remains, the recipe management server 1 executes the process of step S501 again. On the other hand, when each process is executed with respect to all the complex search conditions to be processed, the recipe management server 1 ends the series of processes shown in FIG.
  • the threshold of the predetermined ratio used in the determination in step S502 may be the same threshold regardless of the complex search condition, or may be a threshold that is changed according to the complex search condition.
  • the threshold of the predetermined ratio is relaxed (decreased) in the composite search condition having a relatively large number of searches.
  • the threshold of the predetermined ratio may be made stricter (larger) as the ratio of the number of times of use to the number of times of search corresponding to the composite search condition is smaller.
  • the number of times of use is the number of times subject to the use operation such as the printing operation described above.
  • the threshold of a predetermined ratio is increased.
  • the predetermined ratio threshold becomes stricter (larger) as the change in the number of searches per unit period increases.
  • the threshold value of a predetermined ratio is set strict (large) in order to be easily supported.
  • the user is starting to recognize that a recipe that satisfies the user is not extracted for the complex search condition in which the change in the number of searches per unit period is small.
  • the recipe management server 1 that has determined the composite search condition to be supported executes processing for determining a recipe to be arranged.
  • the recipe determined as an arrangement target in this process is a recipe that is not currently extracted by the search using the previous complex search condition, and is a recipe that is desired to be newly extracted by a future search.
  • the arrangement target recipe determination process will be specifically described with reference to FIG.
  • the recipe management server 1 executes a process of selecting one of the first partial search conditions including a keyword having a large number of search results. More specifically, for example, it is assumed that a search query “K1, K2, K3” including keywords K1, K2, K3 is selected as a complex search condition to be supported.
  • the number of recipes (number of search results) extracted using the keyword K1 as a search query is 100
  • the number of recipes extracted using the keyword K2 as a search query is 200
  • the number of recipes extracted using the keyword K3 as a search query is 300.
  • the keyword having a large number of search results is K3.
  • the first partial search condition for the search query “K1, K2, K3” is “K1”, “K2”, “K3”, “K1, K2”, “K1, K3”, “K2, K3”.
  • the first partial search conditions including the keyword K3 with a large number of search results are the three types “K3”, “K1, K3”, and “K2, K3”. That is, in the process of step S601, it becomes the process which selects one from these three types of 1st partial search conditions.
  • description will be made using this specific example.
  • step S602 the recipe management server 1 performs a recipe search using the first partial search condition “K3”. That is, 300 recipes are extracted as search results.
  • step S603 the recipe management server 1 selects a recipe that satisfies the first partial search condition “K3” and does not satisfy “K1” and “K2” from 300 recipes extracted as search results, and arranges the recipe. Execute the recipe process. As a result, a recipe that satisfies only the first partial search condition of the composite search condition is extracted as an arrangement target recipe, except for a recipe that is currently extracted by a search using the composite search condition.
  • step S604 the recipe management server 1 determines whether or not there is an unprocessed first partial search condition including keywords with a large number of search results. If there is an unprocessed one, the process of step S601 is performed. Run again. If there is no unprocessed item, the recipe management server 1 ends the series of processes shown in FIG.
  • steps S601 to S604 are executed by the number of support target search conditions.
  • step S306 the recipe management server 1 that has determined the arrangement target recipe executes a process of specifying a user who is a target of the support request (that is, a user who requests the support).
  • This process is a process for identifying a user who is expected to post an arrangement recipe based on the arrangement target recipe.
  • the recipe management server 1 selects one of the recipes to be arranged in step S701. For example, when 300 recipes (recipes R3001 to R3300) extracted by the search process using the keyword “K3” are selected as arrangement target recipes, one (for example, recipe R3001) is selected from the recipes.
  • step S702 the recipe management server 1 acquires a corresponding second partial search condition.
  • the corresponding second partial search condition is that the first partial search condition used for extracting the selected arrangement target recipe R3001 is the first partial search condition “K3” of the support target search condition “K1, K2, K3”.
  • “K1, K2” is the second partial search condition.
  • the recipe management server 1 searches for a posting user who has posted a recipe that uses a keyword as the second partial search condition or an arrangement recipe that arranges an existing recipe.
  • recipes that do not use “tomato” and “cheese” as ingredients are sometimes extracted by the keyword “tomato, cheese”.
  • a creation report has been posted for a recipe such as “Ocean's Seafood Curry” (a recipe that does not use “Tomato” or “Cheese”). This is the case when the report contents such as “It was very delicious.” That is, although the recipe does not originally contain “tomato” or “cheese” as the used ingredients, information on the recipe is posted as a creation report.
  • Such a creation report is extracted as certain kinds of recipe information (arrangement recipe information).
  • step S703 is a process of searching for a posting user who has posted a recipe (including a creation report) that uses the keywords “K1” and “K2” as the second partial search condition as the arranged ingredients.
  • a posting user who uses “tomato” and “cheese” as the second partial search condition as arrangement foods is likely to be skilled in arranging existing dishes using the arrangement foods.
  • step S704 the recipe management server 1 executes a process of specifying the searched posting user as a support request target user. That is, a posting user who has posted an arrangement recipe (creation report) extracted as a search result is acquired as a support request target user.
  • step S705 the recipe management server 1 that has acquired the support request target user determines whether there is an unprocessed arrangement target recipe. If there is an unprocessed arrangement target recipe, the recipe management server 1 executes the processes of steps S701 to S704 again. When there is no unprocessed arrangement target recipe, the recipe management server 1 ends the series of processes shown in FIG.
  • step S801 the recipe management server 1 selects one of the arrangement target recipes, and acquires the corresponding second partial search condition in step S802. These processes are the same as the processes in steps S701 and S702 of FIG.
  • step S803 the recipe management server 1 performs a recipe search using the keywords “tomato” and “cheese” as the second partial search condition, and acquires a posting user.
  • the recipe management server 1 performs the process which specifies the posting user searched in subsequent step S804 as a support request object user, and performs the process which determines whether there exists an unprocessed arrangement
  • the processes in steps S804 and S805 are the same as the processes in steps S704 and S705 in FIG.
  • the recipe management server 1 executes each process of steps S901 to S903. This process is the same as the processes in steps S801 to S803 in FIG.
  • the recipe management server 1 that has searched for a posting user of a recipe that includes a keyword as the second partial search condition executes a process of identifying a posting user who has a track record among the posting users as a support request target user. .
  • step S905 the recipe management server 1 that has completed the identification of the support request target user executes a process of determining whether or not there is an unprocessed arrangement target recipe.
  • the process in step S905 is the same as that in steps S705 and S805.
  • the recipe management server 1 that has identified the support request target user by executing any one of the processes in FIGS. 9 to 11 executes a process for notifying the arrangement request information in step S307.
  • the arrangement request information includes at least information on the arrangement target recipe, the second partial search condition, and the support request target user. For example, would you like to arrange recipes R3001, R3002, etc. using ““ Tomato ”and“ Cheese ”for the support request target user? "Send message.” As described above, the arrangement request information is notified by e-mail or display on a recipe site.
  • “Cheese” is selected, and “carrot salad” extracted by the search using the first partial search condition “carrot” is selected as an arrangement target recipe, and “tomato” and “cheese” are used as the second partial search condition.
  • the recipe management server 1 executes processing for acquiring a search query in step S1001. Subsequently, in step S1002, the recipe management server 1 determines whether or not the acquired search query is a complex search condition, and then acquires the number of searches in step S1003 and acquires the number of uses in step S1004. Execute. Through these processes, the number of searches and the number of uses for the composite search condition are acquired.
  • step S1005 the recipe management server 1 executes a process of determining whether or not the number of times of use with respect to the number of times of search is equal to or less than a predetermined value. That is, when the ratio of the number of times of use to the number of times of search is equal to or greater than a predetermined threshold, it is assumed that the user is satisfied with the search results to some extent, and is therefore intended to be excluded from the complex search conditions to be processed. is doing.
  • step S1005 If it is determined in step S1005 that the ratio of the number of times of use to the number of times of search is equal to or less than a predetermined threshold, the recipe management server 1 executes a process of selecting the composite search condition as a processing target in step S1006.
  • step S1007 After executing the process of step S1006, or after determining in step S1002 that the search query is not a complex search condition, or after determining that the ratio of the number of times of use to the number of times of search is not less than a predetermined threshold, the recipe management server In step S1007, it is determined whether acquisition of the search query is completed.
  • the recipe management server 1 executes the process of step S1001 again. On the other hand, when it is determined that the acquisition of the search query is finished, the recipe management server 1 finishes the series of processes shown in FIG.
  • step S302 in FIG. 5 is unnecessary because it has already been executed in step S1003 in FIG.
  • Support target search condition determination process second example In the support target search condition determination process in the first example of the previous batch process, an example has been shown in which a complex search condition in which the number of search results with respect to the number of searches is equal to or less than a predetermined ratio is set as the support target search condition. In the second example of the support target search condition determination process, a composite search condition having a relatively small ratio of the number of search results to the number of searches among similar composite search conditions is set as the support target search condition.
  • step S1101 the recipe management server 1 selects a composite search condition that is a processing target. This process is the same as the process in step S501 of FIG. Subsequently, the recipe management server 1 acquires similar complex search conditions in step S1102. Similar complex search conditions will be described later.
  • step S1103 the recipe management server 1 compares the ratio of the number of search results with respect to the number of searches of the complex search condition that is the processing target with the ratio of the number of search results with respect to the number of searches of the similar complex search condition. To determine whether or not the number is relatively small. If it is determined that the number is relatively small, the recipe management server 1 determines the support target search condition in step S1104. In other words, even if the ratio of the number of search results to the number of search times of the complex search condition that is the processing target is absolutely small, if the similar complex search condition has the same level, it is not necessarily the processing target. There is no need to support complex search conditions.
  • step S1104 After executing step S1104 or determining that it is relatively small in step S1103, the recipe management server 1 performs each process of steps S1101 to S1104 on the combined search condition to be processed in step S1104. It is determined whether or not it has been executed.
  • the processes in steps S1104 and S1105 are the same as the processes in steps S503 and S504 in FIG.
  • the search query “K1, K2, K3” and the search query “K1, K4, K5, K6” include three keywords, respectively, and thus have similar complex search conditions. It is desirable that search queries including the same keyword “K1” have the same number of search results. If the number of recipes extracted as recipes including “tomatoes” and “potatoes” is significantly less than the number of recipes extracted as recipes including “tomatoes” and “carrots”, the recipe presented to the user who performed the search Is less likely to present recipes that use both “tomatoes” and “potatoes” as ingredients. Such a situation is undesirable. However, depending on how some keywords are selected, it may be unavoidable that the number of search results is not the same.
  • search query “K1, K2, K3” the keywords “K1” and “K2” are frequently used (for example, frequently used as recipe ingredients) (hereinafter “high” If the keyword “K3” is an ingredient with low usage frequency (hereinafter referred to as “low frequency”), similar search conditions for the search query “K1, K2, K3” are as follows: Search queries “K1 (high frequency), K2 (high frequency), K4 (high frequency)” and search queries “K1 (high frequency), K3 (low frequency), K5 (low frequency)”, and the like.
  • the number of search results of the search queries “K1 (high frequency), K2 (high frequency), K4 (high frequency)” is the number of search queries “K1 (high frequency), K3 (low frequency), K5 (low frequency)”. It tends to be more than the number of search results. That is, since the search queries “K1 (high frequency), K3 (low frequency), K5 (low frequency)” include the low frequency keywords “K3” and “K5”, even if the number of search results is small. May be reasonable.
  • the search queries “K1 (high frequency), K2 (high frequency), K4 (high frequency)” are preferably high in the number of search results because all the included keywords are high frequency.
  • the search query “K1 (high frequency), K3 (low frequency), K5 (low frequency)” is assumed to be similar to the search query “K1 (high frequency), K2 (high frequency), K3 (low frequency)”.
  • the appearance frequency of keywords is different, it is not necessarily appropriate to enhance the number of search results in order to make the number of search results the same.
  • low-frequency keywords are included, there is a possibility that even if the number of search results is small, there is no help for it.
  • Keywords that are frequently used as some keywords are part of the keywords.
  • a search query including some keywords (“K1” and “K2”.
  • K1 (high frequency), K2 (high frequency), K4 (high frequency)” and search queries “K1 (high frequency), K2 (high frequency), K5 (low frequency)”, and the like.
  • Keywords that can be easily combined may be acquired from a dedicated DB, or may be extracted from a search history (that is, a combination having a large number of search results is extracted). Moreover, it is good also considering the keyword which is easy to be contained in a recipe title as a one part keyword.
  • a composite search condition that desirably has the same number of search results is selected as a comparison target, and relative to the comparison target.
  • the complex search condition is determined as a search condition that needs to be enhanced, and the recipe is enhanced in the subsequent processing.
  • the search query “K1, K2, K4”, the search query “K1, K5, K6” and the like partially match the search query “K1, K2, K3”.
  • the complex search condition is similar.
  • the number of keywords for performing an AND search is increased, the number of search results is reduced.
  • a search with keywords added is performed.
  • the number of original search results is small, the number of search results extracted by the refined search is further reduced, which satisfies the user's request. hard.
  • the search query “K1, K2, K3, K4, K5” when it is desired to increase the number of search results when the number of search results extracted by the search query “K1, K2, K3, K4, K5” is small, the search query “K1, K2, K3, K4, K5” ”Or the number of search results“ K1, K2, K3, K4 ”with one less keyword, or the search query“ K1, K2 ”with fewer keywords.
  • the number of search results is small, how to select the recipe to be arranged differs. Therefore, in a complex search condition that includes the same number of keywords and the search keywords are partially the same, it is desirable to present a similar number of search results. To do.
  • step S1201 the recipe management server 1 first selects one of the first partial search conditions, and in subsequent step S1202, performs a recipe search using the first partial search condition.
  • step S1203 the recipe management server 1 selects a recipe in which the first partial search condition is a keyword having a high priority (for example, a main ingredient) from among the extracted recipes. Select as.
  • a recipe that is, recipes R2 and R3 in which the first partial search condition (“K1” above) is a keyword having a high priority in the recipe is selected as an arrangement target recipe.
  • step S1204 the recipe management server 1 determines whether there is an unprocessed first partial search condition. If there is an unprocessed one, the process of step S1201 is executed again. If there is no unprocessed item, the recipe management server 1 ends the series of processes shown in FIG.
  • the recipe management server 1 acquires the composite search condition in step S301, acquires the number of searches in step S302, and acquires the number of search results in step S303. Then, the recipe management server 1 determines a composite search condition to be supported in step S304, and determines an arrangement target recipe in step S305.
  • Each process of steps S301 to S305 is the same as each process shown in FIG.
  • step S308 the recipe management server 1 gives priority to the composite search condition according to the number of arrangement target recipes.
  • the fact that the number of arrangement target recipes is large means that the probability (or the number of postings) that an arrangement recipe is posted is improved. That is, the recipe can be efficiently enhanced by increasing the priority of the complex search condition that is highly effective.
  • the recipe management server 1 specifies a support request target user in step S306, and notifies arrangement request information in step S307.
  • a notification process corresponding to the priority assigned in step S308 may be executed. For example, when making a plurality of arrangement requests to a certain support request target user, only a request related to an arrangement target recipe with a higher priority may be made. Moreover, you may notify in order from the request regarding the recipe for arrangement with a higher priority.
  • the recipe management server 1 performs the process which extracts the newly posted arrangement recipe in step S1301.
  • an arrangement recipe posted between the previous processing and the current processing is regarded as a newly posted recipe.
  • step S1302 the recipe management server 1 specifies a posting user who posted the arrangement recipe. And the process which determines whether the arrangement information notification request was made with respect to the said posting user (namely, whether the process of step S307 in FIG. 5 was performed with respect to the posting user) is performed.
  • the process which determines whether the arrangement information notification request was made with respect to the said posting user namely, whether the process of step S307 in FIG. 5 was performed with respect to the posting user.
  • the recipe management server 1 grants a privilege in step S1304.
  • the recipe management server 1 After granting a privilege or determining that there is no request in step S1303, the recipe management server 1 performs a process of determining whether or not there is an unprocessed new posted arrangement recipe in step S1305. If there is an unprocessed new posted arrangement recipe, the recipe management server 1 executes the process of step S1301 again. On the other hand, if there is no unprocessed new posted arrangement recipe, the recipe management server 1 ends the series of processes shown in FIG.
  • step S1305 is not necessary.
  • a big privilege or a good privilege
  • the recipe is an arrangement recipe that is posted for a relatively small number of search results with respect to the number of searches among similar search conditions. It is done. Furthermore, it is conceivable that a larger privilege (or superior privilege) is given as the elapsed time from the arrangement information notification request to the arrangement recipe posting is shorter (that is, the response is faster). Furthermore, it is conceivable that a larger privilege (or superior privilege) is given as the similarity between the posted arrangement recipe and another arrangement recipe is lower (that is, the posted arrangement recipe is unique).
  • the above-described recipe management server 1 includes a search information acquisition unit 1b that acquires a compound search condition including at least two or more keywords used to search for information related to a recipe, and the number of times the compound search condition is searched.
  • a search unit 1c that acquires the number of search results corresponding to the acquired composite search condition, and a support target determination that determines a composite search condition that is a support target based on the acquired number of searches and the number of search results corresponding to the composite search condition Arrangement target for determining the recipe corresponding to the first partial search condition composed of only a part of the two or more keywords included in the complex search condition determined to be the support target and the part 1d as the arrangement target recipe Included in some keywords out of two or more keywords included in the determination unit 1e and the complex search condition determined to be a support target
  • a user management unit 1f that identifies a recipe corresponding to the second partial search condition composed of the remaining remaining keywords, identifies the user who posted the identified recipe as a support request target user, and the identified support request
  • the potential needs of the user are taken up and the relatively deficient recipe is identified. Therefore, it is possible to support expansion of recipe information in accordance with the user's request. If the number of search recipes is small, the user may feel inconvenienced and the recipe search service may not be used. According to the said structure, these problems can be solved and it can prevent that a user leaves
  • the support target search condition is determined based on the number of search searches and the number of search results of the composite search condition (the number of recipes extracted as the search result), it is possible to appropriately narrow down the support target search condition. . Therefore, the processing load of the recipe management server 1 required for each process such as determination of the arrangement target recipe is reduced, rather than using all the complex search conditions as the support target search conditions. In other words, efficient addition of recipe information is promoted for necessary portions (locations where the user has potential needs).
  • the support target determining unit 1d determines the ratio of the number of search results with respect to the number of searches of the composite search condition and the threshold specified according to the number of search results of the composite search condition. Based on the above, it may be determined whether or not the composite search condition is to be supported. As a result, it is possible to set a composite search condition in which the ratio of the number of search results of the composite search condition to the search target count is a predetermined value or less as the support target search condition. That is, there is a possibility that such complex search conditions cannot present a sufficiently satisfactory search result although there is a need. By making such a complex search condition a support target, recipe information extracted as a search result is expanded, and a user's request can be satisfied.
  • the support target determination unit 1d includes the ratio of the number of search results with respect to the number of search times of the composite search condition and each search result corresponding to the composite search condition. Whether or not the composite search condition is to be supported may be determined based on the threshold specified according to the number of times the recipe is used. Thereby, a threshold value is specified according to the number of recipes that satisfy the user's request among the recipes included in the search result. Therefore, it becomes easy to make the composite search condition with few recipes satisfying the user's request a support target, and the possibility of satisfying the user's request can be increased.
  • the support target determining unit 1d determines that the threshold value increases as the number of times of use of each recipe included in the search result corresponding to the composite search condition is smaller than the number of times of search. May be specified.
  • the number of times the recipe is used as a search result is small compared to the number of times searched, the user has given up the recipe search without providing the desired recipe even though the search operation has been performed (or set other search conditions) It is highly likely that there are many users who have performed the recipe search again. In such a case, specifying a high threshold increases the possibility that the complex search condition is selected as the support target search condition. Accordingly, it is possible to increase the possibility that the recipe information is estimated based on the user's actual behavior.
  • the support target determining unit 1d may specify a higher threshold value as the change in the number of searches in a predetermined period of the complex search condition is larger. For example, when the change in the number of searches increases in a short time, it is estimated that the needs are rapidly increasing. Specifying a high threshold value in such a state increases the possibility that the complex search condition is selected as the support target search condition. That is, it is possible to provide an environment in which recipe information can be easily expanded in accordance with changes in needs.
  • the support target determination unit 1d performs a search in which the ratio of the number of search results to the number of searched times corresponding to the composite search condition corresponds to another composite search condition.
  • a complex search condition that is relatively small relative to the ratio of the number of search results to the number of times may be determined as a target.
  • a composite search condition having a relatively small number of recipes is set as the support target search condition. Therefore, it is possible to enhance the search results (that is, increase the number of search results of the complex search conditions) for the complex search conditions that are presumed to have a higher recipe extension than other similar complex search conditions. It becomes possible.
  • the support target determining unit 1d gives higher priority to a composite search condition having a larger number of search results corresponding to the first partial search condition, and the transmission control unit 1g You may control so that the request information based on the composite search condition to which the relatively high priority was given is transmitted preferentially.
  • the priority of the composite search condition in which many recipes that are candidates for the arrangement target recipe are searched increases.
  • the number of arrangement target recipes increases.
  • the fact that there are many arrangement target recipes is likely to increase the number of proposals of arrangement recipes that improve the arrangement target recipes, so that the recipe information can be efficiently enhanced.
  • the arrangement target determining unit 1e specifies the priority for each keyword included in the composite search condition determined as the support target, and the specified priority is relative.
  • a recipe corresponding to the first partial search condition including a particularly high keyword may be determined as the arrangement target recipe.
  • a recipe that already contains a keyword (for example, main ingredients) having a relatively high priority is extracted as an arrangement target recipe. That is, the food to be arranged is a food other than the main food, and the main food is cooked according to the recipe. Therefore, it is possible to reduce the possibility of posting an arrangement recipe or the like in which the main ingredients are unusually arranged.
  • the recipe information can be enhanced by a highly versatile recipe accepted by everyone.
  • recipe management server 1 when a search is performed using the ingredients A, ingredients B, ingredients C, and ingredients D as search conditions, an example in which a recipe that uses all four ingredients is extracted as a search result.
  • a recipe that uses only a part for example, three of the four ingredients
  • a recipe that uses food A, food B, and food C but does not use food D may be extracted as a search result.
  • the food search results can also be enhanced by using partial search conditions.
  • the second partial search condition may not be all conditions except the first partial search condition from the “support target search condition”.
  • the program of embodiment is a program which makes an information processing apparatus (CPU etc.) perform each process in the recipe management server 1 It is.
  • the program according to the embodiment includes a search information acquisition function for acquiring a composite search condition including at least two or more keywords used for searching for information related to a recipe and the number of times searched for the search of the composite search condition. To run. Further, the information processing apparatus is caused to execute a search function for acquiring the number of search results corresponding to the acquired composite search condition. Further, the information processing apparatus is caused to execute a support target determining function for determining a composite search condition that is a support target based on the acquired number of searches and the number of search results corresponding to the composite search condition.
  • the arrangement target for determining the recipe corresponding to the first partial search condition composed of only a part of the two or more keywords included in the complex search condition determined to be the support target as the arrangement target recipe causes the information processing apparatus to execute the determination function. Then, a recipe corresponding to the second partial search condition composed of the remaining keywords not included in the partial keyword among the two or more keywords included in the composite search condition determined to be the support target is specified. Then, the information processing apparatus is caused to execute a user management function for specifying a user who has posted the specified recipe as a support request target user. In addition, a transmission control function for controlling transmission of request information for requesting generation of a recipe based on the determined arrangement target recipe and the second partial search condition to the identified support request target user information Have the processing device execute. That is, this program is a program for causing the recipe management server 1 to execute the processes in steps S201 to S210 in FIG. 4 and the processes in FIGS.
  • Such a program can be recorded in advance in an HDD as a storage medium built in a device such as a computer device or a ROM in a microcomputer having a CPU. Alternatively, it can be stored (recorded) temporarily or permanently in a removable storage medium such as a semiconductor memory, memory card, optical disk, magneto-optical disk, or magnetic disk. Such a removable storage medium can be provided as so-called package software. Further, such a program can be installed from a removable storage medium to a personal computer or the like, or can be downloaded from a download site via a network such as a LAN or the Internet.
  • 1 Recipe Management Server 1a Recipe Management Unit, 1b Search Information Acquisition Unit, 1c Search Unit, 1d Support Target Determination Unit, 1e Arrangement Target Determination Unit, 1f User Management Unit, 1g Transmission Control Unit, 2 Communication Network, 3 User Terminal, 50 user DB, 51 recipe DB, 52 search DB, 53 history DB, 54 web page DB

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Databases & Information Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

推定されるユーザのニーズに対して相対的に不足しているレシピ情報を拡充するための環境を提供する。そのために情報処理装置は、レシピに関する情報を検索するために用いられる少なくとも2以上のキーワードを含む複合検索条件と該複合検索条件が検索された被検索回数を取得する検索情報取得部と、前記取得した複合検索条件に対応する検索結果数を取得する検索部と、前記取得した被検索回数と前記複合検索条件に対応する検索結果数に基づいて支援対象である複合検索条件を決定する支援対象決定部と、前記支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち一部のキーワードのみで構成される第一部分検索条件に対応するレシピをアレンジ対象レシピとして決定するアレンジ対象決定部と、前記支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち前記一部のキーワードに含まれない残りのキーワードで構成された第二部分検索条件に対応するレシピを特定し、当該特定されたレシピを投稿したユーザを支援依頼対象ユーザとして特定するユーザ管理部と、前記特定された支援依頼対象ユーザに対して前記決定されたアレンジ対象レシピと前記第二部分検索条件に基づくレシピの生成を依頼するための依頼情報の送信を制御する送信制御部と、を備える。

Description

情報処理装置、情報処理方法、プログラム
 本発明は、レシピを管理する情報処理装置、情報処理方法及びプログラムについての技術分野に関する。詳しくは、ユーザにレシピを投稿させるための各種処理に関する。
特開2002-092033号公報
 近年では、一般ユーザの投稿などによって蓄積されたレシピの情報を提供するレシピ検索サービスなどが普及している。
 特許文献1には、ユーザが入力した表現から抽出されたキーワードのうち不必要に厳しい条件を課すものを削除して緩和された検索条件に基づいて検索を行う技術について記載されている。
 しかし、ユーザから取得した検索リクエスト数などから推定されるユーザのニーズに対して十分な量の情報(即ちレシピ情報)が提供されていない場合がある。
 例えば、特許文献1に記載の技術は、ユーザの入力した表現からキーワードの一部を削除するものであるため、ユーザのニーズ(具体的にはユーザが入力した全てのキーワード)に合致する情報を提供することについては考慮されていない
 そこで、本発明は、推定されるユーザのニーズに対して相対的に不足しているレシピ情報を拡充するための環境を提供することを目的とする。
 本発明に係る情報処理装置は、レシピに関する情報を検索するために用いられる少なくとも2以上のキーワードを含む複合検索条件と該複合検索条件が検索された被検索回数を取得する検索情報取得部と、前記取得した複合検索条件に対応する検索結果数を取得する検索部と、前記取得した被検索回数と前記複合検索条件に対応する検索結果数に基づいて支援対象である複合検索条件を決定する支援対象決定部と、前記支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち一部のキーワードのみで構成される第一部分検索条件に対応するレシピをアレンジ対象レシピとして決定するアレンジ対象決定部と、前記支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち前記一部のキーワードに含まれない残りのキーワードで構成された第二部分検索条件に対応するレシピを特定し、当該特定されたレシピを投稿したユーザを支援依頼対象ユーザとして特定するユーザ管理部と、前記特定された支援依頼対象ユーザに対して前記決定されたアレンジ対象レシピと前記第二部分検索条件に基づくレシピの生成を依頼するための依頼情報の送信を制御する送信制御部と、を備えている。
 これにより、ユーザの潜在的なニーズが汲み取られて、相対的に不足しているレシピの特定がなされる。
 上記した情報処理装置の前記支援対象決定部は、前記複合検索条件の前記被検索回数に対する検索結果数の割合と、前記複合検索条件の検索結果数に応じて特定された閾値と、に基づいて複合検索条件を支援対象とするか否かを決定してもよい。
 これにより、被検索回数に対して複合検索条件の検索結果数の割合が所定値以下となる複合検索条件を支援対象検索条件とすることが可能となる。
 上記した情報処理装置の前記支援対象決定部は、前記複合検索条件の前記被検索回数に対する検索結果数の割合と、前記複合検索条件に対応する検索結果に含まれる各レシピの被利用回数に応じて特定された閾値と、に基づいて複合検索条件を支援対象とするか否かを決定してもよい。
 これにより、検索結果に含まれる各レシピの中に、ユーザの要望を満たすレシピのの多寡に応じて閾値が特定される。
 上記した情報処理装置の前記支援対象決定部は、前記複合検索条件に対応する検索結果に含まれる各レシピの被利用回数が前記被検索回数に対して少ないほど高い閾値を特定してもよい。
 被検索回数に対して検索結果としてのレシピの被利用回数が少ない場合、検索操作を行ったにも関わらず、所望のレシピが提示されずにレシピ検索を諦めた(若しくは他の検索条件を設定したレシピ検索を再度行った)ユーザが多い可能性が高い。
 このような場合に、高い閾値を特定することは、当該複合検索条件が支援対象検索条件として選択される可能性が高くなる。
 上記した情報処理装置の前記支援対象決定部は、前記複合検索条件の所定期間における被検索回数の変化が大きいほど高い閾値を特定してもよい。
 例えば、被検索回数の変化が短時間に増大した場合などは、ニーズが急激に増加していることが推測される。このような状態において高い閾値を特定することは、当該複合検索条件が支援対象検索条件として選択される可能性が高くなる。
 上記した情報処理装置の前記支援対象決定部は、前記複合検索条件に対応する前記被検索回数に対する検索結果数の割合が他の前記複合検索条件に対応する検索回数に対する検索結果数の割合に対して相対的に少ない複合検索条件を前記支援対象として決定してもよい。
 これにより、例えば、類似する複合検索条件が複数あった場合に、相対的にレシピ数の足りていない複合検索条件が支援対象検索条件とされる。
 上記した情報処理装置の前記支援対象決定部は、前記前記第一部分検索条件に対応する検索結果数が多い複合検索条件ほど高い優先度を付与し、前記送信制御部は、相対的に高い優先度を付与された前記複合検索条件に基づく依頼情報が優先的に送信されるように制御してもよい。
 これにより、アレンジ対象レシピの候補となるレシピが多く検索される複合検索条件の優先度が高くなる。換言すれば、アレンジ対象レシピが多くなる。
 上記した情報処理装置の前記アレンジ対象決定部は、前記支援対象として決定された複合検索条件に含まれるキーワード毎に優先度を特定し、当該特定された優先度が相対的に高いキーワードを含む前記第一部分検索条件に対応するレシピをアレンジ対象レシピとして決定してもよい。
 これにより、優先度が相対的に高いキーワード(例えば主要食材)が既に含まれるレシピがアレンジ対象レシピとして抽出される。
 本発明に係る情報処理方法は、レシピに関する情報を検索するために用いられる少なくとも2以上のキーワードを含む複合検索条件と該複合検索条件が検索された被検索回数を取得する検索情報取得ステップと、前記取得した複合検索条件に対応する検索結果数を取得する検索ステップと、前記取得した被検索回数と前記複合検索条件に対応する検索結果数に基づいて支援対象である複合検索条件を決定する支援対象決定ステップと、前記支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち一部のキーワードのみで構成される第一部分検索条件に対応するレシピをアレンジ対象レシピとして決定するアレンジ対象決定ステップと、前記支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち前記一部のキーワードに含まれない残りのキーワードで構成された第二部分検索条件に対応するレシピを特定し、当該特定されたレシピを投稿したユーザを支援依頼対象ユーザとして特定するユーザ管理ステップと、前記特定された支援依頼対象ユーザに対して前記決定されたアレンジ対象レシピと前記第二部分検索条件に基づくレシピの生成を依頼するための依頼情報の送信を制御する送信制御ステップと、を備えたものである。
 この情報処理方法により、推定されるユーザのニーズに対して相対的に不足しているレシピ情報を拡充するための環境を提供する。
 本発明に係るプログラムは、上記情報処理方法として実行する処理を情報処理装置に実行させるプログラムである。これらのプログラムにより上記の情報処理装置を実現する。
 本発明によれば、推定されるユーザのニーズに対して相対的に不足しているレシピ情報を拡充するための環境を提供することができる。
本発明の実施の形態の情報処理装置を含む全体構成を示す説明図である。 レシピ管理サーバの機能構成を示す図である。 コンピュータ装置のブロック図である。 処理の流れの一例を示す図である。 バッチ処理の第1例を示すフローチャートである。 複合検索条件取得処理を示すフローチャートである。 支援対象検索条件決定処理を示すフローチャートである。 アレンジ対象レシピ決定処理を示すフローチャートである。 支援依頼対象ユーザ特定処理を示すフローチャートである。 支援依頼対象ユーザ特定処理の別の例を示すフローチャートである。 支援依頼対象ユーザ特定処理の更に別の例を示すフローチャートである。 複合検索条件取得処理の第2例を示すフローチャートである。 支援対象検索条件決定処理の第2例を示すフローチャートである。 アレンジ対象レシピ決定処理の第2例を示すフローチャートである。 バッチ処理の第2例を示すフローチャートである。 特典付与処理を示すフローチャートである。
 以下、実施の形態を次の順序で説明する。
<1.全体構成>
<2.ハードウェア構成>
<3.DB>
[3-1.ユーザDB]
[3-2.レシピDB]
[3-3.検索DB]
[3-4.履歴DB]
[3-5.ウェブページDB]
<4.処理の流れ>
[4-1.全体の流れ]
[4-2.バッチ処理の第1例]
[4-3.複合検索条件取得処理第2例]
[4-4.支援対象検索条件決定処理第2例]
[4-5.アレンジ対象レシピ決定処理第2例]
[4-6.バッチ処理の第2例]
[4-7.特典付与処理]
<5.まとめ>
<6.プログラム及び記憶媒体>
<1.全体構成>

 先ず、本発明の実施の形態における全体構成を説明する。
 尚、以下の説明においては、レシピとして料理レシピ(以降では単にレシピという)を例に挙げて説明する。レシピには、調理手順や使用食材や調理器具などの情報が含まれている。
 また、検索クエリに応じたレシピの検索やレシピの投稿などが可能なサービスを提供するためのポータルサイトとして、レシピ管理サーバ1が運営するレシピサイトを例に挙げる。
 本発明の情報処理装置を含む全体構成を図1に示す。
 レシピ管理サーバ1は、通信ネットワーク2を介して、ユーザ端末3,3,3,・・・と相互に通信可能な状態で接続されている。また、レシピ管理サーバ1は、ユーザに関する情報が記憶されるユーザDB(Database)50、レシピに関する情報が記憶されるレシピDB51、検索クエリや検索結果の情報が記憶される検索DB52、ユーザによる各種操作の履歴が記憶される履歴DB53、レシピサイトを構成する各種ウェブページのウェブページデータが記憶されるウェブページDB54と接続されている。
 尚、以降の説明において単に「ユーザ」と記載した場合は、投稿ユーザや支援依頼対象ユーザ(後述)やその他のユーザを区別せずに全てのユーザを指すものとする。
 尚、レシピ管理サーバ1は、本発明の情報処理装置の実施の形態に相当する。
 レシピ管理サーバ1は、ユーザから投稿されるレシピを管理する処理や、検索クエリに応じたレシピを提示するための処理を行う情報処理装置である。具体的な構成に関しては後述する。
 通信ネットワーク2の構成は特に限定されるものではなく、例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、CATV(Community Antenna TeleVision)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網などが想定される。
 また通信ネットワーク2の全部又は一部を構成する伝送媒体についても多様な例が想定される。例えばIEEE(Institute of Electrical and Electronics Engineers)1394、USB(Universal Serial Bus)、電力線搬送、電話線などの有線でも、IrDA(Infrared Data Association)のような赤外線、ブルートゥース(登録商標)、802.11無線、携帯電話網、衛星回線、地上波デジタル網などの無線でも利用可能である。
 ユーザ端末3は、レシピをレシピ管理サーバ1に投稿するユーザや、レシピ管理サーバ1が管理するレシピ情報の検索や閲覧を行うユーザが使用する端末である。
 ユーザ端末3では、必要に応じて各種の送受信処理や表示処理などが実行される。また、ユーザ端末3は、例えば、通信機能を備えたPC(Personal Computer)やフィーチャーフォンやPDA(Personal Digital Assistant)、或いは、スマートフォンやタブレット端末などのスマートデバイスなどである。
 レシピ管理サーバ1は、図2に示すように、レシピ管理部1a、検索情報取得部1b、検索部1c、支援対象決定部1d、アレンジ対象決定部1e、ユーザ管理部1f、送信制御部1gを備えている。
 レシピ管理部1aは、ユーザが投稿したレシピ情報(レシピタイトルと使用食材と調理方法とレシピが属するカテゴリ情報などがレシピ情報を投稿したユーザを識別する識別情報と紐付けられた情報)をレシピDB51に記憶することにより管理する。例えば、あるユーザが投稿した「野菜カレー」のレシピは、カテゴリ「カレーライス」に属するレシピであり、使用食材情報として、「じゃがいも」、「人参」、「タマネギ」、「ブロッコリー」、「トマト」、「ほうれん草」や、調味料(「塩」や「胡椒」など)や、それに準ずるもの(例えば「カレールー」など)が紐付けられて記憶される。
 また、レシピ管理部1aは、投稿されたレシピに対して投稿された作成レポートをレシピ毎に管理する。作成レポートは、投稿されたレシピを利用して他のユーザが実際に料理を行った際に、当該レシピに対する感想(例えば、料理を行ったユーザが感じた料理のおいしさや調理手順の手軽さなど)を記したレポートである。作成レポートは、レシピDB51の各レシピに紐付けられて管理される。
 更にまた、レシピ管理部1aは、レシピや作成レポートの投稿に関する処理や、レシピのアレンジを行ったユーザに対する特典付与に関する処理を実行する。
 特典付与の例については後述する。
 検索情報取得部1bは、検索クエリが検索に用いられた回数を取得する検索情報取得処理を実行する。
 検索部1cは、検索クエリに応じた検索結果を抽出する検索処理を実行する。このとき、抽出されたレシピの数を検索結果数として取得する。
 尚、以下の説明では、検索クエリに含まれるキーワードを単に「キーワード」と記載する。また、「キーワード」の一例として食材(例えば「ニンジン」や「トマト」など)を挙げるが、それ以外にも料理名(「ハンバーグ」や「カレー」など)や調味料や調理方法や調理器具などが「キーワード」とされてもよい。
 更に、複数のキーワードを含む検索クエリを「複合検索条件」とする。例えば、キーワードK1,K2,K3を含む検索クエリ「K1,K2,K3」は複合検索条件である。
 そして、複合検索条件の一部のキーワードのみを含む検索クエリを「第一部分検索条件」とし、残りのキーワードを「第二部分検索条件」とする。具体的には、複合検索条件「K1,K2,K3」の第一部分検索条件は、「K1」、「K2」、「K3」、「K1,K2」、「K1,K3」、「K2,K3」の6種類を挙げることができる。それぞれの第一部分検索条件に対して第二部分検索条件が存在し、例えば、第一部分検索条件としての「K1」に対する第二部分検索条件は「K2,K3」とされる。また、第一部分検索条件としての「K1,K2」に対する第二部分検索条件は「K3」とされる。
 また、キーワードを羅列した検索クエリ以外の例も考えられる。例えば、「食材Aと食材Bを使った料理C」などの文である。この場合には、「食材A」、「食材B」、「料理C」がキーワードとされ、第一部分検索条件としては「食材A,料理C」や「食材A」などとされる。そして、第一部分検索条件としての「食材A,料理C」に対する第二部分検索条件は「食材B」とされる。
 このような文からキーワードを抽出するために、レシピ管理サーバ1はキーワードが登録されたキーワードDBを利用してもよい。
 検索部1cは、後述する各種の処理において、これらの第一部分検索条件を用いた検索処理や第二部分検索条件を用いた検索処理を実行する。
 支援対象決定部1dは、検索クエリの被検索回数と検索結果数に応じて複合検索条件のうちから支援対象とする検索条件(支援対象検索条件)を決定する。支援対象検索条件は、検索結果数を増加させるための支援の対象とされた検索クエリであり、例えば、被検索回数に対して検索結果数が少ない(即ち、ニーズがある検索クエリであるにも関わらず抽出されるレシピ数が少ない)検索クエリなどである。詳しくは後述する。
 また、支援対象決定部1dは、複合検索条件に優先度を付与し、優先度の高い複合検索条件を支援対象検索条件として選択する場合がある。他にも、決定した支援対象検索条件が複数ある場合には、以降の処理の順番を決定するための優先度を付与してもよい。
 アレンジ対象決定部1eは、支援対象検索条件(複合検索条件のうち検索結果数を増加させるための支援が必要とされたもの)の第一部分検索条件を用いた検索処理によって抽出されたレシピを「アレンジ対象レシピ」として決定する処理を実行する。
 アレンジ対象レシピとは、後述する処理で選択した支援依頼対象ユーザに対してレシピのアレンジを依頼する場合において、アレンジ対象とされたレシピである。
 具体的に、支援対象検索条件として「K1,K2,K3」という複合検索条件が選ばれたとする。そして第一部分検索条件としての「K1,K2」を用いた検索処理によってレシピ「R1」、「R2」が抽出されたとする。レシピ「R1」及び「R2」は、例えば、キーワード「K1」及び「K2」を含むが「K3」を含まないレシピである。即ち、支援対象検索条件に基づく検索結果としては抽出されないが、第一部分検索条件に基づく検索結果としては抽出されるレシピである。
 このようなレシピ「R1」、「R2」がアレンジ対象レシピとして決定される。
 ユーザ管理部1fは、ユーザ情報をユーザDB50に記憶することによって管理する。
 また、支援対象検索条件の「第二部分検索条件」を用いた検索処理によって抽出されたレシピを投稿したユーザを「支援依頼対象ユーザ」として特定するユーザ特定処理を実行する。
 具体的に、支援対象検索条件として「K1,K2,K3」という複合検索条件が選ばれたとする。そして第一部分検索条件としての「K1,K2」が選択された場合、第二部分検索条件は「K3」とされ、「K3」に基づいてレシピ「R3」、「R4」が抽出されたとする。
 レシピ「R3」、「R4」は、例えば、キーワード「K3」を含むが「K1」及び「K2」は含まないレシピである。
 このようなレシピ「R3」を投稿したユーザや「R4」を投稿したユーザを支援依頼対象ユーザとして選択する。
 レシピ「R3」や「R4」を投稿したユーザは、キーワード「K3」に関する料理が得意である可能性がある。即ち、キーワード「K3」が食材であった場合、食材「K3」を用いた料理が得意と推測されるユーザであり、キーワード「K3」が調理器具であった場合は、調理器具「K3」を用いた料理が得意と推測されるユーザである。
 ユーザ特定処理は、そのようなユーザを支援依頼対象ユーザとして特定するための処理である。
 支援依頼対象ユーザの選択についてのいくつかの具体的な例は後述する。
 送信制御部1gは、支援依頼対象ユーザに対して、第二部分検索条件によって抽出されるようなレシピの生成を依頼する情報を送信する。例えば、アレンジ対象レシピに第二部分検索条件を加えた「アレンジレシピ」の投稿を依頼するための情報である。
 以降の説明においては、このような情報を「アレンジ依頼情報」と記載する。
 先の例を用いて説明すると、支援依頼対象ユーザ(レシピ「R3」や「R4」を投稿したユーザ)に対して、レシピ「R1」,「R2」にキーワード「K3」を加えたアレンジレシピの投稿を依頼するための情報が、アレンジ依頼情報とされる。
 アレンジ依頼情報通知処理の実現手段としては、いくつかの例を挙げることができる。
 例えば、電子メールによって、アレンジ依頼情報を支援依頼対象ユーザに通知してもよい。また、レシピサイト上にアレンジ依頼情報を通知するためのメッセージを表示してもよい。更に、レシピサイトを閲覧するための専用アプリケーションを利用しているユーザに対して、プッシュ通知による通知を行ってもよい。
 レシピ管理サーバ1には、他にも、各種情報を送受信する機能や、ユーザのログイン操作に対する認証処理などを実現するために必要な各部が設けられている。認証処理は、ユーザ端末3から送信されたログイン情報としてのユーザID(Identification)とパスワードを、ユーザDB50に記憶された認証情報と照合する処理である。
<2.ハードウェア構成>

 図3は、図1に示したレシピ管理サーバ1とユーザ端末3のハードウェア、及び、ユーザDB50とレシピDB51と検索DB52と履歴DB53とウェブページDB54のハードウェアを例示する図である。それぞれのサーバや端末、DBにおけるコンピュータ装置のCPU(Central Processing Unit)101は、ROM(Read Only Memory)102に記憶されているプログラム、または記憶部108からRAM(Random Access Memory)103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU101、ROM102、およびRAM103は、バス104を介して相互に接続されている。このバス104には、入出力インターフェース105も接続されている。
 入出力インターフェース105には、キーボード、マウス、タッチパネルなどよりなる入力装置106、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、有機EL(Electroluminescence)パネルなどよりなるディスプレイ、並びにスピーカなどよりなる出力装置107、HDD(Hard Disk Drive)やフラッシュメモリ装置などより構成される記憶部108、通信ネットワーク2を介しての通信処理や機器間通信を行う通信部109が接続されている。
 入出力インターフェース105にはまた、必要に応じてメディアドライブ110が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111が適宜装着され、リムーバブルメディア111に対する情報の書込や読出が行われる。
 このようなコンピュータ装置では、通信部109による通信によりデータやプログラムのアップロード、ダウンロードが行われたり、リムーバブルメディア111を介したデータやプログラムの受け渡しが可能である。
 CPU101が各種のプログラムに基づいて処理動作を行うことで、レシピ管理サーバ1とユーザ端末3、ユーザDB50とレシピDB51と検索DB52と履歴DB53とウェブページDB54のそれぞれにおいて後述する情報処理や通信が実行される。
 尚、レシピ管理サーバ1とユーザ端末3、ユーザDB50とレシピDB51と検索DB52と履歴DB53とウェブページDB54を構成するそれぞれの情報処理装置は、図3のようなコンピュータ装置が単一で構成されることに限らず、システム化された複数のコンピュータ装置によって構成されてもよい。複数のコンピュータ装置は、LANなどによりシステム化されていてもよいし、インターネットなどを利用したVPN(Virtual Private Network)などにより通信可能な状態で遠隔地に配置されたものでもよい。
 レシピ管理サーバ1としての各機能は、情報処理装置においてCPU101でプログラムに応じて実行される処理により実現される機能である。但し以下において説明する各構成の処理の全部又は一部をハードウェアにより実現してもよい。
 また各機能をソフトウエアで実現する場合に、各機能がそれぞれ独立したプログラムで実現される必要はない。1つのプログラムにより複数の機能の処理が実行されてもよいし、1つの機能が複数のプログラムモジュールの連携で実現されてもよい。
<3.DB>

 レシピ管理サーバ1が管理する各DBの説明を行う。各DBは、レシピ管理サーバ1がアクセス可能とされていればどのような形態で実現されていてもよい。例えばレシピ管理サーバ1と同一システム内の記憶部に各DBのすべてが形成されていてもよいし、各DBの一部又は全部が別体とされていてもよいし、遠隔地等のコンピュータシステムに設けられていてもよい。もちろん各DBが一つの装置(例えば一つのHDD等)内に形成されている必要はない。また各DBのそれぞれが、それぞれ1つのDBとして構成される必要もない。例えばユーザDB50として記憶される情報が、複数のユーザDB(例えばログイン用のユーザDBと取引用のユーザDBなど)により記憶管理されてもよい。以下説明する各DBは、実施の形態の処理に関連する情報の記憶部を、それぞれ1つのDBの形態で例示したものに過ぎない。
[3-1.ユーザDB]
 ユーザDB50にはレシピ管理サーバ1が提供するサービスを受けるユーザの情報が記憶される。例えば、一人のユーザを特定可能な一つのユーザID(Identification)に対して、ログインパスワード、氏名、年齢、性別、メールアドレスなどの個人的な情報が紐付けられて記憶される。また、ユーザ毎の嗜好情報が記憶されてもよい。嗜好情報は、ユーザによるレシピ情報や料理情報に関する検索や閲覧などの挙動に応じてレシピ管理サーバ1が判定したユーザの好みの食材(嗜好食材)や嫌いな食材(非嗜好食材)の情報や、ユーザに関わる投稿情報(テキスト情報やタグ情報や画像情報など)に基づいてレシピ管理サーバ1が判定したユーザの好みの食材(嗜好食材)や嫌いな食材(非嗜好食材)である。また、嗜好情報はユーザによって任意に登録された情報であってもよい。嗜好情報は、ユーザがレシピ検索を行った際に利用される。
[3-2.レシピDB]
 レシピDB51は、ユーザから投稿されたレシピの情報が記憶されるDBである。具体的には、それぞれのレシピを識別可能なレシピIDに対して、レシピを投稿したユーザを特定するユーザIDと、投稿日時情報と、レシピが属するカテゴリ情報と、レシピの使用食材情報(分量などを含む)と、レシピの調理手順と、料理画像(完成した料理の画像や調理途中の料理の画像)などの画像情報と、レシピを実際に利用した(料理を作成した)他のユーザによって投稿された作成レポートを特定する作成レポートIDと、が紐付けられて記憶される。
 また、レシピの詳細ページのURL(Uniform Resource Locator)情報がレシピIDに紐付けられて記憶されてもよい。
 更に、レシピDB51には、各レシピに対して投稿された作成レポートの情報が記憶される。作成レポートの情報としては、レポート内容を示すテキストデータや調理した料理の画像や投稿者を識別可能なユーザIDや投稿日時情報などが記憶される。
 尚、上述したアレンジレシピの情報は、作成レポートとは別にアレンジレシピ情報として記憶されてもよいし、作成レポートのレポート内容を解析して当該作成レポートをアレンジレシピ情報として扱ってもよい。
 具体的には、レポート内容として「トマトを加えたらより一層おいしくなりました。」という一文があった場合、当該作成レポートをアレンジレシピとして扱う。即ち、第二部分検索条件として「トマト」が指定された場合に、当該アレンジレシピの投稿ユーザは、「トマト」を用いたレシピが得意なユーザ(上述した支援依頼対象ユーザ)とされてもよい。
 このとき、キーワード「トマト」に関するアレンジレシピであることを記憶することにより、支援依頼対象ユーザの検索をする毎のアレンジレシピの内容の解析が不要となる。
[3-3.検索DB]
 検索DB52は、検索クエリと対応した検索結果が記憶されるDBである。具体的には、「カレーライス」や「ハンバーグ」などの料理名や「きのこ」や「トマト」などの食材名などの検索クエリに応じて、複数のレシピが検索結果として紐付けられて記憶される。
 例えば、ユーザが指定した検索クエリに応じて検索処理が実行され、その結果抽出された検索結果が検索クエリに紐付けられて検索DB52に記憶される。このように紐付けが行われることで、新たな検索要求があった際に検索処理を実行せずに以前の検索結果を利用した検索結果の提示を行うことができる機会が増える。
 尚、予め定期的に検索キーワードを用いた検索処理を実行しておき、その結果抽出された検索結果が検索キーワードに紐付けられて検索DB52に記憶されるようにしてもよい。
[3-4.履歴DB]
 履歴DB53には、ユーザの操作に関する各種履歴が記憶される。
 具体的には、ユーザが行った操作毎に、ユーザID、履歴ID、操作種別、操作対象(「レシピ閲覧操作」や「レシピ印刷操作」であれば閲覧対象となったレシピID、「ウェブページを閲覧する操作」であれば対象となったウェブページを特定する情報、「投稿操作」であれば、投稿されたレシピIDや作成レポートID、「ユーザ情報変更操作」であれば変更対象となった項目名など)、操作日時、操作結果(「ログイン操作」であればログイン可否、「ユーザ情報変更操作」であれば変更可否などが記憶される。
[3-5.ウェブページDB]
 ウェブページDB54には、レシピ管理サーバ1がユーザに提供する各種ウェブページのデータが記憶される。具体的には、レシピ検索ページや特集ページや検索結果ページやレシピ詳細ページやユーザページなどのウェブページデータである。
 ウェブページデータとしては、ウェブページのURL(Uniform Resource Locator)情報と各ウェブページ上に配置されるオブジェクト(画像やテキストやバナーなど)の配置情報が記憶される。配置情報とは、ウェブページ上における各オブジェクトの配置態様(位置や大きさ、色等)が記載された情報である。
 尚、ウェブページDB54に記憶される情報は、例えば、HTML(Hyper Text Markup Language)やXHTML(Extensible HyperText Markup Language)などの構造化文書ファイルで記憶されてもよい。
<4.処理の流れ>

 レシピ管理サーバ1が実行する各種処理について説明する。

[4-1.全体の流れ]
 先ずは、レシピ管理サーバ1とユーザ端末3の間で行われる各種処理や情報の送受信について、図4を参照して説明する。
 具体的には、レシピ管理サーバ1が提供する各種サービスを受けるために、ユーザがユーザ端末3を用いてログイン操作を行い、レシピを検索して利用する例を説明する。
 ユーザ端末3はステップS101において、ユーザによるログイン画面表示操作(即ちログイン画面を表示させる操作)に応じたログイン画面情報要求処理を実行する。
 ログイン画面情報要求処理によりユーザ端末3からレシピ管理サーバ1へログイン画面情報要求が送信されると、レシピ管理サーバ1はステップS201において、ログイン画面情報送信処理を実行する。
 これにより、例えば、レシピ管理サーバ1から受信したレシピサイトのログイン画面情報(ウェブページデータ)に応じたウェブページがユーザ端末3上に表示される。
 尚、レシピ管理サーバ1はこのとき、ログイン画面をユーザ端末3上に表示させたことを履歴(即ちログイン画面の閲覧履歴)として記憶してもよい。
 次に、ユーザ端末3はステップS102において、ユーザの入力操作に応じたログイン情報(ユーザIDとログインパスワード)をレシピ管理サーバ1へ送信するログイン情報送信処理を実行する。
 ユーザ端末3からレシピ管理サーバ1へログイン情報が送信されると、レシピ管理サーバ1はステップS202において認証処理を実行し、続くステップS203においてログイン履歴を記憶する処理を実行し、ステップS204において認証結果通知処理を実行する。
 具体的には、レシピ管理サーバ1は、ユーザ端末3上で入力されたユーザIDとパスワードをユーザDB50に記憶された情報と比較して当該ユーザのログイン可否を判定し、当該ログイン可否情報を履歴情報として履歴DB53に記憶し、当該ログイン可否情報を認証結果としてユーザ端末3へ通知する。尚、認証結果をユーザ端末3へ送信すると共に、レシピサイトのトップページのウェブページデータを送信してもよい。これにより、ユーザ認証がなされると共に、ユーザ端末3上にレシピサイトのトップページが表示される。
 尚、図4に示す一連の流れは、ステップS202の認証処理においてログイン可と判定された場合を示している。ステップS202においてログイン不可と判定した場合は、ユーザ端末3は再度ステップS102の処理を実行し、これに応じてレシピ管理サーバ1はステップS202の処理を実行する。
 続いて、ユーザ端末3はステップS103において、ユーザが入力したレシピを検索するための検索クエリをレシピ管理サーバ1へ送信する検索クエリ送信処理を実行する。
 この処理では、例えば、ユーザによって指定されたレシピ名の一部や使用食材などが、検索結果を抽出するための情報として、レシピ管理サーバ1へ伝達される。
 検索クエリを受信したレシピ管理サーバ1は、ステップS205で検索クエリと検索DB52に記憶された情報に基づいてレシピの検索結果を抽出(取得)する検索処理を実行する。
 更に、レシピ管理サーバ1はステップS206において、検索履歴を履歴DB53に記憶する検索履歴記憶処理を実行する。
 尚、検索クエリが検索された回数を示す被検索回数を管理している場合には、検索履歴記憶処理を実行する際に被検索回数を加算する処理を行う。
 続いて、レシピ管理サーバ1はステップS207において、ステップS205で抽出した検索結果をユーザ端末3上に表示させるための提示処理を実行する。この処理では、例えば、提示優先度情報が含まれた検索結果をユーザ端末3へ送信する。
 提示処理が実行されると、ユーザ端末3では、レシピ管理サーバ1から受信した検索結果が提示される。ユーザが検索結果として表示された複数のレシピから一つのレシピを選択する操作を行うと、ユーザ端末3はステップS104において、レシピ選択処理を実行する。
 レシピ選択処理は、ユーザが選択したレシピが何れのレシピであるかを選択レシピ情報としてレシピ管理サーバ1に通知する。尚、この処理は、選択したレシピの詳細ページのウェブページデータを要求する処理である。
 選択レシピ情報を受信したレシピ管理サーバ1は、ステップS208において、レシピの詳細ページの閲覧履歴を履歴DB53に記憶する処理を実行し、続くステップS209において、選択されたレシピの詳細情報が記載されたウェブページのデータを送信する詳細情報送信処理を実行する。
 この処理によって、ユーザ端末3上に、ユーザが選択したレシピに関する詳細情報が提示される。詳細情報とは、例えば、レシピに使用する食材情報や調理手順、調理器具情報などの情報である。他にも、選択されたレシピに対して投稿された作成レポートの情報などを含んでいてもよい。
 ユーザ端末3上に詳細情報が表示されたレシピに対し、ユーザが利用したことを推定可能な操作を行った場合、利用したことを推定可能な操作に関する情報がレシピ管理サーバ1に対して送信される。
 例えば、図4に示すように、レシピの利用が推定される操作として、レシピの詳細情報を印刷するための操作を行った場合、ユーザ端末3はステップS105において、印刷操作に関する情報をレシピ管理サーバ1に送信する処理を実行する。
 印刷操作に関する情報とは、操作を行ったユーザのユーザIDと印刷対象とされたレシピのレシピIDなどである。
 印刷操作情報を受信したレシピ管理サーバ1は、ステップS210において、レシピを利用したことを示す履歴を履歴DB53に記憶する利用履歴記憶処理を実行する。
 尚、レシピの利用が推定される操作の他の例としては、例えば、作成レポートの投稿操作や、お気に入りレシピに登録する操作や、レシピ詳細情報の所定時間(例えば、調理時間の8割の時間)以上の閲覧操作などを挙げることができる。
 何れの操作も、ユーザによるレシピの利用(即ち実際に調理を行ったこと)が推測される操作である。
[4-2.バッチ処理の第1例]
 検索クエリに基づいて検索されるレシピの数を増加(充実)させるためにレシピ管理サーバ1が実行する処理について説明する。
 尚、この処理は、ユーザ端末3から検索クエリを受信したタイミングで行ってもよいが、処理に要する時間(即ちレシピ管理サーバ1の処理能力)によっては検索結果を迅速にユーザに提示することができなくなるため、好ましくない場合がある。
 ここでは、バッチ処理によって定期的に処理を実行する例を説明する。こうすることにより、レシピサイトの利用が少ない時間帯などに処理を行うことが可能となる。
 先ず、バッチ処理の第1例について、図5乃至図11の各図を参照して説明する。
 レシピ管理サーバ1は、ステップS301において、複合検索条件を取得する処理を実行する。複合検索条件取得処理について、図6に示す。
 複合検索条件は二つ以上のキーワードを含む検索クエリであり、前述のように「トマト、ニンジン」や「トマトを使ったハンバーグ」などの検索クエリである。
 図6に示すように、先ずレシピ管理サーバ1はステップS401において、所定期間内に検索に用いられた検索クエリ(複合検索条件とは限らない検索クエリ)を履歴DB53から一つ取得する処理を実行する。
 取得した一つの検索クエリに対して、レシピ管理サーバ1はステップS402において、複合検索条件であるか否か(即ち二つ以上のキーワードを含んでいるか否か)を判定する処理を実行する。
 取得検索クエリが複合検索条件である場合、レシピ管理サーバ1はステップS403において、当該検索クエリを処理対象の複合検索条件として選択する。処理対象とは、図5に示す以降の各処理の対象となることを示す。
 ステップS403の処理の後、或いは、ステップS402において複合検索条件でないと判定した後、レシピ管理サーバ1はステップS404において、検索クエリの取得が終了したか(即ち所定期間内に検索された他の検索クエリはないか)を判定する処理を実行する。
 検索クエリの取得が終了した場合、即ち、所定期間内に検索された全ての検索クエリに対して複合検索条件であるか否かを判定する処理を実行した場合、レシピ管理サーバ1は図6に示す一連の処理を終了する。
 一方、検索クエリの取得が終了していない場合、レシピ管理サーバ1は再びステップS401の処理を実行する。
 図5の説明に戻る。
 一または複数の複合検索条件(ステップS403において処理対象の複合検索条件として選択されたもの)を取得したレシピ管理サーバ1は、ステップS302において、複合検索条件毎の検索情報として被検索回数を取得する処理を実行する。被検索回数とは、前述のように、複合検索条件が検索クエリとして用いられた回数を表す。
 被検索回数は、履歴DB53から取得する。また、検索DB52に検索クエリ毎の被検索回数が記憶されている場合には、検索DB52から取得してもよい。
 ここで、被検索回数についていくつかの例を説明する。
 被検索回数は、検索リクエスト毎に加算されるものであってもよい。即ち、同じユーザが同一の検索クエリを用いた複数回の検索を行った場合であっても被検索回数に全て加算される。
 また、被検索回数は、単位時間(単位期間)毎のユニークユーザ(重複しないユーザであり、換言すれば、異なるユーザIDが付与されたユーザ)による検索リクエストの回数(同一ユーザによる検索リクエストは1回としてカウントした回数)であってもよい。即ち、単位時間を仮に1週間とした場合、同一ユーザが一週間に同一検索クエリを用いた検索を5回行ったとしても、被検索回数としては1回分として加算される。そして、同一検索クエリを用いた一週間に1回の検索を三週間に亘り行った場合、被検索回数としては3回分として加算される。
 更に、被検索回数は、ユーザ毎に最大1回まで加算されることとしてもよい。即ち、同一ユーザによる同一検索クエリを用いた検索は、何度行っても1回とされる。換言すれば、被検索回数が100回のレシピは、これまでに100人の異なるユーザが閲覧したこととなる。
 被検索回数を取得したレシピ管理サーバ1は、続くステップS303において、処理対象の複合検索条件毎の検索結果数を取得する処理を実行する。
 検索結果数は、検索クエリに応じて抽出されるレシピの数である。即ち、ステップS303では、複合検索条件毎に検索処理を行い、抽出された検索レシピ数を取得する処理を実行する。
 尚、検索DB52に検索クエリ毎の検索結果数が記憶されている場合は、検索DB52から取得してもよい。
 ステップS301乃至S303の各処理を実行することによって、レシピ管理サーバ1は、取得した複合検索条件毎に被検索回数と検索結果数を取得する。
 続いて、レシピ管理サーバ1はステップS304において、複合検索条件毎の被検索回数と検索結果数に応じて支援対象検索条件を決定する処理を実行する。
 支援対象検索条件決定処理については、図7を参照して説明する。
 支援対象検索条件決定処理では、レシピ管理サーバ1は先ずステップS501において、処理対象とされた複合検索条件を一つ選択する。
 続いて、レシピ管理サーバ1はステップS502において、選択した複合検索条件の被検索回数に対する検索結果数が所定割合(閾値)以下であるか否かを判定する。
 そして、被検索回数に対する検索結果数が所定割合以下であると判定した場合、レシピ管理サーバ1はステップS503において、選択された複合検索条件を支援対象検索条件として決定する。
 即ち、当該複合検索条件が検索クエリとして利用される回数に対して検索結果数が少ない複合検索条件ほど優先して支援対象検索条件として決定される。
 次に、レシピ管理サーバ1はステップS504において、処理対象とされた複合検索条件に対してステップS501乃至S503の各処理を実行したか否かを判定する。
 未処理の複合検索条件が残っている場合、レシピ管理サーバ1はステップS501の処理を再度実行する。
 一方、処理対象とされた複合検索条件全てに対して各処理を実行した場合、レシピ管理サーバ1は図7に示す一連の処理を終了する。
 尚、ステップS502の判定で用いる所定割合の閾値は複合検索条件によらず同一の閾値とされてもよいし、複合検索条件に応じて変更される閾値とされてもよい。
 所定割合を複合検索条件に応じて変更する場合、例えば、相対的に被検索回数が多い複合検索条件ほど所定割合の閾値を緩和する(小さくする)。また、複合検索条件に対応する被検索回数に対する被利用回数の割合が少ないほど所定割合の閾値を厳しく(大きく)する構成にしてもよい。
 被利用回数とは、前述した印刷操作などの利用操作の対象となった回数である。被検索回数に対する被利用回数が少ないということは、即ち検索クエリを用いた検索がされているにも関わらず抽出された何れのレシピも利用しなかったということであり、検索結果として抽出されたレシピの中にユーザを満足させるものがなかった可能性がある。そのため、そのような検索クエリ(即ち複合検索条件)が支援対象とされやすくするために、所定割合の閾値を大きくする。
 また、所定割合の閾値を複合検索条件に応じて変更する場合の別の例として、例えば、単位期間あたりの被検索回数の変化が大きいほど所定割合の閾値を厳しく(大きく)することが考えられる。
 単位期間あたりの被検索回数の変化が大きい複合検索条件は注目されている可能性が高い。そのような複合検索条件によって抽出されるレシピ数は多い方が好ましいため、支援対象とされやすくするために所定割合の閾値を厳しく(大きく)する。
 一方、単位期間あたりの被検索回数の変化が小さい複合検索条件はユーザを満足させるレシピが抽出されないことがユーザに認知され始めていることが考えられる。ユーザがレシピサイトを利用しなくなる状況を回避するために、そのような複合検索条件によって抽出されるレシピ数を増加させることが望ましく、当該複合検索条件が支援対象とされやすいように所定割合の閾値を厳しく(大きく)する。
 尚、支援対象検索条件決定処理の別の例については後述する。
 図5の説明に戻る。
 支援対象となる複合検索条件を決定したレシピ管理サーバ1は、ステップS305において、アレンジ対象とするレシピを決定する処理を実行する。
 この処理でアレンジ対象として決定されたレシピは、現時点では先の複合検索条件を用いた検索によって抽出されないレシピであり、且つ、今後の検索によって新たに抽出対象とすることが望まれるレシピである。
 アレンジ対象レシピ決定処理について、具体的に図8を参照して説明する。
 レシピ管理サーバ1は、先ずステップS601において、検索結果数の多いキーワードを含む第一部分検索条件のうちの一つを選択する処理を実行する。
 具体的に説明すると、例えば、支援対象の複合検索条件としてキーワードK1,K2,K3を含む検索クエリ「K1,K2,K3」が選択されたとする。そして、キーワードK1を検索クエリとして抽出されたレシピ数(検索結果数)が100、キーワードK2を検索クエリとして抽出されたレシピ数が200、キーワードK3を検索クエリとして抽出されたレシピ数が300とする。
 このとき、検索結果数の多いキーワードとしてはK3となる。
 検索クエリ「K1,K2,K3」に対する第一部分検索条件は、前述のように「K1」、「K2」、「K3」、「K1,K2」、「K1,K3」、「K2,K3」の6種類となるが、このうち検索結果数の多いキーワードK3を含む第一部分検索条件としては、「K3」、「K1,K3」、「K2,K3」の3種類となる。
 即ち、ステップS601の処理では、この3種類の第一部分検索条件から一つを選択する処理となる。以降では、この具体例を用いて説明する。
 続いて、レシピ管理サーバ1はステップS602において、第一部分検索条件「K3」を用いたレシピ検索を行う。即ち、300個のレシピが検索結果として抽出される。
 そして、レシピ管理サーバ1はステップS603において、検索結果として抽出された300個のレシピから、第一部分検索条件「K3」を満たし「K1」及び「K2」を満たさないレシピを選択して、アレンジ対象レシピとする処理を実行する。
 これにより、現時点において複合検索条件を用いた検索によって抽出されてしまうレシピを除き、複合検索条件の第一部分検索条件のみを満たすレシピがアレンジ対象レシピとして抽出される。
 以降、検索結果数の多いキーワードを含む第一部分検索条件全て(即ち「K3」、「K1,K3」、「K2,K3」の3種類全て)に対して同様の処理を実行する。
 即ち、レシピ管理サーバ1はステップS604において、検索結果数の多いキーワードを含む第一部分検索条件のうち未処理のものがあるか否かを判定し、未処理のものがある場合はステップS601の処理を再度実行する。
 未処理のものが無い場合、レシピ管理サーバ1は図8に示す一連の処理を終了する。
 尚、支援対象検索条件が複数ある場合には、ステップS601乃至S604の各処理を支援対象検索条件の数だけ実行することとなる。
 図5の説明に再び戻る。
 アレンジ対象レシピを決定したレシピ管理サーバ1は、続くステップS306において、支援依頼の対象とする(即ち支援を依頼する)ユーザを特定する処理を実行する。
 この処理は、アレンジ対象レシピに基づくアレンジレシピの投稿が期待されるユーザを特定する処理である。
 具体的な処理例について、図9を参照して説明する。
 先ず、レシピ管理サーバ1はステップS701において、アレンジ対象レシピのうちの一つを選択する。例えば、先のキーワード「K3」を用いた検索処理によって抽出される300個のレシピ(レシピR3001~R3300)がアレンジ対象レシピとされた場合、その中から一つ(例えばレシピR3001)を選択する。
 続いて、レシピ管理サーバ1はステップS702において、対応する第二部分検索条件を取得する。
 対応する第二部分検索条件とは、選択したアレンジ対象レシピR3001の抽出に用いられた第一部分検索条件が支援対象検索条件「K1,K2,K3」の第一部分検索条件「K3」であることから、「K1,K2」が第二部分検索条件となる。
 そして、レシピ管理サーバ1はステップS703において、第二部分検索条件としてのキーワードを使用したレシピや既存のレシピをアレンジしたアレンジレシピを投稿した投稿ユーザを検索する。
 例えば、キーワード「K1,K2」(一例としてK1=「トマト」、K2=「チーズ」とする)を用いたレシピとしては、「トマトたっぷりのアラビアータ」や「トマトとチーズのオムレツ」などのように、「トマト」と「チーズ」を元から含んでいる(使用食材とされている)レシピがある。
 そして、それ以外にも、「トマト」と「チーズ」を使用食材として用いていないレシピがキーワード「トマト、チーズ」によって抽出されることがある。例えば、「我が家のシーフードカレー」のようなレシピ(「トマト」や「チーズ」を使用していないレシピ)に対して作成レポートが投稿されており、その作成レポートに「トマトとチーズを入れてアレンジしてみました。とてもおいしかったです。」のようなレポート内容が記載されている場合などである。即ち、このレシピには元々使用食材として「トマト」や「チーズ」が含まれていないにも関わらず、そのレシピをアレンジした情報が作成レポートとして投稿されている。このような作成レポートは、ある種のレシピ情報(アレンジレシピ情報)として抽出される。
 ステップS703の処理は、このような第二部分検索条件としてのキーワード「K1」,「K2」をアレンジ食材として利用したレシピ(作成レポートも含む)を投稿した投稿ユーザを検索する処理である。
 第二部分検索条件としての「トマト」と「チーズ」をアレンジ食材として使用した投稿ユーザは、当該アレンジ食材を用いて既存の料理をアレンジする能力に長けている可能性が高い。
 レシピ管理サーバ1は、続くステップS704で、検索された投稿ユーザを支援依頼対象ユーザとして特定する処理を実行する。即ち、検索結果として抽出されたアレンジレシピ(作成レポート)を投稿した投稿ユーザを支援依頼対象ユーザとして取得する。
 支援依頼対象ユーザを取得したレシピ管理サーバ1は、続くステップS705において、未処理のアレンジ対象レシピがあるかどうかを判定する。
 未処理のアレンジ対象レシピがある場合、レシピ管理サーバ1は再びステップS701乃至S704の各処理を実行する。
 未処理のアレンジ対象レシピが無くなった場合、レシピ管理サーバ1は図9に示す一連の処理を終了する。
 尚、第二部分検索条件としてのキーワードをアレンジ食材として使用した投稿ユーザを検索する例を示したが、それ以外の例も考え得る。
 例えば、「トマト」と「チーズ」を使用するレシピ(アレンジレシピではない)を投稿した投稿ユーザを検索してもよい。そのようなユーザが「トマト」と「チーズ」を利用するレシピを得意とする可能性もあるためである。
 具体的に図10を参照して説明する。
 レシピ管理サーバ1はステップS801において、アレンジ対象レシピのうちの一つを選択し、ステップS802において対応する第二部分検索条件を取得する。これらの処理は、図9のステップS701及びS702の処理と同様である。
 続いて、レシピ管理サーバ1はステップS803において、第二部分検索条件としてのキーワード「トマト」と「チーズ」を使用してレシピ検索を行い、投稿ユーザを取得する。
 この処理では、「トマト」と「チーズ」を用いたアレンジレシピの投稿ユーザだけでなく、「トマト」と「チーズ」を用いるレシピの投稿ユーザも抽出される。
 そして、レシピ管理サーバ1は、続くステップS804において検索された投稿ユーザを支援依頼対象ユーザとして特定する処理を実行し、ステップS805において未処理のアレンジ対象レシピがあるかどうかを判定する処理を実行する。
 ステップS804及びS805の処理は、図9のステップS704及びS705の処理と同様である。
 また、実績のある投稿ユーザを支援依頼対象ユーザとして優先的に選択する例もある。
 具体的に図11を参照して説明する。
 レシピ管理サーバ1はステップS901乃至S903の各処理を実行する。この処理は、図10のステップS801乃至S803の各処理と同様の処理である。
 第二部分検索条件としてのキーワードを含むレシピの投稿ユーザを検索したレシピ管理サーバ1は、ステップS904において、当該投稿ユーザの中から実績のある投稿ユーザを支援依頼対象ユーザとして特定する処理を実行する。
 実績のある投稿ユーザとは、レシピ投稿数や作成レポート投稿数が多い投稿ユーザや、投稿ユーザによって投稿された投稿レシピの被利用回数が多い投稿ユーザや、或いは被利用率(=被利用回数/閲覧数)の高い投稿ユーザなどである。また、投稿ユーザに対する利用ユーザからの評価が高い投稿ユーザを実績のある投稿ユーザとするように構成してもよい。
 そのような投稿ユーザに対してレシピのアレンジを依頼することは、質の高いレシピ投稿やアレンジレシピの投稿がなされる可能性を高めることができ、延いてはレシピサイトの利用人数の増加を図ることができる。
 支援依頼対象ユーザの特定が完了したレシピ管理サーバ1は、続くステップS905において、未処理のアレンジ対象レシピがあるかどうかを判定する処理を実行する。ステップS905の処理は、ステップS705やS805と同様の処理である。
 続いて、図5の説明に戻る。
 図9乃至図11のいずれかの処理を実行することにより、支援依頼対象ユーザを特定したレシピ管理サーバ1は、ステップS307において、アレンジ依頼情報を通知する処理を実行する。
 アレンジ依頼情報には、アレンジ対象レシピの情報と、第二部分検索条件と、支援依頼対象ユーザが少なくとも含まれる。例えば、支援依頼対象ユーザに対して、「「トマト」と「チーズ」を使ってレシピR3001、R3002・・・をアレンジしませんか?」というメッセージを送る。
 アレンジ依頼情報の通知は、前述のように、電子メールやレシピサイト上への表示などによって行われる。
 まとめると、図5のステップS301乃至S307の処理を実行することにより、支援対象検索条件としての検索クエリ「トマト、チーズ、ニンジン」から第一部分検索条件「ニンジン」と第二部分検索条件「トマト、チーズ」が選択され、第一部分検索条件「ニンジン」を用いた検索によって抽出された「ニンジンサラダ」がアレンジ対象レシピとして選択され、第二部分検索条件とされた「トマト」と「チーズ」を用いたアレンジレシピを得意とする支援依頼対象ユーザに対して「ニンジンサラダ」に「トマト」と「チーズ」を加えたアレンジレシピの提案を依頼する。
 これにより、レシピ情報の充実かが図られる。
[4-3.複合検索条件取得処理第2例]
 先のバッチ処理の第1例では、複合検索条件取得処理の例として、所定期間内に検索された複合検索条件を、処理対象の複合検索条件として選択する例を示した。
 ここでは、複合検索条件取得処理の第2例について、図12を参照して説明する。
 先ず、レシピ管理サーバ1はステップS1001において、検索クエリを取得する処理を実行する。
 続いて、レシピ管理サーバ1はステップS1002において、取得した検索クエリが複合検索条件であるか否かを判定した後、ステップS1003で被検索回数を取得し、ステップS1004で被利用回数を取得する処理を実行する。
 これらの処理により、複合検索条件についての被検索回数と被利用回数を取得する。
 続いて、レシピ管理サーバ1はステップS1005において、被検索回数に対する被利用回数が所定値以下であるか否かを判定する処理を実行する。
 即ち、被検索回数に対する被利用回数の割合が所定閾値以上である場合には、ユーザが検索結果にある程度満足していることが推測されるため、処理対象の複合検索条件からは外すことを意図している。
 ステップS1005において、被検索回数に対する被利用回数の割合が所定閾値以下であると判定した場合、レシピ管理サーバ1はステップS1006において、当該複合検索条件を処理対象として選択する処理を実行する。
 ステップS1006の処理を実行した後、或いは、ステップS1002において検索クエリが複合検索条件でないと判定した後、或いは、被検索回数に対する被利用回数の割合が所定閾値以下でないと判定した後、レシピ管理サーバ1はステップS1007において、検索クエリの取得が終了したか否かを判定する。
 検索クエリの取得が終了していない場合、即ち、図12に示す一連の処理の対象とされた検索クエリがまだ残っている場合、レシピ管理サーバ1は再度ステップS1001の処理を実行する。
 一方、検索クエリの取得が終了したと判定した場合、レシピ管理サーバ1は図12に示す一連の処理を終了する。
 尚、複合検索条件取得処理として図12に示す処理を行った場合、図5のステップS302の処理は図12のステップS1003で既に実行しているため不要となる。
[4-4.支援対象検索条件決定処理第2例]
 先のバッチ処理の第1例における支援対象検索条件決定処理では、被検索回数に対する検索結果数が所定割合以下である複合検索条件を支援対象検索条件とする例を示した。
 支援対象検索条件決定処理の第2例では、類似する複合検索条件の中で被検索回数に対する検索結果数の割合が相対的に少ない複合検索条件を支援対象検索条件とする。
 具体的に、図13を参照して説明する。
 先ず、レシピ管理サーバ1はステップS1101において、処理対象とされた複合検索条件を選択する。この処理は、図7のステップS501の処理と同様の処理である。
 続いて、レシピ管理サーバ1はステップS1102において、類似した複合検索条件を取得する。
 類似した複合検索条件については、後述する。
 次に、レシピ管理サーバ1はステップS1103において、処理対象とされた複合検索条件の被検索回数に対する検索結果数の割合が、類似した複合検索条件の被検索回数に対する検索結果数の割合と比較して相対的に少ないか否かを判定する処理を実行する。
 相対的に少ないと判定した場合、レシピ管理サーバ1はステップS1104において、支援対象検索条件として決定する。換言すれば、処理対象とされた複合検索条件の被検索回数に対する検索結果数の割合が絶対的に少なかったとしても、類似する複合検索条件が同様の水準であれば、必ずしも処理対象とされた複合検索条件を支援対象とする必要がない。
 ステップS1104を実行した後、または、ステップS1103において相対的に少なくないと判定した後、レシピ管理サーバ1はステップS1104において、処理対象とされた複合検索条件に対してステップS1101乃至S1104の各処理を実行したか否かを判定する。
 ステップS1104,S1105の各処理は、図7におけるステップS503,S504の各処理と同様の処理である。
 類似する複合検索条件の例を以下に示す。
1)複合検索条件に含まれる少なくとも一部のキーワードが一致する条件
2)複合検索条件に含まれるキーワードのうち、使用頻度の高い少なくとも一部のキーワードが一致する条件
3)複合検索条件に含まれる少なくとも一部のキーワードが一致し、且つ複合検索条件に含まれるキーワード数が一致する条件
 1)によれば、例えば、検索クエリ「K1,K2,K3」と検索クエリ「K1,K4,K5,K6」はそれぞれ三つのキーワードを含むため、類似する複合検索条件とされる。
 同一のキーワード「K1」を含む検索クエリは、同程度の検索結果数となることが望ましい。「トマト」と「ジャガイモ」を含むレシピとして抽出されたレシピ数が、「トマト」と「ニンジン」を含むレシピとして抽出されたレシピ数に対して著しく少ない場合、検索を行ったユーザに提示するレシピは「トマト」と「ジャガイモ」の双方を食材として使用するレシピが提示される可能性が低くなる。このような状況は好ましくない。
 但し、一部のキーワードの選び方によっては、検索結果数が同程度とならないことがやむを得ない場合もある。
 2)によれば、検索クエリ「K1,K2,K3」の中でキーワード「K1」と「K2」が使用頻度の高い(例えばレシピの使用食材として用いられる頻度の高い)食材(以降、「高頻度」と記載)であり、キーワード「K3」が使用頻度の低い食材(以降、「低頻度」と記載)である場合に、検索クエリ「K1,K2,K3」の類似する複合検索条件としては、検索クエリ「K1(高頻度),K2(高頻度),K4(高頻度)」や検索クエリ「K1(高頻度),K3(低頻度),K5(低頻度)」などが挙げられる。
 尚、検索クエリ「K1(高頻度),K2(高頻度),K4(高頻度)」の検索結果数は検索クエリ「K1(高頻度),K3(低頻度),K5(低頻度)」の検索結果数よりも多くなりやすい。即ち、検索クエリ「K1(高頻度),K3(低頻度),K5(低頻度)」は、低頻度のキーワード「K3」と「K5」を含んでいるため、検索結果数が少なかったとしても妥当である可能性がある。
 一方、検索クエリ「K1(高頻度),K2(高頻度),K4(高頻度)」は、含まれるキーワードが全て高頻度であることから、検索結果数は多いことが望ましい。
 そのため、検索クエリ「K1(高頻度),K3(低頻度),K5(低頻度)」の検索結果数が少ないことよりも、検索クエリ「K1(高頻度),K2(高頻度),K4(高頻度)」の検索結果数が少ないことの方が問題が大きい。
 従って、何れの複合検索条件の検索結果数を充実化させることが望ましいのかは、キーワードの使用頻度を鑑みることが重要である。
 例えば、検索クエリ「K1(高頻度),K2(高頻度),K3(低頻度)」と類似するものとして検索クエリ「K1(高頻度),K3(低頻度),K5(低頻度)」を取得した場合、キーワードの出現頻度が異なるため、検索結果数を同程度とするために検索結果数の充実化を図ることが妥当とは限らない。また、低頻度のキーワードを含んでいるため、検索結果数が少なかったとしても仕方が無い可能性もある。
 そこで、一部のキーワードとして高頻度となるキーワードを選択することが望ましい。
 先の検索クエリ「K1(高頻度),K2(高頻度),K3(低頻度)」においては、高頻度のキーワードとなる「K1」と「K2」が一部のキーワードとされる。
 このとき、検索クエリ「K1(高頻度),K2(高頻度),K3(低頻度)」と類似する複合検索条件としては、一部のキーワード(「K1」及び「K2」)を含む検索クエリ「K1(高頻度),K2(高頻度),K4(高頻度)」や検索クエリ「K1(高頻度),K2(高頻度),K5(低頻度)」などである。
 組み合わせられやすいキーワードは、専用のDBから取得してもよいし、検索履歴から抽出(即ち検索結果数が多い組み合わせを抽出)してもよい。
 また、レシピタイトルに含まれやすいキーワードを一部のキーワードとしてもよい。
 2)についてまとめると、高頻度となるキーワードを一部のキーワードとして選択することにより、検索結果数が同程度となることが望ましい複合検索条件が比較対象として選択され、比較対象に対して相対的に検索結果数が少ない場合に当該複合検索条件は充実化が必要な検索条件として決定され、以降の処理においてレシピの充実化が図られる。
 3)によれば、例えば、検索クエリ「K1,K2,K3」に対して、検索クエリ「K1,K2,K4」や検索クエリ「K1,K5,K6」などは、一部のキーワードが一致すると共に複合検索条件に含まれるキーワード数が一致するため、類似する複合検索条件とされる。
 一般的に、AND検索を行うためのキーワード数を増やすと、検索結果数は減る。そして、絞り込み検索を行うためにはキーワードを追加した検索を行うが、元々の検索結果数が少ないと、絞り込み検索によって抽出される検索結果数は更に少なくなり、ユーザの要望を満たすものとはなり難い。
 例えば、検索クエリ「K1,K2,K3,K4,K5」によって抽出された検索結果数が少ない場合において検索結果数を増やしたいと考えたときに、検索クエリ「K1,K2,K3,K4,K5」の検索結果数を増やせばよいのか、そもそもキーワードが一つ少ない検索クエリ「K1,K2,K3,K4」の検索結果数が少ないのか、或いは更にキーワードが少ない検索クエリ「K1,K2」の時点で検索結果数が少ないのかによって、アレンジ対象レシピの選び方が異なってくる。
 そこで、同数のキーワードを含み且つ検索キーワードが一部同一である複合検索条件においては、同程度の検索結果数を提示することが望ましいという観点から、そのような検索条件を類似する複合検索条件とする。
[4-5.アレンジ対象レシピ決定処理第2例]
 アレンジ対象レシピ決定処理の第2例について、図14を参照して説明する。
 レシピ管理サーバ1は先ずステップS1201において、第一部分検索条件のうちの一つを選択し、続くステップS1202において、当該第一部分検索条件を用いたレシピ検索を行う。
 そして、レシピ管理サーバ1はステップS1203において、抽出されたレシピの中から、当該第一部分検索条件がレシピの中で優先度の高いキーワード(例えば主要食材)とされたレシピを選択し、アレンジ対象レシピとして選択する。
 例えば、第一部分検索条件として検索クエリ「K1(食材)」が選択され、それに応じて検索結果としてのレシピR1,R2,R3が検索された場合を考える。
 レシピR1は、キーワード「K1」が少量使用されているレシピであるため、レシピR1におけるキーワード「K1」は低重要度とされる。
 レシピR2は、キーワード「K1」がレシピタイトルに含まれているため(例えば「K1を使った○○サラダ」)、レシピR2においてキーワード「K2」は高重要度とされる。
 レシピR3は、キーワード「K1」が最も使用量の多い使用食材とされているため、レシピR3におけるキーワード「K1」は高重要度とされる。
 このような場合では、第一部分検索条件(上記の「K1」)がレシピの中で優先度の高いキーワードとされたレシピ(即ちレシピR2,R3)をアレンジ対象レシピとして選択する。
 次に、レシピ管理サーバ1はステップS1204において、未処理の第一部分検索条件があるか否かを判定し、未処理のものがある場合はステップS1201の処理を再度実行する。
 未処理のものが無い場合、レシピ管理サーバ1は図14に示す一連の処理を終了する。
[4-6.バッチ処理の第2例]
 バッチ処理の第2例について、図15を参照して説明する。
 尚、図5に示したバッチ処理の第1例と同様の処理については、同一の符号を付し、適宜説明を省略する。
 レシピ管理サーバ1は、ステップS301において複合検索条件を取得し、ステップS302において被検索回数を取得し、ステップS303において検索結果数を取得する。
 そして、レシピ管理サーバ1はステップS304において支援対象とする複合検索条件を決定し、ステップS305においてアレンジ対象レシピを決定する。
 ステップS301乃至S305の各処理は、図5に示す各処理と同様である。
 続いて、レシピ管理サーバ1はステップS308において、アレンジ対象レシピの数に応じて複合検索条件に優先度を付与する。
 アレンジ対象レシピ数が多いということは、アレンジレシピが投稿される確率(或いは投稿数)が向上するということである。
 即ち、効果の高い複合検索条件の優先度を高くすることによって、効率よくレシピの充実化を図ることができる。
 次に、レシピ管理サーバ1はステップS306において、支援依頼対象ユーザを特定し、ステップS307においてアレンジ依頼情報を通知する。
 尚、アレンジ依頼情報通知処理では、ステップS308で付与した優先度に応じた通知処理を実行してもよい。
 例えば、ある支援依頼対象ユーザに対して複数のアレンジ依頼を行う場合、優先度の高い方のアレンジ対象レシピに関する依頼のみを行ってもよい。また、優先度の高い方のアレンジ対象レシピに関する依頼から順に通知してもよい。
[4-7.特典付与処理]
 レシピの充実化をより促進するために、アレンジレシピの投稿者に対して特典を付与する場合の処理について、図16を参照して説明する。
 尚、図16に示す処理は、新しいアレンジレシピが投稿されるたびに実行(例えばバッチ処理によって実行)してもよいし、一定期間毎に定期的に実行してもよい。
 先ず、レシピ管理サーバ1はステップS1301において、新規に投稿されたアレンジレシピを抽出する処理を実行する。
 尚、バッチ処理などによって実行する場合は、前回処理から今回処理までの間に投稿されたアレンジレシピが新規に投稿されたレシピとされる。
 続いて、レシピ管理サーバ1はステップS1302において、当該アレンジレシピを投稿した投稿ユーザを特定する。
 そして、当該投稿ユーザに対してアレンジ情報通知依頼を行ったか否か(即ち図5におけるステップS307の処理を投稿ユーザに対して行ったか否か)を判定する処理を実行する。
 ここで、投稿ユーザに対してアレンジ情報通知依頼を行っていたとしても、投稿されたアレンジレシピと関連が無い場合(即ち依頼と異なるアレンジレシピが投稿された場合)は、依頼なしと判定する。
 換言すれば、アレンジ情報通知依頼によってアレンジレシピが投稿されたとみなす事ができる場合のみ、依頼ありと判定する。
 アレンジ情報通知依頼ありと判定した場合、レシピ管理サーバ1はステップS1304において、特典付与を行う。
 特典を付与した後、或いは、ステップS1303において依頼なしと判定した後、レシピ管理サーバ1はステップS1305において、未処理の新規投稿アレンジレシピがあるか否かを判定する処理を行う。
 未処理の新規投稿アレンジレシピがある場合、レシピ管理サーバ1は再度ステップS1301の処理を実行する。一方、未処理の新規投稿アレンジレシピがない場合、レシピ管理サーバ1は図16に示す一連の処理を終了する。
 尚、新しいアレンジレシピが投稿されるたびに図16の処理を実行する場合、ステップS1305の処理は不要となる。
 ここで、特典の付与例について述べる。
 被検索回数の変化量が大きい複合検索条件について投稿されたアレンジレシピであった場合、大きな特典(或いは優良な特典)を付与することが考えられる。
 また、被検索回数に対する被利用回数が少ない(即ちユーザが検索結果に満足していないと推測される)複合検索条件について投稿されたアレンジレシピであった場合、大きな特典(或いは優良な特典)を付与することが考えられる。
 更に、類似する複合検索条件の中で被検索回数に対する検索結果数が相対的に少ないものに対して投稿されたアレンジレシピであった場合、大きな特典(或いは優良な特典)を付与することが考えられる。
 更にまた、アレンジ情報通知依頼からアレンジレシピ投稿までの経過時間が短い(即ち対応が早い)ほど、大きな特典(或いは優良な特典)を付与することが考えられる。
 更にまた、投稿されたアレンジレシピと他のアレンジレシピとの類似度が低い(即ち投稿されたアレンジレシピがユニークな)ほど、大きな特典(或いは優良な特典)を付与することが考えられる。
<5.まとめ>

 上記したレシピ管理サーバ1は、レシピに関する情報を検索するために用いられる少なくとも2以上のキーワードを含む複合検索条件と該複合検索条件が検索された被検索回数を取得する検索情報取得部1bと、取得した複合検索条件に対応する検索結果数を取得する検索部1cと、取得した被検索回数と複合検索条件に対応する検索結果数に基づいて支援対象である複合検索条件を決定する支援対象決定部1dと、支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち一部のキーワードのみで構成される第一部分検索条件に対応するレシピをアレンジ対象レシピとして決定するアレンジ対象決定部1eと、支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち一部のキーワードに含まれない残りのキーワードで構成された第二部分検索条件に対応するレシピを特定し、当該特定されたレシピを投稿したユーザを支援依頼対象ユーザとして特定するユーザ管理部1fと、特定された支援依頼対象ユーザに対して決定されたアレンジ対象レシピと第二部分検索条件に基づくレシピの生成を依頼するための依頼情報の送信を制御する送信制御部1gと、を備えている。
 これにより、ユーザの潜在的なニーズが汲み取られて、相対的に不足しているレシピの特定がなされる。
 従って、ユーザの要望に沿ったレシピ情報の拡充を支援することが可能となる。
 また、検索レシピ数が少ないと、ユーザが使い勝手の悪さを感じてしまい、レシピ検索サービスを利用しなくなってしまう虞がある。上記構成によれば、これらの問題を解決し、ユーザが離れてしまうことを防止することができる。
 尚、検索の被検索回数と複合検索条件の検索結果数(検索結果として抽出されたレシピ数)に基づいて支援対象検索条件を決定するため、支援対象検索条件を適切に絞ることが可能となる。そのため、全ての複合検索条件を支援対象検索条件とするよりも、アレンジ対象レシピの決定などの各処理に要するレシピ管理サーバ1の処理負担が軽減される。即ち、必要な箇所(ユーザの潜在的なニーズのある箇所)に対して効率のよいレシピ情報の追加が促進される。
 また、バッチ処理の第1例において説明したように、支援対象決定部1dは、複合検索条件の被検索回数に対する検索結果数の割合と、複合検索条件の検索結果数に応じて特定された閾値と、に基づいて複合検索条件を支援対象とするか否かを決定してもよい。
 これにより、被検索回数に対して複合検索条件の検索結果数の割合が所定値以下となる複合検索条件を支援対象検索条件とすることが可能となる。即ち、このような複合検索条件は、ニーズがあるにも関わらず十分に満足できる検索結果が提示できていない可能性がある。このような複合検索条件が支援対象とされることにより、検索結果として抽出されるレシピ情報が拡充されて、ユーザの要望を満足させることができる。
 更に、バッチ処理の第1例に記載で説明したように、支援対象決定部1dは、複合検索条件の被検索回数に対する検索結果数の割合と、複合検索条件に対応する検索結果に含まれる各レシピの被利用回数に応じて特定された閾値と、に基づいて複合検索条件を支援対象とするか否かを決定してもよい。
 これにより、検索結果に含まれる各レシピの中に、ユーザの要望を満たすレシピのの多寡に応じて閾値が特定される。
 従って、ユーザの要望を満たすレシピが少ない複合検索条件が支援対象とされやすくなり、ユーザの要望を満足させる可能性を高めることができる。
 更にまた、バッチ処理の第1例において説明したように、支援対象決定部1dは、複合検索条件に対応する検索結果に含まれる各レシピの被利用回数が被検索回数に対して少ないほど高い閾値を特定してもよい。
 被検索回数に対して検索結果としてのレシピの被利用回数が少ない場合、検索操作を行ったにも関わらず、所望のレシピが提示されずにレシピ検索を諦めた(若しくは他の検索条件を設定したレシピ検索を再度行った)ユーザが多い可能性が高い。
 このような場合に、高い閾値を特定することは、当該複合検索条件が支援対象検索条件として選択される可能性が高くなる。
 従って、ユーザの実際の行動に基づいたニーズを推測したレシピ情報の拡充が行われる可能性を高めることができる。
 そして、バッチ処理の第1例において説明したように、支援対象決定部1dは、複合検索条件の所定期間における被検索回数の変化が大きいほど高い閾値を特定してもよい。
 例えば、被検索回数の変化が短時間に増大した場合などは、ニーズが急激に増加していることが推測される。このような状態において高い閾値を特定することは、当該複合検索条件が支援対象検索条件として選択される可能性が高くなる。
 即ち、ニーズの変動に即したレシピ情報の拡充が行われやすくする環境を提供することができる。
 加えて、支援対象検索条件決定処理第2例で説明したように、支援対象決定部1dは、複合検索条件に対応する被検索回数に対する検索結果数の割合が他の複合検索条件に対応する検索回数に対する検索結果数の割合に対して相対的に少ない複合検索条件を対象として決定してもよい。
 これにより、例えば、類似する複合検索条件が複数あった場合に、相対的にレシピ数の足りていない複合検索条件が支援対象検索条件とされる。
 従って、他の類似する複合検索条件よりもレシピ拡充の必要性が高いと推測される複合検索条件に対して、検索結果の充実化(即ち複合検索条件の検索結果数の増加)を図ることが可能となる。
 そして、バッチ処理の第2例において説明したように、支援対象決定部1dは、第一部分検索条件に対応する検索結果数が多い複合検索条件ほど高い優先度を付与し、送信制御部1gは、相対的に高い優先度を付与された複合検索条件に基づく依頼情報が優先的に送信されるように制御してもよい。
 これにより、アレンジ対象レシピの候補となるレシピが多く検索される複合検索条件の優先度が高くなる。換言すれば、アレンジ対象レシピが多くなる。
 アレンジ対象レシピが多いということは、アレンジ対象レシピを改良したアレンジレシピの提案数も増加する可能性が高いため、レシピ情報の充実化を効率よく図ることができる。
 また、バッチ処理の第1例において説明したように、アレンジ対象決定部1eは、支援対象として決定された複合検索条件に含まれるキーワード毎に優先度を特定し、当該特定された優先度が相対的に高いキーワードを含む第一部分検索条件に対応するレシピをアレンジ対象レシピとして決定してもよい。
 これにより、優先度が相対的に高いキーワード(例えば主要食材)が既に含まれるレシピがアレンジ対象レシピとして抽出される。即ち、アレンジ対象食材は主要食材以外の食材とされ、主要食材はレシピ通りに調理される。従って、主要食材を奇抜にアレンジしたアレンジレシピなどが投稿される可能性を低減させることができる。
 即ち、万人に受け入れられる汎用性の高いレシピによってレシピ情報の充実化を図ることができる。
 尚、上述したレシピ管理サーバ1では、食材A,食材B,食材C,食材Dを検索条件とした検索を行った場合、四つの食材全てを利用するレシピが検索結果として抽出される例を挙げたが、検索結果を充実させるために、一部(例えば四つの食材のうち三つの食材)のみを利用するレシピが検索結果として更に抽出されてもよい。即ち、食材A,食材B,食材Cを利用するが食材Dを利用しないレシピが検索結果として抽出されてもよい。
 このとき、食材A,食材Bを第一部分検索条件とした場合に、食材C,食材Dの双方を第二部分検索条件とするだけでなく、そのうちの一部(即ち食材Cなど)を第二部分検索条件とすることによっても、レシピ検索結果の充実化を図ることができる。
 即ち、食材A,食材Bを利用するアレンジ対象レシピに食材Cを加えたアレンジレシピの投稿がなされれば、食材A,食材B,食材C,食材Dを検索条件として抽出されるレシピの充実化が図られる。
 そのため、第二部分検索条件としては、「支援対象検索条件」の中から第一部分検索条件を除いた全ての条件でなくてもよい。
<6.プログラム及び記憶媒体>

 以上、本発明の情報処理装置の実施の形態としてのレシピ管理サーバ1を説明してきたが、実施の形態のプログラムは、レシピ管理サーバ1における各処理を情報処理装置(CPU等)に実行させるプログラムである。
 実施の形態のプログラムは、レシピに関する情報を検索するために用いられる少なくとも2以上のキーワードを含む複合検索条件と該複合検索条件が検索された被検索回数を取得する検索情報取得機能を情報処理装置に実行させる。
 また、前記取得した複合検索条件に対応する検索結果数を取得する検索機能を情報処理装置に実行させる。
 更に前記取得した被検索回数と前記複合検索条件に対応する検索結果数に基づいて支援対象である複合検索条件を決定する支援対象決定機能を情報処理装置に実行させる。
 更にまた、前記支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち一部のキーワードのみで構成される第一部分検索条件に対応するレシピをアレンジ対象レシピとして決定するアレンジ対象決定機能を情報処理装置に実行させる。
 そして、前記支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち前記一部のキーワードに含まれない残りのキーワードで構成された第二部分検索条件に対応するレシピを特定し、当該特定されたレシピを投稿したユーザを支援依頼対象ユーザとして特定するユーザ管理機能を情報処理装置に実行させる。
 加えて、前記特定された支援依頼対象ユーザに対して前記決定されたアレンジ対象レシピと前記第二部分検索条件に基づくレシピの生成を依頼するための依頼情報の送信を制御する送信制御機能を情報処理装置に実行させる。
 即ちこのプログラムは、レシピ管理サーバ1に対して図4のステップS201乃至S210の各処理、図5乃至図16の各処理を実行させるプログラムである。
 このようなプログラムにより、上述したレシピ管理サーバ1としての情報処理装置を実現できる。
 そしてこのようなプログラムはコンピュータ装置などの機器に内蔵されている記憶媒体としてのHDDや、CPUを有するマイクロコンピュータ内のROMなどに予め記録しておくことができる。或いはまた、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスクなどのリムーバブル記憶媒体に、一時的或いは永続的に格納(記録)しておくことができる。またこのようなリムーバブル記憶媒体は、いわゆるパッケージソフトウェアとして提供することができる。
 また、このようなプログラムは、リムーバブル記憶媒体からパーソナルコンピュータなどにインストールする他、ダウンロードサイトから、LAN、インターネットなどのネットワークを介してダウンロードすることもできる。
 1 レシピ管理サーバ、1a レシピ管理部、1b 検索情報取得部、1c 検索部、1d 支援対象決定部、1e アレンジ対象決定部、1f ユーザ管理部、1g 送信制御部、2 通信ネットワーク、3 ユーザ端末、50 ユーザDB、51 レシピDB、52 検索DB、53 履歴DB、54 ウェブページDB

Claims (10)

  1.  レシピに関する情報を検索するために用いられる少なくとも2以上のキーワードを含む複合検索条件と該複合検索条件が検索された被検索回数を取得する検索情報取得部と、
     前記取得した複合検索条件に対応する検索結果数を取得する検索部と、
     前記取得した被検索回数と前記複合検索条件に対応する検索結果数に基づいて支援対象である複合検索条件を決定する支援対象決定部と、
     前記支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち一部のキーワードのみで構成される第一部分検索条件に対応するレシピをアレンジ対象レシピとして決定するアレンジ対象決定部と、
     前記支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち前記一部のキーワードに含まれない残りのキーワードで構成された第二部分検索条件に対応するレシピを特定し、当該特定されたレシピを投稿したユーザを支援依頼対象ユーザとして特定するユーザ管理部と、
     前記特定された支援依頼対象ユーザに対して前記決定されたアレンジ対象レシピと前記第二部分検索条件に基づくレシピの生成を依頼するための依頼情報の送信を制御する送信制御部と、を備えた
     情報処理装置。
  2.  前記支援対象決定部は、前記複合検索条件の前記被検索回数に対する検索結果数の割合と、前記複合検索条件の検索結果数に応じて特定された閾値と、に基づいて複合検索条件を支援対象とするか否かを決定する
     請求項1に記載の情報処理装置。
  3.  前記支援対象決定部は、前記複合検索条件の前記被検索回数に対する検索結果数の割合と、前記複合検索条件に対応する検索結果に含まれる各レシピの被利用回数に応じて特定された閾値と、に基づいて複合検索条件を支援対象とするか否かを決定する
     請求項1に記載の情報処理装置。
  4.  前記支援対象決定部は、前記複合検索条件に対応する検索結果に含まれる各レシピの被利用回数が前記被検索回数に対して少ないほど高い閾値を特定する
     請求項2または請求項3に記載の情報処理装置。
  5.  前記支援対象決定部は、前記複合検索条件の所定期間における被検索回数の変化が大きいほど高い閾値を特定する
     請求項2または請求項3に記載の情報処理装置。
  6.  前記支援対象決定部は、前記複合検索条件に対応する前記被検索回数に対する検索結果数の割合が他の前記複合検索条件に対応する検索回数に対する検索結果数の割合に対して相対的に少ない複合検索条件を前記支援対象として決定する
     請求項1乃至請求項5の何れか一項に記載の情報処理装置。
  7.  前記支援対象決定部は、前記前記第一部分検索条件に対応する検索結果数が多い複合検索条件ほど高い優先度を付与し、
     前記送信制御部は、相対的に高い優先度を付与された前記複合検索条件に基づく依頼情報が優先的に送信されるように制御する
     請求項1乃至請求項6の何れか一項に記載の情報処理装置。
  8.  前記アレンジ対象決定部は、前記支援対象として決定された複合検索条件に含まれるキーワード毎に優先度を特定し、当該特定された優先度が相対的に高いキーワードを含む前記第一部分検索条件に対応するレシピをアレンジ対象レシピとして決定する
     請求項1乃至請求項7の何れか一項に記載の情報処理装置。
  9.  レシピに関する情報を検索するために用いられる少なくとも2以上のキーワードを含む複合検索条件と該複合検索条件が検索された被検索回数を取得する検索情報取得ステップと、
     前記取得した複合検索条件に対応する検索結果数を取得する検索ステップと、
     前記取得した被検索回数と前記複合検索条件に対応する検索結果数に基づいて支援対象である複合検索条件を決定する支援対象決定ステップと、
     前記支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち一部のキーワードのみで構成される第一部分検索条件に対応するレシピをアレンジ対象レシピとして決定するアレンジ対象決定ステップと、
     前記支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち前記一部のキーワードに含まれない残りのキーワードで構成された第二部分検索条件に対応するレシピを特定し、当該特定されたレシピを投稿したユーザを支援依頼対象ユーザとして特定するユーザ管理ステップと、
     前記特定された支援依頼対象ユーザに対して前記決定されたアレンジ対象レシピと前記第二部分検索条件に基づくレシピの生成を依頼するための依頼情報の送信を制御する送信制御ステップと、を
     情報処理装置が実行する情報処理方法。
  10.  レシピに関する情報を検索するために用いられる少なくとも2以上のキーワードを含む複合検索条件と該複合検索条件が検索された被検索回数を取得する検索情報取得機能と、
     前記取得した複合検索条件に対応する検索結果数を取得する検索機能と、
     前記取得した被検索回数と前記複合検索条件に対応する検索結果数に基づいて支援対象である複合検索条件を決定する支援対象決定機能と、
     前記支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち一部のキーワードのみで構成される第一部分検索条件に対応するレシピをアレンジ対象レシピとして決定するアレンジ対象決定機能と、
     前記支援対象であると決定された複合検索条件に含まれる2以上のキーワードのうち前記一部のキーワードに含まれない残りのキーワードで構成された第二部分検索条件に対応するレシピを特定し、当該特定されたレシピを投稿したユーザを支援依頼対象ユーザとして特定するユーザ管理機能と、
     前記特定された支援依頼対象ユーザに対して前記決定されたアレンジ対象レシピと前記第二部分検索条件に基づくレシピの生成を依頼するための依頼情報の送信を制御する送信制御機能と、を
     情報処理装置に実行させるプログラム。
PCT/JP2016/061396 2016-04-07 2016-04-07 情報処理装置、情報処理方法、プログラム WO2017175356A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2016/061396 WO2017175356A1 (ja) 2016-04-07 2016-04-07 情報処理装置、情報処理方法、プログラム
JP2017554622A JP6275932B1 (ja) 2016-04-07 2016-04-07 情報処理装置、情報処理方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/061396 WO2017175356A1 (ja) 2016-04-07 2016-04-07 情報処理装置、情報処理方法、プログラム

Publications (1)

Publication Number Publication Date
WO2017175356A1 true WO2017175356A1 (ja) 2017-10-12

Family

ID=60000345

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/061396 WO2017175356A1 (ja) 2016-04-07 2016-04-07 情報処理装置、情報処理方法、プログラム

Country Status (2)

Country Link
JP (1) JP6275932B1 (ja)
WO (1) WO2017175356A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003107233A1 (ja) * 2002-06-13 2003-12-24 株式会社電通 レシピ提供システムおよびレシピ提供方法
JP2004220414A (ja) * 2003-01-16 2004-08-05 Osaka Gas Co Ltd 調理レシピ提供システム
WO2013161107A1 (ja) * 2012-04-26 2013-10-31 楽天株式会社 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003107233A1 (ja) * 2002-06-13 2003-12-24 株式会社電通 レシピ提供システムおよびレシピ提供方法
JP2004220414A (ja) * 2003-01-16 2004-08-05 Osaka Gas Co Ltd 調理レシピ提供システム
WO2013161107A1 (ja) * 2012-04-26 2013-10-31 楽天株式会社 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体

Also Published As

Publication number Publication date
JPWO2017175356A1 (ja) 2018-04-12
JP6275932B1 (ja) 2018-02-07

Similar Documents

Publication Publication Date Title
US10387505B2 (en) Generating advertisements using functional clusters
US10318538B2 (en) Systems, methods, and apparatuses for implementing an interface to view and explore socially relevant concepts of an entity graph
JP6291145B2 (ja) 情報処理装置、情報処理方法、プログラム、記憶媒体
US9317585B2 (en) Search query suggestions based on personal information
US20160188742A1 (en) Bookmarking Search Results
JP2015537319A (ja) モバイルアプリケーションをプッシュする方法及びシステム
US20140280575A1 (en) Determining activities relevant to users
US20140280576A1 (en) Determining activities relevant to groups of individuals
US20120084657A1 (en) Providing content to a user from multiple sources based on interest tag(s) that are included in an interest cloud
US20210279297A1 (en) Linking to a search result
JP6641460B2 (ja) 情報処理装置、情報処理方法、プログラム
JP6279823B1 (ja) 情報処理装置、情報処理方法、プログラム
CN108259588B (zh) 一种基于大数据的文化云平台的推送方法及装置
JP6275932B1 (ja) 情報処理装置、情報処理方法、プログラム
WO2013047471A1 (ja) 店舗情報検索システム
JP6310165B1 (ja) 情報処理装置、情報処理方法、プログラム、記憶媒体
KR102195691B1 (ko) 주종 및 주량에 따른 음식점 추천 장치 및 방법
JP6890747B2 (ja) 情報処理装置、情報処理方法、プログラム
JP2020024490A (ja) 情報処理装置、情報処理方法、プログラム、記憶媒体
JP6641486B2 (ja) 情報処理装置、情報処理方法、プログラム、記憶媒体
US20240073160A1 (en) Providing a system-generated response in a messaging session
JP6749984B2 (ja) 情報提供方法、情報提供プログラム、及び情報提供装置
JP6262926B1 (ja) 情報処理装置、情報処理方法、プログラム、記憶媒体
WO2022251130A1 (en) Linking to a search result
WO2014160236A1 (en) Determining activities relevant to users and/or groups of individuals

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2017554622

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

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

Ref document number: 16897913

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16897913

Country of ref document: EP

Kind code of ref document: A1