WO2023189738A1 - Information processing method, information processing device, and program - Google Patents
Information processing method, information processing device, and program Download PDFInfo
- Publication number
- WO2023189738A1 WO2023189738A1 PCT/JP2023/010628 JP2023010628W WO2023189738A1 WO 2023189738 A1 WO2023189738 A1 WO 2023189738A1 JP 2023010628 W JP2023010628 W JP 2023010628W WO 2023189738 A1 WO2023189738 A1 WO 2023189738A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- probability distribution
- user
- item
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/096—Transfer learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
Definitions
- the present disclosure relates to an information processing method, an information processing device, and a program, and particularly relates to an information processing technology that generates data of different domains.
- Patent Document 1 describes a personalized product recommendation system that utilizes deep learning.
- Non-Patent Document 1 describes a method of generating pseudo user behavior history data using a conditional generative adversarial network (CGAN).
- CGAN conditional generative adversarial network
- Patent Document 2 states that when there are restrictions on data that can be used from the perspective of privacy, such as patient data at a hospital, proxy data, which is pseudo data, is generated at each facility instead of local private data.
- proxy data which is pseudo data
- the configuration to be shared on the global server is described. According to the technology described in Patent Document 2, a global model can be learned using proxy data without sharing highly confidential real data (private data).
- Non-Patent Document 1 it is possible to generate user action history data necessary for information recommendation technology, but only data for the same domain as the source domain (domain of the original data) can be generated.
- the method described in Patent Document 2 generates a plurality of private data distributions that collectively represent local private data, and generates a set of virtual data (proxy data) whose distribution is similar to that of the private data (of the same domain). .
- proxy data virtual data
- the present disclosure has been made in view of these circumstances, and aims to provide an information processing method, an information processing device, and a program that can generate data on user behavior history in different domains.
- An information processing method is an information processing method executed by one or more processors, the one or more processors processing a data set including action histories of multiple users with respect to multiple items.
- data of an explanatory variable and a corresponding objective variable can be generated from a joint probability distribution obtained by modifying a part of the joint probability distribution of a given data set, and this generated data is The data will be in a different domain than the original dataset.
- data of different domains can be generated from the original data set.
- the modification may include changing the generation probability distribution of at least some of the explanatory variables.
- the modification may include changing the strength of dependence between explanatory variables.
- the modification may include reflecting a change in a rule that affects the joint probability distribution.
- one or more processors may generate a model expressing a joint probability distribution by performing machine learning using a data set.
- the explanatory variable may include a user attribute and an item attribute.
- the explanatory variable may further include a context.
- the expression of the joint probability distribution includes a user characteristic vector expressed using a vector indicating attributes of a user, and an item expressed using a vector indicating attributes of an item.
- the configuration may include expression of a conditional probability distribution expressed by a function using an inner product with a characteristic vector.
- the expression of the joint probability distribution includes a user characteristic vector expressed using a vector indicating user attributes and an item characteristic expressed using a vector indicating item attributes. It is expressed by a function that uses the sum of the inner product of the vector, the inner product of the item characteristic vector and the context characteristic vector expressed using a vector indicating the attributes of the context, and the inner product of the context characteristic vector and the user characteristic vector.
- the configuration may include expression of a conditional probability distribution.
- the function may be a logistic function.
- An information processing device is an information processing device including one or more processors and one or more memories storing instructions to be executed by the one or more processors, the information processing device including: The two or more processors express a joint probability distribution between a target variable and an explanatory variable, with the user's behavior toward the item as a target variable, for a data set including behavior history of the multiple users toward the multiple items, Part of the joint probability distribution is modified and data is generated based on the modified joint probability distribution.
- a program is configured to cause a computer to perform a data set including behavior history of a plurality of users with respect to a plurality of items, using the user's behavior with respect to the item as a target variable, and between the target variable and the explanatory variable.
- a function to express a joint probability distribution of , a function to modify a part of the joint probability distribution, and a function to generate data according to the modified joint probability distribution are realized.
- FIG. 1 is a conceptual diagram of a typical recommendation system.
- FIG. 2 is a conceptual diagram showing an example of supervised machine learning, which is widely used to construct recommendation systems.
- FIG. 3 is an explanatory diagram showing a typical introduction flow of the recommendation system.
- FIG. 4 is an explanatory diagram of the introduction flow of the recommendation system in a case where data on the facility to which the recommendation system is introduced cannot be obtained.
- FIG. 5 is an explanatory diagram when learning a model by domain application.
- FIG. 6 is an explanatory diagram of the recommendation system introduction flow including the step of evaluating the performance of the learned model.
- FIG. 7 is an explanatory diagram showing an example of learning data and evaluation data used in machine learning.
- FIG. 8 is a graph schematically showing differences in model performance due to differences in data sets.
- FIG. 8 is a graph schematically showing differences in model performance due to differences in data sets.
- FIG. 9 is an explanatory diagram of data necessary for developing a domain generalization model.
- FIG. 10 is a block diagram schematically showing an example of the hardware configuration of the information processing device according to the embodiment.
- FIG. 11 is a functional block diagram showing the functional configuration of the information processing device.
- FIG. 12 is a chart showing an example of action history data.
- FIG. 13 is a diagram illustrating an example of a directed acyclic graph (DAG) that expresses the dependence between variables of the joint probability distribution P(X, Y).
- DAG directed acyclic graph
- FIG. 14 is a diagram showing a specific example of probability expression of the conditional probability distribution P(Y
- FIG. 16 represents the behavioral characteristics of a user defined by the combination of user attribute 1 and user attribute 2, the behavioral characteristics of an item defined by the combination of item attribute 1 and item attribute 2, and the dependence relationships between variables. It is an explanatory diagram showing the relationship with DAG.
- FIG. 17 is a diagram showing an example of the probability distribution P(X) of each attribute of the explanatory variables.
- FIG. 18 is a diagram illustrating an example of a joint probability distribution DAG that includes context as an explanatory variable.
- FIG. 19 is a diagram illustrating an example of probability expression of the conditional probability distribution P(Y
- FIG. 20 is a graph showing an example of calibration.
- FIG. 21 is an explanatory diagram showing an example 1 of a method for modifying a joint probability distribution.
- FIG. 22 is an explanatory diagram showing an example 2 of a method for modifying the joint probability distribution.
- FIG. 23 is an explanatory diagram showing an example of modified user characteristic vectors and item attribute vectors.
- FIG. 24 is a flowchart showing the basic procedure of a data generation method using the information processing device according to the embodiment.
- FIG. 24 is a flowchart showing the basic procedure of a data generation method using the information processing device according to the embodiment.
- FIG. 25 is a flowchart illustrating the procedure of a method for generating data for multiple domains by the information processing apparatus according to the embodiment.
- FIG. 26 is a flowchart showing a procedure for using data generated by the information processing device according to the embodiment for domain generalization learning.
- FIG. 27 is a flowchart showing a procedure for using data generated by the information processing apparatus according to the embodiment for evaluating domain generalizability.
- Information recommendation technology is a technology for recommending (suggesting) items to users.
- FIG. 1 is a conceptual diagram of a typical recommendation system 10.
- the recommendation system 10 receives user information and context information as input, and outputs information on items recommended to the user according to the context.
- Context refers to various "situations" and may include, for example, day of the week, time of day, or weather.
- the items can be various objects, such as books, videos, restaurants, etc.
- the recommendation system 10 generally recommends multiple items at the same time.
- FIG. 1 shows an example in which the recommendation system 10 recommends three items IT1, IT2, and IT3.
- the recommendation is generally considered successful if the user reacts positively to the recommended items IT1, IT2, IT3.
- a positive response may be, for example, a purchase, viewing, or visit.
- Such recommendation technology is widely used, for example, on e-commerce sites and gourmet sites that introduce restaurants.
- FIG. 2 is a conceptual diagram showing an example of supervised machine learning that is widely used to construct the recommendation system 10.
- positive examples and negative examples are prepared based on past user behavior history, and a combination of a user and a context is input into the prediction model 12, and the prediction model 12 is trained so that the prediction error is small.
- a viewed item that the user viewed is a positive example
- a non-viewed item that the user did not view is a negative example.
- Machine learning is performed until the prediction error converges, and the target prediction performance is achieved.
- the prediction model 12 uses the learned (trained) predictive model 12 trained in this way to recommend items with a high predicted viewing probability for the combination of user and context. For example, when a combination of a certain user A and context ⁇ is input to the trained prediction model 12, the prediction model 12 calculates the probability that user A will view a document such as item IT3 under the conditions of context ⁇ . It is inferred that it is high, and recommends an item close to item IT3 to the user A. Note that depending on the configuration of the recommendation system 10, items are often recommended to the user without considering the context.
- a user's action history is almost equivalent to "correct data" in machine learning. Strictly speaking, it can be understood as a task setting that infers the next (unknown) behavior from past behavior history, but it is common to learn latent features based on past behavior history.
- the user's action history may include, for example, a book purchase history, a video viewing history, or a restaurant visit history.
- main feature quantities include user attributes and item attributes.
- User attributes may include various elements such as gender, age, occupation, family structure, and residential area.
- Item attributes can include various elements such as book genre, price, video genre and length, restaurant genre, and location.
- FIG. 3 is an explanatory diagram showing a typical introduction flow of the recommendation system.
- a model 14 that performs a target recommendation task is constructed (step 1), and then the constructed model 14 is introduced and operated (step 2).
- "building" the model 14 means learning the model 14 using learning (training) data and creating a predictive model (recommendation model) that satisfies a practical level of recommendation performance.
- “Operating” the model 14 means, for example, obtaining an output of a recommended item list from the trained model 14 in response to input of a combination of a user and a context.
- the construction of the model 14 requires learning data. As shown in FIG. 3, the recommendation system model 14 is generally trained based on data collected at the facility where it is introduced. By performing learning using data collected from the target facility, the model 14 learns the behavior of the users of the target facility, and is able to accurately predict recommended items for the users of the target facility. It is possible.
- FIG. 4 is an explanatory diagram of the introduction flow of the recommendation system when data on the facility to which the recommendation system is introduced cannot be obtained. If the model 14 that has been trained using data collected at a facility different from the facility where it is introduced is operated at the facility where it is inserted, the predictive accuracy of the model 14 will decrease due to differences in user behavior between the facilities. There's a problem.
- Domain adaptation is a problem setting related to domain generalization. This is a learning method that uses data from both the source and target domains. The purpose of using data from a different domain even though data for the target domain exists is to compensate for the fact that the amount of data for the target domain is small and insufficient for learning.
- FIG. 5 is an explanatory diagram when learning the model 14 by domain adaptation. Although the amount of data collected at the target domain, the facility where it is being introduced, is relatively smaller than the amount of data collected at a different facility, by learning using both types of data, The model 14 can also predict the behavior of users of the facility where it is introduced with a certain degree of accuracy.
- Non-Patent Document 2 (Ivan Cantador et al, Chapter 27: "Cross-domain Recommender System"), which is a document related to research on domain adaptation in information recommendation, differences in domains are classified into the following four types.
- Item attribute level For example, comedy movies and horror movies are different domains.
- Item type level For example, movies and TV dramas are different domains.
- Item level For example, movies and books are different domains.
- a domain it is defined by the joint probability distribution P(X, Y) of objective variable Y and explanatory variable X, and when Pd1(X, Y) ⁇ Pd2(X, Y), d1 and d2 are They are different domains.
- the joint probability distribution P(X,Y) is the product of the distribution P(X) of the explanatory variable and the conditional probability distribution P(Y
- P(X,Y) P(Y
- X)P(X) P(X
- Prior probability shift When the distribution P(Y) of the objective variable is different, it is called a prior probability shift. For example, a case where the average viewing rate or average purchase rate differs between data sets corresponds to a prior probability shift.
- a prediction/classification model that performs a prediction or classification task makes inferences based on the relationship between the explanatory variable X and the objective variable Y, so if P(Y
- Domain shift can be a problem not only for information recommendation but also for models of various tasks. For example, for a model that predicts the risk of employee retirement, domain shift can become a problem when a predictive model learned using data from one company is used in another company.
- domain shift can be a problem when a model that predicts the amount of antibodies produced by cells is trained using data from one antibody and is used with another antibody.
- VOC Voice of Customer
- domain shift can be a problem when operating a classification model on a different product.
- FIG. 6 is an explanatory diagram of the recommendation system introduction flow including the step of evaluating the performance of the learned model 14.
- the performance of the model 14 is evaluated as "Step 1.5" between Step 1 (the step of learning the model 14) and Step 2 (the step of operating the model 14) explained in FIG. Steps have been added.
- the other configurations are the same as in FIG. 5.
- data collected at an installation destination facility is often divided into learning data and evaluation data. After confirming the predictive performance of the model 14 using the evaluation data, the operation of the model 14 is started.
- the learning data and evaluation data need to be in different domains. Furthermore, in domain generalization, it is preferable to use data from multiple domains as learning data, and it is more preferable that there are many domains that can be used for learning.
- FIG. 7 is an explanatory diagram showing an example of learning data and evaluation data used in machine learning.
- the data set obtained from the joint probability distribution Pd1 (X, Y) of a certain domain d1 is divided into learning data and evaluation data.
- the evaluation data in the same domain as the learning data is referred to as “first evaluation data” and is expressed as "evaluation data 1" in FIG.
- a data set obtained from the joint probability distribution Pd2 (X, Y) of domain d2 different from domain d1 is prepared, and this is used as evaluation data.
- Evaluation data in a domain different from the learning data is referred to as "second evaluation data” and is expressed as "evaluation data 2" in FIG.
- the model 14 is trained using the training data of the domain d1, and the performance of the trained model 14 is calculated using the first evaluation data of the domain d1 and the second evaluation data of the domain d2. is evaluated.
- FIG. 8 is a graph schematically showing differences in model performance due to differences in data sets. If the performance of the model 14 in the learning data is performance A, the performance of the model 14 in the first evaluation data is performance B, and the performance of the model 14 in the second evaluation data is performance C, then normally , as shown in FIG. 8, the relationship is as follows: Performance A>Performance B>Performance C.
- the high generalization performance of the model 14 generally refers to high performance B or a small difference between performances A and B.
- the aim is to achieve high prediction performance even on untrained data without overfitting the training data.
- domain generalizability in this specification, it refers to high performance C or a small difference between performance B and performance C.
- the aim is to achieve consistently high performance even in a domain different from the one used for learning.
- FIG. 9 is an explanatory diagram of data necessary for developing a domain generalization model.
- FIG. 10 is a block diagram schematically showing an example of the hardware configuration of the information processing device 100 according to the embodiment.
- the information processing device 100 has a function of expressing a joint probability distribution between a target variable and a plurality of explanatory variables, and a function of expressing a joint probability distribution between a target variable and a plurality of explanatory variables for a data set consisting of action histories of a plurality of users with respect to a plurality of items. and a function to generate data according to the modified joint probability distribution.
- the information processing device 100 can be realized using computer hardware and software.
- the physical form of the information processing device 100 is not particularly limited, and may be a server computer, a workstation, a personal computer, a tablet terminal, or the like.
- an example will be described in which the processing functions of the information processing apparatus 100 are realized using one computer, but the processing functions of the information processing apparatus 100 may also be realized by a computer system configured using a plurality of computers. Good too.
- the information processing device 100 includes a processor 102, a computer readable medium 104 that is a non-transitory tangible object, a communication interface 106, an input/output interface 108, and a bus 110.
- the processor 102 includes a CPU (Central Processing Unit).
- the processor 102 may include a GPU (Graphics Processing Unit).
- Processor 102 is connected to computer readable media 104, communication interface 106, and input/output interface 108 via bus 110.
- the processor 102 reads various programs, data, etc. stored in the computer-readable medium 104, and executes various processes.
- the term program includes the concept of a program module and includes instructions similar to a program.
- the computer-readable medium 104 is, for example, a storage device that includes a memory 112 that is a main storage device and a storage 114 that is an auxiliary storage device.
- the storage 114 is configured using, for example, a hard disk drive (HDD) device, a solid state drive (SSD) device, an optical disk, a magneto-optical disk, a semiconductor memory, or an appropriate combination thereof.
- the storage 114 stores various programs, data, and the like.
- the memory 112 is used as a work area for the processor 102, and is used as a storage unit that temporarily stores programs and various data read from the storage 114.
- the program stored in the storage 114 is loaded into the memory 112, and the processor 102 executes the instructions of the program, so that the processor 102 functions as a means for performing various processes specified by the program.
- the memory 112 stores various programs executed by the processor 102, such as a joint probability distribution representation program 130, a joint probability distribution modification program 132, and a data generation program 134, and various data.
- the memory 112 includes an original data set storage section 140, a joint probability distribution representation storage section 142, and a generated data storage section 144.
- the original data set storage unit 140 is a storage area in which a data set (hereinafter referred to as an original data set) that becomes the basis for generating data for a different domain is stored.
- the joint probability distribution representation storage unit 142 stores the joint probability distribution representation expressed by the joint probability distribution representation program 130 for the original data set, and the joint probability distribution representation modified by the joint probability distribution modification program 132. It is a storage area.
- the generated data storage unit 144 is a storage area in which pseudo behavior history data generated by the data generation program 134 is stored.
- the communication interface 106 performs communication processing with an external device by wire or wirelessly, and exchanges information with the external device.
- the information processing device 100 is connected to a communication line (not shown) via a communication interface 106.
- the communication line may be a local area network, a wide area network, or a combination thereof.
- the communication interface 106 can play the role of a data acquisition unit that accepts input of various data such as original data sets.
- the information processing device 100 may include an input device 152 and a display device 154.
- Input device 152 and display device 154 are connected to bus 110 via input/output interface 108 .
- Input device 152 may be, for example, a keyboard, a mouse, a multi-touch panel, or other pointing device, an audio input device, or any suitable combination thereof.
- the display device 154 may be, for example, a liquid crystal display, an organic electro-luminescence (OEL) display, a projector, or an appropriate combination thereof.
- OEL organic electro-luminescence
- the input device 152 and the display device 154 may be integrally configured like a touch panel, or the information processing device 100, the input device 152, and the display device 154 may be integrally configured like a touch panel tablet terminal. may be configured.
- FIG. 11 is a functional block diagram showing the functional configuration of the information processing device 100.
- the information processing device 100 includes a data acquisition section 220, a joint probability distribution expression section 230, a joint probability distribution modification section 232, a data generation section 234, and a data storage section 240.
- the data acquisition unit 220 acquires a data set of behavior history for each item of a plurality of users in the first domain, which is an original data set.
- the joint probability distribution expression unit 230 models the dependency relationship between the objective variable Y and each explanatory variable X for the original data set, and creates a joint probability distribution P(X, Find Y).
- the joint probability distribution modification unit 232 modifies a part of the joint probability distribution P(X, Y) of the first domain to generate a modified joint probability distribution Pm(X, Y).
- the joint probability distribution modification unit 232 may modify the conditional probability distribution P(Y
- the modified joint probability distribution Pm (X, Y) corresponds to the joint probability distribution between the objective variable Y and each explanatory variable X in a pseudo domain (second domain) different from the first domain. Become.
- the data generation unit 234 generates pseudo action history data for each item of a plurality of pseudo users according to the modified joint probability distribution Pm(X,Y).
- the data generation section 234 includes an explanatory variable generation section 235 and an objective variable generation section 236.
- the explanatory variable generation unit 235 generates an explanatory variable Xmj according to the probability distribution Pm(X) in the modified joint probability distribution Pm(X, Y).
- the objective variable generation unit 236 generates an objective variable Ymj based on the explanatory variable Xmj and according to the conditional probability distribution Pm(Y
- the data generation unit 234 can generate pseudo behavior history data of a large number of pseudo users.
- the pseudo behavior history data generated by the data generation unit 234 is stored in the data storage unit 240.
- the data storage unit 240 stores a generated data set including pseudo behavior history data of a large number of pseudo users.
- the generated data storage section 144 (see FIG. 10) can function as the data storage section 240.
- FIG. 12 is a chart showing an example of behavior history data.
- FIG. 12 shows an example of a table of user behavior history regarding document viewing obtained from a certain company's document viewing system.
- the "item” here is a document.
- the table shown in FIG. 12 includes "time”, “user ID”, “item ID”, “user attribute 1", “user attribute 2”, “item attribute 1", “item attribute 2", “context 1", “ Context 2" and "viewed/not viewed” columns.
- “Time” is the date and time when the item was viewed.
- "User ID” is an identification code that identifies a user, and a unique ID (identification) is defined for each user.
- the item ID is an identification code that identifies an item, and a unique ID is defined for each item.
- "User attribute 1" is, for example, the department to which the user belongs.
- "User attribute 2” is, for example, the user's age.
- “Item attribute 1” is, for example, a document type as a classification category of an item.
- “Item attribute 2” is, for example, the file type of the item.
- Context 1 is, for example, the workplace where the item was viewed.
- Context 2 is, for example, the day of the week when the item was viewed.
- “Browsing presence/absence” in FIG. 12 is an example of the objective variable Y, and “user attribute 1”, “user attribute 2”, “item attribute 1”, “item attribute 2”, “context 1”, and “context 2”
- Each of is an example of explanatory variable X.
- the number of types of explanatory variables X and their combinations are not limited to the example shown in FIG. 12. As explanatory variables .
- the processor 102 If there is data such as the table shown in FIG. 12 as the behavior history, the processor 102 first learns dependencies between variables based on this data (see FIGS. 13 to 18). More specifically, the processor 102 uses a model in which the user, item, and context are each expressed as vectors, and the sum of their respective inner products is the behavior probability, and the model is designed to minimize the error in behavior prediction. Update the parameters.
- a vector representation of a user is expressed, for example, by adding vector representations of each attribute of the user. The same applies to the vector representation of items and the vector representation of context.
- a model that has learned the dependence between variables corresponds to a representation of the joint probability distribution P(X, Y) between the objective variable Y and each explanatory variable X in a given behavioral history data set.
- the processor 102 modifies the dependencies between variables. For example, considering the possibility that other companies are promoting home-based work, the probability of working from home is increased for Context 1 (work location). Also, for example, assuming a company with few seniority factors, we will eliminate dependence on age. Specifically, the age attribute is not added when configuring the user's vector representation.
- the processor 102 generates pseudo behavior history data based on the modified dependencies.
- the processor 102 probabilistically generates data from the upstream of the dependency relationship between variables. That is, the processor 102 first generates attribute data according to a probability distribution, and obtains vector representations of users, items, contexts, etc. based on the generated attributes. Thereafter, the processor 102 generates the presence or absence of an action for the combination of the user, item, and context according to the action probability calculated from the sum of the inner products of these vectors. In this way, data in a domain different from the actual data set used for learning (the data set shown in FIG. 12, which was actually collected from a company) is generated.
- FIG. 13 is an example of a directed acyclic graph (DAG) that expresses the dependence between variables of the joint probability distribution P(X, Y).
- DAG directed acyclic graph
- FIG. 13 shows an example in which four variables, user attribute 1, user attribute 2, item attribute 1, and item attribute 2, are used as explanatory variables X.
- the relationship between each of these explanatory variables X and the objective variable Y, which is the user's behavior toward the item, is expressed, for example, by a graph as shown in FIG. 13.
- the joint probability distribution representation unit 230 obtains a vector representation of the joint probability distribution P(X, Y) based on the dependency relationship between variables, such as the DAG shown in FIG. 13, for example.
- the graph shown in FIG. 13 shows that the user's behavior toward the item, which is the objective variable, depends on the user's behavioral characteristics and the item's characteristics, and the user's behavioral characteristics indicate that the user attribute 1 and the user attribute 2, indicating that the characteristics of the item depend on item attribute 1 and item attribute 2.
- the combination of user attribute 1 and user attribute 2 defines the user's behavioral characteristics. Further, the combination of item attribute 1 and item attribute 2 defines the characteristics of the item. The user's behavior toward the item is defined by a combination of the user's behavioral characteristics and the item's characteristics.
- the graph shown in FIG. 13 shows that elemental decomposition can be performed as follows.
- This type of representation method is called matrix factorization.
- the reason why the sigmoid function is adopted is that the value of the sigmoid function ranges from 0 to 1, and the value of the function can directly correspond to the probability.
- a sigmoid function is an example of a "function" in this disclosure.
- the model expression is not limited to the sigmoid function, and may be expressed using other functions.
- FIG. 14 shows a specific example of probability expression of P(Y
- X). Equation F14A shown in the upper part of FIG. 14 expresses the user characteristic vector ⁇ u and the item characteristic vector ⁇ i as five-dimensional vectors through matrix decomposition, and calculates the sigmoid function ⁇ ( ⁇ u ⁇ i) of these inner products ( ⁇ u ⁇ i). ) is expressed as a conditional probability P(Y 1
- u is an index value that distinguishes users.
- i is an index value that distinguishes items. Note that the dimension of the vector is not limited to five dimensions, but may be set to an appropriate number of dimensions as a hyperparameter of the model.
- the user characteristic vector ⁇ u is expressed by adding user attribute vectors.
- the user characteristic vector ⁇ u is expressed as the sum of a user attribute 1 vector and a user attribute 2 vector.
- the item characteristic vector ⁇ i is expressed by adding up the attribute vectors of the items.
- the item characteristic vector ⁇ i is expressed as the sum of the item attribute 1 vector and the item attribute 2 vector.
- the value of each vector is determined by learning from a data set (learning data) of user behavior history in a given domain.
- P(Y 1
- item) is updated using, for example, stochastic gradient descent (SGD).
- SGD stochastic gradient descent
- the means for expressing the joint probability distribution is not limited to matrix decomposition, but any means that can predict the conditional probability P(Y
- logistic regression or Naive Bayes may be applied.
- an arbitrary prediction model by calibrating the output score so that it becomes close to the probability P(Y
- SVM Small Vector Machine
- GDBT Gradient Boosting Decision Tree
- neural network models of arbitrary architectures can also be used.
- a joint probability distribution may be expressed using an ensemble of a plurality of prediction models.
- ⁇ User characteristic vector ⁇ u ⁇ Item characteristic vector: ⁇ i ⁇ User attribute 1 vector: Vk_u ⁇ 1 ⁇ User attribute 2 vector: Vk_u ⁇ 2 ⁇ Item attribute 1 vector: Vk_i ⁇ 1 ⁇ Item attribute 2 vector: Vk_i ⁇ 2
- ⁇ u Vk_u ⁇ 1+Vk_u ⁇ 2
- the log loss shown in the following equation (1) is used as a loss function during learning.
- the joint probability distribution expression unit 230 learns the parameters of the vector expression so that the above-mentioned loss L becomes small. For example, when performing optimization using stochastic gradient descent, the joint probability distribution expression section calculates the partial differential (gradient) of each parameter with respect to the loss function, and the loss L is calculated in proportion to the magnitude of the gradient. Change the parameter in the direction of decreasing the value.
- the joint probability distribution expression unit 230 updates the parameters of the user attribute 1 vector (Vk_u ⁇ 1) according to the following equation (2).
- ⁇ in equation (2) is the learning speed.
- FIG. 16 represents the behavioral characteristics of a user defined by the combination of user attribute 1 and user attribute 2, the behavioral characteristics of an item defined by the combination of item attribute 1 and item attribute 2, and the dependence relationships between variables. It is an explanatory diagram showing the relationship with DAG. As shown in FIG. 16, formula F14B represents the relationship of the portion surrounded by a frame FR2 indicated by a broken line in the DAG shown in FIG. Further, the formula F14C represents the relationship of the portion surrounded by a frame FR3 indicated by a broken line in the DAG shown in FIG.
- the joint probability distribution P(X,Y) requires a representation of not only P(Y
- the ratio of attribute values existing in the learning data may be used.
- the learning data here refers to the original data set used for learning when determining the joint probability distribution P(X, Y).
- FIG. 17 shows an example of the probability P(X) of each attribute of the explanatory variable.
- the user attribute 2 in the learning data is divided into, for example, six levels, and the existence ratio of each level in the learning data can be the probability distribution of the user attribute 2.
- the existence ratio probability distribution
- the ratio of attribute values existing in the learning data may be applied to the probability distributions of other attributes such as user attribute 1, item attribute 1, and item attribute 2.
- FIG. 18 is an example of a joint probability distribution DAG that includes context as the explanatory variable X.
- the graph shown in Figure 18 shows that the user's behavior toward the item, which is the objective variable, depends on the user's behavior characteristics, the item characteristics, and the context characteristics (complex context). It is shown that the characteristics of are dependent on context attribute 1 and context attribute 2.
- the other configurations are the same as those in FIG. 13.
- the joint probability distribution P(X, Y) can be decomposed into elements as follows. P(Y
- FIG. 19 shows an example of probability representation of P(Y
- Equation F19A shown in the upper part of FIG. 19 expresses the user characteristic vector ⁇ u, the item characteristic vector ⁇ i, and the context characteristic vector ⁇ c as five-dimensional vectors through matrix decomposition, and calculates the sum of the inner products of these three types of vectors.
- This is an example of an expression expressing the sigmoid function ⁇ ( ⁇ u ⁇ i+ ⁇ i ⁇ c+ ⁇ c ⁇ u) as a conditional probability P(Y 1
- the context characteristic vector ⁇ c is expressed by adding context attribute vectors. For example, as in equation F19B shown in the lower part of FIG. 19, the context characteristic vector ⁇ c is expressed as the sum of a context attribute 1 vector and a context attribute 2 vector.
- the values of each vector, User Attribute 1 Vector, User Attribute 2 Vector, Item Attribute 1 Vector, Item Attribute 2 Vector, Context Attribute Vector 1, and Context Attribute 2 Vector are determined by the user behavior history dataset (learning determined by learning from data).
- the parameters to be learned from the data set are the following parameters in addition to the parameters described using FIGS. 13 to 16.
- ⁇ Context characteristic vector ⁇ c ⁇ Context attribute 1 vector: Vk_c ⁇ 1
- Context attribute 2 vector Vk_c ⁇ 2
- ⁇ c Vk_c ⁇ 1+Vk_c ⁇ 2
- the prediction score output from the model may not necessarily correspond to the numerical value of the action probability.
- X) becomes close to the probability of actual action Y 1 (action is taken). Such conversion is called calibration.
- FIG. 20 is a graph showing an example of calibration.
- FIG. 20 shows an example where the prediction score output by the model can take values in the range of "-10" to "+10".
- the explanatory variable X and the objective variable Y can be probabilistically sampled from the joint probability distribution P(X, Y).
- the data generation unit 234 can generate data on the explanatory variable X and the objective variable Y using the following procedure.
- the joint probability distribution P(X,Y) expressed by the DAG shown in FIG. 13 will be explained as an example.
- Step 2 A user characteristic vector and an item characteristic vector are generated based on the corresponding vector representations of the sampled user attributes and item attributes (see FIG. 14).
- Step 3 Obtain P(Y
- the joint probability distribution modification unit 232 modifies P(X,Y) before data generation, and the modified joint probability distribution Pm(X,Y)
- the data generation unit 234 generates data based on the information.
- FIG. 21 is an explanatory diagram showing an example 1 of a method for modifying a joint probability distribution.
- FIG. 21 shows an example in which the joint probability distribution P(X,Y) is modified by changing the probability distribution P(X) of the explanatory variable X.
- the joint probability distribution P(X,Y) can be modified by changing .
- FIG. 21 shows a specific example of how the distribution of user attribute 2 (age) is changed.
- These probabilities for each age group can be determined by statistically processing the original data set.
- Changing the generation distribution means changing the generation probability distribution of data of user attribute 2, and is an example of "changing the generation probability distribution" in the present disclosure.
- FIG. 22 is an explanatory diagram showing an example 2 of a method for modifying a joint probability distribution.
- FIG. 22 shows an example of modifying the conditional probability distribution P(Y
- X) can be changed by changing the strength of the dependency relationship within the frame FR4 indicated by the broken line in the figure.
- FIG. 22 shows an example of the relationship between user attribute 1, user attribute 2, and user behavior characteristics, in which the influence of user attribute 2 on the user behavior characteristics is strengthened.
- FIG. 22 shows an example in which the influence of item attribute 2 and context attribute 2 is eliminated. That is, in FIG. 22, regarding the relationship between item attribute 1, item attribute 2, and item characteristics, an example is shown in which the item characteristics eliminate (erase) the dependence of item attribute 2, and furthermore, the relationship between item attribute 1 and item attribute 1 is Regarding the relationship between the context attribute 2 and the context characteristics, an example is shown in which the item characteristics eliminate the dependence of the item attribute 2. Eliminating dependencies is an extreme example of weakening the degree of influence.
- FIG. 23 shows an example of the modified user characteristic vector and item attribute vector.
- Formula F23A shown in the upper part of FIG. 23 is an example of increasing the degree of influence of user attribute 2.
- An example is shown in which 2 vectors are multiplied by 3 and added to the user attribute 1 vector.
- the coefficient (3 in this case) multiplied by the user attribute 2 vector is a value indicating the degree of influence.
- the user attribute 1 vector may be multiplied by an appropriate coefficient indicating the degree of influence.
- Formula F23B shown in the lower part of FIG. 23 is an example of eliminating the influence of item attribute 2, and the item attribute 1 vector is used as the item characteristic vector without adding the item attribute 2 vector to the item attribute 1 vector.
- the context attribute 1 vector may be used as the context characteristic vector as is, similar to equation F23B.
- Example 3 of how to modify joint probability distribution As a method of modifying the joint probability distribution, for example, if there is an internal rule such as "AA documents must be confirmed within p days", a modification of this rule may be reflected.
- the internal rules may be, for example, internal rules of a company or internal rules of a hospital. Browsing behavior is thought to be changed (affected) by such rules.
- An example of a change in hospital rules is, for example, a change in the conditions for holding a conference.
- an example of a change in the rules regarding purchasing behavior on an EC site is a tax change such as ⁇ the tax rate will be ⁇ % for food and other items.'''
- FIG. 24 is a flowchart showing the basic procedure of a data generation method using the information processing device 100 according to the embodiment.
- step S111 the processor 102 calculates a joint probability distribution P(X, Y) from the learning data.
- the learning data here is, for example, behavior history data actually collected at a facility such as a certain company or hospital, and is data of the above-mentioned original data set.
- the step of determining the joint probability distribution P(X, Y) includes the following two contents [1A] and [1B].
- the process of calculating the joint probability distribution P(X, Y) consists of learning P(Y
- step S112 the processor 102 modifies the joint probability distribution P(X, Y) obtained in step S111.
- P(X,Y) can be modified in the following two ways [2A] and [2B]. That is, there may be an embodiment (2A) in which P(Y
- step S113 the processor 102 generates data from the joint probability distribution modified in step S111.
- step S113 includes the following two processes [3A] and [3B]. That is, step S113 includes a process (3A) of generating X from Pm(X) and a process (3B) of generating Y from Pm(Y
- Processor 102 generates X from Pm(X), and then uses X to generate Y from Pm(Y
- step S113 the processor 102 ends the flowchart of FIG. 24.
- FIG. 25 is a flowchart illustrating the procedure of a method for generating data for multiple domains by the information processing apparatus 100 according to the embodiment.
- steps common to those in FIG. 24 are given the same step numbers, and duplicate explanations will be omitted. The same applies to other figures.
- One set of domain data is obtained by combining the modification in step S112 and the data generation in step S113. Therefore, by changing the modification method and repeating step S112 and step S113 multiple times, a plurality of domain data can be generated.
- step S114 the processor 102 determines whether to generate other domain data. If the determination result in step S114 is Yes, the processor 102 returns to step S112 and performs a modification different from the previous one. In this way, different domain data is generated by executing step S112 and step S113.
- step S114 If the determination result in step S114 is No, the processor 102 ends the flowchart of FIG. 25.
- FIG. 26 is a flowchart illustrating a procedure when data generated by the information processing apparatus 100 according to the embodiment is used for domain generalization learning.
- steps S111 to S113 are the same as in FIG. 24.
- step S115 is added after step S113 in FIG.
- step S115 the processor 102 or another processor performs learning to obtain a domain generalized model based on the original learning data and the generated data.
- Step S115 may be executed by a processor different from the processor 102 that generates data in steps S111 to S113. That is, the information processing device 100 that generates data and the machine learning device that trains the model 14 using the generated data as learning data may be different devices or may be the same device. . Further, step S115 may be executed after generating data for multiple domains, as described with reference to FIG. 25.
- the process of generating data (steps S111 to S113) and the process of learning using the generated data (step S115) may be performed at different timings or may be performed continuously.
- data for one or more, preferably multiple, different domains is generated in advance in steps S111 to S113, and after preparing data to be used for learning, multiple domains including the original learning data (original data set) are generated.
- the model 14 may be trained using data in the domain. Further, for example, when learning the model 14, the learning may be performed by generating data using an on-the-fly method and inputting the generated data to the model 14.
- step S115 the processor 102 or other processor ends the flowchart of FIG. 26.
- FIG. 27 is a flowchart showing a procedure for using data generated by the information processing apparatus 100 according to the embodiment for evaluating domain generalizability.
- steps S111 to S113 are the same as in FIG. 24.
- step S116 is added after step S113.
- step S116 the processor 102 or another processor uses the original learning data or the generated data for model evaluation.
- Step S116 may have the following two aspects [4A] and [4B]. That is, there is a mode (4A) in which the model 14 is trained using the original learning data and the model 14 is evaluated using the generated data, and a mode (4A) in which the model 14 is trained using the generated data and the model 14 is evaluated using the generated data.
- step S116 the processor 102 or other processor ends the flowchart of FIG. 27.
- the data generated by the information processing device 100 and indicating the behavior history of the user of the pseudo domain may have the following uses, for example.
- a program that causes a computer to implement some or all of the processing functions of the information processing device 100 is recorded on a computer readable medium that is an optical disk, a magnetic disk, or a non-transitory information storage medium such as a semiconductor memory, and this It is possible to provide the program through an information storage medium.
- the program signal instead of providing the program by storing it in a tangible, non-transitory computer-readable medium, it is also possible to provide the program signal as a download service using a telecommunications line such as the Internet.
- part or all of the processing functions in the information processing device 100 may be realized by cloud computing, and it is also possible to provide it as SaaS (Software as a Service).
- SaaS Software as a Service
- a process for executing various processes such as the data acquisition unit 220, joint probability distribution expression unit 230, joint probability distribution modification unit 232, data generation unit 234, explanatory variable generation unit 235, and objective variable generation unit 236 in the information processing device 100.
- the hardware structure of the processing unit is, for example, the following various processors.
- processors include programmable logic, which is a processor whose circuit configuration can be changed after manufacturing, such as CPU, GPU, and FPGA (Field Programmable Gate Array), which are general-purpose processors that execute programs and function as various processing units.
- programmable logic which is a processor whose circuit configuration can be changed after manufacturing
- CPU CPU
- GPU GPU
- FPGA Field Programmable Gate Array
- PLDs Programmable Logic Devices
- ASICs Application Specific Integrated Circuits
- One processing unit may be composed of one of these various processors, or may be composed of two or more processors of the same type or different types.
- one processing unit may be configured by a plurality of FPGAs, a combination of a CPU and an FPGA, or a combination of a CPU and a GPU.
- the plurality of processing units may be configured with one processor.
- one processor is configured with a combination of one or more CPUs and software, as typified by computers such as clients and servers. There is a form in which a processor functions as multiple processing units.
- processors that use a single IC (Integrated Circuit) chip, such as System On Chip (SoC), which implements the functions of an entire system including multiple processing units.
- SoC System On Chip
- various processing units are configured using one or more of the various processors described above as a hardware structure.
- circuitry that is a combination of circuit elements such as semiconductor elements.
- the information processing device 100 based on the joint probability distribution Pm(X,Y) obtained by modifying the joint probability distribution P(X,Y) obtained from the given original data set, can generate data showing the behavior history of users in different domains.
- the generated data By using the generated data as learning data, it is possible to learn the domain-generalized model 14.
- domain generalizability can be evaluated by using the generated data as evaluation data.
- pseudo data for different domains can be generated from data for one given domain. It becomes possible to provide a general recommendation system. By using the data generated according to this embodiment, it is possible to contribute to improving the performance of the recommendation system and achieving highly reliable performance evaluation.
- the user action history related to document viewing was explained as an example, but the scope of application of the present disclosure is not limited to document viewing, but also includes viewing medical images, purchasing products, watching content such as videos, etc. Regardless of the purpose, it can be applied to data related to user behavior regarding various items.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Optimization (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Computational Linguistics (AREA)
- Economics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Development Economics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本開示は、情報処理方法、情報処理装置およびプログラムに係り、特に、異なるドメインのデータを生成する情報処理技術に関する。 The present disclosure relates to an information processing method, an information processing device, and a program, and particularly relates to an information processing technology that generates data of different domains.
EC(Electronic Commerce)サイトあるいは文書情報管理システムなど、様々なアイテムをユーザー(利用者)に提供するシステムにおいて、多くのアイテムの中からユーザーが自分に合ったベストなものを選ぶことは、時間的にも認知能力的にも難しい。ECサイトにおけるアイテムは、ECサイトで扱っている商品であり、文書情報管理システムにおけるアイテムは、システムに格納されている文書情報である。 In systems that provide various items to users, such as EC (Electronic Commerce) sites or document information management systems, it is time-consuming for users to choose the best one that suits them from among many items. It is also difficult in terms of cognitive ability. Items on the EC site are products handled on the EC site, and items on the document information management system are document information stored in the system.
ユーザーによるアイテムの選択を補助するために、多くのアイテムの中から選択候補を提示する技術である情報推薦技術が研究されている。特許文献1には、ディープラーニングを活用した個人化商品推薦システムが記載されている。
Information recommendation technology, which is a technology that presents selection candidates from among many items, is being researched to assist users in selecting items.
一般に、推薦システムをある施設等に導入する場合、導入先の施設等で収集したデータを基に推薦システムのモデルを学習する。しかし、学習に用いたデータが収集された施設と異なる施設に同じ推薦システムを導入すると、モデルの予測精度が低下してしまう問題がある。未知の他施設では機械学習モデルがうまく機能しない問題はドメインシフトと呼ばれ、ドメインシフトに対するロバスト性向上の研究であるドメイン汎化(Domain Generalization)に関して、近年、画像認識分野を中心に研究が活発化している。しかし、情報推薦技術においてドメイン汎化はまだ研究事例がほとんどない。 Generally, when a recommendation system is introduced into a certain facility, a model of the recommendation system is learned based on data collected at the facility. However, if the same recommendation system is introduced in a facility different from the facility where the data used for learning was collected, there is a problem in that the prediction accuracy of the model decreases. The problem of machine learning models not working well in other unknown facilities is called domain shift, and in recent years there has been active research on domain generalization, which is research on improving robustness against domain shifts, mainly in the field of image recognition. It has become However, there are still few research cases on domain generalization in information recommendation technology.
ドメイン汎化の学習および評価において、複数ドメインのデータセットは必須であり、ドメイン数は多い方がよい。その一方で、多くのドメインのデータを集めるのは困難であるか高コストであることが多いため、異なるドメインのデータを生成する技術が求められる。 In learning and evaluating domain generalization, datasets from multiple domains are essential, and the greater the number of domains, the better. On the other hand, since it is often difficult or expensive to collect data from many domains, there is a need for techniques to generate data from different domains.
非特許文献1には、条件付き敵対的生成ネットワーク(Conditional Generative Adversarial Network:CGAN)を用いて、擬似的なユーザー行動履歴のデータを生成する方法が記載されている。
Non-Patent
特許文献2には、病院の患者データのようにプライバシ等の観点から利用できるデータに制約がある場合に、ローカルプライベートデータの代わりに、各施設で疑似的なデータであるプロキシデータを生成してグローバルサーバーに共有する構成が記載されている。特許文献2に記載の技術によれば、秘匿性の高い実データ(プライベートデータ)を共有することなく、プロキシデータを用いてグローバルモデルを学習できる。 Patent Document 2 states that when there are restrictions on data that can be used from the perspective of privacy, such as patient data at a hospital, proxy data, which is pseudo data, is generated at each facility instead of local private data. The configuration to be shared on the global server is described. According to the technology described in Patent Document 2, a global model can be learned using proxy data without sharing highly confidential real data (private data).
非特許文献1では、情報推薦技術に必要なユーザー行動履歴のデータを生成し得るが、ソースドメイン(元となるデータのドメイン)と同じドメインのデータしか生成できない。特許文献2に記載の方法は、ローカルプライベートデータを集約的に表す複数のプライベートデータ分布を生成し、プライベートデータと分布が近い(同一ドメインの)仮想データ(プロキシデータ)のセットを生成している。特許文献2に記載の方法では、元のデータセットと異なるドメインのデータ生成ができない。
In
本開示はこのような事情に鑑みてなされたものであり、異なるドメインのユーザー行動履歴のデータを生成することができる情報処理方法、情報処理装置およびプログラムを提供することを目的とする。 The present disclosure has been made in view of these circumstances, and aims to provide an information processing method, an information processing device, and a program that can generate data on user behavior history in different domains.
本開示の一態様に係る情報処理方法は、1つ以上のプロセッサが実行する情報処理方法であって、1つ以上のプロセッサが、複数のユーザーの複数のアイテムに対する行動履歴を含むデータセットに対して、ユーザーのアイテムに対する行動を目的変数として、目的変数と説明変数との間の同時確率分布を表現することと、同時確率分布の一部を改変することと、改変した同時確率分布に基づいてデータを生成することと、を含む。 An information processing method according to an aspect of the present disclosure is an information processing method executed by one or more processors, the one or more processors processing a data set including action histories of multiple users with respect to multiple items. By using the user's behavior toward items as the objective variable, we express the joint probability distribution between the objective variable and the explanatory variable, modify a part of the joint probability distribution, and based on the modified joint probability distribution. and generating data.
本態様によれば、与えられたデータセットの同時確率分布の一部を改変した同時確率分布から、説明変数と、対応する目的変数とのデータを生成することができ、この生成されたデータは元のデータセットとは異なるドメインのデータとなる。本態様によれば、元のデータセットから異なるドメインのデータを生成することができる。 According to this aspect, data of an explanatory variable and a corresponding objective variable can be generated from a joint probability distribution obtained by modifying a part of the joint probability distribution of a given data set, and this generated data is The data will be in a different domain than the original dataset. According to this aspect, data of different domains can be generated from the original data set.
本開示の他の態様に係る情報処理方法において、改変は、説明変数の少なくとも一部の生成確率分布を変えることを含む構成であってもよい。 In the information processing method according to another aspect of the present disclosure, the modification may include changing the generation probability distribution of at least some of the explanatory variables.
本開示の他の態様に係る情報処理方法において、改変は、説明変数の変数間の依存性の強弱を変えることを含む構成であってもよい。 In the information processing method according to another aspect of the present disclosure, the modification may include changing the strength of dependence between explanatory variables.
本開示の他の態様に係る情報処理方法において、改変は、同時確率分布に影響するルールの変更を反映させることを含む構成であってもよい。 In the information processing method according to another aspect of the present disclosure, the modification may include reflecting a change in a rule that affects the joint probability distribution.
本開示の他の態様に係る情報処理方法において、1つ以上のプロセッサが、データセットを用いて機械学習を行うことにより、同時確率分布を表現するモデルを生成する構成であってもよい。 In the information processing method according to another aspect of the present disclosure, one or more processors may generate a model expressing a joint probability distribution by performing machine learning using a data set.
本開示の他の態様に係る情報処理方法において、説明変数は、ユーザーの属性と、アイテムの属性と、を含む構成であってもよい。 In the information processing method according to another aspect of the present disclosure, the explanatory variable may include a user attribute and an item attribute.
本開示の他の態様に係る情報処理方法において、説明変数は、さらに、コンテキストを含む構成であってもよい。 In the information processing method according to another aspect of the present disclosure, the explanatory variable may further include a context.
本開示の他の態様に係る情報処理方法において、同時確率分布の表現は、ユーザーの属性を示すベクトルを用いて表現されるユーザー特性ベクトルと、アイテムの属性を示すベクトルを用いて表現されるアイテム特性ベクトルとの内積を用いる関数により表される条件付き確率分布の表現を含む構成であってもよい。 In the information processing method according to another aspect of the present disclosure, the expression of the joint probability distribution includes a user characteristic vector expressed using a vector indicating attributes of a user, and an item expressed using a vector indicating attributes of an item. The configuration may include expression of a conditional probability distribution expressed by a function using an inner product with a characteristic vector.
本開示の他の態様に係る情報処理方法において、同時確率分布の表現は、ユーザーの属性を示すベクトルを用いて表現されるユーザー特性ベクトルとアイテムの属性を示すベクトルを用いて表現されるアイテム特性ベクトルとの内積と、アイテム特性ベクトルとコンテキストの属性を示すベクトルを用いて表現されるコンテキスト特性ベクトルとの内積と、コンテキスト特性ベクトルとユーザー特性ベクトルとの内積との和を用いる関数により表される条件付き確率分布の表現を含む構成であってもよい。 In the information processing method according to another aspect of the present disclosure, the expression of the joint probability distribution includes a user characteristic vector expressed using a vector indicating user attributes and an item characteristic expressed using a vector indicating item attributes. It is expressed by a function that uses the sum of the inner product of the vector, the inner product of the item characteristic vector and the context characteristic vector expressed using a vector indicating the attributes of the context, and the inner product of the context characteristic vector and the user characteristic vector. The configuration may include expression of a conditional probability distribution.
本開示の他の態様に係る情報処理方法において、関数は、ロジスティック関数であってもよい。 In the information processing method according to another aspect of the present disclosure, the function may be a logistic function.
本開示の他の態様に係る情報処理装置は、1つ以上のプロセッサと、1つ以上のプロセッサに実行させる命令が記憶される1つ以上のメモリと、を備える情報処理装置であって、1つ以上のプロセッサが、複数のユーザーの複数のアイテムに対する行動履歴を含むデータセットに対して、ユーザーのアイテムに対する行動を目的変数として、目的変数と説明変数との間の同時確率分布を表現し、同時確率分布の一部を改変し、改変した同時確率分布に基づいてデータを生成する。 An information processing device according to another aspect of the present disclosure is an information processing device including one or more processors and one or more memories storing instructions to be executed by the one or more processors, the information processing device including: The two or more processors express a joint probability distribution between a target variable and an explanatory variable, with the user's behavior toward the item as a target variable, for a data set including behavior history of the multiple users toward the multiple items, Part of the joint probability distribution is modified and data is generated based on the modified joint probability distribution.
本開示の他の態様に係るプログラムは、コンピュータに、複数のユーザーの複数のアイテムに対する行動履歴を含むデータセットに対して、ユーザーのアイテムに対する行動を目的変数として、目的変数と説明変数との間の同時確率分布を表現する機能と、同時確率分布の一部を改変する機能と、改変した同時確率分布に応じてデータを生成する機能と、を実現させる。 A program according to another aspect of the present disclosure is configured to cause a computer to perform a data set including behavior history of a plurality of users with respect to a plurality of items, using the user's behavior with respect to the item as a target variable, and between the target variable and the explanatory variable. A function to express a joint probability distribution of , a function to modify a part of the joint probability distribution, and a function to generate data according to the modified joint probability distribution are realized.
本開示によれば、複数のユーザーの複数のアイテムに対する行動履歴を含むデータセットから、このデータセットとは異なるドメインのデータを生成することができる。 According to the present disclosure, it is possible to generate data of a different domain from a data set that includes action histories of multiple users with respect to multiple items.
以下、添付図面に従って本発明の好ましい実施形態について説明する。 Hereinafter, preferred embodiments of the present invention will be described in accordance with the accompanying drawings.
《情報推薦技術の概説》
本実施形態では、推薦システムに用いるモデルの学習及び/又は評価に用いるユーザーの行動履歴のデータに関して、異なるドメインのデータを生成する方法について説明する。はじめに、情報推薦技術の概要と複数ドメインのデータの必要性について具体例を示して概説する。情報推薦技術は、ユーザーに対してアイテムを推薦(サジェスト)するための技術である。
《Overview of information recommendation technology》
In this embodiment, a method for generating data of different domains regarding user behavior history data used for learning and/or evaluation of a model used in a recommendation system will be described. First, we will provide an overview of information recommendation technology and the necessity of data from multiple domains by providing specific examples. Information recommendation technology is a technology for recommending (suggesting) items to users.
図1は、典型的な推薦システム10の概念図である。推薦システム10は、ユーザーの情報と、コンテキストの情報とを入力として受け付け、コンテキストに応じて当該ユーザーに推薦するアイテムの情報を出力する。コンテキストは、様々な「状況」を意味し、例えば、曜日、時間帯、または天気などがありうる。アイテムは、例えば、本、動画、飲食店など、様々な対象があり得る。
FIG. 1 is a conceptual diagram of a
推薦システム10は、複数のアイテムを同時に推薦するのが一般的である。図1では、推薦システム10が3つのアイテムIT1、IT2、IT3を推薦する例が示されている。推薦したアイテムIT1、IT2、IT3に対してユーザーがポジティブな反応をすると、一般に推薦は成功したとみなされる。ポジティブな反応とは、例えば、購入、視聴、または訪問などである。このような推薦技術は、例えば、ECサイトや飲食店を紹介するグルメサイトなどにおいて広く活用されている。
The
推薦システム10は、機械学習の技術を用いて構築される。図2は、推薦システム10の構築に広く用いられている教師あり機械学習の例を示す概念図である。一般には、過去のユーザーの行動履歴を基に正例および負例を用意して、ユーザーとコンテキストとの組み合わせを予測モデル12に入力し、予測誤差が小さくなるように予測モデル12を訓練する。例えば、ユーザーが閲覧した閲覧アイテムを正例、閲覧しなかった非閲覧アイテムを負例とする。予測誤差が収束するまで機械学習が行われ、目標とする予測性能が獲得される。
The
こうして訓練された学習済み(訓練済み)の予測モデル12を用いて、ユーザーとコンテキストの組合せに対して予測される閲覧確率が高いアイテムを推薦する。例えば、学習済みの予測モデル12に対し、あるユーザーAとコンテキストβとの組合せを入力すると、予測モデル12は、ユーザーAがコンテキストβの条件の下でアイテムIT3のような文書を閲覧する確率が高いと推論し、当該ユーザーAに対してアイテムIT3に近いアイテムを推薦する。なお、推薦システム10の構成によっては、コンテキストを考慮せずにユーザーに対してアイテムを推薦することも多い。
Using the learned (trained)
〔推薦システムの開発に用いるデータの例〕
ユーザーの行動履歴は、機械学習における「正解データ」と略等しいものである。厳密には、過去の行動履歴から次の(未知の)行動を推論するというタスク設定と理解されるが、過去の行動履歴を基に潜在的な特徴量を学習するのが一般的である。
[Example of data used for recommendation system development]
A user's action history is almost equivalent to "correct data" in machine learning. Strictly speaking, it can be understood as a task setting that infers the next (unknown) behavior from past behavior history, but it is common to learn latent features based on past behavior history.
ユーザーの行動履歴としては、例えば、本の購入履歴、動画の視聴履歴、または飲食店の訪問履歴などがあり得る。 The user's action history may include, for example, a book purchase history, a video viewing history, or a restaurant visit history.
また、主要な特徴量としては、ユーザー属性と、アイテム属性とがある。ユーザー属性は、例えば、性別、年代、職業、家族構成、および居住エリアなど、様々な要素があり得る。アイテム属性は、例えば、本のジャンル、値段、動画のジャンル、長さ、飲食店のジャンル、場所など様々な要素があり得る。 Additionally, the main feature quantities include user attributes and item attributes. User attributes may include various elements such as gender, age, occupation, family structure, and residential area. Item attributes can include various elements such as book genre, price, video genre and length, restaurant genre, and location.
〔モデルの構築と運用〕
図3は、推薦システムの典型的な導入フローを示す説明図である。ここでは、ある施設に推薦システムを導入する際の典型的なフローを示す。推薦システムの導入は、まず、目的の推薦タスクを行うモデル14を構築し(ステップ1)、その後、構築したモデル14を導入して運用する(ステップ2)。モデル14を「構築する」とは、機械学習モデルの場合、学習(訓練)用のデータを用いてモデル14の学習を行い、実用レベルの推薦性能を満たす予測モデル(推薦モデル)を作成することを含む。モデル14を「運用する」とは、例えば、ユーザーとコンテキストとの組合せの入力に対して、学習済みのモデル14から推薦アイテムリストの出力を得ることである。
[Model construction and operation]
FIG. 3 is an explanatory diagram showing a typical introduction flow of the recommendation system. Here, we show a typical flow when introducing a recommendation system to a certain facility. To introduce the recommendation system, first, a
モデル14の構築には、学習用のデータが必要である。図3に示すように、一般に推薦システムのモデル14は、導入先の施設で収集したデータを基に学習が行われる。導入先の施設から収集されたデータを用いて学習を行うことにより、モデル14は導入先の施設のユーザーの振る舞いを学習し、導入先の施設のユーザーに対して精度のよい推薦アイテムの予測が可能である。
The construction of the
しかし、様々な事情により、導入先の施設のデータが得られない場合がある。例えば、企業の社内システムや病院の院内システムにおける文書情報推薦システムなどの場合、推薦モデルを開発する企業が導入先の施設のデータにアクセスできないことが多い。導入先の施設のデータが得られない場合、代わりに、異なる施設で収集されたデータをもとに学習する必要がある。 However, due to various circumstances, it may not be possible to obtain data for the facility where the system is being introduced. For example, in the case of a document information recommendation system for a company's internal system or a hospital's in-house system, the company that develops the recommendation model often does not have access to the data of the facility where it is introduced. If data from the facility where it is being implemented is not available, it will instead need to learn from data collected at a different facility.
図4は、導入先の施設のデータが得られない場合における推薦システムの導入フローの説明図である。導入先の施設とは異なる施設で収集されたデータを用いて学習したモデル14を挿入先の施設で運用すると、施設間のユーザーの振る舞いの違いなどにより、モデル14の予測精度が低下してしまう問題がある。
FIG. 4 is an explanatory diagram of the introduction flow of the recommendation system when data on the facility to which the recommendation system is introduced cannot be obtained. If the
学習した施設と異なる未知の他施設では機械学習モデルがうまく機能しない問題は、広義にはモデル14を学習したソースドメインと、モデル14を適用するターゲットドメインが異なるドメインシフトの問題に対するロバスト性を向上させるという技術課題として把握される。ドメイン汎化(Domain generalization)に関連する問題設定として、ドメイン適応(Domain adaptation)がある。これはソースドメインとターゲットドメインの両方のデータを用いて学習する方法である。ターゲットドメインのデータが存在するにもかかわらず異なるドメインのデータを使う目的は、ターゲットドメインのデータ量が少なく学習に不十分であるのを補うためである。
The problem of machine learning models not working well in other unknown facilities different from the one in which it was trained can be solved by improving robustness against domain shift problems in which the source domain in which
図5は、ドメイン適応によるモデル14の学習を行う場合の説明図である。ターゲットドメインである導入先の施設で収集されたデータのデータ量は、異なる施設で収集されたデータよりもデータ量に比べて相対的に少ないものの、両方のデータを用いて学習を行うことにより、モデル14は、導入先の施設のユーザーの振る舞いについてもある程度の精度で予測することが可能になる。
FIG. 5 is an explanatory diagram when learning the
〔ドメインの説明〕
上記の「施設」の違いはドメインの違いの一種である。情報推薦におけるドメイン適応の研究に関する文献である非特許文献2(Ivan Cantador et al, Chapter 27:"Cross-domain Recommender System")では、ドメインの違いが以下の4つに分類されている。
[Domain description]
The above-mentioned difference in "facilities" is a type of difference in domains. In Non-Patent Document 2 (Ivan Cantador et al, Chapter 27: "Cross-domain Recommender System"), which is a document related to research on domain adaptation in information recommendation, differences in domains are classified into the following four types.
[1]アイテム属性レベル(Item attribute level):例えば、コメディ映画とホラー映画は別ドメイン。 [1] Item attribute level: For example, comedy movies and horror movies are different domains.
[2]アイテムタイプレベル(Item type level):例えば、映画と連続テレビドラマは別ドメイン。 [2] Item type level: For example, movies and TV dramas are different domains.
[3]アイテムレベル(Item level):例えば、映画と本は別ドメイン。 [3] Item level: For example, movies and books are different domains.
[4]システムレベル(System level):例えば、映画館の映画とテレビ放映の映画は別ドメイン。 [4] System level: For example, movies in movie theaters and movies shown on TV are different domains.
図5等に示す「施設」の違いは、上記の4分類のうちの[4]システムレベルのドメインに該当する。 The difference in "facilities" shown in FIG. 5 etc. corresponds to [4] system level domain of the above four categories.
フォーマルにドメインを定義すると、ドメインは目的変数Yと説明変数Xの同時確率分布P(X,Y)で規定され、Pd1(X,Y)≠ Pd2(X,Y)のとき、d1とd2は異なるドメインである。 To formally define a domain, it is defined by the joint probability distribution P(X, Y) of objective variable Y and explanatory variable X, and when Pd1(X, Y)≠ Pd2(X, Y), d1 and d2 are They are different domains.
同時確率分布P(X,Y)は、説明変数の分布P(X)と条件付き確率分布P(Y|X)との積、又は目的変数の分布P(Y)と条件付き確率分布P(Y|X)との積で表すことができる。
P(X,Y)=P(Y|X)P(X)=P(X|Y)P(Y)
The joint probability distribution P(X,Y) is the product of the distribution P(X) of the explanatory variable and the conditional probability distribution P(Y|X), or the product of the distribution P(Y) of the objective variable and the conditional probability distribution P( It can be expressed as a product of Y|X).
P(X,Y)=P(Y|X)P(X)=P(X|Y)P(Y)
したがって、P(X)、P(Y)、P(Y|X)及びP(X|Y)のうち1つ以上が変わると異なるドメインとなる。 Therefore, if one or more of P(X), P(Y), P(Y|X), and P(X|Y) changes, it becomes a different domain.
〔ドメインシフトの典型パターン〕
[共変量シフト]説明変数の分布P(X)が異なる場合、共変量シフト(Covariate shift)と呼ばれる。例えば、データセット間でユーザー属性の分布が異なる場合、より具体的には男女比率が異なる場合などが共変量シフトに該当する。
[Typical pattern of domain shift]
[Covariate shift] When the distributions P(X) of explanatory variables differ, it is called a covariate shift. For example, when the distribution of user attributes differs between datasets, or more specifically when the ratio of men and women differs, this corresponds to a covariate shift.
[事前確率シフト]目的変数の分布P(Y)が異なる場合、事前確率シフト(Prior probability shift)と呼ばれる。例えば、データセット間で平均閲覧率や平均購入率が異なる場合などが事前確率シフトに該当する。 [Prior probability shift] When the distribution P(Y) of the objective variable is different, it is called a prior probability shift. For example, a case where the average viewing rate or average purchase rate differs between data sets corresponds to a prior probability shift.
[コンセプトシフト]条件付き確率分布P(Y|X)及びP(X|Y)が異なる場合、コンセプトシフト(Concept shift)と呼ばれる。例えば、ある企業の研究開発部門がデータ分析資料を読む確率がP(Y|X)にあたるが、これがデータセット間で異なる場合などがコンセプトシフトに該当する。 [Concept shift] When the conditional probability distributions P(Y|X) and P(X|Y) are different, it is called a concept shift. For example, the probability that a company's research and development department will read data analysis materials is P(Y|X), but a concept shift would occur if this differs between data sets.
ドメイン適応あるいはドメイン汎化性の研究は、上記いずれかのパターンを主要因として想定しているものと、特にどのパターンが主要因であるかを考慮せずにP(X,Y)が変化していることへの対処を考えるものと、がある。なお、前者の場合、特に、共変量シフトを想定しているものが多い。 Research on domain adaptation or domain generalizability is divided into research that assumes one of the above patterns as the main factor, and research that assumes that P(X, Y) changes without considering which pattern is the main factor. There are two ways to think about how to deal with the situation. Note that in the former case, in particular, many assume a covariate shift.
〔ドメインシフトが影響する理由〕
予測あるいは分類のタスクを行う予測/分類モデルは、説明変数Xと目的変数Yの関係性に基づいて推論を行うため、P(Y|X)が変化すれば当然、予測/分類性能は低下する。また、予測/分類モデルを機械学習する際には学習データ内において予測/分類誤差の最小化を行うが、例えば、説明変数がX=X_1になる頻度が、X=X_2になる頻度より大きいとき、つまりP(X=X_1)>P(X=X_2)であるとき、X=X_1のデータの方がX=X_2のデータより多いので、X=X_1の誤差低減はX=X_2の誤差低減より優先して学習される。そのためP(X)が施設間で変化する場合も、予測/分類性能は低下する。
[Why domain shift affects]
A prediction/classification model that performs a prediction or classification task makes inferences based on the relationship between the explanatory variable X and the objective variable Y, so if P(Y | . In addition, when performing machine learning on prediction/classification models, prediction/classification errors are minimized within the training data, but for example, when the frequency at which the explanatory variable is X = X_1 is greater than the frequency at which X = X_2. , that is, when P(X=X_1)>P(X=X_2), there is more data for X=X_1 than data for X=X_2, so the error reduction for X=X_1 is greater than the error reduction for Priority learning will be given. Therefore, prediction/classification performance also deteriorates when P(X) changes between facilities.
ドメインシフトは、情報推薦に限らず、いろいろなタスクのモデルについて問題になり得る。例えば、社員の退職リスクを予測するモデルについて、ある企業のデータを用いて学習した予測モデルを別の企業で運用する場合にドメインシフトが問題になり得る。 Domain shift can be a problem not only for information recommendation but also for models of various tasks. For example, for a model that predicts the risk of employee retirement, domain shift can become a problem when a predictive model learned using data from one company is used in another company.
また、細胞の抗体生産量を予測するモデルについて、ある抗体のデータを用いて学習したモデルを、別の抗体で運用する場合にドメインシフトが問題になり得る。また、顧客の声(Voice of Customer:VOC)を分類するモデル、例えば、VOCを「商品機能」、「サポート対応」、および「その他」に分類するモデルについて、ある商品に関するデータを用いて学習した分類モデルを別の商品で運用する場合にドメインシフトが問題になり得る。 In addition, domain shift can be a problem when a model that predicts the amount of antibodies produced by cells is trained using data from one antibody and is used with another antibody. In addition, we learned a model that classifies Voice of Customer (VOC), for example, a model that classifies VOC into "product function," "support response," and "other," using data related to a certain product. Domain shift can be a problem when operating a classification model on a different product.
〔モデルの導入前評価について〕
学習したモデル14を実際の施設等に導入する前に、モデル14の性能評価を行うことが多い。性能評価は導入の可否判断や、モデルあるいは学習手法などの研究開発のために必要である。
[About evaluation before model introduction]
Before introducing the learned
図6は、学習したモデル14の性能を評価するステップを含む推薦システム導入フローの説明図である。図6では、図5で説明したステップ1(モデル14を学習するステップ)とステップ2(モデル14を運用するステップ)との間に、「ステップ1.5」として、モデル14の性能を評価するステップが追加されている。その他の構成は図5と同様である。図6に示すように、一般的な推薦システム導入のフローでは、導入先の施設で収集されたデータを学習用データと評価用データとに分割することが多い。評価用データを用いてモデル14の予測性能を確認してから、モデル14の運用が開始される。
FIG. 6 is an explanatory diagram of the recommendation system introduction flow including the step of evaluating the performance of the learned
しかし、ドメイン汎化のモデル14を構築する場合は、学習用データと評価用データは異なるドメインである必要がある。さらに、ドメイン汎化においては、学習用データについても複数ドメインのデータを用いることが好ましく、学習に使えるドメインが多い方がより好ましい。
However, when constructing the
〔汎化性について〕
図7は、機械学習に用いる学習用データと評価用データの例を示す説明図である。あるドメインd1の同時確率分布Pd1(X,Y)から得られるデータセットは、学習用データと、評価用データとに分けられる。学習用データと同一ドメインの評価用データを「第1の評価用データ」といい、図7において「評価用データ1」と表記する。また、ドメインd1と異なるドメインd2の同時確率分布Pd2(X,Y)から得られるデータセットを用意し、これを評価用データとして用いる。学習用データと異なるドメインの評価用データを「第2の評価用データ」といい、図7において「評価用データ2」と表記する。
[About generalizability]
FIG. 7 is an explanatory diagram showing an example of learning data and evaluation data used in machine learning. The data set obtained from the joint probability distribution Pd1 (X, Y) of a certain domain d1 is divided into learning data and evaluation data. The evaluation data in the same domain as the learning data is referred to as "first evaluation data" and is expressed as "
ドメインd1の学習用データを用いてモデル14の学習が行われ、ドメインd1の第1の評価用データと、ドメインd2の第2の評価用データとのそれぞれを用いて学習済みのモデル14の性能が評価される。
The
図8は、データセットの違いによるモデルの性能の違いを模式的に示すグラフである。学習用データ内でのモデル14の性能を性能A、第1の評価用データでのモデル14の性能を性能B、第2の評価用データでのモデル14の性能を性能Cとすると、通常は、図8のように、性能A>性能B>性能Cのような関係になる。
FIG. 8 is a graph schematically showing differences in model performance due to differences in data sets. If the performance of the
モデル14の汎化性能の高さは一般には、性能Bが高いこと、または性能AとBの差が小さいことを指す。つまり、学習用データに過剰適合せずに、学習していないデータに対しても予測の性能が高いことを目指している。
The high generalization performance of the
本明細書におけるドメイン汎化性の文脈では、性能Cが高いこと、または性能Bと性能Cの差が小さいことを指す。つまり、学習に用いたドメインと異なるドメインでも、変わらずに高い性能が出ることを目指している。 In the context of domain generalizability in this specification, it refers to high performance C or a small difference between performance B and performance C. In other words, the aim is to achieve consistently high performance even in a domain different from the one used for learning.
図9は、ドメイン汎化のモデル開発に必要なデータの説明図である。ドメイン汎化のモデル14を開発するには、図9に示すように、複数の異なる施設で収集されたデータを用意し、学習用データとして複数のドメインのデータセットを用い、評価用データとして、さらに異なるドメインのデータセットを用いる態様が好ましい。
FIG. 9 is an explanatory diagram of data necessary for developing a domain generalization model. To develop the
〔課題〕
上記のように、多施設でロバストな性能のモデルを開発するには、基本的には複数施設のデータが必要である。しかし、現実においては、複数の異なる施設のデータを用意することが困難な場合が多い。モデルの学習又は評価に活用できるドメイン数が少ない場合でも、特に1つのドメインのデータしかないときでも、ドメイン汎化性のあるモデルを実現することが望まれる。本実施形態では、1つのドメインのみのデータしかない場合でも、擬似的に他のドメインのデータを生成する方法を提供する。
〔assignment〕
As mentioned above, data from multiple facilities are basically required to develop a model with robust performance across multiple facilities. However, in reality, it is often difficult to prepare data for multiple different facilities. Even when the number of domains that can be utilized for model learning or evaluation is small, especially when there is only data for one domain, it is desirable to realize a model with domain generalization. This embodiment provides a method for generating pseudo data of another domain even when there is only data of one domain.
《実施形態に係る情報処理装置の概要》
図10は、実施形態に係る情報処理装置100のハードウェア構成の例を概略的に示すブロック図である。情報処理装置100は、複数のユーザーの複数のアイテムに対する行動履歴からなるデータセットに対して、目的変数と複数の説明変数との間の同時確率分布を表現する機能と、同時確率分布の一部を改変する機能と、改変した同時確率分布に応じてデータを生成する機能とを備える。
《Overview of information processing device according to embodiment》
FIG. 10 is a block diagram schematically showing an example of the hardware configuration of the
情報処理装置100は、コンピュータのハードウェアとソフトウェアとを用いて実現できる。情報処理装置100の物理的形態は特に限定されず、サーバコンピュータであってもよいし、ワークステーションであってもよく、パーソナルコンピュータあるいはタブレット端末などであってもよい。ここでは、1台のコンピュータを用いて情報処理装置100の処理機能を実現する例を述べるが、情報処理装置100の処理機能は、複数台のコンピュータを用いて構成されるコンピュータシステムによって実現してもよい。
The
情報処理装置100は、プロセッサ102と、非一時的な有体物であるコンピュータ可読媒体104と、通信インターフェース106と、入出力インターフェース108と、バス110とを含む。
The
プロセッサ102は、CPU(Central Processing Unit)を含む。プロセッサ102はGPU(Graphics Processing Unit)を含んでもよい。プロセッサ102は、バス110を介してコンピュータ可読媒体104、通信インターフェース106および入出力インターフェース108と接続される。プロセッサ102は、コンピュータ可読媒体104に記憶された各種のプログラムおよびデータ等を読み出し、各種の処理を実行する。プログラムという用語は、プログラムモジュールの概念を含み、プログラムに準じる命令を含む。
The
コンピュータ可読媒体104は、例えば、主記憶装置であるメモリ112および補助記憶装置であるストレージ114を含む記憶装置である。ストレージ114は、例えば、ハードディスク(Hard Disk Drive:HDD)装置、ソリッドステートドライブ(Solid State Drive:SSD)装置、光ディスク、光磁気ディスク、もしくは半導体メモリ、またはこれらの適宜の組み合わせを用いて構成される。ストレージ114には、各種プログラムやデータ等が記憶される。
The computer-
メモリ112は、プロセッサ102の作業領域として使用され、ストレージ114から読み出されたプログラムおよび各種のデータを一時的に記憶する記憶部として用いられる。ストレージ114に記憶されているプログラムがメモリ112にロードされ、プログラムの命令をプロセッサ102が実行することにより、プロセッサ102は、プログラムで規定される各種の処理を行う手段として機能する。メモリ112には、プロセッサ102によって実行される同時確率分布表現プログラム130、同時確率分布改変プログラム132、データ生成プログラム134などの各種のプログラムおよび各種のデータ等が記憶される。
The
メモリ112は、オリジナルデータセット記憶部140と、同時確率分布表現記憶部142と、生成データ記憶部144とを含む。オリジナルデータセット記憶部140は、異なるドメインのデータ生成を行う際の元になるデータセット(以下、オリジナルデータセットという。)が記憶される記憶領域である。同時確率分布表現記憶部142は、オリジナルデータセットに対して同時確率分布表現プログラム130によって表現された同時確率分布表現、並びに、同時確率分布改変プログラム132によって改変された同時確率分布表現が記憶される記憶領域である。生成データ記憶部144は、データ生成プログラム134によって生成された擬似的な行動履歴のデータが記憶される記憶領域である。
The
通信インターフェース106は、有線または無線により外部装置との通信処理を行い、外部装置との間で情報のやり取りを行う。情報処理装置100は、通信インターフェース106を介して不図示の通信回線に接続される。通信回線は、ローカルエリアネットワークであってもよいし、ワイドエリアネットワークであってもよく、これらの組み合わせであってもよい。通信インターフェース106は、オリジナルデータセットなど様々なデータの入力を受け付けるデータ取得部の役割を担うことができる。
The
情報処理装置100は、入力装置152と表示装置154とを備えていてもよい。入力装置152および表示装置154は入出力インターフェース108を介してバス110に接続される。入力装置152は、例えば、キーボード、マウス、マルチタッチパネル、もしくはその他のポインティングデバイス、もしくは、音声入力装置、またはこれらの適宜の組み合わせであってよい。表示装置154は、例えば、液晶ディスプレイ、有機EL(organic electro-luminescence:OEL)ディスプレイ、もしくは、プロジェクタ、またはこれらの適宜の組み合わせであってよい。なお、タッチパネルのように入力装置152と表示装置154とが一体的に構成されてもよく、タッチパネル式のタブレット端末のように、情報処理装置100と入力装置152と表示装置154とが一体的に構成されてもよい。
The
図11は、情報処理装置100の機能的構成を示す機能ブロック図である。情報処理装置100は、データ取得部220と、同時確率分布表現部230と、同時確率分布改変部232と、データ生成部234と、データ保存部240とを含む。データ取得部220は、オリジナルデータセットである第1のドメインの複数ユーザーの各アイテムに対する行動履歴のデータセットを取得する。同時確率分布表現部230は、オリジナルデータセットに対して、目的変数Yと各説明変数Xとの間の依存関係をモデル化し、目的変数Yと各説明変数X間の同時確率分布P(X,Y)を求める。
FIG. 11 is a functional block diagram showing the functional configuration of the
同時確率分布改変部232は、第1のドメインの同時確率分布P(X,Y)の一部を改変し、改変された同時確率分布Pm(X,Y)を生成する。同時確率分布改変部232は、条件付き確率分布P(Y|X)を改変してもよいし、説明変数Xの確率分布P(X)を改変してもよく、これら両方を改変してもよい。改変された同時確率分布Pm(X,Y)は、第1のドメインとは異なる擬似的なドメイン(第2のドメイン)における目的変数Yと各説明変数X間の同時確率分布に相当するものとなる。
The joint probability
データ生成部234は、改変された同時確率分布Pm(X,Y)に応じて、擬似的な複数ユーザーの各アイテムに対する擬似的な行動履歴のデータを生成する。データ生成部234は、説明変数生成部235と、目的変数生成部236とを含む。説明変数生成部235は、改変された同時確率分布Pm(X,Y)における確率分布Pm(X)に応じて説明変数Xmjを生成する。目的変数生成部236は、説明変数Xmjに基づき、改変された同時確率分布Pm(X,Y)における条件付き確率分布Pm(Y|X)に応じて目的変数Ymjを生成する。データ生成部234は、多数の疑似ユーザーの疑似行動履歴データを生成し得る。
The
データ生成部234によって生成された疑似行動履歴データは、データ保存部240に保存される。データ保存部240には、多数の疑似ユーザーの疑似行動履歴データを含む生成データセットが保存される。生成データ記憶部144(図10参照)は、データ保存部240として機能し得る。
The pseudo behavior history data generated by the
図12は、行動履歴のデータの例を示す図表である。ここでは、企業内の文書閲覧システムにおける行動履歴の場合を考える。図12には、ある企業の文書閲覧システムから得られた文書の閲覧に関するユーザーの行動履歴のテーブルの例が示されている。ここでの「アイテム」は文書である。図12に示すテーブルは、「時間」、「ユーザーID」、「アイテムID」、「ユーザー属性1」、「ユーザー属性2」、「アイテム属性1」「アイテム属性2」、「コンテキスト1」、「コンテキスト2」、および「閲覧有無」のカラムを含む。
FIG. 12 is a chart showing an example of behavior history data. Here, we will consider the case of action history in a document viewing system within a company. FIG. 12 shows an example of a table of user behavior history regarding document viewing obtained from a certain company's document viewing system. The "item" here is a document. The table shown in FIG. 12 includes "time", "user ID", "item ID", "
「時間」は、アイテムを閲覧した日時である。「ユーザーID」は、ユーザーを特定する識別符号であり、各ユーザーに対して固有のID(identification)が定義されている。アイテムIDはアイテムを特定する識別符号であり、各アイテムに対して固有のIDが定義されている。「ユーザー属性1」は例えばユーザーの所属部門である。「ユーザー属性2」は例えばユーザーの年代である。「アイテム属性1」は例えばアイテムの分類カテゴリーとしての文書種類である。「アイテム属性2」は例えばアイテムのファイルタイプである。「コンテキスト1」は例えばアイテムの閲覧が行われた勤務場所である。「コンテキスト2」は例えばアイテムの閲覧が行われた曜日である。「閲覧有無」は閲覧された場合(閲覧有り)の値が「1」となる。なお、閲覧していないアイテムは膨大なため、閲覧したアイテム(閲覧有無=1)のみレコードに記録するのが一般的である。
"Time" is the date and time when the item was viewed. "User ID" is an identification code that identifies a user, and a unique ID (identification) is defined for each user. The item ID is an identification code that identifies an item, and a unique ID is defined for each item. "
図12における「閲覧有無」は目的変数Yの一例であり、「ユーザー属性1」、「ユーザー属性2」、「アイテム属性1」、「アイテム属性2」、「コンテキスト1」、および「コンテキスト2」のそれぞれは説明変数Xの一例である。説明変数Xの種類数およびその組み合わせについては、図12の例に限らない。説明変数Xとして、さらに不図示のユーザー属性3、アイテム属性3、およびコンテキスト3などを含んでもよいし、あるいは「コンテキスト1」および「コンテキスト2」を説明変数Xに含めない態様なども可能である。
“Browsing presence/absence” in FIG. 12 is an example of the objective variable Y, and “
〔情報処理方法の概要〕
行動履歴として、例えば、図12に示すテーブルのようなデータがある場合、プロセッサ102は、このデータを基に、まず変数間の依存性を学習する(図13~図18参照)。より具体的には、プロセッサ102は、ユーザー、アイテム、およびコンテキストをそれぞれベクトルで表現し、それぞれの内積の和が行動確率になるようなモデルを用い、行動予測の誤差を最小化するようにモデルのパラメータを更新していく。ユーザーのベクトル表現は、例えば、そのユーザーの各属性のベクトル表現の足し合わせで表現する。アイテムのベクトル表現、およびコンテキストのベクトル表現も同様である。変数間の依存性を学習したモデルは、与えられた行動履歴のデータセットにおける目的変数Yと各説明変数X間の同時確率分布P(X,Y)を表現したものに相当する。
[Overview of information processing method]
If there is data such as the table shown in FIG. 12 as the behavior history, the
次に、プロセッサ102は、変数間の依存性の改変を行う。例えば、別の企業では在宅ワークがより促進されている可能性を考慮し、コンテキスト1(勤務場所)に関して在宅の確率を上げる。また、例えば、年功序列的要素が少ない企業を想定して年代による依存性をなくす。具体的には、ユーザーのベクトル表現構成時に年代属性を加算しないようにする。
Next, the
そして、プロセッサ102は、改変した依存性を基に、擬似的な行動履歴のデータを生成する。プロセッサ102は、変数間の依存関係の上流からデータを確率的に生成していく。すなわち、プロセッサ102は、まずは、属性のデータを確率分布に従い生成し、生成した属性を基に、ユーザー、アイテム、およびコンテキスト等のベクトル表現を得る。その後、プロセッサ102は、それらベクトルの内積の和から算出される行動確率に従い、ユーザー、アイテム、およびコンテキストの組み合わせに対する行動の有無を生成する。こうして、学習に用いた現実のデータセット(実際に企業から収集された図12に示すようなデータセット)とは異なるドメインのデータが生成される。
Then, the
〔変数間の依存性を表現する方法の例〕
図13は、同時確率分布P(X,Y)の変数間の依存関係を表現する有向非巡回グラフ(Directed Acyclic Graph:DAG)の例である。図13では、説明変数Xとして、ユーザー属性1、ユーザー属性2、アイテム属性1、およびアイテム属性2の4つの変数を用いる例を示す。これら各説明変数Xと、目的変数Yであるユーザーのアイテムに対する行動との関係は、例えば、図13のようなグラフによって表される。
[Example of how to express dependencies between variables]
FIG. 13 is an example of a directed acyclic graph (DAG) that expresses the dependence between variables of the joint probability distribution P(X, Y). FIG. 13 shows an example in which four variables,
同時確率分布表現部230は、例えば、図13に示すDAGのような変数間の依存関係を基に、同時確率分布P(X,Y)のベクトル表現を求める。図13に示すグラフは、目的変数であるユーザーのアイテムに対する行動が、ユーザーの行動特性と、アイテムの特性とに依存していることを示しており、ユーザーの行動特性がユーザー属性1とユーザー属性2とに依存し、アイテムの特性がアイテム属性1とアイテム属性2とに依存していることを示している。
The joint probability
図13のように、ユーザー属性1とユーザー属性2との組み合わせがユーザーの行動特性を規定する。また、アイテム属性1とアイテム属性2との組み合わせがアイテムの特性を規定する。そして、ユーザーのアイテムに対する行動は、ユーザーの行動特性とアイテムの特性との組み合わせによって規定される。
As shown in FIG. 13, the combination of
一般に、P(X,Y)=P(X)×P(Y|X)の関係が成り立ち、図13のグラフをこの式に当てはめると、次のように表される。
P(X)=P(ユーザー属性1,ユーザー属性2,アイテム属性1,アイテム属性2)
P(Y|X)=P(ユーザーのアイテムに対する行動|ユーザー属性1,ユーザー属性2,アイテム属性1,アイテム属性2)
P(X,Y)=P(ユーザー属性1,ユーザー属性2,アイテム属性1,アイテム属性2)×P(ユーザーのアイテムに対する行動|ユーザー属性1,ユーザー属性2,アイテム属性1,アイテム属性2)
Generally, the relationship P(X,Y)=P(X)×P(Y|X) holds true, and when the graph of FIG. 13 is applied to this equation, it is expressed as follows.
P(X) = P(
P(Y |
P (X, Y) = P (
また、図13に示すグラフは、次のように要素分解できることを示している。 Furthermore, the graph shown in FIG. 13 shows that elemental decomposition can be performed as follows.
P(Y|X)=P(ユーザーのアイテムに対する行動|ユーザーの行動特性,アイテムの特性)×P(ユーザーの行動特性|ユーザー属性1,ユーザー属性2)×P(アイテムの行動特性|アイテム属性1,アイテム属性2) P(Y | 1, Item attribute 2)
〔条件付き確率分布P(Y|X)の確率表現の例〕
同時確率分布表現部230は、例えば、ユーザーがアイテムを閲覧(Y=1)する確率を、ユーザー特性ベクトルとアイテム特性ベクトルの内積のシグモイド関数で表現する。このような表現方法は、行列分解(Matrix Factorization)と呼ばれる。なお、シグモイド関数を採用している理由は、シグモイド関数の値が0から1の範囲となって関数の値がそのまま確率に対応するものとなり得るためである。シグモイド関数は本開示における「関数」の一例である。シグモイド関数に限らず、他の関数を用いるモデル表現であってもよい。
[Example of probability representation of conditional probability distribution P(Y|X)]
For example, the joint probability
図14に、P(Y|X)の確率表現の具体例を示す。図14の上段に示す式F14Aは、行列分解により、ユーザー特性ベクトルθuと、アイテム特性ベクトルφiとをそれぞれ5次元のベクトルで表し、これらの内積(θu・φi)のシグモイド関数σ(θu・φi)を条件付き確率P(Y=1|ユーザー,アイテム)として表現する式の例である。 FIG. 14 shows a specific example of probability expression of P(Y|X). Equation F14A shown in the upper part of FIG. 14 expresses the user characteristic vector θu and the item characteristic vector φi as five-dimensional vectors through matrix decomposition, and calculates the sigmoid function σ(θu・φi) of these inner products (θu・φi). ) is expressed as a conditional probability P(Y=1|user,item).
uはユーザーを区別するインデックス値である。iはアイテムを区別するインデックス値である。なお、ベクトルの次元は5次元に限らず、モデルのハイパーパラメータとして適宜の次元数に設定される。 u is an index value that distinguishes users. i is an index value that distinguishes items. Note that the dimension of the vector is not limited to five dimensions, but may be set to an appropriate number of dimensions as a hyperparameter of the model.
ユーザー特性ベクトルθuは、ユーザーの属性ベクトルの足し合わせで表現される。例えば、図14の中段に示す式F14Bのように、ユーザー特性ベクトルθuは、ユーザー属性1ベクトルと、ユーザー属性2ベクトルとの和で表現される。また、アイテム特性ベクトルφiは、アイテムの属性ベクトルの足し合わせで表現される。例えば、図14の下段に示す式F14Cのように、アイテム特性ベクトルφiは、アイテム属性1ベクトルと、アイテム属性2ベクトルとの和で表現される。各ベクトルの値は、与えられたドメインのユーザー行動履歴のデータセット(学習データ)から学習することにより決定される。
The user characteristic vector θu is expressed by adding user attribute vectors. For example, as in equation F14B shown in the middle part of FIG. 14, the user characteristic vector θu is expressed as the sum of a
例えば、閲覧したユーザーとアイテムのペアに対しては、P(Y=1|ユーザー,アイテム)が大きくなるように、閲覧しなかったユーザーとアイテムのペアに対してはP(Y=1|ユーザー,アイテム)が小さくなるように、例えば確率的勾配降下法(stochastic gradient descent:SGD)でベクトルの値を更新する。 For example, P(Y=1|user,item) will be large for the pair of user and item that was viewed, and P(Y=1|user,item) will be large for the pair of user and item that was not viewed. , item) is updated using, for example, stochastic gradient descent (SGD).
同時確率分布表現をデータから学習する方法に関して、P(Y|X)が図14の行列分解により表現される場合について説明する。同時確率分布を表現する手段は行列分解に限らず、条件付き確率P(Y|X)を予測できるものであればなんでもよい。例えば、行列分解の代わりに、ロジスティック回帰(logistic regression)、あるいはナイーブベイズ(Naive Bayes)などを適用してもよい。任意の予測モデルの場合も、出力スコアを確率P(Y|X)に近くなるようにキャリブレーションを行うことで、同時確率分布表現の手段に利用できる。例えば、SVM(Support Vector Machine)、GDBT(Gradient Boosting Decision Tree)、および任意のアーキテクチャのニューラルネットワークモデルなども利用可能である。また、複数の予測モデルのアンサンブルを用いて同時確率分布表現としてもよい。 Regarding the method of learning joint probability distribution representation from data, a case where P(Y|X) is expressed by matrix decomposition in FIG. 14 will be described. The means for expressing the joint probability distribution is not limited to matrix decomposition, but any means that can predict the conditional probability P(Y|X) may be used. For example, instead of matrix decomposition, logistic regression or Naive Bayes may be applied. Even in the case of an arbitrary prediction model, by calibrating the output score so that it becomes close to the probability P(Y|X), it can be used as a means of expressing a joint probability distribution. For example, SVM (Support Vector Machine), GDBT (Gradient Boosting Decision Tree), and neural network models of arbitrary architectures can also be used. Alternatively, a joint probability distribution may be expressed using an ensemble of a plurality of prediction models.
図13および図14に示す同時確率分布P(X,Y)の場合、データから学習したいパラメータは以下に示すとおりである。
・ユーザー特性ベクトル:θu
・アイテム特性ベクトル:φi
・ユーザー属性1ベクトル:Vk_u^1
・ユーザー属性2ベクトル:Vk_u^2
・アイテム属性1ベクトル:Vk_i^1
・アイテム属性2ベクトル:Vk_i^2
ただし、これらのパラメータは、下記の関係を満たす。
・θu=Vk_u^1+Vk_u^2
・φi=Vk_i^1+Vk_i^2
kは属性を区別するインデックス値である。例えば、ユーザー属性1が所属部門10種類、ユーザー属性2が年代6水準、アイテム属性1が文書種類20種類、アイテム属性2がファイルタイプ5種類であるとすると、属性の種類は10+6+20+5=41であるため、kのとりうる値は1から41である。例えばk=1ならユーザー属性1の営業部門に対応し、ユーザーuのユーザー属性1のインデックス値はk_u^1と表される。
In the case of the joint probability distribution P(X,Y) shown in FIGS. 13 and 14, the parameters to be learned from the data are as shown below.
・User characteristic vector: θu
・Item characteristic vector: φi
・
・User attribute 2 vector: Vk_u^2
・
・Item attribute 2 vector: Vk_i^2
However, these parameters satisfy the following relationship.
・θu=Vk_u^1+Vk_u^2
・φi=Vk_i^1+Vk_i^2
k is an index value that distinguishes attributes. For example, if
ユーザー属性1ベクトルVk_u^1、ユーザー属性2ベクトルVk_u^2、アイテム属性1ベクトルVk_i^1、およびアイテム属性2ベクトルVk_i^2の各ベクトルの値は、学習データから学習によって求められる。
The values of each vector of
学習の際のロス関数として、例えば、次式(1)に示すログ損失(Logloss)が用いられる。 For example, the log loss shown in the following equation (1) is used as a loss function during learning.
L=-{Y log σ(θu・φi)+(1-Y) log (1-σ(θu・φi)} (1)
ユーザーuがアイテムiを閲覧した場合はY=1であり、予測確率であるσ(θu・φi)が大きいほどロスLが小さい。逆にユーザーuがアイテムiを閲覧しなかった場合はY=0であり、σ(θu・φi)が小さいほどロスLが小さい。
L=-{Y log σ(θu・φi)+(1−Y) log (1−σ(θu・φi)} (1)
When user u views item i, Y=1, and the larger the predicted probability σ(θu·φi), the smaller the loss L. Conversely, when user u does not view item i, Y=0, and the smaller σ(θu·φi) is, the smaller the loss L is.
同時確率分布表現部230は、上記のロスLが小さくなるようにベクトル表現のパラメータを学習する。例えば、確率的勾配降下法による最適化を行う場合、同時確率分布表現部は、ロス関数に対して、各パラメータの偏微分(勾配)を算出し、勾配の大きさに比例してロスLが小さくなる方向にパラメータを変化させる。
The joint probability
例えば、同時確率分布表現部230は、ユーザー属性1ベクトル(Vk_u^1)のパラメータを次式(2)に従い更新する。
For example, the joint probability
なお、一般に、多数のアイテムの中では、Y=0のアイテムの方がY=1のアイテムより圧倒的に多いため、図12のような行動履歴のデータをテーブルとして保存する場合は、Y=1のみを保持し、行動履歴のデータに含まれないユーザーuとアイテムiのペアは、Y=0として学習する。つまり、正例のデータだけを保存しておけば、負例は正例のデータに含まれていないものとして容易に生成可能である。 Generally, among a large number of items, there are far more items with Y=0 than items with Y=1, so when saving action history data as a table as shown in Figure 12, Y= A pair of user u and item i that holds only 1 and is not included in the behavior history data is learned as Y=0. In other words, if only positive example data is stored, negative examples can be easily generated as if they are not included in the positive example data.
図15は、ユーザーの行動特性およびアイテムの特性の組み合わせに対するユーザーのアイテムに対する行動(Y=1)の条件付き確率を表現する式F14Aと、同時確率分布P(X,Y)の変数間の依存関係を表現するDAGとの関係を示す説明図である。図15に示すように、式F14Aは、図15に示すDAGにおける破線の枠FR1で囲んだ部分の条件付き確率を表現している。 Figure 15 shows equation F14A expressing the conditional probability of a user's action on an item (Y=1) for a combination of user action characteristics and item characteristics, and the dependence between variables of the joint probability distribution P(X, Y). It is an explanatory diagram showing a relationship with a DAG expressing a relationship. As shown in FIG. 15, formula F14A expresses the conditional probability of the portion surrounded by the broken line frame FR1 in the DAG shown in FIG.
図16は、ユーザー属性1およびユーザー属性2の組み合わせにより規定されるユーザーの行動特性と、アイテム属性1およびアイテム属性2の組み合わせにより規定されるアイテムの行動特性と、変数間の依存関係を表現するDAGとの関係を示す説明図である。図16に示すように、式F14Bは、図16に示すDAGにおける破線により示す枠FR2で囲んだ部分の関係を表している。また、式F14Cは、図16に示すDAGにおける破線により示す枠FR3で囲んだ部分の関係を表している。
FIG. 16 represents the behavioral characteristics of a user defined by the combination of
〔ユーザー属性およびアイテム属性の各属性の確率分布P(X)について〕
同時確率分布P(X,Y)には、P(Y|X)だけでなく、P(X)の表現も必要である。各属性の確率P(X)には、学習データ内に存在する属性値の比率を用いればよい。ここでいう学習データとは、同時確率分布P(X,Y)を求める際の学習に用いるオリジナルデータセットを指す。
[About the probability distribution P(X) of each attribute of user attributes and item attributes]
The joint probability distribution P(X,Y) requires a representation of not only P(Y|X) but also P(X). For the probability P(X) of each attribute, the ratio of attribute values existing in the learning data may be used. The learning data here refers to the original data set used for learning when determining the joint probability distribution P(X, Y).
図17に、説明変数の各属性の確率P(X)の例を示す。ここでは、ユーザー属性2についての確率分布の具体例が示されている。学習データ内のユーザー属性2は、例えば、6水準に分けられており、学習データ内の各水準の存在比率がユーザー属性2の確率分布となり得る。学習データを統計処理することにより、ユーザー属性2に関する各水準の存在比率(確率分布)が得られる。ユーザー属性1、アイテム属性1、およびアイテム属性2など、他の属性の確率分布についても、同様に学習データ内に存在する属性値の比率を適用してよい。
FIG. 17 shows an example of the probability P(X) of each attribute of the explanatory variable. Here, a specific example of the probability distribution for user attribute 2 is shown. The user attribute 2 in the learning data is divided into, for example, six levels, and the existence ratio of each level in the learning data can be the probability distribution of the user attribute 2. By statistically processing the learning data, the existence ratio (probability distribution) of each level regarding user attribute 2 can be obtained. Similarly, the ratio of attribute values existing in the learning data may be applied to the probability distributions of other attributes such as
〔コンテキストを考慮した同時確率分布の表現の例〕
図18は、説明変数Xとしてコンテキストを含む同時確率分布のDAGの例である。図18に示すグラフについて、図13と異なる点を説明する。図18に示すグラフは、目的変数であるユーザーのアイテムに対する行動が、ユーザーの行動特性と、アイテムの特性と、コンテキストの特性(複合的コンテキスト)とに依存していることを示しており、コンテキストの特性がコンテキスト属性1とコンテキスト属性2とに依存していることを示している。その他の構成は図13と同様である。図18に示すような変数間の依存関係がある場合、同時確率分布P(X,Y)は、次のように要素分解できる。
P(Y|X)=P(ユーザーのアイテムに対する行動|ユーザーの行動特性,アイテムの特性,コンテキストの特性)×P(ユーザーの行動特性|ユーザー属性1,ユーザー属性2)×P(アイテムの特性|アイテム属性1,アイテム属性2)×P(コンテキストの特性|コンテキスト属性1,コンテキスト属性2)
[Example of representation of joint probability distribution considering context]
FIG. 18 is an example of a joint probability distribution DAG that includes context as the explanatory variable X. Regarding the graph shown in FIG. 18, differences from FIG. 13 will be explained. The graph shown in Figure 18 shows that the user's behavior toward the item, which is the objective variable, depends on the user's behavior characteristics, the item characteristics, and the context characteristics (complex context). It is shown that the characteristics of are dependent on
P(Y | |
この場合、同時確率分布表現部230は、例えば、ユーザーがアイテムを閲覧する確率(Y=1である確率)を、ユーザー特性ベクトルとアイテム特性ベクトルの内積と、アイテム特性ベクトルとコンテキスト特性ベクトルの内積と、コンテキスト特性ベクトルとユーザー特性ベクトルの内積との和のシグモイド関数で表現する。
In this case, the joint probability
図19に、コンテキストの影響も考慮したP(Y|X)の確率表現の例を示す。図19の上段に示す式F19Aは、行列分解により、ユーザー特性ベクトルθuと、アイテム特性ベクトルφiとコンテキスト特性ベクトルνcとをそれぞれ5次元のベクトルで表し、これらの3種類のベクトルの内積の和のシグモイド関数σ(θu・φi+φi・νc+νc・θu)を条件付き確率P(Y=1|ユーザー,アイテム,コンテキスト)として表現する式の例である。 FIG. 19 shows an example of probability representation of P(Y|X) that also takes into account the influence of context. Equation F19A shown in the upper part of FIG. 19 expresses the user characteristic vector θu, the item characteristic vector φi, and the context characteristic vector νc as five-dimensional vectors through matrix decomposition, and calculates the sum of the inner products of these three types of vectors. This is an example of an expression expressing the sigmoid function σ(θu·φi+φi·νc+νc·θu) as a conditional probability P(Y=1|user, item, context).
コンテキスト特性ベクトルνcは、コンテキストの属性ベクトルの足し合わせで表現される。例えば、図19の下段に示す式F19Bのように、コンテキスト特性ベクトルνcは、コンテキスト属性1ベクトルと、コンテキスト属性2ベクトルとの和で表現される。
The context characteristic vector νc is expressed by adding context attribute vectors. For example, as in equation F19B shown in the lower part of FIG. 19, the context characteristic vector νc is expressed as the sum of a
ユーザー属性1ベクトル、ユーザー属性2ベクトル、アイテム属性1ベクトル、アイテム属性2ベクトル、コンテキスト属性ベクトル1、およびコンテキスト属性2ベクトルの各ベクトルの値は、与えられたドメインのユーザー行動履歴のデータセット(学習データ)から学習することにより決定される。
The values of each vector,
図18に示す変数間の依存関係においては、データセットから学習したいパラメータは、図13~図16を用いて説明したパラメータに加えて、さらに以下のパラメータである。
・コンテキスト特性ベクトル:νc
・コンテキスト属性1ベクトル:Vk_c^1
・コンテキスト属性2ベクトル:Vk_c^2
ただし、これらのパラメータは、下記の関係を満たす。
・νc=Vk_c^1+Vk_c^2
In the dependence relationship between variables shown in FIG. 18, the parameters to be learned from the data set are the following parameters in addition to the parameters described using FIGS. 13 to 16.
・Context characteristic vector: νc
・
・Context attribute 2 vector: Vk_c^2
However, these parameters satisfy the following relationship.
・νc=Vk_c^1+Vk_c^2
この場合、学習の際のロス関数として、式(1)の代わりに、例えば、次式(3)に示すログ損失が用いられる。
L=-〔Ylog σ(θu・φi+φi・νc+νc・θu)+(1-Y)log{1-σ(θu・φi+φi・νc+νc・θu)]〕 (3)
In this case, as a loss function during learning, for example, a log loss shown in the following equation (3) is used instead of equation (1).
L=-[Ylog σ(θu・φi+φi・νc+νc・θu)+(1−Y)log{1−σ(θu・φi+φi・νc+νc・θu)]] (3)
〔予測モデルのキャリブレーションについて〕
モデルの設計によっては、モデルからの出力される予測スコアが必ずしも行動確率としての数値に対応していない場合があり得る。この場合、P(Y|X)のモデルが出力する予測スコアが実際の行動Y=1(行動有り)の確率に近くなるように、モデルの出力スコアを変換することが好ましい。このような変換をキャリブレーションと呼ぶ。
[About calibration of prediction model]
Depending on the design of the model, the prediction score output from the model may not necessarily correspond to the numerical value of the action probability. In this case, it is preferable to convert the output score of the model so that the predicted score output by the model of P(Y|X) becomes close to the probability of actual action Y=1 (action is taken). Such conversion is called calibration.
図20は、キャリブレーションの例を示すグラフである。図20の横軸はモデルから出力される予測スコアを表し、縦軸はY=1の確率を表す。図20では、モデルが出力する予測スコアが「-10」から「+10」までの範囲の値を取り得る場合の例が示されている。 FIG. 20 is a graph showing an example of calibration. The horizontal axis of FIG. 20 represents the prediction score output from the model, and the vertical axis represents the probability of Y=1. FIG. 20 shows an example where the prediction score output by the model can take values in the range of "-10" to "+10".
キャリブレーションを行うために、プロセッサ102は、予測スコアとY=1の確率との関係を調べる。ここでのY=1の確率とは、学習データ内でY=1である頻度に相当する。例えば、予測スコアとY=1の確率が図20に示すような関係であることが分かったとする。図20において、予測スコアが「-10」のときY=1の確率が「0.2」、予測スコアが「0」のときY=1の確率が「0.4」、予測スコアが「+10」のときY=1の確率が「0.9」である。この場合、キャリブレーションにより、スコア値「-10」は「0.2」に、スコア値「0」は「0.4」に、スコア値「+10」は「0.9」に変換される。このようなキャリブレーションを適用することにより、モデルの出力スコアが必ずしも確率に対応する値でない場合であっても、出力スコアを確率表現に変換できるため、モデルの選択の自由度が広がる。
To perform the calibration, the
〔データの生成について〕
同時確率分布P(X,Y)の表現が定まると、その同時確率分布P(X,Y)から、説明変数Xと目的変数Yとを確率的にサンプリングできる。例えば、データ生成部234は、次の手順により、説明変数Xと目的変数Yのデータを生成できる。ここでは、図13に示すDAGにより表現される同時確率分布P(X,Y)を例に説明する。
[About data generation]
Once the expression of the joint probability distribution P(X, Y) is determined, the explanatory variable X and the objective variable Y can be probabilistically sampled from the joint probability distribution P(X, Y). For example, the
[手順1]P(X)からユーザー属性とアイテム属性とをサンプリングする。例えば、P(ユーザー属性2=40代)=0.25である場合、確率25%でユーザー属性2は40代とする、という具合に、データの生成確率を定めてユーザー属性2のデータを生成し得る。他の属性データについても同様に、それぞれの確率分布にしたがいデータを生成し得る。 [Step 1] Sample user attributes and item attributes from P(X). For example, if P (user attribute 2 = 40s) = 0.25, user attribute 2 is set to be 40s with a probability of 25%, and so on, data for user attribute 2 is generated by determining the data generation probability. It is possible. Similarly, data for other attribute data can be generated according to their respective probability distributions.
[手順2]サンプリングしたユーザー属性とアイテム属性の対応するベクトル表現を基に、ユーザー特性ベクトルとアイテム特性ベクトルを生成する(図14参照)。 [Step 2] A user characteristic vector and an item characteristic vector are generated based on the corresponding vector representations of the sampled user attributes and item attributes (see FIG. 14).
[手順3]ユーザー特性ベクトルとアイテム特性ベクトルの内積のロジスティック関数からP(Y|X)を得る。なお、図14では、ロジスティック関数としてシグモイド関数を用いた例である。 [Step 3] Obtain P(Y|X) from the logistic function of the inner product of the user characteristic vector and the item characteristic vector. Note that FIG. 14 is an example in which a sigmoid function is used as the logistic function.
[手順4]P(Y|X)に基づき、Yをサンプリングする。例えば、手順1でサンプリングされたXに対してP(Y|X)=0.2であれば、確率20%でY=1、つまり正例とする。 [Step 4] Sample Y based on P(Y|X). For example, if P (Y |
ただし、オリジナルデータセットから学習したままのP(X,Y)からXおよびYのデータを生成すると、オリジナルデータセットと同じドメインのデータを生成することになる。本実施形態では、異なるドメインのデータを生成するため、データ生成を行う前に、同時確率分布改変部232がP(X,Y)を改変し、改変した同時確率分布Pm(X,Y)を基にデータ生成部234がデータを生成する。
However, if X and Y data is generated from P(X, Y) as learned from the original data set, data in the same domain as the original data set will be generated. In this embodiment, in order to generate data of different domains, the joint probability
〔同時確率分布の改変方法の例1〕
図21は、同時確率分布の改変方法の例1を示す説明図である。図21には、説明変数Xの確率分布P(X)を変えることによって、同時確率分布P(X,Y)を改変する例が示されている。ユーザー属性1の確率分布、ユーザー属性2の確率分布、アイテム属性1の確率分布、アイテム属性2の確率分布、コンテキスト属性1の確率分布、およびコンテキスト属性2の確率分布のうち、少なくとも1つの確率分布を変えることにより、同時確率分布P(X,Y)を改変し得る。
[Example 1 of how to modify joint probability distribution]
FIG. 21 is an explanatory diagram showing an example 1 of a method for modifying a joint probability distribution. FIG. 21 shows an example in which the joint probability distribution P(X,Y) is modified by changing the probability distribution P(X) of the explanatory variable X. At least one probability distribution among the probability distribution of
図21では、ユーザー属性2(年代)の分布を変える態様の具体例が示されている。オリジナルデータセットにおけるユーザー属性2の各年代の確率がP(ユーザー属性2=20代)=0.15、P(ユーザー属性2=30代)=0.20、P(ユーザー属性2=40代)=0.25、P(ユーザー属性2=50代)=0.25、P(ユーザー属性2=60代)=0.10、P(ユーザー属性2=70代)=0.05であるとする。このような各年代の確率はオリジナルデータセットを統計処理することにより把握される。このユーザー属性2の各年代の確率に関して、例えば、同時確率分布改変部232は、P(ユーザー属性2=20代)=0.25、P(ユーザー属性2=30代)=0.30、P(ユーザー属性2=40代)=0.25、P(ユーザー属性2=50代)=0.10、P(ユーザー属性2=60代)=0.05、P(ユーザー属性2=70代)=0.05のように分布を変える。すなわち、同時確率分布改変部232は、ユーザー属性2のデータを生成する際の生成確率を、この変更後の確率に設定する。
FIG. 21 shows a specific example of how the distribution of user attribute 2 (age) is changed. The probabilities for each age group for user attribute 2 in the original data set are P (user attribute 2 = 20s) = 0.15, P (user attribute 2 = 30s) = 0.20, P (user attribute 2 = 40s) = 0.25, P (user attribute 2 = 50s) = 0.25, P (user attribute 2 = 60s) = 0.10, P (user attribute 2 = 70s) = 0.05. . These probabilities for each age group can be determined by statistically processing the original data set. Regarding the probability of each age of user attribute 2, for example, the joint probability
このように、例えば、ユーザーの属性に関して、どういう年代のユーザーが多いか、あるいは、どういう職種のユーザーが多いかという分布を変える、などの態様があり得る。年代の分布を変えることは、ユーザー属性2のデータの生成確率分布を改変することを意味しており、本開示における「生成確率分布を変える」ことの一例である。 In this way, for example, it is possible to change the distribution of user attributes, such as what age group there are many users, or what type of occupation there are many users. Changing the generation distribution means changing the generation probability distribution of data of user attribute 2, and is an example of "changing the generation probability distribution" in the present disclosure.
〔同時確率分布の改変方法の例2〕
図22は、同時確率分布の改変方法の例2を示す説明図である。図22には、条件付き確率分布P(Y|X)を改変する例が示されている。図中の破線により示される枠FR4内の依存関係の強弱を変えることにより、P(Y|X)を変えることができる。図22では、ユーザー属性1とユーザー属性2とユーザーの行動特性との関係について、ユーザーの行動特性に対するユーザー属性2の影響を強くする例が示されている。
[Example 2 of how to modify joint probability distribution]
FIG. 22 is an explanatory diagram showing an example 2 of a method for modifying a joint probability distribution. FIG. 22 shows an example of modifying the conditional probability distribution P(Y|X). P(Y|X) can be changed by changing the strength of the dependency relationship within the frame FR4 indicated by the broken line in the figure. FIG. 22 shows an example of the relationship between
また、図22では、アイテム属性2とコンテキスト属性2の影響を無くす例が示されている。すなわち、図22において、アイテム属性1とアイテム属性2とアイテムの特性との関係について、アイテムの特性はアイテム属性2の依存性を無くす(消す)例が示されており、さらに、コンテキスト属性1とコンテキスト属性2とコンテキストの特性との関係について、アイテムの特性はアイテム属性2の依存性を無くす例が示されている。依存性を無くすことは、影響度を弱くする場合の極端な例である。
Furthermore, FIG. 22 shows an example in which the influence of item attribute 2 and context attribute 2 is eliminated. That is, in FIG. 22, regarding the relationship between
図23に、改変されたユーザー特性ベクトルとアイテム属性ベクトルの例を示す。図23の上段に示す式F23Aは、ユーザー属性2の影響度を強くする場合の一例であり、ユーザー属性1ベクトルと、ユーザー属性2ベクトルとを結合してユーザー特性ベクトルを得る際に、ユーザー属性2ベクトルを3倍してユーザー属性1ベクトルと加算する例を示す。ユーザー属性2ベクトルに乗算される係数(ここでは3)は影響度を示す値である。ユーザー属性1ベクトルに対して影響度を示す適宜の係数を乗算してもよい。
FIG. 23 shows an example of the modified user characteristic vector and item attribute vector. Formula F23A shown in the upper part of FIG. 23 is an example of increasing the degree of influence of user attribute 2. An example is shown in which 2 vectors are multiplied by 3 and added to the
図23の下段に示す式F23Bは、アイテム属性2の影響を無くす場合の一例であり、アイテム属性1ベクトルに、アイテム属性2ベクトルを加算することなく、アイテム属性1ベクトルをそのままアイテム特性ベクトルとする例を示す。なお、図23には示さないが、コンテキスト属性2の影響を無くす場合も、式F23Bと同様に、コンテキスト属性1ベクトルをそのままコンテキスト特性ベクトルとすればよい。
Formula F23B shown in the lower part of FIG. 23 is an example of eliminating the influence of item attribute 2, and the
〔同時確率分布の改変方法の例3〕
同時確率分布の改変方法として、例えば、「AA文書は、p日以内に確認すること」などといった組織内ルールがある場合に、このルールの変更を反映させるという態様もあり得る。組織内ルールは、例えば、企業内ルールであってもよいし、病院の院内ルールなどであってもよい。このようなルールによって、閲覧行動は変わる(影響を受ける)と考えられる。院内ルールの変更例としては、例えば、カンファレンスを開く条件の変更などが該当する。また、ECサイトにおける購買行動に関するルールの変更例としては、例えば、「食料品とその他の物で税率がそれぞれ○%になる」などの税制変更が該当する。
[Example 3 of how to modify joint probability distribution]
As a method of modifying the joint probability distribution, for example, if there is an internal rule such as "AA documents must be confirmed within p days", a modification of this rule may be reflected. The internal rules may be, for example, internal rules of a company or internal rules of a hospital. Browsing behavior is thought to be changed (affected) by such rules. An example of a change in hospital rules is, for example, a change in the conditions for holding a conference. Furthermore, an example of a change in the rules regarding purchasing behavior on an EC site is a tax change such as ``the tax rate will be ○% for food and other items.''
〔実施形態に係る情報処理方法の全体フロー〕
図24は、実施形態に係る情報処理装置100を用いたデータ生成方法の基本的な手順を示すフローチャートである。
[Overall flow of information processing method according to embodiment]
FIG. 24 is a flowchart showing the basic procedure of a data generation method using the
ステップS111において、プロセッサ102は、学習データから同時確率分布P(X,Y)を求める。ここでの学習データは、例えば、ある企業や病院などの施設において実際に収集された行動履歴のデータであり、上記のオリジナルデータセットのデータである。
In step S111, the
同時確率分布P(X,Y)を求めるステップは、次の2つの内容[1A]および[1B]を含む。すなわち、同時確率分布P(X,Y)を求める処理は、学習データからP(Y|X)を学習すること(1A)と、学習データからP(X)を学習すること(1B)とを含む。P(Y|X)とP(X)の両方を学習することが必要であるが、これらの学習の順番の前後は問わない。 The step of determining the joint probability distribution P(X, Y) includes the following two contents [1A] and [1B]. In other words, the process of calculating the joint probability distribution P(X, Y) consists of learning P(Y|X) from the training data (1A) and learning P(X) from the training data (1B). include. Although it is necessary to learn both P(Y|X) and P(X), the order in which they are learned does not matter.
次いでステップS112において、プロセッサ102は、ステップS111にて求めた同時確率分布P(X,Y)を改変する。P(X,Y)の改変は、次の2つの態様[2A]および[2B]があり得る。すなわち、P(Y|X)を改変する態様(2A)と、P(X)を改変する態様(2B)とがあり得る。P(Y|X)とP(X)のどちらか一方を改変してもよいし、両方を改変してもよい。
Next, in step S112, the
次いでステップS113において、プロセッサ102は、ステップS111にて改変した同時確率分布からデータを生成する。改変した同時確率分布をPm(X,Y)=Pm(X)×Pm(Y|X)とすると、ステップS113は、次の2つの処理[3A]と[3B]とを含む。すなわち、ステップS113は、Pm(X)からXを生成する処理(3A)と、Pm(Y|X)からYを生成する処理(3B)とを含む。プロセッサ102は、Pm(X)からXを生成し、その後、Xを用いてPm(Y|X)からYを生成する。
Next, in step S113, the
ステップS113の後、プロセッサ102は、図24のフローチャートを終了する。
After step S113, the
〔複数ドメインデータを生成する方法〕
図25は、実施形態に係る情報処理装置100により複数ドメインのデータを生成する方法の手順を示すフローチャートである。図25において、図24と共通するステップには同一のステップ番号を付し、重複する説明は省略する。他の図も同様である。
[How to generate multiple domain data]
FIG. 25 is a flowchart illustrating the procedure of a method for generating data for multiple domains by the
ステップS112による改変と、ステップS113によるデータ生成との組合せで1セットのドメインデータが得られる。したがって、改変の仕方を変えて、ステップS112とステップS113とを複数回繰り返すと、複数のドメインデータを生成できる。 One set of domain data is obtained by combining the modification in step S112 and the data generation in step S113. Therefore, by changing the modification method and repeating step S112 and step S113 multiple times, a plurality of domain data can be generated.
すなわち、ステップS113の後、ステップS114において、プロセッサ102は、他のドメインデータを生成するか否かを判定する。ステップS114の判定結果がYes判定である場合、プロセッサ102は、ステップS112に戻り、前回と異なる改変を行う。こうして、ステップS112およびステップS113を実行することで、異なるドメインデータが生成される。
That is, after step S113, in step S114, the
ステップS114の判定結果がNo判定である場合、プロセッサ102は、図25のフローチャートを終了する。
If the determination result in step S114 is No, the
〔生成したデータの利用例1:ドメイン汎化学習に利用する場合のフロー〕
図26は、実施形態に係る情報処理装置100により生成したデータをドメイン汎化学習に利用する場合の手順を示すフローチャートである。図26において、ステップS111~S113は図24と同様である。図26に示すフローチャートは、図24のステップS113の後に、ステップS115が追加されている。
[Usage example 1 of generated data: Flow when using for domain generalization learning]
FIG. 26 is a flowchart illustrating a procedure when data generated by the
ステップS115において、プロセッサ102又は他のプロセッサは、元の学習データと生成したデータとを基にドメイン汎化なモデルを得るための学習を行う。ステップS115は、ステップS111~ステップS113によりデータの生成を行うプロセッサ102とは異なるプロセッサによって実行されてもよい。すなわち、データの生成を行う情報処理装置100と、生成されたデータを学習用データとして用いてモデル14を訓練する機械学習装置とは異なる装置であってもよいし、同じ装置であってもよい。また、ステップS115は、図25で説明したように、複数ドメインのデータを生成してから実行されてもよい。
In step S115, the
データを生成する処理(ステップS111~ステップS113)と、生成したデータを用いて学習を行う処理(ステップS115)とは、別々のタイミングで実施されてもよいし、連続的に実施されてもよい。例えば、予めステップS111~ステップS113により1つ以上の、好ましくは複数の異なるドメインのデータを生成しておき、学習に用いるデータを準備してから、元の学習データ(オリジナルデータセット)を含む複数のドメインのデータを用いてモデル14の学習を行うようにしてもよい。また、例えば、モデル14の学習を行う際に、オンザフライ方式によりデータを生成し、生成したデータをモデル14に入力することにより、学習を実行してもよい。
The process of generating data (steps S111 to S113) and the process of learning using the generated data (step S115) may be performed at different timings or may be performed continuously. . For example, data for one or more, preferably multiple, different domains is generated in advance in steps S111 to S113, and after preparing data to be used for learning, multiple domains including the original learning data (original data set) are generated. The
ステップS115の後、プロセッサ102又は他のプロセッサは、図26のフローチャートを終了する。
After step S115, the
〔生成したデータの利用例2:ドメイン汎化性の評価に利用する場合のフロー〕
図27は、実施形態に係る情報処理装置100により生成したデータをドメイン汎化性の評価に利用する場合の手順を示すフローチャートである。図27において、ステップS111~S113は図24と同様である。図27では、ステップS113の後に、ステップS116が追加されている。
[Usage example 2 of generated data: Flow when using to evaluate domain generalizability]
FIG. 27 is a flowchart showing a procedure for using data generated by the
ステップS116において、プロセッサ102又は他のプロセッサは、元の学習データまたは生成したデータをモデル評価に用いる。ステップS116は、次の2つの態様[4A]および[4B]があり得る。すなわち、元の学習データを用いてモデル14の学習を行い、生成したデータを用いてモデル14を評価する態様(4A)と、生成したデータを用いてモデル14の学習を行い、元の学習データを用いてモデル14を評価する態様(4B)とがあり得る。プロセッサ102または他のプロセッサは、[4A]と[4B]のどちらかを行えばよい。なお、プロセッサ102または他のプロセッサは、[4A]と[4B]の両方を行い、評価値の平均をとってもよい。
In step S116, the
ステップS116の後、プロセッサ102又は他のプロセッサは、図27のフローチャートを終了する。
After step S116, the
〔生成したデータの利用例3:学習と評価の両方に利用する場合〕
情報処理装置100によって生成したデータをモデル14の学習と評価との両方に利用する場合には、例えば、元の学習データ(第1のドメインのデータ)と、情報処理装置100によって生成した第1の擬似ドメインデータ(第2のドメインのデータ)と、第2の擬似ドメインデータ(第3のドメインのデータ)とを含む少なくとも3つの異なるドメインのデータを用意して、そのうちの2つのドメインデータを使ってドメイン汎化のモデル14の学習を行い、残りの1つのドメインデータを使ってモデル14の評価を行う、という態様も可能である。
[Use example 3 of generated data: When used for both learning and evaluation]
When using data generated by the
〔生成したデータの利用例4〕
情報処理装置100によって生成される擬似ドメインのユーザーの行動履歴を示すデータは、推薦モデルを構築するための学習および/または評価に利用する以外にも、例えば、次のような用途があり得る。
[Usage example 4 of generated data]
In addition to being used for learning and/or evaluation for constructing a recommendation model, the data generated by the
[他の用途例1:需要予測への活用]
例えば、商品(アイテム)の購買行動に関するデータの場合、全ユーザーについての購入予測をして、アイテムごとに予測結果を足し算すると、全購入数の予測値が得られる。全購入数の予測値は需要を示す値に相当する。需要が分かれば、その予測値に基づいて、事前に商品を仕入れるなどの対応が可能である。
[Other usage examples 1: Utilization for demand forecasting]
For example, in the case of data related to purchasing behavior for products (items), by predicting purchases for all users and adding up the prediction results for each item, a predicted value for the total number of purchases can be obtained. The predicted value of the total number of purchases corresponds to a value indicating demand. Once demand is known, it is possible to take measures such as purchasing products in advance based on the predicted value.
[他の用途例2:ユーザーの離反抑制への活用]
ユーザーの行動履歴のデータから、ユーザーごとに全アイテムの集計をとると、そのユーザーのアクティブ度を示す値が得られる。例えば、アクティブ度が低下すると、ユーザーが離反する懸念が高まると考えられる。そのような、ユーザーの離反抑制対策として、データからユーザーの行動を予測する、などの利用態様もあり得る。
[Other application example 2: Utilization to suppress user defection]
By calculating the total of all items for each user from the user's behavior history data, a value indicating the user's activity level can be obtained. For example, if the activity level decreases, it is thought that the fear that users will leave increases. As a measure to prevent user defection, there may be other usage modes such as predicting user behavior from data.
〔コンピュータを動作させるプログラムについて〕
情報処理装置100における処理機能の一部または全部をコンピュータに実現させるプログラムを、光ディスク、磁気ディスク、もしくは、半導体メモリその他の有体物たる非一時的な情報記憶媒体であるコンピュータ可読媒体に記録し、この情報記憶媒体を通じてプログラムを提供することが可能である。
[About the programs that run the computer]
A program that causes a computer to implement some or all of the processing functions of the
またこのような有体物たる非一時的なコンピュータ可読媒体にプログラムを記憶させて提供する態様に代えて、インターネットなどの電気通信回線を利用してプログラム信号をダウンロードサービスとして提供することも可能である。 Furthermore, instead of providing the program by storing it in a tangible, non-transitory computer-readable medium, it is also possible to provide the program signal as a download service using a telecommunications line such as the Internet.
さらに、情報処理装置100における処理機能の一部または全部をクラウドコンピューティングによって実現してもよく、また、SaaS(Software as a Service)として提供することも可能である。
Furthermore, part or all of the processing functions in the
〔各処理部のハードウェア構成について〕
情報処理装置100におけるデータ取得部220、同時確率分布表現部230、同時確率分布改変部232、データ生成部234、説明変数生成部235、および目的変数生成部236などの各種の処理を実行する処理部(processing unit)のハードウェア的な構造は、例えば、次に示すような各種のプロセッサ(processor)である。
[About the hardware configuration of each processing unit]
A process for executing various processes such as the
各種のプロセッサには、プログラムを実行して各種の処理部として機能する汎用的なプロセッサであるCPU、GPU、FPGA(Field Programmable Gate Array)などの製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)などの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路などが含まれる。 Various types of processors include programmable logic, which is a processor whose circuit configuration can be changed after manufacturing, such as CPU, GPU, and FPGA (Field Programmable Gate Array), which are general-purpose processors that execute programs and function as various processing units. This includes dedicated electrical circuits such as Programmable Logic Devices (PLDs) and ASICs (Application Specific Integrated Circuits), which are processors with circuit configurations specifically designed to execute specific processes.
1つの処理部は、これら各種のプロセッサのうちの1つで構成されていてもよいし、同種または異種の2つ以上のプロセッサで構成されてもよい。例えば、1つの処理部は、複数のFPGA、あるいは、CPUとFPGAの組み合わせ、またはCPUとGPUの組み合わせによって構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。複数の処理部を1つのプロセッサで構成する例としては、第一に、クライアントやサーバなどのコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第二に、システムオンチップ(System On Chip:SoC)などに代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサを1つ以上用いて構成される。 One processing unit may be composed of one of these various processors, or may be composed of two or more processors of the same type or different types. For example, one processing unit may be configured by a plurality of FPGAs, a combination of a CPU and an FPGA, or a combination of a CPU and a GPU. Further, the plurality of processing units may be configured with one processor. As an example of configuring multiple processing units with one processor, first, one processor is configured with a combination of one or more CPUs and software, as typified by computers such as clients and servers. There is a form in which a processor functions as multiple processing units. Second, there are processors that use a single IC (Integrated Circuit) chip, such as System On Chip (SoC), which implements the functions of an entire system including multiple processing units. be. In this way, various processing units are configured using one or more of the various processors described above as a hardware structure.
さらに、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)である。 Furthermore, the hardware structure of these various processors is, more specifically, an electric circuit (circuitry) that is a combination of circuit elements such as semiconductor elements.
〔実施形態による利点〕
実施形態に係る情報処理装置100によれば、与えられたオリジナルデータセットから求めた同時確率分布P(X,Y)を改変した同時確率分布Pm(X,Y)を基に、オリジナルデータセットとは異なるドメインのユーザーの行動履歴を示すデータを生成することができる。生成されたデータを学習用データとして用いることで、ドメイン汎化なモデル14の学習が可能である。また、生成されたデータを評価用データとして用いることで、ドメイン汎化性の評価が可能である。
[Advantages of embodiment]
According to the
本実施形態によれば、現実において複数のドメインのデータを用意することが困難な場合であっても、与えられた1つのドメインのデータから、異なるドメインの擬似的なデータを生成できるため、ドメイン汎化な推薦システムを提供することが可能になる。本実施形態により生成されるデータを用いることで、推薦システムの性能向上および信頼性の高い性能評価の実現に寄与し得る。 According to this embodiment, even if it is difficult to prepare data for multiple domains in reality, pseudo data for different domains can be generated from data for one given domain. It becomes possible to provide a general recommendation system. By using the data generated according to this embodiment, it is possible to contribute to improving the performance of the recommendation system and achieving highly reliable performance evaluation.
〔他の応用例〕
上述の実施形態では、文書閲覧に関するユーザー行動履歴を例に説明したが、本開示の適用範囲は文書閲覧に限らず、医用画像等の閲覧、商品の購買、あるいは動画等のコンテンツの視聴など、用途を問わず、様々なアイテムに対するユーザーの行動に関するデータついて適用できる。
[Other application examples]
In the above embodiment, the user action history related to document viewing was explained as an example, but the scope of application of the present disclosure is not limited to document viewing, but also includes viewing medical images, purchasing products, watching content such as videos, etc. Regardless of the purpose, it can be applied to data related to user behavior regarding various items.
〔その他〕
本開示は上述した実施形態に限定されるものではなく、本開示の技術的思想の趣旨を逸脱しない範囲で種々の変形が可能である。
〔others〕
The present disclosure is not limited to the embodiments described above, and various modifications can be made without departing from the spirit of the technical idea of the present disclosure.
10 推薦システム
12 予測モデル
14 モデル
100 情報処理装置
102 プロセッサ
104 コンピュータ可読媒体
106 通信インターフェース
108 入出力インターフェース
110 バス
112 メモリ
114 ストレージ
130 同時確率分布表現プログラム
132 同時確率分布改変プログラム
134 データ生成プログラム
140 オリジナルデータセット記憶部
142 同時確率分布表現記憶部
144 生成データ記憶部
152 入力装置
154 表示装置
220 データ取得部
230 同時確率分布表現部
232 同時確率分布改変部
234 データ生成部
235 説明変数生成部
236 目的変数生成部
240 データ保存部
F14A 式
F14B 式
F14C 式
F19A 式
F19B 式
F23A 式
F23B 式
FR1 枠
FR2 枠
FR3 枠
FR4 枠
IT1 アイテム
IT2 アイテム
IT3 アイテム
S111~S114 情報処理方法のステップ
S115 ドメイン汎化なモデルを学習するステップ
S116 モデルを評価するステップステップ
Xmj 説明変数
Ymj 目的変数
10
Claims (13)
前記1つ以上の前記プロセッサが、
複数のユーザーの複数のアイテムに対する行動履歴を含むデータセットに対して、前記ユーザーの前記アイテムに対する行動を目的変数として、前記目的変数と説明変数との間の同時確率分布を表現することと、
前記同時確率分布の一部を改変することと、
前記改変した同時確率分布に基づいてデータを生成することと、を含む、
情報処理方法。 An information processing method performed by one or more processors, the method comprising:
the one or more processors,
Expressing a joint probability distribution between the objective variable and an explanatory variable, using the user's behavior towards the item as an objective variable, for a data set including behavior history of a plurality of users towards a plurality of items;
modifying a part of the joint probability distribution;
generating data based on the modified joint probability distribution;
Information processing method.
請求項1に記載の情報処理方法。 The modification includes changing the generation probability distribution of at least some of the explanatory variables.
The information processing method according to claim 1.
請求項1に記載の情報処理方法。 The modification includes changing the strength of dependence between the explanatory variables,
The information processing method according to claim 1.
請求項1に記載の情報処理方法。 The modification includes reflecting a change in a rule that affects the joint probability distribution.
The information processing method according to claim 1.
請求項1から4のいずれか一項に記載の情報処理方法。 the one or more processors generate a model representing the joint probability distribution by performing machine learning using the data set;
The information processing method according to any one of claims 1 to 4.
請求項1から5のいずれか一項に記載の情報処理方法。 The explanatory variables include attributes of the user and attributes of the item,
The information processing method according to any one of claims 1 to 5.
請求項6に記載の情報処理方法。 The explanatory variables further include context;
The information processing method according to claim 6.
請求項6に記載の情報処理方法。 The expression of the joint probability distribution is expressed by a function that uses the inner product of a user characteristic vector expressed using a vector indicating the attributes of the user and an item characteristic vector expressed using a vector indicating the attributes of the item. contains a representation of the conditional probability distribution that is
The information processing method according to claim 6.
請求項7に記載の情報処理方法。 The expression of the joint probability distribution is an inner product of a user characteristic vector expressed using a vector indicating the attributes of the user, an item characteristic vector expressed using a vector indicating the attributes of the item, and the item characteristic vector. expression of a conditional probability distribution expressed by a function using the sum of the inner product of and a context characteristic vector expressed using a vector indicating an attribute of the context, and the inner product of the context characteristic vector and the user characteristic vector. including,
The information processing method according to claim 7.
請求項8または9に記載の情報処理方法。 the function is a logistic function;
The information processing method according to claim 8 or 9.
前記1つ以上の前記プロセッサに実行させる命令が記憶される1つ以上のメモリと、を備える情報処理装置であって、
前記1つ以上の前記プロセッサが、
複数のユーザーの複数のアイテムに対する行動履歴を含むデータセットに対して、前記ユーザーの前記アイテムに対する行動を目的変数として、前記目的変数と説明変数との間の同時確率分布を表現し、
前記同時確率分布の一部を改変し、
前記改変した同時確率分布に基づいてデータを生成する、
情報処理装置。 one or more processors;
An information processing device comprising: one or more memories in which instructions to be executed by the one or more processors are stored;
the one or more processors,
Expressing a joint probability distribution between the objective variable and an explanatory variable, with the user's behavior towards the item as an objective variable, for a data set containing behavior history of a plurality of users towards a plurality of items,
modifying a part of the joint probability distribution,
generating data based on the modified joint probability distribution;
Information processing device.
複数のユーザーの複数のアイテムに対する行動履歴を含むデータセットに対して、前記ユーザーの前記アイテムに対する行動を目的変数として、前記目的変数と説明変数との間の同時確率分布を表現する機能と、
前記同時確率分布の一部を改変する機能と、
前記改変した同時確率分布に応じてデータを生成する機能と、
を実現させるプログラム。 to the computer,
A function of expressing a joint probability distribution between the objective variable and an explanatory variable, using the user's behavior towards the item as an objective variable, for a data set including behavior history of a plurality of users towards a plurality of items;
a function of modifying a part of the joint probability distribution;
a function of generating data according to the modified joint probability distribution;
A program that makes this possible.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024511827A JPWO2023189738A1 (en) | 2022-03-28 | 2023-03-17 | |
| US18/896,911 US20250021848A1 (en) | 2022-03-28 | 2024-09-26 | Information processing method, information processing apparatus, and program |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022051709 | 2022-03-28 | ||
| JP2022-051709 | 2022-03-28 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/896,911 Continuation US20250021848A1 (en) | 2022-03-28 | 2024-09-26 | Information processing method, information processing apparatus, and program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023189738A1 true WO2023189738A1 (en) | 2023-10-05 |
Family
ID=88201091
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2023/010628 Ceased WO2023189738A1 (en) | 2022-03-28 | 2023-03-17 | Information processing method, information processing device, and program |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20250021848A1 (en) |
| JP (1) | JPWO2023189738A1 (en) |
| WO (1) | WO2023189738A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20250203162A1 (en) * | 2023-12-15 | 2025-06-19 | Dish Network L.L.C. | Weather based content recommendations |
-
2023
- 2023-03-17 WO PCT/JP2023/010628 patent/WO2023189738A1/en not_active Ceased
- 2023-03-17 JP JP2024511827A patent/JPWO2023189738A1/ja active Pending
-
2024
- 2024-09-26 US US18/896,911 patent/US20250021848A1/en active Pending
Non-Patent Citations (2)
| Title |
|---|
| GOLLAS B, BARTLETT P N, DENUAULT G: "AN INSTRUMENT FOR SIMULTANEOUS EQCM IMPEDANCE AND SECM MEASUREMENTS", ANALYTICAL CHEMISTRY, AMERICAN CHEMICAL SOCIETY, US, vol. 72, no. 02, 15 January 2000 (2000-01-15), US , pages 349 - 356, XP000954973, ISSN: 0003-2700, DOI: 10.1021/ac990796o * |
| JINDONG WANG; CUILING LAN; CHANG LIU; YIDONG OUYANG; TAO QIN; WANG LU; YIQIANG CHEN; WENJUN ZENG; PHILIP S. YU: "Generalizing to Unseen Domains: A Survey on Domain Generalization", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 12 December 2021 (2021-12-12), 201 Olin Library Cornell University Ithaca, NY 14853, XP091109166 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US20250021848A1 (en) | 2025-01-16 |
| JPWO2023189738A1 (en) | 2023-10-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Phillips et al. | Practical considerations for specifying a super learner | |
| US12050762B2 (en) | Methods and systems for integrated design and execution of machine learning models | |
| JP7267964B2 (en) | Generation device, generation method and generation program | |
| JP7652916B2 (en) | Method and apparatus for pushing information - Patents.com | |
| JP2018190396A (en) | Network rating prediction engine | |
| Zervoudakis et al. | OpinionMine: A Bayesian-based framework for opinion mining using Twitter Data | |
| US12050971B2 (en) | Transaction composition graph node embedding | |
| US20250156300A1 (en) | Confusion Matrix Estimation in Distributed Computation Environments | |
| JP2024522358A (en) | Machine Learning Assisted Automated Taxonomies for Marketing Automation and Customer Relationship Management Systems | |
| US20230401488A1 (en) | Machine learning method, information processing system, information processing apparatus, server, and program | |
| US20220215287A1 (en) | Self-supervised pretraining through text alignment | |
| US20250021848A1 (en) | Information processing method, information processing apparatus, and program | |
| US20220083907A1 (en) | Data generation and annotation for machine learning | |
| Sola et al. | Deep embeddings and Graph Neural Networks: using context to improve domain-independent predictions | |
| Khobragade et al. | Study and analysis of various link predictions in knowledge graph: A challenging overview | |
| JP7784951B2 (en) | Information processing method, information processing device, and program | |
| Chang et al. | Incorporating ai methods in micro-dynamic analysis to support group-specific policy-making | |
| US20250209308A1 (en) | Risk Analysis and Visualization for Sequence Processing Models | |
| US12475500B2 (en) | Information processing method, information processing apparatus, and program | |
| CN111767290B (en) | Method and device for updating user portrait | |
| US20250124256A1 (en) | Efficient Knowledge Distillation Framework for Training Machine-Learned Models | |
| Ma et al. | Heterogeneous graph neural network for multi-behavior feature-interaction recommendation | |
| Li et al. | Web-scale personalized real-time recommender system on Suumo | |
| Cerqueira et al. | Constructive aggregation and its application to forecasting with dynamic ensembles | |
| CN115374273A (en) | Conversation text analysis method, device, computer equipment and storage medium |
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: 23779754 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2024511827 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: 23779754 Country of ref document: EP Kind code of ref document: A1 |