Estimation device, estimation method, and estimation program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- LY CORP
- Filing Date
- 2022-06-06
- Publication Date
- 2026-05-26
Smart Images

Figure 0007865793000001 
Figure 0007865793000002 
Figure 0007865793000003
Abstract
Description
Technical Field
[0001] The present invention relates to an estimation device, an estimation method, and an estimation program.
Background Art
[0002] There is a technology for notifying users of new information such as website updates and article publications.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the prior art, it is not possible to strictly select users to whom notifications are to be sent. For example, when notifications are sent uniformly, notifications may be sent to users who do not wish to receive them, and as a result, the notifications may not be opened by the users. Thus, there is a problem that it is not possible to target users who wish to receive notifications.
Means for Solving the Problems
[0005] In order to solve the above-described problems and achieve the object, an estimation device includes: an acquisition unit that acquires information related to the opening of a notification; an extraction unit that extracts a feature amount from the information related to the opening of the notification acquired by the acquisition unit; an estimation unit that estimates the opening rate of the notification based on the feature amount extracted by the extraction unit; and a notification unit that sends a notification when the opening rate estimated by the estimation unit is equal to or greater than a predetermined value.
Effects of the Invention
[0006] According to the present invention, it is possible to target users who wish to receive notifications.
Brief Description of the Drawings
[0007] [Figure 1] Figure 1 is a block diagram showing an example of the configuration of an estimation device according to an embodiment. [Figure 2] Figure 2 is a diagram illustrating the overview of the estimation device according to the embodiment. [Figure 3] Figure 3 is a flowchart showing an example of the estimation process by the estimation device according to this embodiment. [Figure 4] Figure 4 shows an example of a computer running the estimation program. [Modes for carrying out the invention]
[0008] Hereinafter, embodiments of the estimation apparatus, estimation method, and estimation program according to the present application will be described in detail with reference to the drawings. However, the present invention is not limited to these embodiments. Furthermore, in the drawings, identical parts are denoted by the same reference numerals, and redundant explanations are omitted.
[0009] [Configuration of the estimation device] First, the configuration of the estimation device 100 will be explained using Figure 1. Figure 1 is a diagram showing an example of the configuration of the estimation device 100 according to this embodiment. As shown in Figure 1, the estimation device 100 comprises a communication unit 110, a control unit 120, and a storage unit 130. Note that each of these units may be distributed and held by multiple devices. The processing of each of these units will be explained below.
[0010] The communication unit 110 is implemented using a NIC (Network Interface Card) or the like, and enables communication between the control unit 120 and external devices via telecommunication lines such as a LAN (Local Area Network) or the Internet. For example, the communication unit 110 enables communication between external devices and the control unit 120.
[0011] The memory unit 130 is implemented by semiconductor memory elements such as RAM (Random Access Memory) and flash memory, or by storage devices such as hard disks and optical discs. The information stored in the memory unit 130 may include, for example, user ID, user attribute information, the number of other notifications opened by the user, the time the user opened other notifications, the number of past incoming calls to the user, the user's areas of interest, other information about the user, notification ID, the field for which notifications are sent, other information about notification opening, data related to various machine learning algorithms, training data for machine learning, and trained models. Here, "other notifications" refers to notifications other than the notification to be processed that have already been delivered to a given user. Note that the information stored in the memory unit 130 is not limited to those described above.
[0012] The control unit 120 is implemented using a CPU (Central Processing Unit), NP (Network Processor), FPGA (Field Programmable Gate Array), etc., and executes processing programs stored in memory. As shown in Figure 1, the control unit 120 has an acquisition unit 121, an extraction unit 122, an estimation unit 123, and a notification unit 124. The individual parts of the control unit 120 will be described below.
[0013] The acquisition unit 121 acquires information regarding the opening of notifications. For example, the acquisition unit 121 acquires user attribute information as information regarding the opening of notifications. Also, for example, the acquisition unit 121 acquires the number of other notifications opened as information regarding the opening of notifications. Here, the information regarding the opening of notifications includes user ID, user attribute information, the number of other notifications opened by the user, the time the user opened other notifications, the number of incoming messages by the user, the user's areas of interest, other information about the user, notification ID, the field for which the notification is sent, the title of the notification, the time the notification is sent, and other information regarding the opening of notifications. Note that the information regarding the opening of notifications is not limited to what is described above.
[0014] The extraction unit 122 extracts features from the information on notification opening obtained by the acquisition unit 121. For example, the extraction unit 122 uses one-hot encoding to create features from categorical variables such as age, gender, annual income, industry, occupation, and address included in the user attribute information obtained by the acquisition unit 121. The extraction unit 122 also uses statistically processed values such as variance, median, or mean to create features from the notification information obtained by the acquisition unit 121.
[0015] Furthermore, the extraction unit 122 extracts the number of other notifications opened as a feature to be extracted. For example, the extraction unit 122 statistically processes the number of other notifications opened and extracts the resulting feature. The extraction unit 122 also extracts the opening time of other notifications as a feature to be extracted. For example, the extraction unit 122 statistically processes the opening time of other notifications and extracts the resulting feature. In this case, the extraction unit 122 may extract the feature using the time the user opened the other notification, or it may extract the feature using the elapsed time since the user's most recent opening time.
[0016] Furthermore, the extraction unit 122 extracts the number of incoming calls as a feature to be extracted. For example, the extraction unit 122 statistically processes the number of incoming calls and extracts the resulting feature. In addition, the extraction unit 122 extracts the user's level of interest in notification-related information as a feature to be extracted. For example, the extraction unit 122 extracts the user's level of interest in notification-related information from the user's areas of interest and information about the areas for which notifications are made.
[0017] The estimation unit 123 estimates the opening rate of the notification based on the feature amount extracted by the extraction unit 122. For example, the estimation unit 123 estimates, based on the feature amount of the number of other notifications opened by the user extracted by the extraction unit 122, by means of a model such as a neural network or a decision tree, that "the probability that user ID: 001 opens notification ID: 952 is 72%". That is, the estimation unit 123 learns the features of the notifications that have already been delivered and the destination users, and the opening rates of other notifications, and estimates the opening rate of the notification to be processed.
[0018] Note that the estimation unit 123 performs learning of various models so that when user attributes of other notifications opened or information of other notifications that have been opened are input, the opening rate becomes 100%, and when user attributes of other notifications that have not been opened or information of other notifications that have not been opened are input, the opening rate becomes 0%.
[0019] Also, the estimation unit 123 estimates the opening rate of the notification based on the feature amount extracted by the extraction unit 122 using a tree-structured model. For example, the estimation unit 123 uses the gradient boosting technique to learn a model that predicts the opening rate of the notification with the feature amount extracted by the extraction unit 122 as input and outputs the opening rate of the notification, and estimates the opening rate of the notification. For example, the estimation unit 123 estimates, based on the feature amount of the number of other notifications opened, by means of a learned model constructed using the gradient boosting technique, that "the probability that user ID: 001 opens notification ID: 952 is 72%".
[0020] The notification unit 124 notifies when the opening rate estimated by the estimation unit 123 is equal to or higher than a predetermined value. For example, the notification unit 124 notifies the user when the opening rate estimated by the estimation unit 123 is 70% or higher. For example, upon receiving the result estimated by the estimation unit 123 that "the probability that user ID: 001 opens notification ID: 952 is 72%", and assuming that the opening rate of the notification is 70% or higher, the notification unit 124 notifies user ID: 001 of notification ID: 952.
[0021] In addition, the notification unit 124 notifies users whose past opening count is below a predetermined value. For example, the notification unit 124 notifies users whose past opening count is 10 or less. Also, the notification unit 124 notifies a predetermined number of users in descending order of the estimated opening rate of the notifications estimated by the estimation unit 123. For example, when the estimation unit 123 estimates that the opening rate of notification ID: A by user ID: 001 is 80%, the opening rate of notification ID: B is 60%, the opening rate of notification ID: C is 70%, and the opening rate of notification D is 50%, the notification unit 124 sends three notifications to user ID: 001 in the order of notification ID: A, C, B.
[0022] 〔Outline of the processing performed by the estimation device〕 Next, an example of the processing performed by the estimation device 100 according to the embodiment will be described using FIG. 2. FIG. 2 is a diagram for explaining the outline of the processing performed by the estimation device 100 according to the embodiment. First, FIG. 2(1) shows information regarding the opening of notifications. For example, the information regarding notifications is data for each user of information that has been aggregated or measured in advance, such as the opening count of other notifications and the opening time of other notifications. Specifically, the information regarding the opening of notifications is displayed as "User ID: 001, Opening count of other notifications: 243 times".
[0023] Next, FIG. 2(2) shows the estimation device 100. First, the acquisition unit 121 acquires information regarding the opening of notifications. Next, the extraction unit 122 extracts feature amounts from the information regarding the notifications acquired by the acquisition unit 121. Then, the estimation unit 123 uses the feature amounts extracted by the extraction unit 122 as input data to perform learning and prediction and estimate the opening rate of the notifications. And when the opening rate estimated by the estimation unit 123 is a predetermined value or more, the notification unit 124 notifies the target users.
[0024] Figure 2(3) shows the estimation results of the estimation unit 123. The estimation unit 123 estimates the open rate for each user and each notification based on the features. For example, based on the feature of the number of other notifications opened by the user, the estimation unit 123 estimates that "the probability that user ID:001 will open notification ID:952 is 72%." Also, for example, based on the feature of the time when the user opened other notifications, the estimation unit 123 estimates that "the probability that user ID:001 will open notification ID:952 is 35%."
[0025] The notification unit 124 then sends a notification if the notification open rate estimated by the estimation unit 123 is above a predetermined value. For example, based on the estimation unit 123's estimate that "the probability that user ID:001 will open notification ID:952 is 72%", the notification unit 124 determines that the notification open rate is 70% or higher and sends a notification of notification ID:952 to user ID:001.
[0026] [Feature extraction process] The extraction unit 122 features categorical variables such as age, gender, annual income, industry, occupation, and address using one-hot encoding. Furthermore, the extraction unit 122 features notification-related information obtained by the acquisition unit 121, such as the number of open notifications, the time of opening notifications, and the number of incoming calls, using statistically processed values such as variance, median, or mean.
[0027] [Construction process] The estimation unit 123 may perform a process to construct a machine learning model used for estimation. For example, the estimation unit 123 constructs a machine learning model by learning using a neural network. Alternatively, for example, the estimation unit 123 constructs a machine learning model by learning using GBDT (Gradient Boosting Decision Tree). GBDT is a type of supervised machine learning that combines "Gradient Descent," "Boosting (Ensemble)," and "Decision Tree."
[0028] For example, the estimation unit 123 constructs a machine learning model by learning using gradient boosting decision trees such as XGBoost or LightGBM. Note that the construction of a machine learning model includes not only the creation of new machine learning models but also the updating of existing machine learning models. The estimation unit 123 may also apply models constructed externally. In this way, the estimation unit 123 uses the features extracted by the extraction unit 122 as input data and the constructed machine learning model to estimate the open rate for notifications for each user.
[0029] 〔flowchart〕 Next, the flow of the estimation process by the estimation device 100 will be explained using Figure 3. Figure 3 is a flowchart showing an example of the estimation process flow according to this embodiment.
[0030] First, the acquisition unit 121 acquires information regarding the opening of notifications (step S11). For example, the acquisition unit 121 acquires user attribute information as information regarding the opening of notifications. Also, for example, the acquisition unit 121 acquires the number of other notifications opened as information regarding the opening of notifications.
[0031] Next, the extraction unit 122 extracts features from the information on notification opening obtained by the acquisition unit 121 (step S12). For example, the extraction unit 122 uses one-hot encoding to create features from categorical variables such as age, gender, annual income, industry, occupation, and address included in the user attribute information obtained by the acquisition unit 121. The extraction unit 122 also uses statistically processed values such as variance, median, or mean to create features from the notification information obtained by the acquisition unit 121.
[0032] Then, the estimation unit 123 estimates the notification open rate based on the features extracted by the extraction unit 122 (step S13). For example, based on the feature of the number of other notifications opened by the user extracted by the extraction unit 122, the estimation unit 123 estimates, using a model such as a neural network or decision tree, that "the probability that user ID: 001 will open notification ID: 952 is 72%."
[0033] Here, the notification unit 124 determines whether the estimated open rate is above a predetermined value (step S14). If the open rate estimated by the estimation unit 123 is above a predetermined value (step S14 "affirmative"), the notification unit 124 sends a notification to the target user (step S15). For example, based on the estimation unit 123's estimate that "the probability that user ID:001 will open notification ID:952 is 72%", the notification unit 124 determines that the notification open rate is 70% or higher and sends notification ID:952 to user ID:001.
[0034] On the other hand, if the open rate estimated by the estimation unit 123 is not above a predetermined value (step S14 "negation"), the notification unit 124 will not send a notification to the target user. For example, based on the estimation unit 123's estimate that "the probability that user ID:001 will open notification ID:952 is 35%", the notification unit 124 will not send a notification of notification ID:952 to user ID:001, assuming that the notification open rate is not 70% or higher.
[0035] 〔effect〕 As described above, the estimation device 100 according to this embodiment includes an acquisition unit 121, an extraction unit 122, an estimation unit 123, and a notification unit 124. The acquisition unit 121 acquires information regarding the opening of notifications. The extraction unit 122 extracts feature quantities from the information regarding the opening of notifications acquired by the acquisition unit 121. The estimation unit 123 estimates the notification opening rate based on the feature quantities extracted by the extraction unit 122. The notification unit 124 sends a notification if the opening rate estimated by the estimation unit 123 is equal to or greater than a predetermined value.
[0036] As a result, the estimation device 100 according to the embodiment can estimate users who are likely to open a notification if one is sent, and send notifications to those users. In other words, by targeting users who are estimated to have a high open rate, the estimation device 100 can send notifications to users who wish to receive them.
[0037] Furthermore, in the estimation device 100 according to this embodiment, the extraction unit 122 extracts the number of times other notifications have been opened as a feature quantity to be extracted. With this configuration, the estimation device 100 can target users who are estimated to have a high open rate, and thereby send notifications to users who wish to receive them.
[0038] Furthermore, in the estimation device 100 according to this embodiment, the extraction unit 122 extracts the opening times of other notifications as a feature quantity to be extracted. With this configuration, the estimation device 100 can target users who are estimated to have a high opening rate and send notifications to users who wish to receive them.
[0039] Furthermore, in the estimation device 100 according to this embodiment, the extraction unit 122 extracts the number of incoming calls as a feature quantity to be extracted. With this configuration, the estimation device 100 can target users who are estimated to have a high open rate and send notifications to users who wish to receive them.
[0040] Furthermore, in the estimation device 100 according to this embodiment, the extraction unit 122 extracts the user's level of interest in information related to notifications as a feature quantity to be extracted. With this configuration, the estimation device 100 can target users who are estimated to have a high open rate, thereby enabling notifications to be sent to users who wish to receive them.
[0041] Furthermore, in the estimation device 100 according to this embodiment, the estimation unit 123 estimates the notification open rate based on the feature quantities extracted by the extraction unit 122, using a tree structure model. This configuration allows the estimation device 100 to search for promising approaches at multiple levels using a tree structure, and also facilitates understanding of the estimation results. In addition, this configuration allows the estimation device 100 to target users who are estimated to have a high open rate, thereby enabling notifications to be sent to users who wish to receive them.
[0042] Furthermore, in the estimation device 100 according to this embodiment, the notification unit 124 notifies users whose number of opened other notifications is below a predetermined value. With this configuration, the estimation device 100 can notify new users and users who have opened few other notifications.
[0043] Furthermore, in the estimation device 100 according to this embodiment, the estimation unit 123 estimates multiple notifications for each user, and the notification unit 124 notifies a predetermined number of notifications in order of their open rates, based on the estimation unit 123. With this configuration, the estimation device 100 can ensure that all target users receive notifications that are estimated to have a high open rate. In addition, this configuration enables the estimation device 100 to notify new users and to notify them about areas that users may be interested in.
[0044] 〔program〕 The estimation device 100 according to the above embodiment is realized by a computer 1000 having a configuration such as that shown in Figure 4. Figure 4 is a hardware configuration diagram showing an example of a computer that realizes the functions of the estimation device. The computer 1000 has a CPU 1100, RAM 1200, ROM 1300, HDD (Hard Disk Drive) 1400, communication interface (I / F) 1500, input / output interface (I / F) 1600, and media interface (I / F) 1700.
[0045] The CPU 1100 operates based on programs stored in the ROM 1300 or HDD 1400, controlling various components. The ROM 1300 stores boot programs executed by the CPU 1100 when the computer 1000 starts up, as well as programs that depend on the computer 1000's hardware.
[0046] The HDD1400 stores programs executed by the CPU1100, as well as data used by such programs. The communication interface1500 receives data from other devices via the network N and sends it to the CPU1100, and transmits data generated by the CPU1100 to other devices via the network N.
[0047] The CPU 1100 controls output devices such as displays and printers, and input devices such as keyboards and mice, via the input / output interface 1600. The CPU 1100 acquires data from input devices via the input / output interface 1600. The CPU 1100 also outputs the generated data to output devices via the input / output interface 1600.
[0048] The media interface 1700 reads a program or data stored in the recording medium 1800 and provides it to the CPU 1100 via the RAM 1200. The CPU 1100 loads the program from the recording medium 1800 onto the RAM 1200 via the media interface 1700 and executes the loaded program. The recording medium 1800 is, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase Change Rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
[0049] For example, if computer 1000 functions as an estimation device 100 according to the embodiment, the CPU 1100 of computer 1000 realizes the functions of the control unit 120 by executing a program loaded on RAM 1200. The CPU 1100 of computer 1000 reads and executes these programs from the recording medium 1800, but as another example, these programs may be obtained from other devices via a network N.
[0050] 〔others〕 Various embodiments have been described in detail herein with reference to the drawings, but these embodiments are examples and are not intended to limit the present invention to these embodiments. That is, the present invention makes it possible to train, build, and update various multi-class classification models and estimate the desired probability by changing the feature quantities used as input. The features described herein can be realized in various ways, including various modifications and improvements based on the knowledge of those skilled in the art.
[0051] Furthermore, the aforementioned "module (-er suffix, -or suffix)" can be reinterpreted as unit, means, circuit, etc. For example, the communication module, control module, and storage module can be reinterpreted as communication unit, control unit, and storage unit, respectively. [Explanation of Symbols]
[0052] 100 Estimator 110 Communications Department 120 Control Unit 121 Acquisition Department 122 Extraction part 123 Estimation Department 124 Notification Department 130 Storage section
Claims
1. An acquisition unit that acquires information regarding the opening of notifications, An extraction unit extracts the number of other notifications opened as a feature from the information on notification opening obtained by the acquisition unit, The extraction unit inputs the feature quantities extracted by the extraction unit into a model for predicting the notification open rate, and the estimation unit estimates the notification open rate. A notification unit that notifies when the opening rate estimated by the estimation unit is equal to or greater than a predetermined value. It has, The estimation unit estimates multiple notifications for each user, The notification unit sends a predetermined number of notifications in order of the highest open rate, as estimated by the estimation unit. An estimation device characterized by the following features.
2. The estimation device according to claim 1, characterized in that the estimation unit uses a tree structure model to input the feature quantities extracted by the extraction unit into a model for predicting the open rate of the notification, and estimates the open rate of the notification.
3. The estimation device according to claim 1, characterized in that the notification unit notifies users whose number of opened other notifications is less than or equal to a predetermined value.
4. An estimation method performed by an estimation device, The acquisition process involves obtaining information regarding the opening of notifications, From the information regarding the opening of notifications obtained in the acquisition step, an extraction step is performed to extract the number of openings of other notifications as a feature quantity. The extraction step involves inputting the features extracted in the extraction step into a model for predicting the notification open rate, and then performing an estimation step to estimate the notification open rate. A notification step is performed when the open rate estimated by the estimation step is equal to or greater than a predetermined value. Includes, The estimation process involves estimating multiple notifications for each user. The notification step involves sending a predetermined number of notifications in order of the highest open rates estimated by the estimation step. An estimation method characterized by the above.
5. The acquisition step to obtain information about the notification being opened, From the information on opening notifications obtained in the acquisition step, an extraction step is performed to extract the number of openings of other notifications as a feature, The features extracted in the extraction step are input into a model for predicting the notification open rate, and the estimation step is to estimate the notification open rate. A notification step is given if the open rate estimated by the estimation step is equal to or greater than a predetermined value. Have the computer run it, The estimation step involves estimating multiple notifications for each user, The notification step involves sending a predetermined number of notifications in order of the highest open rates estimated by the estimation step. An estimation program characterized by the following: