WO2020012589A1 - 情報処理システム、情報処理方法及び記憶媒体 - Google Patents
情報処理システム、情報処理方法及び記憶媒体 Download PDFInfo
- Publication number
- WO2020012589A1 WO2020012589A1 PCT/JP2018/026273 JP2018026273W WO2020012589A1 WO 2020012589 A1 WO2020012589 A1 WO 2020012589A1 JP 2018026273 W JP2018026273 W JP 2018026273W WO 2020012589 A1 WO2020012589 A1 WO 2020012589A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- action
- reward
- information processing
- information
- processing system
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0226—Incentive systems for frequent usage, e.g. frequent flyer miles programs or point systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
Definitions
- the present invention relates to an information processing system, an information processing method, and a storage medium.
- Non-Patent Literature 1 discloses a method that can be used to determine content to be recommended to a user on an online application such as a movie distribution site.
- Non-Patent Document 1 proposes a recommendation system that recommends a plurality of movies to a user by using an algorithm based on contextual (with context) / combinatorial bandit, which is a kind of the multi-armed bandit problem.
- Non-Patent Document 1 does not consider the feedback of a movie that has not been recommended to the user.
- an untargeted candidate may not be considered, and an appropriate decision may not be realized depending on a constraint condition of a problem.
- the present invention has been made in view of the above-described problems, and provides an information processing system, an information processing method, and a storage medium that can realize appropriate decision making even with more general constraints. With the goal.
- a condition acquisition unit that acquires constraint information of an action and candidate information for each of a plurality of candidates that are targets of the action, based on the constraint information and the candidate information
- a reward function estimating unit that estimates a reward function for calculating a reward corresponding to the action for each of the plurality of candidates, and determines the content of the action based on the reward function of each of the plurality of candidates.
- acquiring constraint information of an action and candidate information for each of a plurality of candidates that are targets of the action, based on the constraint information and the candidate information Estimating a reward function for calculating a reward corresponding to the action for each of the plurality of candidates; and determining the content of the action based on the reward function of each of the plurality of candidates.
- a computer obtains constraint information of an action and candidate information for each of a plurality of candidates that are targets of the action, the constraint information and the candidate information Estimating a reward function for calculating a reward corresponding to the action for each of the plurality of candidates, and determining the content of the action based on the reward function of each of the plurality of candidates.
- a storage medium storing a program for executing an information processing method having the steps of:
- FIG. 2 is a block diagram illustrating a hardware configuration example of the information processing system according to the first embodiment.
- FIG. 2 is a functional block diagram illustrating a configuration example of an information processing system according to the first embodiment.
- 4 is a flowchart illustrating an operation of the information processing system according to the first embodiment. It is a table
- 9 is a graph showing a relationship between an estimated reward and the number of trials in application example 2 of the first embodiment. It is a functional block diagram showing the example of composition of the information processing system concerning a 2nd embodiment.
- the information processing system is a system that performs information processing for decision making such as how to allocate measures such as promotion (sales promotion activities such as advertisement distribution).
- the assignment of the promotion refers to, for example, determining which users are provided with the promotion and which users are not provided with the promotion.
- Promotional assignments may also be more generally referred to as actions.
- Users may also be more generally referred to as candidates.
- the content of the promotion is not particularly limited, for example, it may be an online advertisement displayed on a browser, an advertisement by e-mail, a direct mail, sending a discount ticket, and the like.
- a reward function for predicting a reward for example, a purchase amount, a purchase probability, an expected value of a purchase amount, etc.
- an action for example, allocation of a promotion
- It can be difficult. For example, it is difficult to predict the probability that a user who has been promoted or a user who has not been promoted will purchase a product when there is no information. Even if there is some information, this probability often includes an error. Therefore, there is a need to improve the estimation accuracy of the reward function by repeatedly performing the action determined based on the reward function and obtaining the result, and to increase the reward actually obtained in the process as much as possible.
- the multi-armed bandit problem is one of the models that can be applied to situations where such sequential decision making is required.
- the multi-armed bandit problem is to maximize the reward by repeatedly selecting a slot machine and trying (pulling an arm) when there are multiple slot machines for which it is not possible to know in advance how easy it is to win The question is how to do that.
- the multi-armed bandit problem maximize the total reward by considering the trade-off between "searching” for a slot machine that is easy to hit and "utilization” to secure a reward by selecting a slot machine that is easy to try. Research on such algorithms is underway. Further, the multi-armed bandit problem can be applied to uses other than the slot machine, and applications to various decision making are being studied. The problem of the above-mentioned promotion assignment can be approached by a multi-armed bandit problem by replacing the selection of the slot machine with the selection of the target user of the promotion.
- the slot machine that did not pull the arm does not operate and does not receive a reward.
- the premise of the problem setting is that the player can only obtain the reward information of the slot machine that actually pulls the arm.
- the same premise is set in the example of Non-Patent Document 1.
- the multi-armed bandit problem is applied to a real problem different from a slot machine, depending on the type of problem, not only the selected option but also information on the reward of the unselected option may be obtained.
- not only the user who provided the promotion but also the user who did not provide the product may purchase the product, and information such as the purchase history may be obtained. In such an example, information on the reward of the option not selected should also be considered.
- the information processing system according to the present embodiment uses an algorithm adapted to the multi-armed bandit problem, but can realize appropriate decision-making even for more general constraints.
- the configuration of the information processing system according to the present embodiment will be described based on a specific case.
- the information processing system is a system for determining how to allocate a promotion for selling a product to a plurality of users registered in advance.
- the information processing system may be a system that determines which of the registered users to send direct mail to.
- the information processing system of the present embodiment and a system for providing a user with a promotion based on the determined assignment may be integrated or separate.
- the information processing system according to the present embodiment is based on the premise that it is possible to acquire purchase information (whether or not a product has been purchased) from both a user who has provided a promotion and a user who has not provided a promotion. I do. Note that the information processing system of the present embodiment and the system for acquiring purchase information may be integrated or separate.
- FIG. 1 is a block diagram showing an example of a hardware configuration of the information processing system 100.
- the information processing system 100 may be, for example, a server, a desktop PC (Personal Computer), a notebook PC, a tablet PC, or another computer.
- the information processing system 100 includes a CPU (Central Processing Unit) 151, a RAM (Random Access Memory) 152, a ROM (Read Only Memory) 153, and a HDD (Hard Disk Drive) 154 as computers that perform calculations, controls, and stores. Further, the information processing system 100 includes a communication I / F (interface) 155, a display device 156, and an input device 157.
- the CPU 151, the RAM 152, the ROM 153, the HDD 154, the communication I / F 155, the display device 156, and the input device 157 are interconnected via a bus 158.
- the display device 156 and the input device 157 may be connected to the bus 158 via a driving device (not shown) for driving these devices.
- each unit constituting the information processing system 100 is illustrated as an integrated device, but a part of these functions may be provided by an external device.
- the display device 156 and the input device 157 may be external devices that are different from the components constituting the functions of the computer including the CPU 151 and the like.
- the CPU 151 is a processor that performs a predetermined operation according to a program stored in the ROM 153, the HDD 154, or the like, and also has a function of controlling each unit of the information processing system 100.
- the RAM 152 is configured by a volatile storage medium, and provides a temporary memory area necessary for the operation of the CPU 151.
- the ROM 153 includes a nonvolatile storage medium, and stores necessary information such as a program used for the operation of the information processing system 100.
- the HDD 154 is a storage device that is configured from a nonvolatile storage medium and stores data necessary for processing, an operation program of the information processing system 100, and the like.
- the communication I / F 155 is a communication interface based on standards such as Ethernet (registered trademark), Wi-Fi (registered trademark), and 4G, and is a module for performing communication with other devices.
- the display device 156 is a liquid crystal display, an OLED (Organic Light Emitting Diode) display, or the like, and is used for displaying images, characters, interfaces, and the like.
- the input device 157 is a keyboard, a pointing device, or the like, and is used by a user to operate the information processing system 100. Examples of the pointing device include a mouse, a trackball, a touch panel, a pen tablet, and the like.
- the display device 156 and the input device 157 may be integrally formed as a touch panel.
- the hardware configuration shown in FIG. 1 is merely an example, and other devices may be added, or some of the devices may not be provided. In addition, some devices may be replaced with another device having a similar function. Furthermore, some functions of the present embodiment may be provided by another device via a network, and the functions of the present embodiment may be realized by being distributed to a plurality of devices.
- the HDD 154 may be replaced with an SSD (Solid State Drive) using a semiconductor memory, or may be replaced with a cloud storage.
- the information processing system 100 may include a GPU (Graphics Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), and the like.
- the control and calculation functions in the information processing system 100 may be realized by a GPU, an ASIC, an FPGA, or the like, instead of the CPU.
- FIG. 2 is a functional block diagram of the information processing system 100.
- the information processing system 100 includes a feedback acquisition unit 101, a condition acquisition unit 102, a reward function estimation unit 103, an action determination unit 104, and a storage unit 105.
- the CPU 151 implements the functions of the reward function estimating unit 103 and the action determining unit 104 by loading a program stored in the ROM 153, the HDD 154, or the like into the RAM 152 and executing the program.
- the CPU 151 realizes the functions of the feedback acquisition unit 101, the condition acquisition unit 102, and the storage unit 105 by controlling the HDD 154, the communication I / F 155, and the like based on a program. The processing performed by these units will be described later.
- FIG. 3 is a flowchart showing a process performed by the information processing system 100 according to the present embodiment. The process performed by the information processing system 100 will be described with reference to FIG.
- the information processing system 100 of the present embodiment is a system that performs information processing for sequential decision making.
- the information processing system 100 repeatedly determines the contents of the promotion to be provided to the user and acquires the result of the promotion by repeating the processing from step S101 to step S106.
- the condition obtaining unit 102 obtains candidate information for each of the users who are candidates for promotion.
- the candidate information includes, for example, information such as the number of users, purchase information of the user in the past, whether or not a promotion has been provided in the past, whether or not a product has been purchased in the past, and attributes of the user. May be included.
- FIG. 4 is a table showing an example of candidate information.
- FIG. 4 shows a user ID (Identifier), a promotion history, a purchase history, and the age of the user.
- the promotion history indicates the number of times the promotion has been provided in the past.
- the purchase history indicates the number of times a product has been purchased in the past.
- Age is an example of a user's attribute.
- the fact that the number of times of the promotion history and the purchase history are included in the candidate information as numerical values is merely an example, and this may be replaced with information on the presence or absence of the promotion history and the purchase history.
- the promotion history and purchase history can be used for the reward function.
- the attribute of the user such as age can be used as the information of the feature amount in the bandit algorithm with context by the information processing system 100 of the present embodiment.
- step S102 the condition obtaining unit 102 obtains promotion constraint information.
- This constraint information is information relating to a constraint condition of a method of providing a promotion, and may be, for example, an upper limit of the number of users who can provide a promotion, a type of promotion when there are a plurality of types of promotions, and the like. Steps S101 and S102 may be performed in the reverse order, or may be performed in parallel.
- the acquisition process by the condition acquisition unit 102 may be a process of reading candidate information acquired in advance from the storage unit 105.
- the acquisition process by the condition acquisition unit 102 may be a process of receiving an input from an operator or a process of acquiring candidate information via a network.
- the storage unit 105 stores the candidate information and the constraint information newly or updates the existing information. .
- the reward function estimating unit 103 estimates a reward function for calculating a reward corresponding to the promotion for each of the plurality of users based on the constraint information and the candidate information.
- the reward function is provided so that a different value can be calculated for each user as shown in Expression (1).
- Subscript i such as reward R i and reward function ri is a value such as a user ID, and distinguishes a user.
- the number of users is n.
- the coefficient x indicates a value corresponding to a choice of promotion assignment (action) to all users. In other words, the coefficient x includes information on assignment to all users.
- the value of the coefficient x may be set to 1 in a case where the allocation is to provide the promotion to the user 1 and not to provide the promotion to the other users.
- the reward function estimating unit 103 can calculate a reward for each user when various promotions are allocated.
- the coefficient x may be a scalar or a vector.
- step S104 the action determination unit 104 determines the allocation of the promotion based on the reward function of each of the plurality of users as shown in Expression (1). Specifically, as shown in equation (2), so that calculates the total value R sum compensation by summing the reward function r i corresponding to each user, to maximize the sum R sum reward Is determined.
- the assignment of the promotion that can be determined here is, for example, such that the promotion is provided to the user 1 and the promotion is not provided to other users.
- maximizing the sum R sum of compensation is an example, may determine the x as a function of the evaluation including the reward function r i satisfies a predetermined condition.
- the promotion allocation determined in step S104 is output to a promotion providing system or the like outside the information processing system 100, and is used for providing an actual promotion.
- step S105 the feedback acquiring unit 101 acquires the result of the promotion as feedback for the allocation of the promotion determined in step S104.
- step S106 the feedback acquiring unit 101 stores the acquired promotion result in the storage unit 105 in association with the candidate information used for the promotion and the allocation of the promotion. Thereby, the candidate information stored in the storage unit 105 is updated to one considering the current promotion. Further, the result of the promotion may be used in a formula for calculating a reward in the reward function. In this way, learning using the result of the feedback is automatically performed.
- step S107 the CPU 151 of the information processing system 100 determines whether or not to continue this processing. This determination may be to determine whether or not a predetermined number of loops has been reached, or may be to determine whether or not the operator of the information processing system 100 has performed a process stop operation. It may determine whether a predetermined stop condition is satisfied. If it is determined that the process is to be continued, the process proceeds to step S101 (YES in step S107). When it is determined that the process is not to be continued, the present process ends (NO in step S107).
- the reward function is estimated so that the reward according to the action can be calculated for each of the plurality of candidates (users who can be a target of promotion). .
- the action is the assignment of a promotion, it is possible to calculate a reward for not only “providing a promotion” but also “not providing a promotion” to a certain user.
- the reward can be calculated with more general constraints, the information processing system 100 that can realize appropriate decision making even with more general constraints is realized. Is done.
- the action is determined so as to maximize the total value of rewards obtained by adding the reward functions corresponding to each user.
- the rewards for both the “user who does not provide the promotion” and the “user who does not provide the promotion” are added to determine the allocation of the promotion. Considered decision making is realized. As described above, in this example, the information processing system 100 that can realize more appropriate decision making is realized.
- Application example 1 In an application example 1, an application example of the present embodiment to a simplified model will be described in order to easily explain the effects of the present embodiment. First, the preconditions of Application Example 1 will be described. It is assumed that there are only two users that can be the target of the promotion: user 1 and user 2. It is also assumed that there is only one type of promotion. Further, a promotion constraint condition is that only one of the user 1 and the user 2 can provide the promotion. That is, possible actions (action constraint information) are “provide a promotion to user 1 and do not provide a promotion to user 2” and “provide a promotion to user 2 without providing a promotion to user 1”. One of two types.
- FIG. 5 is a table showing rewards of the user 1 and the user 2.
- the table in FIG. 5 can be said to be a reward function for calculating a reward according to an action.
- the reward of the user 1 is 0.9 when the promotion is provided, and 0.7 when the promotion is not provided.
- the reward of the user 2 is 0.6 when the promotion is provided, and 0.2 when the promotion is not provided.
- the information processing system 100 of the present embodiment executes the processing of FIG. 3 to determine an action (provide a promotion to the user 1 or the user 2) and observe the result (the user 1 and the user 2 purchase a product). Acquisition of purchase information of whether or not) is repeated.
- the purpose of the first application example is to maximize the total reward obtained from the user 1 and the user 2 while repeatedly determining the above-described action and observing the result. Needless to say, the rewards listed in the table of FIG. 5 are unknown in the initial state. Therefore, the information processing system 100 estimates the reward function in the process of repeating the processing in FIG.
- the information processing system 100 of the present embodiment can consider both a reward when the promotion is provided and a reward when the promotion is not provided, and the total reward of the user 1 and the user 2 Determine the action to maximize.
- the information processing system 100 provides the promotion to the user 2 without providing the promotion to the user 1.
- the information processing system 100 of the present embodiment realizes more appropriate decision making by determining an action in consideration of a reward of a user who has not provided a promotion. I do.
- the optimization example of the application example 1 by the information processing system 100 indicates that it is optimal to provide a promotion to the user 2 having a large difference in reward between when the promotion is not provided and when the promotion is provided.
- Teaching. This is equivalent to a marketing rule of thumb that it is effective to find a prospective customer who has not purchased a product so far and provide a promotion.
- the information processing system 100 can obtain a valid conclusion by learning using the feedback of the result of the action.
- FIG. 6 is a table showing purchase probabilities of products of the user 1 and the user 2. As shown in FIG. 6, the purchase probability of the product of the user 1 is 0.9 when the promotion is provided, and 0.7 when the promotion is not provided. The purchase probability of the product of the user 2 is 0.6 when the promotion is provided, and is 0.2 when the promotion is not provided.
- the numerical values in the table shown in FIG. 6 are also expected reward values and can be said to be reward functions.
- the first action is to provide a promotion only to the user 1 and the second action is to provide a promotion only to the user 2.
- the result of the first action is that the user 1 purchases a product and the user 2 does not purchase the product
- the reward of the user 1 is 1 and the reward of the user 2 is 0.
- the result of the second action is that neither user 1 nor user 2 purchases a product
- the rewards of user 1 and user 2 are both zero. If these results are interpreted as they are, it is concluded that it is better to provide the promotion to the user 1 than to the user 2. If this result is fed back as it is, it is determined that it is optimal to continue to provide the promotion only to the user 1 in the subsequent actions.
- FIG. 7 is a table showing reward functions of the user 1 and the user 2 after learning.
- the expected value of the reward when the promotion of the user 1 is provided and the expected value of the reward when the promotion is not provided to the user 2 are appropriate values.
- the expected value of other rewards is 0, which is not an appropriate value. This is because, after the results of the first and second actions, since the action of providing the promotion only to the user 2 has not been performed, the learning has been completed with the result that the reward is 0.
- the user continues to select to provide the promotion to the user 1 and not to provide the promotion to the user 2 based on the table in FIG.
- optimistic means that the reward of the uncertain option is overestimated, and more specifically, a large correction value is added to the reward function for a user who has provided a small number of promotions and has an uncertain reward function. That is. As a result, the promotion is easily provided to the user whose reward function is uncertain, and the possibility of inappropriate learning as described above can be reduced.
- an optimistic estimated reward for a certain action a (allocation of a certain promotion) to a certain user u is set by the following equation (3).
- (Optimistic estimated reward) (estimated reward) + (estimated reliability) (3)
- R total is the sum of rewards for action a for user u. For example, if the reward 1 has been generated 10 times for the user u by the action a, R total is 10.
- t 1 is the number of times the action a is performed for the user u.
- ⁇ is a value determined by the number of users and the constraint condition, and is set to 2 in this example.
- d is the dimension of the user's vector.
- the user vector is such that each user is represented by a vector that is linearly independent from each other, such as (1, 0) for user 1 and (0, 1) for user 2. Therefore, in this example, the dimension of the vector of the user is 2.
- N is a value determined by the constraint condition, and is 2 in this example.
- ⁇ t is the number of trials (the number of times the promotion was assigned and the result was observed). t can be rephrased as the sum of the number of times the action a for the user u has been performed and the number of times the action a has not been performed.
- “/” indicates a fraction
- p / q is a value obtained by dividing p by q.
- ⁇ is a parameter related to the probability of success of the algorithm, and is set to 0.001 in this example.
- S is a value determined by the magnitude of the obtained reward and the dimension of the vector of the user, and is set to 2 in this example.
- the reliability of the estimation is an increasing function with respect to t, and gradually increases as the number of trials increases as the process is repeated.
- the reliability of the estimation is also a decreasing function with respect to t 1, reduces the action a is made to the user u. Therefore, the optimistic estimated reward gradually increases when a trial in which the action a is not performed on the user u continues, and decreases when the action a is performed on the user u. That is, the reliability of the estimation is a parameter for correcting the reward so as to make it easier to select such an action a by largely estimating (optimistically estimating) the reward of the action a that has not been tried much. is there.
- FIG. 8 is a graph showing a relationship between the estimated reward calculated by the above method and the number of trials.
- FIG. 8 shows a result of simulating how the estimated reward changes as the number of trials increases for four conditions depending on the difference between the user 1 and the user 2 and the presence or absence of the promotion. As shown in FIG. 8, while the number of trials is small, the value of the reliability of the estimation is much larger than the expected value of the reward. However, it can be seen that as the number of trials increases, it gradually converges toward the expected value of the reward.
- an action is determined (decision of promotion allocation) using Thompson sampling.
- Thompson sampling is a technique of generating random numbers according to a posterior probability distribution (for example, beta distribution) of the expected value of each action, and executing the action (for example, the value of the random number is the largest) using the generated random numbers as an evaluation index.
- a posterior probability distribution for example, beta distribution
- an action is selected such that the posterior probability that a certain action is optimal matches the execution probability of the action.
- actions other than the action optimized at a certain point in time are executed with a probability according to the posterior probability distribution, so that the possibility of inappropriate learning as described in Application Example 2 is reduced. can do.
- ⁇ -greedy means that an action that is estimated to be optimal at a certain point in time (1 ⁇ ) is executed based on a random number, and other actions are executed with a probability ⁇ . Even when this method is used, it is possible to reduce the possibility that inappropriate learning as described in Application Example 2 is performed.
- FIG. 9 is a functional block diagram illustrating a configuration example of the information processing system 200 according to the present embodiment.
- the information processing system 200 includes a condition acquisition unit 202, a reward function estimation unit 203, and an action determination unit 204.
- the condition acquiring unit 202 acquires the constraint information of the action and the candidate information for each of the plurality of candidates that are targets of the action.
- the reward function estimating unit 203 estimates a reward function for calculating a reward corresponding to an action for each of the plurality of candidates based on the constraint information and the candidate information.
- the action determining unit 204 determines the content of the action based on the reward function of each of the plurality of candidates.
- an information processing system 200 capable of realizing an appropriate decision even with more general constraint conditions is provided.
- the information processing system in the above-described embodiment is used for making a decision for appropriately allocating a promotion to be provided to a user.
- "user” can be generalized to “candidate” and “promotion assignment” can be generalized to "action”. That is, the information processing system in the above-described embodiment can be applied to uses other than promotion assignment.
- the information processing system in the above-described embodiment can be used for the purpose of allocating work to a person in charge to improve work efficiency.
- the information processing system in the above-described embodiment can be applied.
- the information processing system in the above embodiment can also be used for assigning calculations to computers in order to reduce calculation costs.
- the information processing system in the above-described embodiment can be applied.
- the information processing system according to the above-described embodiment can also be used for optimizing the assignment of a passing route of a vehicle to reduce transportation costs.
- the information processing system in the above-described embodiment can be applied.
- a storage medium stores a program for operating the configuration of the embodiment so as to realize the functions of the above-described embodiments, reads the program stored in the storage medium as code, and executes a computer-executable processing method. It is included in the category of the form. That is, a computer-readable storage medium is also included in the scope of each embodiment. In addition, not only a storage medium storing the above-described computer program but also the computer program itself is included in each embodiment. In addition, one or more components included in the above-described embodiments may be a circuit such as an ASIC or an FPGA configured to realize the function of each component.
- a floppy (registered trademark) disk for example, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM (Compact Disc-Only Memory), a magnetic tape, a nonvolatile memory card, and a ROM can be used.
- a floppy (registered trademark) disk for example, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM (Compact Disc-Only Memory), a magnetic tape, a nonvolatile memory card, and a ROM
- OS Operating System
- SaaS Software @ as @ a @ Service
- a condition acquisition unit that acquires constraint information of an action and candidate information for each of a plurality of candidates that are targets of the action
- a reward function estimating unit that estimates a reward function for calculating a reward corresponding to the action for each of the plurality of candidates, based on the constraint information and the candidate information
- An action determining unit that determines the content of the action based on the reward function of each of the plurality of candidates
- Appendix 2 The information processing system according to claim 1, wherein the action includes selecting at least one of the plurality of candidates as a target of the measure, and excluding candidates other than the selected candidate from the target of the measure. .
- the action includes assigning a promotion,
- the candidate is a user who receives the promotion.
- the information processing system according to any one of supplementary notes 1 to 12.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
アクションの制約情報と、前記アクションの対象である複数の候補の各々についての候補情報とを取得する条件取得部と、前記制約情報及び前記候補情報に基づいて、前記アクションに応じた報酬を算出するための報酬関数を前記複数の候補の各々について推定する報酬関数推定部と、前記複数の候補の各々の前記報酬関数に基づいて、前記アクションの内容を決定するアクション決定部と、を有する、情報処理システムが提供される。
Description
本発明は、情報処理システム、情報処理方法及び記憶媒体に関する。
非特許文献1には、映画の配信サイト等のオンラインアプリケーション上でユーザに推薦すべきコンテンツの決定等に用いることができる手法が開示されている。非特許文献1は、多腕バンディット問題の一種であるコンテクスチュアル(文脈付き)・コンビナトリアル・バンディットに基づくアルゴリズムを用いて、ユーザに複数の映画を推薦する推薦システムを提案している。
L. Qin, S. Chen, and X. Zhu, "Contextual Combinatorial Bandit and its Application on Diversified Online Recommendation", in Proceedings of the 2014 SIAM International Conference on Data Mining, pp. 461-469, 2014
非特許文献1に記載されている推薦システムでは、ユーザに対して推薦を行わなかった映画のフィードバックについては考慮されていない。このように、従来の意思決定手法では、対象とならなかった候補が考慮されないことがあり、問題の制約条件によっては適切な意思決定が実現できない場合があった。
本発明は、上述の課題に鑑みて行われたものであって、より一般的な制約条件に対しても適切な意思決定を実現し得る情報処理システム、情報処理方法及び記憶媒体を提供することを目的とする。
本発明の1つの観点によれば、アクションの制約情報と、前記アクションの対象である複数の候補の各々についての候補情報とを取得する条件取得部と、前記制約情報及び前記候補情報に基づいて、前記アクションに応じた報酬を算出するための報酬関数を前記複数の候補の各々について推定する報酬関数推定部と、前記複数の候補の各々の前記報酬関数に基づいて、前記アクションの内容を決定するアクション決定部と、を有する、情報処理システムが提供される。
本発明の他の1つの観点によれば、アクションの制約情報と、前記アクションの対象である複数の候補の各々についての候補情報とを取得するステップと、前記制約情報及び前記候補情報に基づいて、前記アクションに応じた報酬を算出するための報酬関数を前記複数の候補の各々について推定するステップと、前記複数の候補の各々の前記報酬関数に基づいて、前記アクションの内容を決定するステップと、を有する、情報処理方法が提供される。
本発明の他の1つの観点によれば、コンピュータに、アクションの制約情報と、前記アクションの対象である複数の候補の各々についての候補情報とを取得するステップと、前記制約情報及び前記候補情報に基づいて、前記アクションに応じた報酬を算出するための報酬関数を前記複数の候補の各々について推定するステップと、前記複数の候補の各々の前記報酬関数に基づいて、前記アクションの内容を決定するステップと、を有する情報処理方法を実行させるためのプログラムを記憶した記憶媒体が提供される。
本発明によれば、より一般的な制約条件に対しても適切な意思決定を実現し得る情報処理システム、情報処理方法及び記憶媒体を提供することができる。
以下、図面を参照して、本発明の実施形態を説明する。なお、以下で説明する図面において、同一の機能又は対応する機能を有する要素には同一の符号を付し、その繰り返しの説明は省略することもある。
[第1実施形態]
本実施形態の具体的構成の説明に先立って、本実施形態の前提となる技術事項及び適用場面の例について説明する。本実施形態の情報処理システムは、プロモーション(広告の配信等の販売促進活動)等の施策の割り当て方等の意思決定のための情報処理を行うシステムである。ここで、プロモーションの割り当てとは、例えば、どのユーザにプロモーションを提供し、どのユーザにプロモーションを提供しないかを決定することを指す。また、プロモーションの割り当ては、より一般的にアクションと呼ばれることもある。またユーザは、より一般的に候補と呼ばれることもある。プロモーションの内容は特に限定されるものではないが、例えば、ブラウザ上に表示されるオンライン広告、電子メールによる広告、ダイレクトメール、割引チケットの送付等であり得る。
本実施形態の具体的構成の説明に先立って、本実施形態の前提となる技術事項及び適用場面の例について説明する。本実施形態の情報処理システムは、プロモーション(広告の配信等の販売促進活動)等の施策の割り当て方等の意思決定のための情報処理を行うシステムである。ここで、プロモーションの割り当てとは、例えば、どのユーザにプロモーションを提供し、どのユーザにプロモーションを提供しないかを決定することを指す。また、プロモーションの割り当ては、より一般的にアクションと呼ばれることもある。またユーザは、より一般的に候補と呼ばれることもある。プロモーションの内容は特に限定されるものではないが、例えば、ブラウザ上に表示されるオンライン広告、電子メールによる広告、ダイレクトメール、割引チケットの送付等であり得る。
報酬関数を用いて意思決定を行う種々のアルゴリズムがある。しかしながら、現実の意思決定の場面では、アクション(例えばプロモーションの割り当て)に対する報酬(例えば、購入額、購入確率、購入額の期待値等)を予測するための報酬関数を完全な状態で事前に得ることが難しい場合がある。例えば、プロモーションの対象となったユーザ又はプロモーションの対象とならなかったユーザが商品の購入を行う確率は、何も情報がない段階では予想が困難である。また、ある程度情報があったとしても、この確率には誤差が含まれる場合が多い。そのため、報酬関数に基づいて決定されたアクションを実行してその結果を取得することを繰り返し行って報酬関数の推定精度を高めるとともに、その過程で実際に得られる報酬をできる限り大きくしたいというニーズが存在する。
多腕バンディット問題は、このような逐次的意思決定が求められる場面に適用され得るモデルの一つである。多腕バンディット問題とは、事前に当たりやすさを知ることができない複数のスロットマシンがある場合に、プレイヤーがいずれかのスロットマシンを選んで試行する(アームを引く)ことを繰り返して報酬を最大化するにはどうすればよいかという問題である。
多腕バンディット問題では、当たりやすいスロットマシンを探す「探索」と、当たりやすいスロットマシンを選んで試行することにより報酬を確保する「活用」とのトレードオフを考慮して合計の報酬を最も大きくするようなアルゴリズムの研究が進められている。また、多腕バンディット問題は、スロットマシン以外の用途にも適用可能であり、種々の意思決定への応用が検討されている。上述のプロモーションの割り当ての問題は、スロットマシンの選択をプロモーションの対象ユーザの選択に置き換えることで、多腕バンディット問題によるアプローチが可能である。
スロットマシンの例では、アームを引かなかったスロットマシンは動作せず、報酬が得られない。すなわち、プレイヤーは実際にアームを引いたスロットマシンの報酬の情報しか得ることができないということが問題設定の前提になっている。非特許文献1の例においても同様の前提が置かれている。しかしながら、多腕バンディット問題をスロットマシンとは異なる現実の問題に適用した場合には、問題の種類によっては選択した選択肢だけでなく、選択しなかった選択肢の報酬の情報が得られる場合もある。
例えば、上述のプロモーションの例では、プロモーションを提供したユーザだけでなく提供しなかったユーザも商品を購入することがあり、その購入履歴等の情報が得られる。このような例では、選択しなかった選択肢の報酬の情報も考慮すべきである。
本実施形態の情報処理システムは、多腕バンディット問題に適合したアルゴリズムを用いるものであるが、より一般的な制約条件に対しても適切な意思決定を実現し得るものである。以下では、本実施形態の情報処理システムの構成を具体的事例に即して説明する。
本実施形態の情報処理システムは、あらかじめ登録されている複数のユーザに商品を販売するためのプロモーションをどのように割り当てるかを決定するためのシステムであるものとする。例えば、プロモーションがダイレクトメールであるとすると、本情報処理システムは、登録されているユーザのうちのどのユーザにダイレクトメールを送付するかを決定するシステムであり得る。この例では、ユーザの数が多すぎる等の理由により、すべてのユーザにダイレクトメールを送付できない場合があり、ダイレクトメールの送付可能数がプロモーションの割り当ての制約条件となる。なお、本実施形態の情報処理システムと、決定された割り当てに基づいてプロモーションをユーザに提供するためのシステムとは、一体であってもよく、別々であってもよい。
また、本実施形態の情報処理システムは、プロモーションを提供したユーザとプロモーションを提供しなかったユーザとのいずれからも購買情報(商品を購入したか否か等)を取得可能であることを前提とする。なお、本実施形態の情報処理システムと、購買情報を取得するためのシステムとは、一体であってもよく、別々であってもよい。
以下の説明においては、特記した場合を除き、プロモーションは1種類であるものとし、各ユーザに実行しうる施策はプロモーションを提供することと、プロモーションを提供しないことのいずれかであるものとする。しかしながら、プロモーションの種類は複数であってもよい。
図1は、情報処理システム100のハードウェア構成例を示すブロック図である。情報処理システム100は、例えば、サーバ、デスクトップPC(Personal Computer)ノートPC、タブレットPC等のコンピュータであり得る。
情報処理システム100は、演算、制御及び記憶を行うコンピュータとして、CPU(Central Processing Unit)151、RAM(Random Access Memory)152、ROM(Read Only Memory)153及びHDD(Hard Disk Drive)154を備える。また、情報処理システム100は、通信I/F(インターフェース)155、表示装置156及び入力装置157を備える。CPU151、RAM152、ROM153、HDD154、通信I/F155、表示装置156及び入力装置157は、バス158を介して相互に接続される。なお、表示装置156及び入力装置157は、これらの装置を駆動するための不図示の駆動装置を介してバス158に接続されてもよい。
図1では、情報処理システム100を構成する各部が一体の装置として図示されているが、これらの機能の一部は外付け装置により提供されるものであってもよい。例えば、表示装置156及び入力装置157は、CPU151等を含むコンピュータの機能を構成する部分とは別の外付け装置であってもよい。
CPU151は、ROM153、HDD154等に記憶されたプログラムに従って所定の動作を行うとともに、情報処理システム100の各部を制御する機能をも有するプロセッサである。RAM152は、揮発性記憶媒体から構成され、CPU151の動作に必要な一時的なメモリ領域を提供する。ROM153は、不揮発性記憶媒体から構成され、情報処理システム100の動作に用いられるプログラム等の必要な情報を記憶する。HDD154は、不揮発性記憶媒体から構成され、処理に必要なデータ、情報処理システム100の動作用プログラム等の記憶を行う記憶装置である。
通信I/F155は、イーサネット(登録商標)、Wi-Fi(登録商標)、4G等の規格に基づく通信インターフェースであり、他の装置との通信を行うためのモジュールである。表示装置156は、液晶ディスプレイ、OLED(Organic Light Emitting Diode)ディスプレイ等であって、画像、文字、インターフェース等の表示に用いられる。入力装置157は、キーボード、ポインティングデバイス等であって、ユーザが情報処理システム100を操作するために用いられる。ポインティングデバイスの例としては、マウス、トラックボール、タッチパネル、ペンタブレット等が挙げられる。表示装置156及び入力装置157は、タッチパネルとして一体に形成されていてもよい。
なお、図1に示されているハードウェア構成は例示であり、これら以外の装置が追加されていてもよく、一部の装置が設けられていなくてもよい。また、一部の装置が同様の機能を有する別の装置に置換されていてもよい。更に、本実施形態の一部の機能がネットワークを介して他の装置により提供されてもよく、本実施形態の機能が複数の装置に分散されて実現されるものであってもよい。例えば、HDD154は、半導体メモリを用いたSSD(Solid State Drive)に置換されていてもよく、クラウドストレージに置換されていてもよい。
また、情報処理システム100は、GPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等を含んでいてもよい。情報処理システム100における制御及び演算の機能は、CPUだけではなく、GPU、ASIC、FPGA等により実現されるものであってもよい。
図2は、情報処理システム100の機能ブロック図である。情報処理システム100は、フィードバック取得部101、条件取得部102、報酬関数推定部103、アクション決定部104及び記憶部105を備える。CPU151は、ROM153、HDD154等に記憶されたプログラムをRAM152にロードして実行することにより、報酬関数推定部103及びアクション決定部104の機能を実現する。CPU151は、プログラムに基づいてHDD154、通信I/F155等を制御することによりフィードバック取得部101、条件取得部102及び記憶部105の機能を実現する。これらの各部で行われる処理については後述する。
図3は、本実施形態に係る情報処理システム100により行われる処理を示すフローチャートである。図3を参照しつつ、情報処理システム100により行われる処理を説明する。
本実施形態の情報処理システム100は、逐次的意思決定のための情報処理を行うシステムである。情報処理システム100は、ステップS101からステップS106までの処理を繰り返すことにより、ユーザに対して提供するプロモーションの内容の決定と、プロモーションの結果の取得を繰り返し実行する。
ステップS101において、条件取得部102は、プロモーションの対象となり得る候補であるユーザの各々についての候補情報を取得する。この候補情報は、例えば、ユーザの人数、ユーザの過去の購買情報、過去にプロモーションを提供したことがあるか否か、過去に商品を購入したことがあるか否か、ユーザの属性等の情報を含み得る。
図4は、候補情報の例を示す表である。図4には、ユーザID(Identifier)、プロモーション履歴、購入履歴、ユーザの年齢が示されている。プロモーション履歴は、過去にプロモーションを提供した回数を示している。購入履歴は、過去に商品を購入した回数を示している。年齢は、ユーザの属性の一例である。なお、プロモーション履歴及び購入履歴の回数が数値で候補情報に含まれていることはあくまでも一例であり、これは、プロモーション履歴及び購入履歴の有無の情報に置き換えられていてもよい。
プロモーション履歴及び購入履歴は、報酬関数に用いられ得る。年齢等のユーザの属性は、本実施形態の情報処理システム100が文脈付きバンディットアルゴリズムにおける特徴量の情報として用いられ得る。
ステップS102において、条件取得部102は、プロモーションの制約情報を取得する。この制約情報は、プロモーションの提供方法の制約条件に関する情報であり、例えば、プロモーションを提供することができるユーザの人数の上限、プロモーションの種類が複数ある場合にはプロモーションの種類等であり得る。なお、ステップS101とステップS102の処理は逆の順序で行われてもよく、並行して行われてもよい。
条件取得部102による取得処理は、あらかじめ取得されている候補情報を記憶部105から読み出すものであり得る。また、条件取得部102による取得処理は、オペレータからの入力を受け付けるものであってもよく、ネットワークを介して候補情報を取得するものであってもよい。また、候補情報及び制約情報が情報処理システム100の外部から取得された場合には、記憶部105は、候補情報及び制約情報を新規に記憶するか、あるいは既存の情報を更新する形で記憶する。
ステップS103において、報酬関数推定部103は、制約情報及び候補情報に基づいて、プロモーションに応じた報酬を算出するための報酬関数を複数のユーザの各々について推定する。報酬関数は、式(1)に示されるようにユーザごとに異なる値を算出できるように与えられる。報酬Ri、報酬関数ri等の添字iはユーザID等の値でありユーザを区別するものである。なお、式(1)の例ではユーザの数はn人であるものとしている。また、係数xはすべてのユーザに対するプロモーションの割り当て(アクション)の選択肢に対応する値を示すものであり、言い換えると、係数xはすべてのユーザに対する割り当ての情報を含む。例えば、係数xの値は、ユーザ1にプロモーションを提供し、その他のユーザにはプロモーションを提供しないという割り当て方の場合に1とする等の設定であり得る。このように、報酬関数推定部103は、種々のプロモーションの割り当てを行った際の報酬をユーザごとに算出することが可能である。なお、係数xは、スカラーであってもよく、ベクトルであってもよい。
ステップS104において、アクション決定部104は、式(1)に示すような複数のユーザの各々の報酬関数に基づいて、プロモーションの割り当てを決定する。具体的には、式(2)に示されるように、各ユーザに対応する報酬関数riを合算することにより報酬の合計値Rsumを算出し、報酬の合計値Rsumを最大化するようにxを決定する。ここで決定され得るプロモーションの割り当てとは、例えば、ユーザ1にプロモーションを提供し、その他のユーザにはプロモーションを提供しないというようなものである。なお、報酬の合計値Rsumを最大化することは一例であり、報酬関数riを含む評価用の関数が所定の条件を満たすようにxを決定してもよい。
ステップS104において決定されたプロモーションの割り当ては、情報処理システム100の外部のプロモーションの提供システム等に出力され、実際のプロモーションの提供に利用される。
ステップS105において、フィードバック取得部101は、プロモーションの結果をステップS104において決定されたプロモーションの割り当てに対するフィードバックとして取得する。
ステップS106において、フィードバック取得部101は、取得したプロモーションの結果をそのプロモーションに用いた候補情報及びプロモーションの割り当てと関連付けて記憶部105に記憶させる。これにより、記憶部105に記憶されている候補情報は、今回のプロモーションを考慮したものに更新される。また、プロモーションの結果は、報酬関数における報酬の算出式に用いられてもよい。このようにして、フィードバックの結果を用いた学習が自動的に行われる。
ステップS107において、情報処理システム100のCPU151は、本処理を継続するか否かを判定する。この判定は、所定のループ回数に達したか否かを判定するものであってもよく、情報処理システム100のオペレータが処理の停止操作を行ったか否かを判定するものであってもよく、所定の停止条件が満たされたか否かを判定するものであってもよい。処理を継続すると判定された場合には処理はステップS101に移行する(ステップS107におけるYES)。処理を継続しないと判定された場合には本処理は終了する(ステップS107におけるNO)。
以上のように、本実施形態の情報処理システム100は、複数の候補(プロモーションの対象となり得るユーザ)の各々についてアクションに応じた報酬の算出を行うことができるように報酬関数の推定が行われる。本例ではアクションはプロモーションの割り当てであるため、あるユーザに対して「プロモーションを提供する場合」だけでなく、「プロモーションを提供しない場合」の報酬を算出することができる。このように、本実施形態では、より一般的な制約条件で報酬の算出を行うことができるため、より一般的な制約条件に対しても適切な意思決定を実現し得る情報処理システム100が実現される。
また、本例では、各ユーザに対応する報酬関数を合算して得た報酬の合計値を最大化するようにアクションを決定する。これにより、本例では、「プロモーションを提供するユーザ」と「プロモーションを提供しないユーザ」の両方の場合の報酬を合算してプロモーションの割り当てを決定するので、「プロモーションを提供しないユーザ」の報酬も考慮した意思決定が実現される。このように、本例では、より適切な意思決定を実現し得る情報処理システム100が実現される。
本実施形態の情報処理システム100を用いた具体的な問題への適用例を説明する。なお、以下の適用例は、本実施形態の構成と効果をよりわかりやすく説明するためのものであり、本実施形態の情報処理システム100の適用範囲を限定解釈することを意図するものではない。
(適用例1)
適用例1では、本実施形態の効果をわかりやすく説明するため、単純化されたモデルへの本実施形態の適用例を説明する。まず適用例1の前提条件を説明する。プロモーションの対象となり得るユーザは、ユーザ1とユーザ2の2名のみであるものとする。また、プロモーションの種類は1種類のみであるものとする。更に、プロモーションの提供可能数はユーザ1とユーザ2のいずれか1名のみであることをプロモーションの制約条件とする。すなわち、取り得るアクション(アクションの制約情報)は、「ユーザ1にプロモーションを提供し、ユーザ2にプロモーションを提供しない」及び「ユーザ1にプロモーションを提供せず、ユーザ2にプロモーションを提供する」の2種類のうちのいずれかである。
適用例1では、本実施形態の効果をわかりやすく説明するため、単純化されたモデルへの本実施形態の適用例を説明する。まず適用例1の前提条件を説明する。プロモーションの対象となり得るユーザは、ユーザ1とユーザ2の2名のみであるものとする。また、プロモーションの種類は1種類のみであるものとする。更に、プロモーションの提供可能数はユーザ1とユーザ2のいずれか1名のみであることをプロモーションの制約条件とする。すなわち、取り得るアクション(アクションの制約情報)は、「ユーザ1にプロモーションを提供し、ユーザ2にプロモーションを提供しない」及び「ユーザ1にプロモーションを提供せず、ユーザ2にプロモーションを提供する」の2種類のうちのいずれかである。
ユーザ1及びユーザ2は、プロモーションを提供した場合、提供しなかった場合のそれぞれにおいて、商品の購入額が変化する。この商品の購入額が本適用例における報酬であるとする。図5は、ユーザ1及びユーザ2の報酬を示す表である。また図5の表は、アクションに応じた報酬を算出するための報酬関数であるともいえる。図5に示されるように、ユーザ1の報酬は、プロモーションを提供した場合に0.9であり、プロモーションを提供しなかった場合に0.7である。ユーザ2の報酬は、プロモーションを提供した場合に0.6であり、プロモーションを提供しなかった場合に0.2である。例えば、ユーザ1にプロモーションを提供し、ユーザ2にプロモーションを提供しなかった場合のユーザ1とユーザ2の総報酬は、0.9+0.2=1.1である。
本実施形態の情報処理システム100は、図3の処理を実行することにより、アクションの決定(ユーザ1又はユーザ2へのプロモーションの提供)と結果の観測(ユーザ1及びユーザ2が商品を購入したか否かの購買情報の取得)を繰り返す。本適用例1の目的は、上述のアクションの決定と結果の観測を繰り返しながら、ユーザ1及びユーザ2から得られる総報酬を最大化することである。言うまでもないが、図5の表に記載されている報酬は、初期状態では未知である。そのため、情報処理システム100は、図3の処理を繰り返す過程で、報酬関数の推定を行う。
上述の問題設定において、本実施形態の情報処理システム100は、プロモーションを提供した場合の報酬とプロモーションを提供しなかった場合の報酬をいずれも考慮することができ、ユーザ1とユーザ2の総報酬を最大化するようにアクションを決定する。これにより、報酬関数の学習が進むと、情報処理システム100は、ユーザ1にプロモーションを提供せず、ユーザ2にプロモーションを提供する。これにより、総報酬(アクション1回当たり)は、0.7+0.6=1.3となり、適用例1の前提条件における報酬を最大化するアクションが実現される。
他方、非特許文献1のような選択しなかった候補からの報酬が考慮されないアルゴリズムを適用例1の問題に適用した場合には、プロモーションの提供を行ったユーザの報酬が最大になるようにアクションが選択される。具体的には、ユーザ1とユーザ2を対比すると、プロモーションを提供した場合の報酬は、ユーザ1の方が大きいので、ユーザ1にプロモーションを提供し、ユーザ2にプロモーションを提供しないという選択がされ続ける。この場合の総報酬(アクション1回当たり)は、0.9+0.2=1.1となり、報酬を最大化するアクションが実現されない。
以上の適用例1から理解されるように、本実施形態の情報処理システム100は、プロモーションを提供しなかったユーザの報酬を考慮してアクションの決定を行うことにより、より適切な意思決定を実現する。
なお、情報処理システム100による適用例1の最適化事例は、プロモーションを提供しなかった場合とプロモーションを提供した場合の報酬の差が大きいユーザ2にプロモーションを提供することが最適であるということを教示している。これは、これまでにあまり商品を購入していない見込み顧客を発掘してプロモーションを提供することが効果的であるというマーケティング上の経験則に相当するものである。このように、情報処理システム100は、アクションの結果のフィードバックを用いた学習により妥当な結論を得ることができている。
(適用例2)
適用例1の問題の一部を変更して、報酬が確率的に与えられる場合におけるより適切な報酬関数の設定方法を適用例2として説明する。
適用例1の問題の一部を変更して、報酬が確率的に与えられる場合におけるより適切な報酬関数の設定方法を適用例2として説明する。
適用例2では、ユーザ1及びユーザ2は、プロモーションを提供した場合、提供しなかった場合のそれぞれにおいて、ある確率で商品を購入するものとする。図6は、ユーザ1及びユーザ2の商品の購入確率を示す表である。図6に示されるように、ユーザ1の商品の購入確率は、プロモーションを提供した場合に0.9であり、プロモーションを提供しなかった場合に0.7である。ユーザ2の商品の購入確率は、プロモーションを提供した場合に0.6であり、プロモーションを提供しなかった場合に0.2である。
また、ユーザが商品を購入した場合の報酬が1であり、ユーザが商品を購入しなかった場合の報酬が0であるものとする。したがって、ユーザ1にプロモーションを提供した場合のユーザ1の商品の購入による報酬の期待値は、1×0.9+0×(1-0.9)=0.9である。したがって、報酬の期待値は、図6に示されている購入確率の値と一致する。図5の他の値についても同様である。したがって、図6に示される表の数値は、報酬の期待値でもあり、報酬関数であるといえる。
このように報酬が確率的に与えられる場合であっても、報酬の期待値を最大化することにより適用例1と同じ結論が得られることが望ましい。しかしながら、報酬が確率的に与えられる場合には、報酬関数の推定が適切に行われない場合がある。そのような場合の例を以下に説明する。
1回目のアクションは、ユーザ1のみにプロモーションを提供するものであり、2回目のアクションではユーザ2のみにプロモーションを提供するものであったものとする。このとき、1回目のアクションの結果はユーザ1が商品を購入し、ユーザ2は商品を購入しないというものであったとすると、ユーザ1の報酬は1でユーザ2の報酬は0である。そして、2回目のアクションの結果はユーザ1もユーザ2も商品を購入しないというものであったとすると、ユーザ1とユーザ2の報酬はいずれも0である。これらの結果をそのまま解釈すると、ユーザ2よりもユーザ1にプロモーションを提供した方がよいという結論が導かれる。この結果をそのままフィードバックすると、これ以後のアクションでは、ユーザ1のみにプロモーションを提供し続けることが最適であると判断される。
この状況において、ユーザ1にプロモーションを提供し、ユーザ2にプロモーションを提供しないというアクションを繰り返して報酬関数の学習が進められると、図7のような報酬関数が得られる。図7は、ユーザ1及びユーザ2の学習後の報酬関数を示す表である。図7に示されているように、ユーザ1のプロモーションを提供した場合の報酬の期待値と、ユーザ2にプロモーションを提供しない場合の報酬の期待値は適切な値となっている。しかしながら、その他の報酬の期待値は0になっており適切な値ではない。これは、1回目と2回目のアクションの結果の後、ユーザ2のみにプロモーションを提供するアクションを行っていないので、報酬が0という結果で学習が完了してしまったためである。
学習の完了後も図7の表に基づいて、ユーザ1にプロモーションを提供し、ユーザ2にプロモーションを提供しないという選択がされ続ける。この場合の総報酬(アクション1回当たり)は、0.9+0.2=1.1となるため、報酬を最大化するアクションが実現されない場合がある。
この問題を解消するには、報酬関数に補正を加えることにより、楽観的に報酬関数を推定することが好適である。ここで、楽観的とは、不確かな選択肢の報酬を高く見積もることであり、より具体的には、プロモーションを提供した回数が少なく報酬関数が不確かなユーザについて、報酬関数に大きな補正値を加算することである。これにより、報酬関数が不確かなユーザにプロモーションが提供されやすくなり、上述のような不適切な学習がなされる可能性を低減することができる。
楽観的な報酬関数の推定方法の一例として、UCB(Upper Confidence Bound)に基づく楽観的報酬関数の概要及びシミュレーションの結果を説明する。本手法では、あるユーザuに対するあるアクションa(あるプロモーションの割り当て)の楽観的推定報酬を以下の式(3)で設定する。
(楽観的推定報酬)=(推定報酬)+(推定の信頼度) (3)
(楽観的推定報酬)=(推定報酬)+(推定の信頼度) (3)
ここで、Rtotalは、ユーザuに対するアクションaによる報酬の総和である。例えば、ユーザuに対してアクションaにより報酬1が10回発生していれば、Rtotalは、10である。
t1は、ユーザuに対するアクションaが行われた回数である。λは、ユーザの数及び制約条件によって決定される値であり、本例では2とした。dは、ユーザのベクトルの次元である。ユーザのベクトルとは、ユーザ1を(1,0)、ユーザ2を(0,1)のように各ユーザを互いに線形独立なベクトルで表現したものである。したがって、本例ではユーザのベクトルの次元は2である。Nは制約条件により決定される値であり、本例では2である。
tは、試行回数(プロモーションの割り当てを行い、その結果を観測した回数)である。tは、ユーザuに対するアクションaが行われた回数と行われなかった回数の和と言い換えることもできる。式5の「/」は分数を示しており、p/qは、pをqで除した値である。δは、アルゴリズムが成功する確率に関係するパラメータで、本例では0.001とした。Sは、得られる報酬の大きさとユーザのベクトルの次元とによって決定される値であり、本例では2とした。
式5に示されるように、推定の信頼度は、tに対する増加関数であり、処理が繰り返されて試行回数が増大するにつれて緩やかに増加する。一方、推定の信頼度は、t1に対する減少関数でもあり、ユーザuに対してアクションaが行われると減少する。したがって、楽観的推定報酬は、ユーザuに対してアクションaが行われない試行が続くと緩やかに増加し、ユーザuに対してアクションaが行われると減少する。すなわち、推定の信頼度は、あまり試行が行われていないアクションaの報酬を大きく見積もる(楽観的に推定する)ことにより、そのようなアクションaが選ばれやすくなるように報酬を補正するパラメータである。
次に、楽観的推定報酬のシミュレーション結果を説明する。図8は、上述の手法により算出された推定報酬と試行回数の関係を示すグラフである。図8には、ユーザ1、ユーザ2の違い及びプロモーションの有無による4つの条件について、試行回数を重ねるにつれて推定報酬がどのように変化するかをシミュレーションした結果が示されている。図8に示されているように、試行回数が少ない間は、推定の信頼度の項により、報酬の期待値よりもはるかに大きな値となっている。しかしながら、試行回数が増加するにつれて、報酬の期待値に向かって徐々に収束することがわかる。
このように、UCBに基づく楽観的報酬関数を適用することにより、報酬が確率的に与えられる場合であっても、報酬関数の推定が適切に行われる。
(適用例3)
適用例2で述べた、報酬が確率的に与えられる場合における課題に対する別のアプローチを適用例3として説明する。適用例3では、トンプソンサンプリングを用いてアクションの決定(プロモーションの割り当ての決定)を行う。トンプソンサンプリングは、各アクションの期待値の事後確率分布(例えばベータ分布)に従う乱数を生成し、生成された乱数を評価指標として(例えば乱数の値が最大の)アクションを実行するという手法である。この手法によれば、あるアクションが最適であるという事後確率と当該アクションの実行確率が一致するようにアクションが選択される。この手法では、ある時点で最適とされているアクション以外のアクションも事後確率分布に応じた確率で時々実行されるので、適用例2で述べたような不適切な学習がなされる可能性を低減することができる。
適用例2で述べた、報酬が確率的に与えられる場合における課題に対する別のアプローチを適用例3として説明する。適用例3では、トンプソンサンプリングを用いてアクションの決定(プロモーションの割り当ての決定)を行う。トンプソンサンプリングは、各アクションの期待値の事後確率分布(例えばベータ分布)に従う乱数を生成し、生成された乱数を評価指標として(例えば乱数の値が最大の)アクションを実行するという手法である。この手法によれば、あるアクションが最適であるという事後確率と当該アクションの実行確率が一致するようにアクションが選択される。この手法では、ある時点で最適とされているアクション以外のアクションも事後確率分布に応じた確率で時々実行されるので、適用例2で述べたような不適切な学習がなされる可能性を低減することができる。
UCBに比べてトンプソンサンプリングの方が最適なアクションを選択する可能性が高いことが経験的に知られている。したがって、適用例3の手法の方が、適用例2の手法よりも有効である可能性がある。
なお、更に別のアプローチとしては、ε-greedyと呼ばれるアルゴリズムを本実施形態の情報処理システム100に用いてもよい。ε-greedyとは、乱数に基づいて、確率(1-ε)である時点で最適と見積もられているアクションを実行し、確率εでその他のアクションを実行するというものである。この手法を用いた場合も、適用例2で述べたような不適切な学習がなされる可能性を低減することができる。
上述の実施形態において説明した情報処理システムは以下の第2実施形態のようにも構成することができる。
[第2実施形態]
図9は、本実施形態に係る情報処理システム200の構成例を示す機能ブロック図である。情報処理システム200は、条件取得部202、報酬関数推定部203及びアクション決定部204を備える。条件取得部202は、アクションの制約情報と、アクションの対象である複数の候補の各々についての候補情報とを取得する。報酬関数推定部203は、制約情報及び候補情報に基づいて、アクションに応じた報酬を算出するための報酬関数を複数の候補の各々について推定する。アクション決定部204は、複数の候補の各々の報酬関数に基づいてアクションの内容を決定する。
図9は、本実施形態に係る情報処理システム200の構成例を示す機能ブロック図である。情報処理システム200は、条件取得部202、報酬関数推定部203及びアクション決定部204を備える。条件取得部202は、アクションの制約情報と、アクションの対象である複数の候補の各々についての候補情報とを取得する。報酬関数推定部203は、制約情報及び候補情報に基づいて、アクションに応じた報酬を算出するための報酬関数を複数の候補の各々について推定する。アクション決定部204は、複数の候補の各々の報酬関数に基づいてアクションの内容を決定する。
本実施形態によれば、より一般的な制約条件に対しても適切な意思決定を実現し得る情報処理システム200が提供される。
[変形実施形態]
以上、実施形態を参照して本発明を説明したが、本発明は上述の実施形態に限定されるものではない。本願発明の構成及び詳細には本発明の要旨を逸脱しない範囲で、当業者が理解し得る様々な変形をすることができる。
以上、実施形態を参照して本発明を説明したが、本発明は上述の実施形態に限定されるものではない。本願発明の構成及び詳細には本発明の要旨を逸脱しない範囲で、当業者が理解し得る様々な変形をすることができる。
上述の実施形態における情報処理システムは、ユーザに提供するプロモーションの割り当てを適切に行うための意思決定に用いられている。しかしながら、既に述べたように、「ユーザ」は「候補」に、「プロモーションの割り当て」は「アクション」に、一般化可能である。すなわち、上述の実施形態における情報処理システムは、プロモーションの割り当て以外の用途にも適用可能である。
例えば、上述の実施形態における情報処理システムは、業務効率の向上のため、担当者への仕事の割り当てを行う用途に用いることができる。この場合には、「担当者」を「候補」に読み替え、「仕事の割り当て」を「アクション」に読み替えることで、上述の実施形態における情報処理システムが適用可能である。
また、上述の実施形態における情報処理システムは、計算コストの低減のため、コンピュータへの計算の割り当てを行う用途にも用いることができる。この場合には、「コンピュータ」を「候補」に読み替え、「計算の割り当て」を「アクション」に読み替えることで、上述の実施形態における情報処理システムが適用可能である。
また、上述の実施形態における情報処理システムは、輸送コストの低減のため、車両の通過ルートの割り当てを最適化する用途にも用いることができる。この場合には、「車両」を「候補」に読み替え、「通過ルートの割り当て」を「アクション」に読み替えることで、上述の実施形態における情報処理システムが適用可能である。
上述の各実施形態の機能を実現するように該実施形態の構成を動作させるプログラムを記憶媒体に記憶させ、該記憶媒体に記憶されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記憶媒体も各実施形態の範囲に含まれる。また、上述のコンピュータプログラムが記憶された記憶媒体はもちろん、そのコンピュータプログラム自体も各実施形態に含まれる。また、上述の実施形態に含まれる1又は2以上の構成要素は、各構成要素の機能を実現するように構成されたASIC、FPGA等の回路であってもよい。
該記憶媒体としては、例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM(Compact Disc-Read Only Memory)、磁気テープ、不揮発性メモリカード、ROMを用いることができる。また該記憶媒体に記憶されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、OS(Operating System)上で動作して処理を実行するものも各実施形態の範疇に含まれる。
上述の各実施形態の機能により実現されるサービスは、SaaS(Software as a Service)の形態でユーザに対して提供することもできる。
上述の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
アクションの制約情報と、前記アクションの対象である複数の候補の各々についての候補情報とを取得する条件取得部と、
前記制約情報及び前記候補情報に基づいて、前記アクションに応じた報酬を算出するための報酬関数を前記複数の候補の各々について推定する報酬関数推定部と、
前記複数の候補の各々の前記報酬関数に基づいて、前記アクションの内容を決定するアクション決定部と、
を有する、情報処理システム。
アクションの制約情報と、前記アクションの対象である複数の候補の各々についての候補情報とを取得する条件取得部と、
前記制約情報及び前記候補情報に基づいて、前記アクションに応じた報酬を算出するための報酬関数を前記複数の候補の各々について推定する報酬関数推定部と、
前記複数の候補の各々の前記報酬関数に基づいて、前記アクションの内容を決定するアクション決定部と、
を有する、情報処理システム。
(付記2)
前記アクションは、前記複数の候補のうちの少なくとも一つを施策の対象として選択し、前記選択された候補以外の候補を前記施策の対象外とすることを含む、付記1に記載の情報処理システム。
前記アクションは、前記複数の候補のうちの少なくとも一つを施策の対象として選択し、前記選択された候補以外の候補を前記施策の対象外とすることを含む、付記1に記載の情報処理システム。
(付記3)
前記報酬関数は、対応する候補が前記施策の対象である場合の報酬と、前記施策の対象でない場合の報酬とを算出可能である、付記2に記載の情報処理システム。
前記報酬関数は、対応する候補が前記施策の対象である場合の報酬と、前記施策の対象でない場合の報酬とを算出可能である、付記2に記載の情報処理システム。
(付記4)
前記報酬関数は、前記アクションの結果に基づいて変化する関数を含む、付記1乃至3のいずれか1項に記載の情報処理システム。
前記報酬関数は、前記アクションの結果に基づいて変化する関数を含む、付記1乃至3のいずれか1項に記載の情報処理システム。
(付記5)
前記報酬関数は、過去に前記アクションが行われた回数に応じて変化する関数を含む、付記4に記載の情報処理システム。
前記報酬関数は、過去に前記アクションが行われた回数に応じて変化する関数を含む、付記4に記載の情報処理システム。
(付記6)
前記報酬関数は、対応する候補が前記アクションに含まれる施策の対象となった回数に応じて変化する関数を含む、付記4又は5に記載の情報処理システム。
前記報酬関数は、対応する候補が前記アクションに含まれる施策の対象となった回数に応じて変化する関数を含む、付記4又は5に記載の情報処理システム。
(付記7)
前記報酬関数は、UCB(Upper Confidence Bound)に基づく関数を含む、付記5又は6に記載の情報処理システム。
前記報酬関数は、UCB(Upper Confidence Bound)に基づく関数を含む、付記5又は6に記載の情報処理システム。
(付記8)
前記報酬関数は、乱数を含む、付記4乃至7のいずれか1項に記載の情報処理システム。
前記報酬関数は、乱数を含む、付記4乃至7のいずれか1項に記載の情報処理システム。
(付記9)
前記報酬関数は、トンプソンサンプリングに基づく乱数を含む、付記4乃至8のいずれか1項に記載の情報処理システム。
前記報酬関数は、トンプソンサンプリングに基づく乱数を含む、付記4乃至8のいずれか1項に記載の情報処理システム。
(付記10)
前記候補情報は、前記アクションに含まれる施策の対象になったことがあるか否かを示す情報を含む、付記4乃至9のいずれか1項に記載の情報処理システム。
前記候補情報は、前記アクションに含まれる施策の対象になったことがあるか否かを示す情報を含む、付記4乃至9のいずれか1項に記載の情報処理システム。
(付記11)
前記候補情報は、前記アクションの結果を示す情報を含む、付記4乃至10のいずれか1項に記載の情報処理システム。
前記候補情報は、前記アクションの結果を示す情報を含む、付記4乃至10のいずれか1項に記載の情報処理システム。
(付記12)
前記アクション決定部は、前記報酬関数に基づいて、前記複数の候補の各々の報酬の総和が最大になるように前記アクションの内容を決定する、付記1乃至11のいずれか1項に記載の情報処理システム。
前記アクション決定部は、前記報酬関数に基づいて、前記複数の候補の各々の報酬の総和が最大になるように前記アクションの内容を決定する、付記1乃至11のいずれか1項に記載の情報処理システム。
(付記13)
前記アクションは、プロモーションの割り当てを含み、
前記候補は、前記プロモーションの提供を受けるユーザである、
付記1乃至12のいずれか1項に記載の情報処理システム。
前記アクションは、プロモーションの割り当てを含み、
前記候補は、前記プロモーションの提供を受けるユーザである、
付記1乃至12のいずれか1項に記載の情報処理システム。
(付記14)
アクションの制約情報と、前記アクションの対象である複数の候補の各々についての候補情報とを取得するステップと、
前記制約情報及び前記候補情報に基づいて、前記アクションに応じた報酬を算出するための報酬関数を前記複数の候補の各々について推定するステップと、
前記複数の候補の各々の前記報酬関数に基づいて、前記アクションの内容を決定するステップと、
を有する、情報処理方法。
アクションの制約情報と、前記アクションの対象である複数の候補の各々についての候補情報とを取得するステップと、
前記制約情報及び前記候補情報に基づいて、前記アクションに応じた報酬を算出するための報酬関数を前記複数の候補の各々について推定するステップと、
前記複数の候補の各々の前記報酬関数に基づいて、前記アクションの内容を決定するステップと、
を有する、情報処理方法。
(付記15)
コンピュータに、
アクションの制約情報と、前記アクションの対象である複数の候補の各々についての候補情報とを取得するステップと、
前記制約情報及び前記候補情報に基づいて、前記アクションに応じた報酬を算出するための報酬関数を前記複数の候補の各々について推定するステップと、
前記複数の候補の各々の前記報酬関数に基づいて、前記アクションの内容を決定するステップと、
を有する情報処理方法を実行させるためのプログラムを記憶した記憶媒体。
コンピュータに、
アクションの制約情報と、前記アクションの対象である複数の候補の各々についての候補情報とを取得するステップと、
前記制約情報及び前記候補情報に基づいて、前記アクションに応じた報酬を算出するための報酬関数を前記複数の候補の各々について推定するステップと、
前記複数の候補の各々の前記報酬関数に基づいて、前記アクションの内容を決定するステップと、
を有する情報処理方法を実行させるためのプログラムを記憶した記憶媒体。
100、200 情報処理システム
101 フィードバック取得部
102、202 条件取得部
103、203 報酬関数推定部
104、204 アクション決定部
105 記憶部
151 CPU
152 RAM
153 ROM
154 HDD
155 通信I/F
156 表示装置
157 入力装置
158 バス
101 フィードバック取得部
102、202 条件取得部
103、203 報酬関数推定部
104、204 アクション決定部
105 記憶部
151 CPU
152 RAM
153 ROM
154 HDD
155 通信I/F
156 表示装置
157 入力装置
158 バス
Claims (15)
- アクションの制約情報と、前記アクションの対象である複数の候補の各々についての候補情報とを取得する条件取得部と、
前記制約情報及び前記候補情報に基づいて、前記アクションに応じた報酬を算出するための報酬関数を前記複数の候補の各々について推定する報酬関数推定部と、
前記複数の候補の各々の前記報酬関数に基づいて、前記アクションの内容を決定するアクション決定部と、
を有する、情報処理システム。 - 前記アクションは、前記複数の候補のうちの少なくとも一つを施策の対象として選択し、前記選択された候補以外の候補を前記施策の対象外とすることを含む、請求項1に記載の情報処理システム。
- 前記報酬関数は、対応する候補が前記施策の対象である場合の報酬と、前記施策の対象でない場合の報酬とを算出可能である、請求項2に記載の情報処理システム。
- 前記報酬関数は、前記アクションの結果に基づいて変化する関数を含む、請求項1乃至3のいずれか1項に記載の情報処理システム。
- 前記報酬関数は、過去に前記アクションが行われた回数に応じて変化する関数を含む、請求項4に記載の情報処理システム。
- 前記報酬関数は、対応する候補が前記アクションに含まれる施策の対象となった回数に応じて変化する関数を含む、請求項4又は5に記載の情報処理システム。
- 前記報酬関数は、UCB(Upper Confidence Bound)に基づく関数を含む、請求項5又は6に記載の情報処理システム。
- 前記報酬関数は、乱数を含む、請求項4乃至7のいずれか1項に記載の情報処理システム。
- 前記報酬関数は、トンプソンサンプリングに基づく乱数を含む、請求項4乃至8のいずれか1項に記載の情報処理システム。
- 前記候補情報は、前記アクションに含まれる施策の対象になったことがあるか否かを示す情報を含む、請求項4乃至9のいずれか1項に記載の情報処理システム。
- 前記候補情報は、前記アクションの結果を示す情報を含む、請求項4乃至10のいずれか1項に記載の情報処理システム。
- 前記アクション決定部は、前記報酬関数に基づいて、前記複数の候補の各々の報酬の総和が最大になるように前記アクションの内容を決定する、請求項1乃至11のいずれか1項に記載の情報処理システム。
- 前記アクションは、プロモーションの割り当てを含み、
前記候補は、前記プロモーションの提供を受けるユーザである、
請求項1乃至12のいずれか1項に記載の情報処理システム。 - アクションの制約情報と、前記アクションの対象である複数の候補の各々についての候補情報とを取得するステップと、
前記制約情報及び前記候補情報に基づいて、前記アクションに応じた報酬を算出するための報酬関数を前記複数の候補の各々について推定するステップと、
前記複数の候補の各々の前記報酬関数に基づいて、前記アクションの内容を決定するステップと、
を有する、情報処理方法。 - コンピュータに、
アクションの制約情報と、前記アクションの対象である複数の候補の各々についての候補情報とを取得するステップと、
前記制約情報及び前記候補情報に基づいて、前記アクションに応じた報酬を算出するための報酬関数を前記複数の候補の各々について推定するステップと、
前記複数の候補の各々の前記報酬関数に基づいて、前記アクションの内容を決定するステップと、
を有する情報処理方法を実行させるためのプログラムを記憶した記憶媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020529906A JP7047911B2 (ja) | 2018-07-12 | 2018-07-12 | 情報処理システム、情報処理方法及び記憶媒体 |
PCT/JP2018/026273 WO2020012589A1 (ja) | 2018-07-12 | 2018-07-12 | 情報処理システム、情報処理方法及び記憶媒体 |
US17/258,590 US20210390574A1 (en) | 2018-07-12 | 2018-07-12 | Information processing system, information processing method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/026273 WO2020012589A1 (ja) | 2018-07-12 | 2018-07-12 | 情報処理システム、情報処理方法及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020012589A1 true WO2020012589A1 (ja) | 2020-01-16 |
Family
ID=69142330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/026273 WO2020012589A1 (ja) | 2018-07-12 | 2018-07-12 | 情報処理システム、情報処理方法及び記憶媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210390574A1 (ja) |
JP (1) | JP7047911B2 (ja) |
WO (1) | WO2020012589A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021245757A1 (ja) * | 2020-06-01 | 2021-12-09 | 日本電気株式会社 | 最適化処理装置、最適化処理方法、及びコンピュータ読み取り可能な記録媒体 |
WO2022079829A1 (ja) * | 2020-10-14 | 2022-04-21 | 日本電気株式会社 | 情報処理装置、情報処理方法、情報処理システム、および記憶媒体 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117172627B (zh) * | 2023-11-03 | 2024-02-27 | 腾讯科技(深圳)有限公司 | 一种业务执行方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013161358A (ja) * | 2012-02-07 | 2013-08-19 | Yahoo Japan Corp | 広告評価装置、広告評価方法およびプログラム |
JP2016122241A (ja) * | 2014-12-24 | 2016-07-07 | 株式会社Nttドコモ | 広告選択装置、広告選択方法及びプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011119974A1 (en) * | 2010-03-25 | 2011-09-29 | David Edward Thomas | An adaptable retail pricing environment and electronic exchange, delivering customized shopper rewards and discounts |
US9836765B2 (en) * | 2014-05-19 | 2017-12-05 | Kibo Software, Inc. | System and method for context-aware recommendation through user activity change detection |
JP6309887B2 (ja) * | 2014-12-19 | 2018-04-11 | ヤフー株式会社 | モデル生成装置、情報配信装置、モデル生成方法、情報配信方法、モデル生成プログラムおよび情報配信プログラム |
US10796335B2 (en) * | 2015-10-08 | 2020-10-06 | Samsung Sds America, Inc. | Device, method, and computer readable medium of generating recommendations via ensemble multi-arm bandit with an LPBoost |
JP6730046B2 (ja) * | 2016-02-25 | 2020-07-29 | カルチュア・コンビニエンス・クラブ株式会社 | 装置、方法、および、プログラム |
-
2018
- 2018-07-12 US US17/258,590 patent/US20210390574A1/en not_active Abandoned
- 2018-07-12 JP JP2020529906A patent/JP7047911B2/ja active Active
- 2018-07-12 WO PCT/JP2018/026273 patent/WO2020012589A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013161358A (ja) * | 2012-02-07 | 2013-08-19 | Yahoo Japan Corp | 広告評価装置、広告評価方法およびプログラム |
JP2016122241A (ja) * | 2014-12-24 | 2016-07-07 | 株式会社Nttドコモ | 広告選択装置、広告選択方法及びプログラム |
Non-Patent Citations (2)
Title |
---|
HONDA, JUNYA ET AL., THEORY AND ALGORITHMS FOR BANDIT PROBLEMS, 24 August 2016 (2016-08-24), pages 114 - 115 * |
UEDA, SAKI ET AL.: "Method for Collecting Non-Geotagged Local Tweets using Bandit Algorithms", DBSJ JAPANESE JOURNAL, vol. 16 -J, no. 9, 1 March 2018 (2018-03-01), pages 1 - 8, XP055675031 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021245757A1 (ja) * | 2020-06-01 | 2021-12-09 | 日本電気株式会社 | 最適化処理装置、最適化処理方法、及びコンピュータ読み取り可能な記録媒体 |
JPWO2021245757A1 (ja) * | 2020-06-01 | 2021-12-09 | ||
JP7439922B2 (ja) | 2020-06-01 | 2024-02-28 | 日本電気株式会社 | 最適化処理装置、最適化処理方法、及びプログラム |
WO2022079829A1 (ja) * | 2020-10-14 | 2022-04-21 | 日本電気株式会社 | 情報処理装置、情報処理方法、情報処理システム、および記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
US20210390574A1 (en) | 2021-12-16 |
JP7047911B2 (ja) | 2022-04-05 |
JPWO2020012589A1 (ja) | 2021-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105631698B (zh) | 用于策略部署的风险量化 | |
Quan et al. | Simulation optimization via kriging: a sequential search using expected improvement with computing budget constraints | |
US9058216B2 (en) | Method for estimating job run time | |
CN103502899B (zh) | 动态预测建模平台 | |
US20190156357A1 (en) | Advanced computational prediction models for heterogeneous data | |
US20160125435A1 (en) | Interrogation of mean field system | |
WO2020012589A1 (ja) | 情報処理システム、情報処理方法及び記憶媒体 | |
US20150006292A1 (en) | Promotion scheduling management | |
US20200302486A1 (en) | Method and system for determining optimized customer touchpoints | |
US20200311749A1 (en) | System for Generating and Using a Stacked Prediction Model to Forecast Market Behavior | |
US12118482B2 (en) | Method and system for optimizing an objective having discrete constraints | |
US20150186928A1 (en) | Real-time marketing portfolio optimization and reapportioning | |
WO2016160916A1 (en) | Systems, devices, and methods for predicting product performance in a retail display area | |
JP6435803B2 (ja) | 発注量決定装置、発注量決定方法および発注量決定プログラム | |
JP2014520340A (ja) | パラメータ推定を用いた小売予測 | |
US10235686B2 (en) | System forecasting and improvement using mean field | |
US12014217B2 (en) | Scheduling and control of executable jobs over compute instances | |
US10902442B2 (en) | Managing adoption and compliance of series purchases | |
US20220138786A1 (en) | Artificial intelligence (ai) product including improved automated demand learning module | |
JP2019106099A (ja) | 提供プログラム、提供装置、および提供方法 | |
US20220051189A1 (en) | Automatic negotiation apparatus, automatic negotiation method, and computer-readable recording medium | |
JP7439922B2 (ja) | 最適化処理装置、最適化処理方法、及びプログラム | |
US20230289832A1 (en) | Determining locations for offerings using artificial intelligence | |
WO2023100315A1 (ja) | 決定装置、決定方法、記録媒体 | |
US20240303176A1 (en) | Computing resource allocation mechanism testing and deployment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18926128 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020529906 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18926128 Country of ref document: EP Kind code of ref document: A1 |