Information processing device, learning method, and learning program
The information processing device automates the selection and training of features using a bandit algorithm, addressing inefficiencies in conventional methods to enhance machine learning model accuracy and reduce manual labor.
Patent Information
- Application Number
- JP2023133474
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-08-18
- Publication Date
- 2025-12-25
- Estimated Expiration
- 2043-08-18
AI Technical Summary
Conventional techniques face challenges in improving machine learning model prediction accuracy due to limited user information acquisition and inefficient manual selection of advantageous features for seed users, which burdens workers and is not user-friendly.
An information processing device and method that utilizes a receiving unit, extraction unit, first learning unit, determination unit, and second learning unit to automatically select and train features using a bandit algorithm, enhancing machine learning model performance.
Enables efficient selection of user-friendly features for machine learning models, improving prediction accuracy and reducing manual workload.
Smart Images

Figure 0007792379000001 
Figure 0007792379000002 
Figure 0007792379000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device, a learning method, and a learning program. [Background technology]
[0002] Companies that provide advertising and various services collect various information about users and analyze the collected information to improve the quality of their services. In addition, when a seed user is designated by an advertiser, if advantageous features can be selected, the characteristics of the seed user can be extracted more efficiently. For example, the extracted features are useful information for training a machine learning model that predicts user behavior, etc. from the features. Such a machine learning model can be used to target users similar to the seed user, for example.
[0003] In addition, conventional technologies include vectorizing information about user behavior using Word2vec or similar, and using such vectors to search for other users whose behavior is similar to that of a seed user. [Prior art documents] [Non-patent literature]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2023-036658 Summary of the Invention [Problem to be solved by the invention]
[0005] However, there is room for improvement in the above-mentioned conventional techniques. For example, in order to improve the prediction accuracy of a machine learning model, it is preferable to collect information on more users and train the machine learning model. However, from the viewpoint of protecting personal information, etc., the amount of user information that is permitted to be acquired is decreasing. In addition, the selection of advantageous features for seed users is performed manually, which places a heavy burden on the worker and is inefficient.
[0006] The present application has been made in consideration of the above, and aims to provide an information processing device, a learning method, and a learning program that can select features that are advantageous to the user and perform machine learning on a machine learning model. [Means for solving the problem]
[0007] The information processing device according to the present application includes a receiving unit, an extraction unit, a first learning unit, a determination unit, and a second learning unit. The receiving unit receives feature quantities of selection targets that satisfy predetermined conditions from a device of a first operator. The extraction unit extracts feature vectors of selection targets that satisfy predetermined conditions from feature vectors that indicate the features of the selection targets managed by a second operator. The first learning unit trains a model on features possessed by the feature quantities of the selection targets that satisfy the predetermined conditions and features possessed by the extracted feature vectors. The determination unit uses a bandit algorithm to determine feature quantities to be learned from among the feature quantities of the selection targets managed by the second operator that have not yet been trained into a model. The second learning unit trains the model trained by the first learning unit on features possessed by the feature quantities determined by the determination unit. [Effects of the Invention]
[0008] According to one aspect of the embodiment, it is possible to select features that are advantageous to the user and perform machine learning of a machine learning model. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram showing the configuration of an information processing system according to this embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of the data structure of the behavior information DB. [Figure 3] FIG. 3 is a diagram illustrating an example of the data structure of the account DB. [Figure 4] FIG. 4 is a diagram showing the configuration of a client according to this embodiment. [Figure 5] FIG. 5 is a diagram showing the configuration of an information processing device according to this embodiment. [Figure 6] FIG. 6 is a flowchart showing the processing procedure of the information processing device according to this embodiment. [Figure 7] FIG. 7 is a hardware configuration diagram illustrating an example of a computer that realizes the functions of the information processing device according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, the information processing device, learning method, and learning program according to the present application will be described in detail with reference to the drawings. Note that the information processing device, learning method, and learning program according to the present application are not limited to these embodiments. Furthermore, the embodiments can be appropriately combined as long as the processing content is not contradictory. Furthermore, the same components in the following embodiments are designated by the same reference numerals, and redundant explanations will be omitted.
[0011] 1. Configuration of Information Processing System 1 First, an example of the configuration of an information processing system 1 according to this embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram showing the configuration of the information processing system 1 according to this embodiment. As shown in Fig. 1, this information processing system 1 has user terminals 10a, 10b, and 10c, a client 100, and an information processing device 200. The user terminals 10a to 10c, the client 100, and the information processing device 200 are connected to each other via a network 2.
[0012] The user terminals 10a to 10c are terminal devices used by users. The user terminals 10a to 10c correspond to desktop personal computers (PCs), notebook PCs, tablet terminals, smartphones, etc. Users operate the user terminals 10a to 10c to access websites of the clients 100 and use various services. Note that although FIG. 1 shows the user terminals 10a to 10c, the information processing system 1 may also include other user terminals. In the following description, the user terminals 10a to 10c will be collectively referred to as "user terminals 10."
[0013] The client 100 is a server device or the like managed by a first business operator. The client 100 provides a website or the like, accepts access from the user terminal 10, and provides various services. Every time the client 100 accepts access from the user terminal 10, it registers the user's behavior information in the behavior information DB 141.
[0014] FIG. 2 is a diagram showing an example of the data structure of the behavior information DB 141. For example, the behavior information DB 141 has a user ID, a behavior content, and a date and time. The user ID is information that uniquely identifies a user. The behavior content is the content of the behavior performed by the user identified by the user ID. For example, the user's behavior content may include various things, but one of the behavior contents is "requesting information materials." The date and time is the date and time when the behavior was performed.
[0015] Client 100 scans the content of the actions registered in the Action Information DB 141 and selects a user who meets a predetermined condition as a "seed user". A user who meets the predetermined condition is a user who has performed a preset action, a user who has performed a preset action a predetermined number of times or more, etc. Client 100 generates "selection target data" based on the record in the Action Information DB 141 corresponding to the seed user and transmits it to the information processing device 200. For example, the selection target data includes the data of the record in the Action Information DB 141 corresponding to the seed user, including the user ID of the seed user, the content of the action, the date and time, etc. In the description of FIG. 1, the case where Client 100 has the Action Information DB 141 has been described, but the information processing device 200 may have the Action Information DB 141. In this case, the information processing device 200 executes the above processing to select a seed user and generate selection target data.
[0016] The information processing device 200 is a server device or the like managed by a second operator different from the first operator. For example, the information processing device 200 has an Account DB 241 and a machine learning model 242.
[0017] The Account DB 241 holds information on users managed by the second operator. FIG. 3 is a diagram showing an example of the data structure of the Account DB 241. As shown in FIG. 3, the Account DB 241 has a user ID, a feature vector, and a plurality of feature quantities (first feature quantity, second feature quantity, third feature quantity, ···, Nth feature quantity <N is a natural number>).
[0018] In FIG. 3, the user ID is information that uniquely identifies a user. The user ID in the behavior information DB 141 of the client 100 and the user ID in the account DB 241 are assumed to be associated in advance. The feature vector indicates the characteristics of a user and is a vector that is generated in advance for the user. For example, if various behavioral histories of a first user and various behavioral histories of a second user are similar, the cosine similarity between the feature vector of the first user and the feature vector of the second user approaches 1. The multiple feature amounts are various feature amounts related to the user. For example, the multiple feature amounts include gender, age, browsing history, access history, purchase history, behavior details, etc.
[0019] The machine learning model 242 is a model that outputs a score when a feature of a user is input. The machine learning model 242 is, for example, a neural network (NN). For example, the closer the score output from the machine learning model 242 is to "1," the greater the likelihood that the user corresponding to the feature will perform a predetermined behavior. On the other hand, the closer the score output from the machine learning model 242 is to "0," the smaller the likelihood that the user corresponding to the feature will perform a predetermined behavior.
[0020] When the information processing device 200 acquires selection target data from the client 100, it generates training data having input data and output data (correct answer labels). The information processing device 200 uses the generated training data to perform machine learning of the machine learning model 242. The first machine learning and second machine learning performed by the information processing device 200 will be described below. Note that the information processing device 200 may perform the first machine learning and the second machine learning in a composite manner.
[0021] [2.1 Explanation of Machine Learning] Before explaining the first machine learning, a process for generating training data to be used in the first machine learning will be described. First, an example of a process for generating positive examples of training data will be described. The information processing device 200 sets feature quantities such as the content of the action and the date included in the selection target data as input data. The information processing device 200 compares the user ID included in the selection target data with the account DB 241, extracts a feature vector corresponding to the user ID, and sets the extracted feature vector as the input data. The information processing device 200 sets a score of "1" to the correct answer label of the positive example training data.
[0022] An example of a process in which the information processing device 200 generates negative examples of training data will be described. The information processing device 200 compares the content of an action included in the selection target data with a feature corresponding to the content of the action among a plurality of feature values in the account DB 241, and identifies a plurality of user IDs for which a feature value different from the content of the action included in the selection target data is set. The information processing device 200 randomly selects one user ID from the identified plurality of user IDs, and sets the feature vector corresponding to the selected user ID and set in the account DB 241 as input data. The information processing device 200 sets a score of "0" to the correct answer label of the training data of the negative examples.
[0023] The information processing device 200 repeatedly executes the above process each time it acquires selection target data, and generates a training dataset for executing the first machine learning. The information processing device 200 uses the training dataset to train the machine learning model 242 by backpropagation or the like (executes the first machine learning). Note that the information processing device 200 may be configured to execute the first machine learning for the machine learning model 242 only once a day.
[0024] [3. Explanation of Machine Learning] Before describing the second machine learning, a process for generating training data to be used in the second machine learning will be described. First, an example of a process for generating positive examples of training data will be described. The information processing device 200 compares a user ID included in the selection target data with the account DB 241 to identify multiple feature amounts corresponding to the user ID. The information processing device 200 determines feature amounts to be set in the input data of the training data from multiple feature amounts that have not been used in the machine learning of the machine learning model 242, among the multiple identified feature amounts.
[0025] For example, the information processing device 200 applies a bandit algorithm to multiple feature quantities and evaluates each feature quantity. The information processing device 200 repeats evaluation and selection using the bandit algorithm to determine a feature quantity that maximizes the evaluation value. More specifically, the information processing device 200 evaluates the accuracy of a model created using a certain type of feature quantity and selects a type of feature quantity to be trained by the model based on this evaluation. As a detailed example, the information processing device 200 evaluates the accuracy of a model that calculates a score based on the characteristics of gender and age and selects a new feature quantity (e.g., place of residence) using the bandit algorithm. Then, the information processing device 200 retrains a model that calculates a score based on the characteristics of gender, age, and place of residence and selects a feature quantity based on the accuracy of the trained model. When applying the bandit algorithm, the information processing device 200 may use XGBoost (eXtreme Gradient Boosting) to evaluate the feature importance of the feature quantities and prioritize feature quantities with a higher importance value than other features. The information processing device 200 may use ε-greedy as the bandit algorithm.
[0026] The information processing device 200 sets the feature selected by applying a bandit algorithm such as ε-greedy as input data for the training data. Furthermore, the information processing device 200 uses the most useful feature at that time at a rate of ε, randomly selects a feature at a rate of (1-ε), and sets the selected feature as the input data. For example, when ε=0.1, the information processing device 200 selects the most useful feature with a probability of 90%, and randomly selects a feature with a probability of 10%. The information processing device 200 sets a score of "1" to the correct answer label of the training data of positive examples.
[0027] An example of a process in which the information processing device 200 generates negative examples of training data will be described. The information processing device 200 compares the content of the behavior included in the selection target data with a feature corresponding to the content of the behavior among multiple feature values in the account DB 241, and identifies multiple user IDs for which feature values different from the content of the behavior included in the selection target data are set. The information processing device 200 randomly selects one user ID from the multiple identified user IDs, and identifies multiple feature values corresponding to the selected user ID. The information processing device 200 applies a bandit algorithm to multiple feature values not used in machine learning by the machine learning model 242 among the multiple identified feature values to determine feature values to be set as input data of the training data.
[0028] The information processing device 200 sets the feature quantity selected by applying the bandit algorithm as input data of the training data. Furthermore, the information processing device 200 randomly selects a feature quantity at a rate of (1-ε) using the feature quantity that is most useful at that time at a rate of ε, and sets the selected feature quantity as the input data. The information processing device 200 sets a score of "0" to the correct answer label of the training data of negative examples.
[0029] The information processing device 200 repeatedly executes the above process each time it acquires selection target data, and generates a training dataset for executing the second machine learning. The information processing device 200 uses the training dataset to train the machine learning model 242 by backpropagation or the like (executes the second machine learning).
[0030] As described above, the information processing device 200 according to this embodiment acquires selection target data including features of the seed user from the client 100, and executes first machine learning based on the selection target data and second machine learning using a bandit algorithm on the machine learning model 242. This makes it possible to select features advantageous to the user and execute machine learning for the machine learning model.
[0031] For example, the first business operator using the information processing device 200 is an advertisement distributor, and the client 100 is a client that requests advertisement distribution from the advertisement distributor. The advertisement distributor provides, for example, a portal site such as a search site, or various services centered around the portal site.
[0032] Advertisement distributors score each user using a model that calculates a score based on the user's attributes, and distribute advertisements when the score exceeds a predetermined threshold.
[0033] However, the number of types of user features is enormous, and it is time-consuming to determine which information to base a model on.
[0034] Therefore, when the information processing device 200 receives a seed user specification from the client side, it automatically selects, from the attributes of the seed user, a type of feature that can accurately determine whether or not the user is a seed user by automatic selection using a bandit algorithm, and generates a model that calculates a score based on the selected type of feature. As a result, the information processing device 200 can automatically generate a model (machine learning model 242) that estimates whether or not a user is similar to the seed user, in other words, whether or not the user is suitable as an advertisement destination, and whether or not the user is likely to be interested in the advertisement, simply by receiving the specification of the seed user as an advertisement delivery destination.
[0035] 4. Client 100 Configuration An example of the configuration of the client 100 shown in Fig. 1 will be described. Fig. 4 is a diagram showing the configuration of the client 100 according to this embodiment. As shown in Fig. 4, the client 100 includes a communication unit 110, an input unit 120, a display unit 130, a storage unit 140, and a control unit 150.
[0036] The communication unit 110 is realized by a NIC (Network Interface Card) or the like. The communication unit 110 is connected to a network via a wired or wireless connection and transmits and receives information to and from various other devices. For example, the control unit 150 (described later) uses the communication unit 110 to transmit and receive information to and from the user terminal 10 and the information processing device 200.
[0037] The input unit 120 is a device for inputting various types of information to the control unit 150 of the client 100. The input unit 120 is an input device such as a keyboard, a mouse, or a touch panel.
[0038] The display unit 130 is a device for displaying information output from the control unit 150. The display unit 130 is a display device such as a display or a touch panel.
[0039] The storage unit 140 is realized by a semiconductor memory element such as a flash memory, or a storage device such as a hard disk. For example, the storage unit 140 has a behavior information DB 141.
[0040] The behavior information DB 141 holds the details of the behavior performed by the user of the user terminal 10 when accessing the client 100. The description of the behavior information DB 141 is the same as the description of the behavior information DB 141 described with reference to FIG.
[0041] The control unit 150 is a controller, and is realized by a processor such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit) executing various programs stored in a storage device (for example, the storage unit 140) inside the client 100 using RAM as a work area. The control unit 150 is also a controller, and is realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
[0042] Control unit 150 has service providing unit 151, selection unit 152, and notification unit 153, and realizes or executes the functions and actions of the processes described below. Note that the internal configuration of control unit 150 is not limited to the configuration shown in Fig. 4, and other configurations may be used as long as they perform the processes described below.
[0043] The service providing unit 151 receives access from the user terminal 10, displays a website, etc., and provides various services. When the service providing unit 151 receives access from the user terminal 10, it displays a login screen, etc., and acquires the user's user ID, etc. The service providing unit 151 generates behavioral information of the user based on the access content from the user terminal 10, and registers the generated user behavioral information in the behavioral information DB 141. The user behavioral information registered in the behavioral information DB 141 includes the user ID, the content of the behavior, the date and time, etc.
[0044] The selection unit 152 scans the details of the behavior registered in the behavior information DB 141 and selects a user who satisfies a predetermined condition as a "seed user." A user who satisfies the predetermined condition is a user who has performed a preset behavior or a user who has performed a preset behavior a predetermined number of times or more. The selection unit 152 generates selection target data based on the record in the behavior information DB 141 corresponding to the seed user and outputs it to the notification unit 153. For example, the selection target data is data of the record in the behavior information DB 141 corresponding to the seed user, and includes the seed user's user ID, the behavior content, the date and time, etc.
[0045] The notification unit 153 uses the communication unit 110 to notify the information processing device 200 of the selection target data.
[0046] 5. Configuration of Information Processing Device 200 An example of the configuration of the information processing device 200 shown in Fig. 1 will be described. Fig. 5 is a diagram showing the configuration of the information processing device 200 according to this embodiment. As shown in Fig. 5, the information processing device 200 includes a communication unit 210, an input unit 220, a display unit 230, a storage unit 240, and a control unit 250.
[0047] The communication unit 210 is realized by a NIC or the like. The communication unit 210 is connected to a network via a wired or wireless connection, and transmits and receives information to and from various other devices. For example, the control unit 150 (described later) transmits and receives information to and from the client 100 using the communication unit 210.
[0048] The input unit 220 is a device for inputting various types of information to the control unit 250 of the information processing device 200. The input unit 220 is an input device such as a keyboard, a mouse, or a touch panel.
[0049] The display unit 230 is a device for displaying information output from the control unit 250. The display unit 230 is a display device such as a display or a touch panel.
[0050] The storage unit 240 is realized by a semiconductor memory element (non-volatile memory) such as a flash memory, or a storage device such as a hard disk. For example, the storage unit 240 includes an account DB 241, a machine learning model 242, and a training data table 243.
[0051] The account DB 241 holds information about users managed by the second service provider. The explanation about the account DB 241 is the same as the explanation about the account DB 241 explained in FIG.
[0052] The machine learning model 242 is a model that outputs a score when a feature amount of a user is input. The machine learning model 242 is, for example, a neural network.
[0053] The training data table 243 holds training data sets generated by the control unit 250, which will be described later. Each training data set included in the training data set has input data and output data (correct answer label).
[0054] The control unit 250 is a controller, and is realized by a processor such as a CPU or an MPU, for example, executing various programs stored in a storage device (for example, the storage unit 240) inside the information processing device 200 using a RAM as a work area. The control unit 250 is also a controller, and is realized by an integrated circuit such as an ASIC or an FPGA.
[0055] The control unit 250 has a receiving unit 251, an extracting unit 252, a first learning unit 253, a determining unit 254, and a second learning unit, and realizes or executes the functions and actions of the processes described below. Note that the internal configuration of the control unit 250 is not limited to the configuration shown in Fig. 5, and other configurations may be used as long as they perform the processes described below.
[0056] The receiving unit 251 receives selection target data from the client 100. For example, the selection target data includes the user ID of the seed user, the content of the action, the date and time, etc. The receiving unit 251 outputs the selection target data to the extracting unit 252, the first learning unit 253, the determining unit 254, and the second learning unit 255.
[0057] The extraction unit 252 compares the user ID included in the selection target data with the account DB 241, and extracts a feature vector corresponding to the user ID. The extraction unit 252 outputs the extracted feature vector to the first learning unit 253.
[0058] The first learning unit 253 executes the "first machine learning related process" described above. For example, when generating positive examples of training data, the first learning unit 253 executes the following process. The first learning unit 253 sets, as input data, feature amounts such as the content of the action and the date contained in the selection target data, and the feature vector acquired from the extraction unit 252. The first learning unit 253 sets a score of "1" to the correct answer label of the positive example training data.
[0059] The first learning unit 253 performs the following process when generating negative examples of training data. The first learning unit 253 compares the content of the behavior included in the selection target data with a feature corresponding to the content of the behavior from among multiple feature values in the account DB 241, and identifies multiple user IDs for which a feature value different from the content of the behavior included in the selection target data is set. The first learning unit 253 randomly selects one user ID from the multiple identified user IDs, and sets the feature vector corresponding to the selected user ID and set in the account DB 241 as the input data. The first learning unit 253 sets a score of "0" to the correct answer label of the negative example training data.
[0060] The first learning unit 253 repeatedly executes the above process each time it acquires selection target data, generates a training data set for executing the first machine learning, and registers it in the training data table 243. The first learning unit 253 uses the training data set to train the machine learning model 242 based on backpropagation.
[0061] The determination unit 254 generates training data to be used in the second machine learning in relation to the above-mentioned "processing related to second machine learning." When generating positive examples of training data, the determination unit 254 executes the following process. The determination unit 254 determines feature quantities to be set in the input data of the training data from among a plurality of feature quantities registered in the account DB 241 that are not used in the machine learning of the machine learning model 242. For example, the determination unit 254 applies a bandit algorithm to determine feature quantities to be set in the input data of the training data (feature quantities to be learned).
[0062] Furthermore, the determination unit 254 randomly selects a feature from among the multiple features that were not selected by the bandit algorithm, and sets the selected feature to the input data. The determination unit 254 sets a score of "1" to the correct answer label of the training data of the positive example.
[0063] The determination unit 254 performs the following process when generating negative examples of training data. The determination unit 254 compares the content of the behavior included in the selection target data with a feature corresponding to the content of the behavior from among the multiple feature values in the account DB 241, and identifies multiple user IDs for which a feature value different from the content of the behavior included in the selection target data is set. The determination unit 254 randomly selects one user ID from the multiple identified user IDs, and identifies multiple feature values corresponding to the selected user ID. The determination unit 254 applies a bandit algorithm to multiple feature values not used in machine learning by the machine learning model 242 from among the multiple identified feature values to determine feature values to be set in the input data of the training data.
[0064] The determination unit 254 sets the feature selected by applying the bandit algorithm as input data for the training data. For example, the determination unit 254 selects the most useful feature at that time at a rate of ε, randomly selects a feature at a rate of (1-ε), and sets the selected feature as input data. The determination unit 254 sets a score of "0" to the correct answer label of the negative example training data.
[0065] The determination unit 254 repeatedly executes the above process each time selection target data is acquired, and generates a training data set for performing the second machine learning. The determination unit 254 registers the generated training data set in the training data table 243.
[0066] The second learning unit 255 uses the training data set registered in the training data table 243 and generated by the above-mentioned determination unit 254, and performs machine learning of the machine learning model 242 based on backpropagation.
[0067] 6. Processing Procedure of Information Processing Device 200 Next, an example of a processing procedure of the information processing device 200 according to this embodiment will be described. Fig. 6 is a flowchart showing the processing procedure of the information processing device 200 according to this embodiment. As shown in Fig. 6, the receiving unit 251 of the information processing device 200 receives selection target data from the client 100 (step S101).
[0068] The extraction unit 252 of the information processing device 200 extracts a feature vector of the user from the account DB 241 based on the selection target data (step S102). The first learning unit 253 of the information processing device 200 generates a training dataset for performing first machine learning based on the selection target data (step S103). The first learning unit 253 executes the first machine learning on the machine learning model 242 (step S104).
[0069] The determination unit 254 of the information processing device 200 generates a training data set for performing the second machine learning using a bandit algorithm (step S105). The second learning unit 255 of the information processing device 200 executes the second machine learning for the machine learning model 242 (step S106).
[0070] If the information processing device 200 continues the process (step S107, Yes), the information processing device 200 proceeds to step S101. On the other hand, if the information processing device 200 does not continue the process (step S107, No), the information processing device 200 ends the process.
[0071] [7. Hardware Configuration] The client 100 or the information processing device 200 according to the above-described embodiment is realized by, for example, a computer 80 configured as shown in Fig. 7. The following description will be given taking the information processing device 200 as an example. Fig. 7 is a hardware configuration diagram showing an example of the computer 80 that realizes the functions of the information processing device 200 according to the embodiment. The computer 80 has a CPU 81, a RAM 82, a ROM (Read Only Memory) 83, an HDD (Hard Disk Drive) 84, a communication interface (I / F) 85, an input / output interface (I / F) 86, and a media interface (I / F) 87.
[0072] The CPU 81 operates and controls each part based on programs stored in the ROM 83 or the HDD 84. The ROM 83 stores a boot program executed by the CPU 81 when the computer 80 starts up, programs that depend on the hardware of the computer 80, and the like.
[0073] The HDD 84 stores programs executed by the CPU 81, data used by such programs, etc. The communication interface 85 receives data from other devices via the network and sends it to the CPU 81, and transmits data generated by the CPU 81 to other devices via the network N.
[0074] The CPU 81 controls output devices such as a display and a printer, and input devices such as a keyboard and a mouse, via the input / output interface 86. The CPU 81 acquires data from the input devices via the input / output interface 86. The CPU 81 also outputs generated data to the output devices via the input / output interface 86.
[0075] The media interface 87 reads a program or data stored in a recording medium 88 and provides it to the CPU 81 via the RAM 82. The CPU 81 loads the program or data from the recording medium 88 onto the RAM 82 via the media interface 87 and executes the loaded program. The recording medium 88 is, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or a PD (Phase Change Rewritable Disc), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
[0076] For example, when the computer 80 functions as the information processing device 200 according to the embodiment, the CPU 81 of the computer 80 executes programs loaded onto the RAM 82 to realize the functions of the control unit 250. In addition, the HDD 84 stores data in the storage unit 240. The CPU 81 of the computer 80 reads and executes these programs from the recording medium 88, but as another example, the CPU 81 may obtain these programs from another device via the network N.
[0077] [8. Other] Furthermore, among the processes described in the above embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically using known methods. Furthermore, the information including the processing procedures, specific names, various data, and parameters shown in the above documents and drawings can be changed as desired unless otherwise specified. For example, the various information shown in each drawing is not limited to the information shown in the drawings.
[0078] Furthermore, the components of each device shown in the figure are conceptual functional components and do not necessarily have to be physically configured as shown in the figure. In other words, the specific form of distribution and integration of each device is not limited to that shown in the figure, and all or part of them can be functionally or physically distributed and integrated in any unit depending on various loads, usage conditions, etc.
[0079] For example, the information processing device 200 described above may be realized by multiple server computers, and depending on the function, the configuration can be flexibly changed, such as by calling an external platform using an API (Application Programming Interface) or network computing.
[0080] Furthermore, the above-described embodiments and modifications can be combined as appropriate within the scope of not causing any contradiction in the processing content.
[0081] Incidentally, the information processing device 200 described above compares the user ID included in the selection target data transmitted from the client 100 with the account DB 241 to associate the user (seed user) who performed a predetermined behavior. However, the present invention is not limited to this. For example, when the information processing device 200 receives selection target data (including the content of the seed user's behavior but not the user ID) from the client 100, the information processing device 200 may compare a feature corresponding to the content of the behavior among multiple feature amounts included in the account DB 241 with a feature amount of the content of the behavior of the selection target data, and identify the user ID of a user whose feature amounts are similar to each other as the user ID of the seed user. For example, if most of the content of the user's behavior set in the selection target data indicates "purchasing the same product every two months," the information processing device 200 may identify the user ID corresponding to the feature amount of "purchasing the same product every two months" as the user ID of the seed user based on the feature amount of the account DB 241.
[0082] [9. Effects] As described above, the information processing device 200 according to the embodiment includes the receiving unit 251, the extraction unit 252, the first learning unit 253, the determination unit 254, and the second learning unit 255. The receiving unit 251 receives feature quantities of selection targets that satisfy predetermined conditions from a device of a first service provider. The extraction unit 252 extracts feature vectors of selection targets that satisfy predetermined conditions from feature vectors indicating the features of the selection targets managed by a second service provider. The first learning unit 253 trains a model on features possessed by the feature quantities of the selection targets that satisfy the predetermined conditions and features possessed by the extracted feature vectors. The determination unit 254 determines feature quantities to be learned using a bandit algorithm from among the feature quantities of the selection targets managed by the second service provider that have not yet been trained in a model. The second learning unit 255 trains the model trained by the first learning unit 253 on the features possessed by the feature quantities determined by the determination unit 254. This allows feature quantities advantageous to the user to be selected and machine learning of the machine learning model to be performed.
[0083] The determination unit 254 also selects the most useful feature at a rate of ε, randomly selects a feature at a rate of (1-ε), and sets the selected feature to the input data, thereby enabling the bandit algorithm to determine appropriate features.
[0084] Furthermore, when using a bandit algorithm, the determination unit 254 evaluates the importance of each feature and prioritizes determining a feature whose importance value is greater than other importance values. This allows for efficient determination of a feature that is advantageous to the user.
[0085] Furthermore, the storage unit 240 stores an account DB 241, and the extraction unit 252 extracts a feature vector corresponding to a feature similar to the feature of the selection target accepted by the acceptance unit 251 from among a plurality of feature values set in the account DB 241. This makes it possible to easily extract the feature vector of the seed user selected by the client 100 of the first business operator.
[0086] The above describes the embodiments of the present application in detail based on the drawings, but this is merely an example, and the present invention can be implemented in other forms that include the embodiments described in the Disclosure of the Invention section and that have been modified and improved in various ways based on the knowledge of those skilled in the art.
[0087] Furthermore, the above-mentioned "section, module, unit" can be read as "means" or "circuit," etc. For example, an acquisition unit can be read as an acquisition means or an acquisition circuit. [Explanation of symbols]
[0088] 100 clients 110,210 Communications Department 120,220 Input section 130,230 Display section 140,240 storage section 141 Behavior information DB 150,250 Control unit 151 Service Provision Department 152 Selection Department 153 Notification Department 200 Information processing device 241 Account DB 242 Machine Learning Models 243 Training Data Table 251 Reception Department 252 Extraction part 253 First Learning Section 254 Decision Section 255 Second Learning Section
Claims
1. a receiving unit that receives, from the device of the first operator, feature quantities of selection targets that satisfy predetermined conditions; an extraction unit that extracts feature vectors of the selection targets that satisfy the predetermined conditions from feature vectors that indicate features of the selection targets managed by the second business operator; a first learning unit that causes a model to learn features possessed by the feature amounts of the selection targets that satisfy the predetermined conditions and features possessed by the extracted feature vectors; a determination unit that determines, using a bandit algorithm, feature quantities to be learned from feature quantities that have not been learned by the model, among feature quantities to be selected that are managed by the second business operator; a second learning unit that causes the model learned by the first learning unit to learn features of the feature amounts determined by the determination unit; An information processing device comprising:
2. 2. The information processing device according to claim 1, wherein the determination unit uses ε-greedy as the bandit algorithm, determines the most useful feature with a probability of ε for the feature to be selected, and further executes a process of randomly determining the feature at a rate of (1-ε).
3. 2. The information processing apparatus according to claim 1, wherein, when using the bandit algorithm, the determination unit evaluates the importance of each feature and determines, with priority, a feature having a greater importance value than other features.
4. a storage unit configured to store account information in which the feature vector is associated with a feature amount of a user managed by the second business; The information processing device according to claim 1 , wherein the extraction unit extracts a feature vector corresponding to a feature similar to a feature of the selection target received by the reception unit from among the feature values set in the account information.
5. 1. A computer-implemented learning method comprising: a receiving step of receiving, from the device of the first business operator, feature quantities of selection targets that satisfy predetermined conditions; an extraction step of extracting feature vectors of the selection targets that satisfy the predetermined conditions from feature vectors that indicate features of the selection targets managed by the second business operator; a first learning step of learning features of the feature amounts of the selected objects that satisfy the predetermined conditions and features of the extracted feature vectors into a model; a determination step of determining, using a bandit algorithm, feature quantities to be learned from among feature quantities to be selected that are managed by the second business operator and whose features have not been learned by the model; a second learning step of causing the model learned in the first learning step to learn the features of the feature amounts determined in the determining step. A learning method characterized by:
6. a receiving step of receiving, from a device of a first business operator, feature quantities of a selection target that satisfy predetermined conditions; an extraction step of extracting feature vectors of the selection targets that satisfy the predetermined conditions from feature vectors that indicate the features of the selection targets managed by the second business operator; a first learning procedure for learning features of the feature amounts of the selection targets that satisfy the predetermined conditions and features of the extracted feature vectors into a model; a determination step of determining, using a bandit algorithm, feature quantities to be learned from among feature quantities to be selected that are managed by the second business operator and whose features have not been learned by the model; a second learning procedure for causing the model trained by the first learning procedure to learn features of the feature amounts determined by the determination procedure. A learning program characterized by:
Citation Information
Patent Citations
Information processing device, information processing method, and information processing program
JP2023036658A
Methods and systems for feature selection in machine learning based on feature contribution and model fitness
US20070112716A1
System and method for real-time user response prediction for content presentations on client devices
US20230214876A1