Information processing method, information processing device, and program

JPWO2023189738A5Pending Publication Date: 2024-12-17
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024511827
Authority / Receiving Office
JP · JP
Patent Type
Applications
Priority Date
2023-03-17
Filing Date
2023-03-17
Publication Date
2024-12-17

AI Technical Summary

Technical Problem

Existing recommendation systems face challenges in domain generalization, where models trained on one domain do not perform well in different domains due to domain shift, and there is a lack of techniques to generate data across multiple domains, especially when collecting data from various domains is difficult or expensive.

Method used

An information processing method that modifies the joint probability distribution of user behavior data to generate pseudo data in different domains, allowing for the creation of data that can be used for training and evaluating models across multiple domains without requiring actual data from those domains.

Benefits of technology

Enables the generation of data in different domains, improving the robustness of recommendation systems by allowing for domain generalization and enabling the use of proxy data to train models without sharing sensitive real data, thus enhancing the performance and reliability of recommendation systems across various domains.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

Provided are an information processing method, an information processing device, and a program that are capable of generating data of user behavior histories of different domains. The information processing method is executed by one or more processors and comprises the one or more processors performing: with respect to a data set including behavior histories of a plurality of users with respect to a plurality of items, expressing of a joint probability distribution of an objective variable and an explanatory variable, the objective variable being a user's behavior with respect to an item; modifying of a part of the joint probability distribution; and generating of data on the basis of the modified joint probability distribution.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing method, information processing device, and program

[0001] The present disclosure relates to an information processing method, an information processing device, and a program, and in particular to an information processing technique for generating data of different domains.

[0002] In systems that provide users with a variety of items, such as electronic commerce (EC) sites or document information management systems, it is difficult in terms of both time and cognitive ability for users to select the best item from the many items available. In the case of EC sites, items are the products sold on the site, while in the case of document information management systems, items are the document information stored in the system.

[0003] To assist users in selecting items, information recommendation technology that presents selection candidates from among many items has been studied. Patent Literature 1 describes a personalized product recommendation system that utilizes deep learning.

[0004] Generally, when a recommendation system is introduced to a facility, the model is trained based on data collected at the facility. However, if the same recommendation system is introduced to a facility other than the one where the data used for training was collected, the model's predictive accuracy can decline. The problem of machine learning models not functioning well in unknown facilities is called domain shift, and in recent years, research into domain generalization, which is research into improving robustness against domain shifts, has become active, particularly in the field of image recognition. However, there are still very few research examples of domain generalization in information recommendation technology.

[0005] In learning and evaluating domain generalization, multi-domain datasets are essential, and the more domains, the better. However, since collecting data from many domains is often difficult or costly, techniques for generating data from different domains are required.

[0006] Non-Patent Document 1 describes a method for generating pseudo user behavior history data using a Conditional Generative Adversarial Network (CGAN).

[0007] Patent Literature 2 describes a configuration in which, in cases where there are restrictions on usable data from the perspective of privacy, such as with hospital patient data, each facility generates proxy data, which is pseudo data, instead of local private data, and shares the proxy data on a global server. The technology described in Patent Literature 2 makes it possible to train a global model using proxy data without sharing highly confidential actual data (private data).

[0008] Japanese Patent Application Laid-Open No. 2018-181326 Japanese Patent Application Laid-Open No. 2019-526851

[0009] Qinyong Wang, Hongzhi Yin, Hao Wang, Quoc Viet Hung Nguyen, Zi Huang, Lizhen Cui, "Enhancing Collaborative Filtering with Generative Augmentation" (KDD 2019)Ivan Cantador, Ignacio Fenandez-Tobias, Shlomo Bwrkovsky, Paolo Cremonesi, Chapter 27:"Cross-domain Recommender System"(2015 Springer)

[0010] Non-Patent Document 1 can generate user behavior history data necessary for information recommendation technology, but can only generate data from the same domain as the source domain (the domain of the original data). The method described in Patent Document 2 generates multiple private data distributions that collectively represent local private data, and generates a set of virtual data (proxy data) whose distribution is close to that of the private data (from the same domain). The method described in Patent Document 2 cannot generate data from a domain different from the original dataset.

[0011] The present disclosure has been made in consideration of the above 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.

[0012] An information processing method according to one aspect of the present disclosure is an information processing method executed by one or more processors, and includes the steps of: expressing a joint probability distribution between a dependent variable and explanatory variables for a dataset including behavioral histories of multiple users with respect to multiple items, with the users' behavior with respect to the items as the dependent variable; modifying a portion of the joint probability distribution; and generating data based on the modified joint probability distribution.

[0013] According to this aspect, data on explanatory variables and corresponding objective variables can be generated from a joint probability distribution obtained by modifying a part of the joint probability distribution of a given dataset, and this generated data is data in a different domain from the original dataset. According to this aspect, data in a different domain can be generated from the original dataset.

[0014] In an information processing method according to another aspect of the present disclosure, the modification may include changing the generation probability distribution of at least a portion of the explanatory variables.

[0015] In an information processing method according to another aspect of the present disclosure, the modification may include changing the strength of dependency between variables of the explanatory variables.

[0016] In an 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.

[0017] In an information processing method according to another aspect of the present disclosure, one or more processors may be configured to generate a model representing a joint probability distribution by performing machine learning using a dataset.

[0018] In an information processing method according to another aspect of the present disclosure, the explanatory variables may include a user attribute and an item attribute.

[0019] In an information processing method according to another aspect of the present disclosure, the explanatory variables may further include a context.

[0020] In an information processing method according to another aspect of the present disclosure, the representation of the joint probability distribution may include a representation of a conditional probability distribution represented by a function using the inner product of a user characteristic vector represented using a vector indicating the attributes of a user and an item characteristic vector represented using a vector indicating the attributes of an item.

[0021] In an information processing method according to another aspect of the present disclosure, the representation of the joint probability distribution may include a representation of a conditional probability distribution expressed by a function using the sum of the dot product of a user characteristic vector expressed using a vector indicating the attributes of a user and an item characteristic vector expressed using a vector indicating the attributes of an item, the dot product of the item characteristic vector and a context characteristic vector expressed using a vector indicating the attributes of a context, and the dot product of the context characteristic vector and the user characteristic vector.

[0022] In an information processing method according to another aspect of the present disclosure, the function may be a logistic function.

[0023] An information processing device according to another aspect of the present disclosure is an information processing device that includes one or more processors and one or more memories that store instructions to be executed by the one or more processors, wherein the one or more processors represent a joint probability distribution between a dependent variable and an explanatory variable for a dataset that includes behavioral histories of multiple users with respect to multiple items, with the users' behavior with respect to the items as the dependent variable, modify a portion of the joint probability distribution, and generate data based on the modified joint probability distribution.

[0024] A program according to another aspect of the present disclosure enables a computer to perform the following functions: for a dataset including behavioral histories of multiple users with respect to multiple items, express a joint probability distribution between a dependent variable and explanatory variables, with the users' behavior with respect to the items as the dependent variable; modify a portion of the joint probability distribution; and generate data according to the modified joint probability distribution.

[0025] According to the present disclosure, data of a domain different from a dataset containing behavioral histories of multiple users with respect to multiple items can be generated from the dataset.

[0026] 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 in building recommendation systems. FIG. 3 is an explanatory diagram showing a typical implementation flow of a recommendation system. FIG. 4 is an explanatory diagram of the implementation flow of a recommendation system when data from the facility where the system is to be implemented is not available. FIG. 5 is an explanatory diagram of model learning by domain application. FIG. 6 is an explanatory diagram of a recommendation system implementation flow including a step of evaluating the performance of a learned model. FIG. 7 is an explanatory diagram showing examples of training data and evaluation data used in machine learning. FIG. 8 is a graph schematically showing differences in model performance due to differences in datasets. 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 an information processing device according to an embodiment. FIG. 11 is a functional block diagram showing the functional configuration of the information processing device. FIG. 12 is a diagram showing example behavioral history data. FIG. 13 is a diagram showing an example of a directed acyclic graph (DAG) representing dependencies between variables in a joint probability distribution P(X, Y). FIG. 14 is a diagram showing a specific example of a probability representation of the conditional probability distribution P(Y|X). FIG. 15 is an explanatory diagram showing the relationship between an equation expressing the conditional probability of a user's behavior toward an item (Y=1) for a combination of a user's behavioral characteristics and item characteristics, and a DAG expressing the dependency between variables in the joint probability distribution P(X, Y). FIG. 16 is an explanatory diagram showing the relationship between a user's behavioral characteristics defined by a combination of user attribute 1 and user attribute 2, an item's behavioral characteristics defined by a combination of item attribute 1 and item attribute 2, and a DAG expressing the dependency between variables. FIG. 17 is a diagram showing an example of the probability distribution P(X) for each attribute of the explanatory variables. FIG. 18 is a diagram showing an example of a DAG for a joint probability distribution that includes context as an explanatory variable. FIG. 19 is a diagram showing an example of a probability representation of the conditional probability distribution P(Y|X) that also takes into account the influence of context. FIG. 20 is a graph showing an example of calibration. FIG. 21 is an explanatory diagram showing Example 1 of a method for modifying a joint probability distribution. FIG. 22 is an explanatory diagram showing Example 2 of a method for modifying a joint probability distribution.FIG. 23 is an explanatory diagram showing an example of a modified user characteristic vector and an item attribute vector. FIG. 24 is a flowchart showing the basic steps of a data generation method using an information processing device according to an embodiment. FIG. 25 is a flowchart showing the steps of a method for generating data for multiple domains using an information processing device according to an embodiment. FIG. 26 is a flowchart showing the steps when data generated by an information processing device according to an embodiment is used for domain generalization learning. FIG. 27 is a flowchart showing the steps when data generated by an information processing device according to an embodiment is used for evaluating domain generalizability.

[0027] Preferred embodiments of the present invention will now be described with reference to the accompanying drawings.

[0028] Overview of Information Recommendation Technology In this embodiment, a method for generating data from different domains regarding user behavior history data used for learning and / or evaluating a model used in a recommendation system will be described. First, an overview of information recommendation technology and the need for data from multiple domains will be outlined with specific examples. Information recommendation technology is a technology for recommending (suggesting) items to users.

[0029] 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 about items to be recommended to the user according to the context. Context refers to various "situations," such as the day of the week, the time of day, or the weather. Items can be various objects, such as books, videos, or restaurants.

[0030] A recommendation system 10 generally recommends multiple items simultaneously. FIG. 1 shows an example in which the recommendation system 10 recommends three items IT1, IT2, and IT3. If the user responds positively to the recommended items IT1, IT2, and IT3, the recommendation is generally considered successful. A positive response may be, for example, a purchase, a viewing, or a visit. Such recommendation technology is widely used, for example, in e-commerce sites and gourmet sites that introduce restaurants.

[0031] The recommendation system 10 is constructed using machine learning technology. FIG. 2 is a conceptual diagram showing an example of supervised machine learning, which is widely used in constructing the recommendation system 10. In general, positive and negative examples are prepared based on the user's past behavior history, and combinations of the user and the context are input into the prediction model 12, and the prediction model 12 is trained to reduce the prediction error. For example, viewed items viewed by the user are taken as positive examples, and unviewed items not viewed by the user are taken as negative examples. Machine learning is continued until the prediction error converges, and the target prediction performance is achieved.

[0032] The trained prediction model 12 is used to recommend items with a high predicted viewing probability for a combination of a user and a context. For example, when a combination of a user A and a context β is input to the trained prediction model 12, the prediction model 12 infers that there is a high probability that user A will view a document such as item IT3 under the conditions of context β, and recommends an item similar to item IT3 to user A. Note that, depending on the configuration of the recommendation system 10, items are often recommended to users without taking the context into consideration.

[0033] [Example of data used in developing a recommendation system] A user's behavioral history is roughly equivalent to the "ground truth data" in machine learning. Strictly speaking, it can be understood as a task setting to infer the next (unknown) action from the past behavioral history, but it is common to learn latent features based on the past behavioral history.

[0034] The user's behavior history may include, for example, a book purchase history, a video viewing history, or a restaurant visit history.

[0035] Furthermore, the main features include user attributes and item attributes. User attributes can 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, length, restaurant genre, and location.

[0036] [Construction and Operation of a Model] Figure 3 is an explanatory diagram showing a typical implementation flow of a recommendation system. This figure shows a typical flow when a recommendation system is implemented in a facility. The implementation of a recommendation system involves first constructing a model 14 that performs the desired recommendation task (Step 1), and then introducing and operating the constructed model 14 (Step 2). In the case of a machine learning model, "constructing" the model 14 includes training the model 14 using learning (training) data to create a predictive model (recommendation model) that meets a practical level of recommendation performance. "Operating" the model 14 means, for example, obtaining an output list of recommended items from the trained model 14 in response to an input combination of a user and a context.

[0037] Learning data is required to build the model 14. As shown in Figure 3, the model 14 of a recommendation system is generally trained based on data collected at the facility where the system is installed. By training using data collected from the facility where the system is installed, the model 14 learns the behavior of users at the facility where the system is installed, and is able to accurately predict recommended items for users at the facility where the system is installed.

[0038] However, for various reasons, data from the facility where the system is to be implemented may not be available. For example, in the case of a document information recommendation system for a company's in-house system or a hospital's in-house system, the company developing the recommendation model often does not have access to data from the facility where the system is to be implemented. When data from the facility where the system is to be implemented is not available, it is necessary to train the system using data collected at a different facility instead.

[0039] 4 is an explanatory diagram of the introduction flow of the recommendation system when data from the facility where the system is being introduced is unavailable. If the model 14, which was trained using data collected at a facility other than the facility where the system is being introduced, is used at the facility where the system is being introduced, there is a problem that the prediction accuracy of the model 14 will decrease due to differences in user behavior between the facilities.

[0040] The problem of a machine learning model not performing well at unknown facilities different from the facilities it was trained on can be broadly understood as a technical challenge of improving robustness against the problem of domain shift, where the source domain in which the model 14 was trained differs from the target domain to which the model 14 is applied. A problem setting related to domain generalization is domain adaptation, which is a learning method that uses data from both the source domain and the target domain. The purpose of using data from a different domain even when data from the target domain exists is to compensate for the small amount of data in the target domain that is insufficient for learning.

[0041] 5 is an explanatory diagram of domain adaptation for learning the model 14. Although the amount of data collected at the target domain, which is the facility where the model is introduced, is relatively small compared to the amount of data collected at a different facility, by learning using both sets of data, the model 14 can predict with a certain degree of accuracy the behavior of users at the facility where the model is introduced.

[0042] [Domain Description] The difference in "facility" above is a type of domain difference. In Non-Patent Document 2 (Ivan Cantador et al., Chapter 27: "Cross-domain Recommender System"), which is a document on research into domain adaptation in information recommendation, domain differences are classified into the following four types:

[0043] [1] Item attribute level: For example, comedy movies and horror movies are separate domains.

[0044] [2] Item type level: For example, movies and TV series are separate domains.

[0045] [3] Item level: For example, movies and books are separate domains.

[0046] [4] System level: For example, movies in cinemas and movies broadcast on television are separate domains.

[0047] The difference in "facility" shown in FIG. 5 and the like corresponds to the system level domain [4] among the above four classifications.

[0048] To formally define a domain, it is defined by the joint probability distribution P(X, Y) of the objective variable Y and the explanatory variable X, and when Pd1(X, Y) ≠ Pd2(X, Y), d1 and d2 are different domains.

[0049] The joint probability distribution P(X, Y) can be expressed as the product of the distribution of explanatory variables P(X) and the conditional probability distribution P(Y|X), or the product of the distribution of objective variables P(Y) and the conditional probability distribution P(Y|X). P(X, Y) = P(Y|X) P(X) = P(X|Y) P(Y)

[0050] Therefore, a change in one or more of P(X), P(Y), P(Y|X) and P(X|Y) results in a different domain.

[0051] [Typical patterns of domain shift] [Covariate shift] When the distribution of explanatory variables P(X) differs, 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 to women differs, this corresponds to a covariate shift.

[0052] [Prior probability shift] When the distribution of the objective variable P(Y) differs, it is called a prior probability shift. For example, when the average viewing rate or average purchase rate differs between datasets, this corresponds to a prior probability shift.

[0053] [Concept Shift] When the conditional probability distributions P(Y|X) and P(X|Y) differ, this is called a concept shift. For example, the probability that a company's R&D department will read a data analysis document is P(Y|X), but this differs between data sets, which is an example of a concept shift.

[0054] Research on domain adaptation or domain generalization can be divided into two types: one that assumes one of the above patterns as the main factor, and the other that considers how to deal with changes in P(X, Y) without considering which pattern is the main factor. In the former case, many studies assume covariate shifts in particular.

[0055] [Reasons for the impact of domain shift] Prediction / classification models that perform prediction or classification tasks make inferences based on the relationship between explanatory variable X and target variable Y. Therefore, changes in P(Y|X) naturally result in a decline in prediction / classification performance. Furthermore, when machine learning a prediction / classification model, the prediction / classification error within the training data is minimized. However, for example, when the frequency with which the explanatory variable X = X_1 is greater than the frequency with which X = X_2 is achieved (i.e., when P(X = X_1) > P(X = X_2)), there is more data for X = X_1 than for X = X_2, and therefore error reduction for X = X_1 is prioritized over error reduction for X = X_2. Therefore, prediction / classification performance also declines when P(X) changes between facilities.

[0056] Domain shift can be a problem not only for information recommendation but also for models of various tasks. For example, when a model for predicting the risk of employee resignation is trained using data from one company, domain shift can become a problem when it is used by another company.

[0057] Furthermore, for a model that predicts antibody production by cells, domain shift can become a problem when a model trained using data on one antibody is used with another antibody.Furthermore, for a model that classifies Voice of Customer (VOC), for example, a model that classifies VOC into "product features," "support responses," and "other," domain shift can become a problem when a classification model trained using data on one product is used with another product.

[0058] [Regarding evaluation of the model before implementation] Before implementing the trained model 14 in an actual facility, etc., the performance of the model 14 is often evaluated. Performance evaluation is necessary for determining whether or not to implement the model, and for research and development of the model or learning method, etc.

[0059] FIG. 6 is an explanatory diagram of a recommendation system implementation flow that includes a step of evaluating the performance of the trained model 14. In FIG. 6, a step of evaluating the performance of the model 14 is added as "Step 1.5" between Step 1 (a step of training the model 14) and Step 2 (a step of operating the model 14) described in FIG. 5. The other configuration is the same as in FIG. 5. As shown in FIG. 6, in a typical recommendation system implementation flow, data collected at the facility where the system is implemented is often divided into training data and evaluation data. After the predictive performance of the model 14 is confirmed using the evaluation data, operation of the model 14 is started.

[0060] However, when constructing a domain generalization model 14, the training data and the evaluation data must be from different domains. Furthermore, in domain generalization, it is preferable to use data from multiple domains for the training data, and it is even more preferable to have as many domains as possible for training.

[0061] [Regarding Generalizability] FIG. 7 is an explanatory diagram showing examples of training data and evaluation data used in machine learning. A data set obtained from a joint probability distribution Pd1(X,Y) of a certain domain d1 is divided into training data and evaluation data. The evaluation data of the same domain as the training data is called "first evaluation data" and is denoted as "evaluation data 1" in FIG. 7. In addition, a data set obtained from a joint probability distribution Pd2(X,Y) of a domain d2 different from domain d1 is prepared and used as evaluation data. The evaluation data of a domain different from the training data is called "second evaluation data" and is denoted as "evaluation data 2" in FIG. 7.

[0062] The model 14 is trained using the training data of domain d1, and the performance of the trained model 14 is evaluated using the first evaluation data of domain d1 and the second evaluation data of domain d2.

[0063] 8 is a graph schematically illustrating differences in model performance due to differences in data sets. If the performance of model 14 in the training data is performance A, the performance of model 14 in the first evaluation data is performance B, and the performance of model 14 in the second evaluation data is performance C, then the relationship between the performances is typically performance A > performance B > performance C, as shown in FIG.

[0064] High generalization performance of the model 14 generally refers to high performance B or a small difference between performance A and B. In other words, the aim is to achieve high predictive performance even for untrained data without overfitting to the training data.

[0065] In the context of domain generalization in this specification, this refers to high performance C or a small difference between performance B and performance C. In other words, the goal is to achieve consistently high performance even in domains different from the domain used for learning.

[0066] 9 is an explanatory diagram of data required for developing a domain generalization model. To develop a domain generalization model 14, as shown in FIG. 9, it is preferable to prepare data collected at multiple different facilities, use data sets of multiple domains as training data, and use data sets of yet different domains as evaluation data.

[0067] [Problem] As described above, to develop a model with robust performance across multiple facilities, data from multiple facilities is basically required. However, in reality, it is often difficult to prepare data from multiple different facilities. Even when the number of domains available for model training or evaluation is small, particularly when there is only data from one domain, it is desirable to realize a model with domain generalizability. In this embodiment, even when there is only data from one domain, a method for generating pseudo-data from another domain is provided.

[0068] 10 is a block diagram showing an example of a hardware configuration of an information processing device 100 according to an embodiment. The information processing device 100 has a function of expressing a joint probability distribution between a target variable and multiple explanatory variables for a dataset consisting of behavioral histories of multiple users with respect to multiple items, a function of modifying a part of the joint probability distribution, and a function of generating data according to the modified joint probability distribution.

[0069] 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 it may be a server computer, a workstation, a personal computer, a tablet terminal, or the like. Here, an example is described in which the processing functions of the information processing device 100 are realized using a single computer, but the processing functions of the information processing device 100 may also be realized by a computer system configured using multiple computers.

[0070] The information processing device 100 includes a processor 102 , a non-transitory tangible computer-readable medium 104 , a communication interface 106 , an input / output interface 108 , and a bus 110 .

[0071] The processor 102 includes a CPU (Central Processing Unit). The processor 102 may also include a GPU (Graphics Processing Unit). The processor 102 is connected to a computer-readable medium 104, a communication interface 106, and an input / output interface 108 via a 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 equivalent to a program.

[0072] The computer-readable medium 104 is, for example, a storage device including a memory 112 serving as a main storage device and a storage 114 serving as an auxiliary storage device. The storage 114 is configured using, for example, a hard disk drive (HDD), a solid state drive (SSD), an optical disk, a magneto-optical disk, or a semiconductor memory, or an appropriate combination of these. The storage 114 stores various programs, data, and the like.

[0073] The memory 112 is used as a working area for the processor 102, and as a storage unit that temporarily stores programs and various data read from the storage 114. The programs stored in the storage 114 are loaded into the memory 112, and the processor 102 executes the instructions of the programs, causing the processor 102 to function as a means for performing various processes defined by the programs. The memory 112 stores various programs executed by the processor 102, such as a joint probability distribution expression program 130, a joint probability distribution modification program 132, and a data generation program 134, as well as various data.

[0074] The memory 112 includes an original dataset storage unit 140, a joint probability distribution representation storage unit 142, and a generated data storage unit 144. The original dataset storage unit 140 is a storage area that stores a dataset (hereinafter referred to as an original dataset) that serves as a basis for generating data for different domains. The joint probability distribution representation storage unit 142 is a storage area that stores a joint probability distribution representation expressed for the original dataset by the joint probability distribution representation program 130, and a joint probability distribution representation modified by the joint probability distribution modification program 132. The generated data storage unit 144 is a storage area that stores pseudo-behavior history data generated by the data generation program 134.

[0075] The communication interface 106 performs communication processing with an external device via a wired or wireless connection, and exchanges information with the external device. The information processing device 100 is connected to a communication line (not shown) via the communication interface 106. The communication line may be a local area network, a wide area network, or a combination of these. The communication interface 106 can serve as a data acquisition unit that accepts input of various data such as an original data set.

[0076] The information processing device 100 may include an input device 152 and a display device 154. The input device 152 and the display device 154 are connected to the bus 110 via the input / output interface 108. The input device 152 may be, for example, a keyboard, a mouse, a multi-touch panel, or other pointing device, or an audio input device, or an appropriate 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. Note that the input device 152 and the display device 154 may be integrally configured, such as a touch panel, or the information processing device 100, the input device 152, and the display device 154 may be integrally configured, such as a touch panel tablet terminal.

[0077] 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 unit 220, a joint probability distribution representation unit 230, a joint probability distribution modification unit 232, a data generation unit 234, and a data storage unit 240. The data acquisition unit 220 acquires an original dataset of behavioral histories of multiple users in a first domain with respect to each item. The joint probability distribution representation unit 230 models the dependency relationship between a dependent variable Y and each explanatory variable X for the original dataset, and calculates the joint probability distribution P(X, Y) between the dependent variable Y and each explanatory variable X.

[0078] The joint probability distribution modification unit 232 modifies a portion 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|X), or may modify the probability distribution P(X) of the explanatory variable X, or may modify both. 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.

[0079] The data generation unit 234 generates simulated behavioral history data for each item of multiple simulated users according to the modified joint probability distribution Pm(X,Y). The data generation unit 234 includes an explanatory variable generation unit 235 and a dependent variable generation unit 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 dependent variable generation unit 236 generates a dependent variable Ymj according to the conditional probability distribution Pm(Y|X) in the modified joint probability distribution Pm(X,Y) based on the explanatory variable Xmj. The data generation unit 234 can generate simulated behavioral history data for a large number of pseudo users.

[0080] The simulated behavior history data generated by the data generation unit 234 is stored in the data storage unit 240. A generated data set including the simulated behavior history data of a large number of simulated users is stored in the data storage unit 240. The generated data storage unit 144 (see FIG. 10 ) can function as the data storage unit 240.

[0081] FIG. 12 is a diagram showing an example of behavioral history data. Here, we consider the case of behavioral history in a corporate document viewing system. FIG. 12 shows an example of a table of user behavioral history regarding document viewing obtained from a certain company's document viewing system. Here, "item" refers to a document. The table shown in FIG. 12 includes columns for "time," "user ID," "item ID," "user attribute 1," "user attribute 2," "item attribute 1," "item attribute 2," "context 1," "context 2," and "viewed or not."

[0082] "Time" is the date and time the item was viewed. "User ID" is an identification code that identifies the user, and a unique ID (identification) is defined for each user. "Item ID" is an identification code that identifies the 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 age of the user. "Item attribute 1" is, for example, the document type as a classification category for the 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. "Viewed" has a value of "1" if the item has been viewed (viewed). Note that because there are a huge number of items that have not been viewed, it is common to only record viewed items (viewed = 1) in the record.

[0083] 12, "viewed or not" is an example of a target variable Y, and "user attribute 1," "user attribute 2," "item attribute 1," "item attribute 2," "context 1," and "context 2" are each an example of an explanatory variable X. The number of types of explanatory variables X and their combinations are not limited to the example of FIG. 12. The explanatory variables X may further include user attribute 3, item attribute 3, and context 3 (not shown), or alternatively, it is possible to adopt a configuration in which "context 1" and "context 2" are not included in the explanatory variables X.

[0084] [Overview of Information Processing Method] When behavioral history data such as the table shown in FIG. 12 is available, the processor 102 first learns the 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 represented by a vector, and the sum of their respective inner products represents the behavior probability, and updates the parameters of the model to minimize behavior prediction errors. The vector representation of a user is, for example, expressed as the sum of the vector representations of each attribute of the user. The same applies to the vector representation of an item and the vector representation of a context. The model that has learned the dependencies 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 dataset.

[0085] Next, the processor 102 modifies the dependencies between variables. For example, considering the possibility that teleworking may be more strongly encouraged in another company, the probability of teleworking may be increased for Context 1 (work location). Furthermore, for example, assuming a company with little seniority-based element, the processor 102 eliminates dependencies based on age. Specifically, the processor 102 does not add the age attribute when constructing a vector representation of the user.

[0086] The processor 102 then generates pseudo-behavioral history data based on the modified dependencies. The processor 102 probabilistically generates data from the upstream of the dependencies 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. The processor 102 then generates the presence or absence of behavior for combinations of users, items, and contexts according to the behavior probability calculated from the sum of the dot products of these vectors. In this way, data from a domain different from the real dataset used for learning (a dataset such as that shown in FIG. 12 that was actually collected from a company) is generated.

[0087] [Example of a method for expressing dependencies between variables] Fig. 13 is an example of a directed acyclic graph (DAG) that expresses dependencies between variables in a joint probability distribution P(X, Y). 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 user's behavior with respect to an item, which is the objective variable Y, is expressed, for example, by a graph such as that shown in Fig. 13.

[0088] 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. The graph shown in Fig. 13 shows that the user's behavior with respect to an item, which is the objective variable, depends on the user's behavioral characteristics and the item characteristics, and that the user's behavioral characteristics depend on user attribute 1 and user attribute 2, and that the item characteristics depend on item attribute 1 and item attribute 2.

[0089] 13 , the combination of user attribute 1 and user attribute 2 defines the user's behavioral characteristics. Furthermore, the combination of item attribute 1 and item attribute 2 defines the item's characteristics. The user's behavior with respect to an item is defined by the combination of the user's behavioral characteristics and the item's characteristics.

[0090] Generally, the relationship P(X, Y) = P(X) x P(Y|X) holds, and applying this formula to the graph in Figure 13 gives the following: P(X) = P(user attribute 1, user attribute 2, item attribute 1, item attribute 2) P(Y|X) = P(user's behavior toward an item | user attribute 1, user attribute 2, item attribute 1, item attribute 2) P(X, Y) = P(user attribute 1, user attribute 2, item attribute 1, item attribute 2) x P(user's behavior toward an item | user attribute 1, user attribute 2, item attribute 1, item attribute 2)

[0091] The graph shown in FIG. 13 also shows that it can be decomposed into elements as follows:

[0092] P(Y | X) = P(user's behavior toward an item | user's behavioral characteristics, item's characteristics) x P(user's behavioral characteristics | user attribute 1, user attribute 2) x P(item's behavioral characteristics | item attribute 1, item attribute 2)

[0093] [Example of Probability Expression of Conditional Probability Distribution P(Y|X)] The joint probability distribution expression unit 230 expresses, for example, the probability that a user will view an item (Y=1) as a sigmoid function of the inner product of a user characteristic vector and an item characteristic vector. This expression method is called matrix factorization. The reason for adopting the sigmoid function is that the value of the sigmoid function ranges from 0 to 1, and the value of the function directly corresponds to the probability. The sigmoid function is an example of a "function" in the present disclosure. The expression is not limited to the sigmoid function, and other functions may also be used for model expression.

[0094] A specific example of the probability expression of P(Y|X) is shown in Fig. 14. Formula F14A shown in the upper part of Fig. 14 is an example of a formula in which the user characteristic vector θu and the item characteristic vector φi are each expressed as a five-dimensional vector by matrix decomposition, and the sigmoid function σ(θu · φi) of their inner product (θu · φi) is expressed as the conditional probability P(Y = 1 | user, item).

[0095] u is an index value that distinguishes users. i is an index value that distinguishes items. Note that the number of dimensions of the vector is not limited to five, and can be set to an appropriate number of dimensions as a hyperparameter of the model.

[0096] The user characteristic vector θu is expressed as the sum of the user's attribute vectors. For example, as shown in formula F14B in the middle of FIG. 14, the user characteristic vector θu is expressed as the sum of the user attribute 1 vector and the user attribute 2 vector. Furthermore, the item characteristic vector φi is expressed as the sum of the item attribute vectors. For example, as shown in formula F14C in the bottom of FIG. 14, 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 dataset (learning data) of user behavior history for a given domain.

[0097] For example, the vector values ​​are updated using, for example, stochastic gradient descent (SGD) so that P(Y=1|user, item) is large for pairs of users and items who viewed the items, and P(Y=1|user, item) is small for pairs of users and items who did not view the items.

[0098] Regarding a method for learning a joint probability distribution representation from data, a case in which P(Y|X) is represented by matrix decomposition as shown in FIG. 14 will be described. The means for representing the joint probability distribution is not limited to matrix decomposition, and any method capable of predicting the conditional probability P(Y|X) may be used. For example, logistic regression or Naive Bayes may be applied instead of matrix decomposition. Any prediction model can also be used as a means for representing the joint probability distribution by calibrating the output score so that it approaches the probability P(Y|X). For example, a support vector machine (SVM), a gradient boosting decision tree (GDBT), or a neural network model of any architecture may also be used. Furthermore, a joint probability distribution representation may be achieved using an ensemble of multiple prediction models.

[0099] For the joint probability distribution P(X, Y) shown in Figures 13 and 14, the parameters to be learned from the data are as follows: 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 Note that these parameters satisfy the following relationships: θ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 user attribute 1 has 10 types of department, user attribute 2 has 6 levels of age, item attribute 1 has 20 types of document type, and item attribute 2 has 5 types of file type, the number of attribute types is 10 + 6 + 20 + 5 = 41, so k can take on values ​​from 1 to 41. For example, k=1 corresponds to the sales department of user attribute 1, and the index value of user attribute 1 of user u is expressed as k_u^1.

[0100] The values ​​of each of the user attribute 1 vector Vk_u^1, the user attribute 2 vector Vk_u^2, the item attribute 1 vector Vk_i^1, and the item attribute 2 vector Vk_i^2 are determined by learning from the learning data.

[0101] As a loss function for learning, for example, logloss shown in the following equation (1) is used.

[0102] L = -{Y log σ(θu · φi) + (1 - Y) log (1 - σ(θu · φi)} (1) If user u views item i, Y = 1, and the larger the predicted probability σ(θu · φi), the smaller the loss L. Conversely, if user u does not view item i, Y = 0, and the smaller σ(θu · φi), the smaller the loss L.

[0103] The joint probability distribution representation unit 230 learns the parameters of the vector representation so as to reduce the loss L. For example, when performing optimization using the stochastic gradient descent method, the joint probability distribution representation unit calculates the partial derivative (gradient) of each parameter with respect to the loss function, and changes the parameters in a direction that reduces the loss L in proportion to the magnitude of the gradient.

[0104] For example, 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).

[0105] In equation (2), α is the learning rate.

[0106] Generally, among a large number of items, there are far more items with Y = 0 than items with Y = 1, so when behavioral history data such as that shown in Figure 12 is saved as a table, only Y = 1 is retained, and pairs of user u and item i that are not included in the behavioral history data are learned as Y = 0. In other words, if only positive example data is saved, negative examples can be easily generated as those not included in the positive example data.

[0107] 15 is an explanatory diagram showing the relationship between formula F14A, which expresses the conditional probability of a user's behavior (Y=1) with respect to a combination of the user's behavioral characteristics and the item's characteristics, and a DAG, which expresses the dependency relationship between variables in the joint probability distribution P(X, Y). As shown in Fig. 15, formula F14A expresses the conditional probability of the part enclosed by a dashed-line frame FR1 in the DAG shown in Fig. 15.

[0108] 16 is an explanatory diagram showing the relationship between a user's behavioral characteristics defined by a combination of user attribute 1 and user attribute 2, an item's behavioral characteristics defined by a combination of item attribute 1 and item attribute 2, and a DAG expressing the dependency relationship between variables. As shown in FIG. 16, formula F14B represents the relationship of the portion enclosed by a dashed frame FR2 in the DAG shown in FIG. 16. Furthermore, formula F14C represents the relationship of the portion enclosed by a dashed frame FR3 in the DAG shown in FIG. 16.

[0109] [Regarding the probability distribution P(X) of each attribute of user attributes and item attributes] The joint probability distribution P(X, Y) requires not only P(Y|X) but also an expression for P(X). The probability P(X) of each attribute can be calculated by using the ratio of attribute values ​​present in the training data. The training data here refers to the original data set used for training when determining the joint probability distribution P(X, Y).

[0110] FIG. 17 shows an example of the probability P(X) for each attribute of the explanatory variable. A specific example of the probability distribution for user attribute 2 is shown here. User attribute 2 in the training data is divided into, for example, six levels, and the proportion of each level present in the training data can be the probability distribution for user attribute 2. Statistical processing of the training data can obtain the proportion of each level present (probability distribution) for user attribute 2. The proportion of attribute values ​​present in the training data can also be applied to the probability distributions of other attributes, such as user attribute 1, item attribute 1, and item attribute 2, in a similar manner.

[0111] [Example of Expression of Joint Probability Distribution Taking Context into Account] FIG. 18 is an example of a DAG of a joint probability distribution that includes a context as an explanatory variable X. The differences between the graph shown in FIG. 18 and FIG. 13 will be explained below. The graph shown in FIG. 18 shows that the objective variable, a user's behavior toward an item, depends on the user's behavioral characteristics, the item's characteristics, and the context's characteristics (complex context), and that the context's characteristics depend on context attribute 1 and context attribute 2. The rest of the configuration is the same as FIG. 13. When there is a dependency between variables as shown in FIG. 18, the joint probability distribution P(X, Y) can be decomposed into elements as follows: P(Y|X)=P(user's behavior toward an item|user's behavioral characteristics, item's characteristics, context's characteristics)×P(user's behavioral characteristics|user attribute 1, user attribute 2)×P(item's characteristics|item attribute 1, item attribute 2)×P(context's characteristics|context attribute 1, context attribute 2)

[0112] In this case, the joint probability distribution representation unit 230 represents, for example, the probability that a user will view an item (the probability that Y = 1) as a sigmoid function of the sum of the dot product of the user characteristic vector and the item characteristic vector, the dot product of the item characteristic vector and the context characteristic vector, and the dot product of the context characteristic vector and the user characteristic vector.

[0113] Figure 19 shows an example of a probability expression of P(Y|X) that also takes into account the influence of context. Formula F19A shown in the upper part of Figure 19 is an example of a formula that, by matrix decomposition, represents the user characteristic vector θu, item characteristic vector φi, and context characteristic vector νc as five-dimensional vectors, and expresses the sigmoid function σ(θu φi + φi νc + νc θu) of the sum of the inner products of these three types of vectors as the conditional probability P(Y = 1 | user, item, context).

[0114] The context characteristic vector vc is expressed as the sum of the attribute vectors of the context. For example, as shown in formula F19B in the lower part of FIG. 19 , the context characteristic vector vc is expressed as the sum of the context attribute 1 vector and the context attribute 2 vector.

[0115] 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 learning from a dataset (learning data) of user behavior history for a given domain.

[0116] In the dependency relationships between variables shown in FIG. 18, the parameters to be learned from the dataset 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 However, these parameters satisfy the following relationship: νc = Vk_c^1 + Vk_c^2

[0117] In this case, for example, the log loss shown in the following equation (3) is used as the loss function during learning instead of equation (1): L = -[Y log σ(θu·φi+φi·νc+νc·θu)+(1-Y) log {1-σ(θu·φi+φi·νc+νc·θu)]] (3)

[0118] [Regarding Calibration of Prediction Models] Depending on the model design, the predicted score output from the model may not necessarily correspond to a numerical value representing the probability of an action. 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) approaches the probability of the actual action Y=1 (the action occurs). This type of conversion is called calibration.

[0119] Fig. 20 is a graph showing an example of calibration. The horizontal axis of Fig. 20 represents the predicted score output from the model, and the vertical axis represents the probability of Y = 1. Fig. 20 shows an example in which the predicted score output by the model can take values ​​ranging from "-10" to "+10."

[0120] To perform calibration, the processor 102 examines the relationship between the predicted score and the probability of Y=1. The probability of Y=1 here corresponds to the frequency of Y=1 in the training data. For example, assume that the relationship between the predicted score and the probability of Y=1 is as shown in FIG. 20 . In FIG. 20 , when the predicted score is “−10,” the probability of Y=1 is “0.2,” when the predicted score is “0,” the probability of Y=1 is “0.4,” and when the predicted score is “+10,” the probability of Y=1 is “0.9.” In this case, calibration converts the score value “−10” to “0.2,” the score value “0” to “0.4,” and the score value “+10” to “0.9.” By applying such calibration, even if the output score of a model does not necessarily correspond to a probability, the output score can be converted into a probability expression, thereby increasing the degree of freedom in model selection.

[0121] [Regarding Data Generation] Once the expression of the joint probability distribution P(X, Y) is determined, the explanatory variable X and the response variable Y can be probabilistically sampled from the joint probability distribution P(X, Y). For example, the data generation unit 234 can generate data on the explanatory variable X and the response variable Y by the following procedure. Here, an example of the joint probability distribution P(X, Y) expressed by the DAG shown in FIG. 13 will be described.

[0122] [Step 1] Sample user attributes and item attributes from P(X). For example, if P(user attribute 2 = 40s) = 0.25, then user attribute 2 is set to the 40s with a 25% probability. In this way, data for user attribute 2 can be generated by determining the probability of data generation. Similarly, data for other attribute data can be generated according to their respective probability distributions.

[0123] [Step 2] Based on the vector representations corresponding to the sampled user attributes and item attributes, a user attribute vector and an item attribute vector are generated (see FIG. 14).

[0124] [Step 3] P(Y|X) is obtained from the logistic function of the inner product of the user characteristic vector and the item characteristic vector. Note that in FIG. 14, a sigmoid function is used as the logistic function.

[0125] [Step 4] Based on P(Y|X), sample Y. For example, if P(Y|X)=0.2 for X sampled in step 1, Y=1 with a probability of 20%, that is, it is a positive example.

[0126] However, if data for X and Y are generated from P(X, Y) that has been learned from the original data set, data in the same domain as the original data set will be generated. In this embodiment, to generate data in a different domain, the joint probability distribution modification unit 232 modifies P(X, Y) before data generation, and the data generation unit 234 generates data based on the modified joint probability distribution Pm(X, Y).

[0127] [Example 1 of Method for Modifying Joint Probability Distribution] Figure 21 is an explanatory diagram showing Example 1 of Method for Modifying Joint Probability Distribution. Figure 21 shows an example of modifying the joint probability distribution P(X, Y) by changing the probability distribution P(X) of explanatory variable X. The joint probability distribution P(X, Y) can be modified by changing at least one of the probability distributions of user attribute 1, user attribute 2, item attribute 1, item attribute 2, context attribute 1, and context attribute 2.

[0128] 21 shows a specific example of how the distribution of user attribute 2 (age) is changed. Assume that the probabilities for each age group of user attribute 2 in the original dataset 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, and P(user attribute 2 = 70s) = 0.05. These probabilities for each age group are determined by statistically processing the original dataset. With regard to the probabilities for each age group of this user attribute 2, for example, the joint probability distribution modification unit 232 changes the distribution as follows: P(user attribute 2 = 20s) = 0.25, P(user attribute 2 = 30s) = 0.30, P(user attribute 2 = 40s) = 0.25, P(user attribute 2 = 50s) = 0.10, P(user attribute 2 = 60s) = 0.05, P(user attribute 2 = 70s) = 0.05. In other words, the joint probability distribution modification unit 232 sets the generation probability when generating data for user attribute 2 to this modified probability.

[0129] In this way, for example, it is possible to change the distribution of user attributes, such as what age group has a large number of users or what occupation type has a large number of users. Changing the age distribution means modifying the generation probability distribution of the data of user attribute 2, and is an example of "changing the generation probability distribution" in the present disclosure.

[0130] [Example 2 of a method for modifying a joint probability distribution] Figure 22 is an explanatory diagram showing Example 2 of a method for modifying a joint probability distribution. Figure 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 within frame FR4 indicated by the dashed line in the figure. Figure 22 shows an example of strengthening the influence of user attribute 2 on user behavioral characteristics regarding the relationship between user attribute 1, user attribute 2, and user behavioral characteristics.

[0131] 22 also shows an example of eliminating the influence of item attribute 2 and context attribute 2. That is, in FIG. 22, an example is shown in which, regarding the relationship between item attribute 1, item attribute 2, and item characteristics, the item characteristics eliminate (erase) the dependency of item attribute 2, and further, regarding the relationship between context attribute 1, context attribute 2, and context characteristics, an example is shown in which the item characteristics eliminate the dependency of item attribute 2. Eliminating dependency is an extreme example of weakening the degree of influence.

[0132] Figure 23 shows examples of modified user characteristic vectors and item attribute vectors. Formula F23A shown in the upper part of Figure 23 is an example of increasing the influence of user attribute 2, and shows an example in which when combining the user attribute 1 vector and the user attribute 2 vector to obtain a user characteristic vector, the user attribute 2 vector is multiplied by 3 and added to the user attribute 1 vector. The coefficient (3 in this case) by which the user attribute 2 vector is multiplied is a value indicating the degree of influence. The user attribute 1 vector may also be multiplied by an appropriate coefficient indicating the degree of influence.

[0133] Formula F23B shown in the lower part of Fig. 23 is an example of eliminating the influence of item attribute 2, and shows an example in which 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. Note that, although not shown in Fig. 23, when eliminating the influence of context attribute 2, the context attribute 1 vector can be used as the context characteristic vector without changing it, just like formula F23B.

[0134] [Example 3 of Method for Modifying Joint Probability Distribution] As a method for modifying the joint probability distribution, for example, if there is an internal rule in an organization such as "AA documents must be checked within p days," one possible mode is to reflect a change in this rule. The internal rule in an organization may be, for example, an internal rule in a company or an internal rule in a hospital. It is thought that browsing behavior changes (is affected) by such rules. An example of a change in an internal rule is a change in the conditions for holding a conference. Furthermore, an example of a change in rules regarding purchasing behavior on an e-commerce site is a change in taxation, such as "the tax rates for food and other items will each be x%."

[0135] [Overall Flow of Information Processing Method According to Embodiment] FIG. 24 is a flowchart showing the basic steps of a data generation method using the information processing apparatus 100 according to the embodiment.

[0136] In step S111, the processor 102 calculates a joint probability distribution P(X, Y) from the training data. The training data here is, for example, behavioral history data actually collected at a facility such as a company or a hospital, and is the data of the above-mentioned original data set.

[0137] The step of calculating the joint probability distribution P(X,Y) includes the following two steps [1A] and [1B]. That is, the process of calculating the joint probability distribution P(X,Y) includes learning P(Y|X) from training data (1A) and learning P(X) from training data (1B). Although it is necessary to learn both P(Y|X) and P(X), the order in which these learning steps are performed does not matter.

[0138] Next, in step S112, the processor 102 modifies the joint probability distribution P(X,Y) calculated in step S111. Modification of P(X,Y) can take the following two forms [2A] and [2B]. That is, there are forms (2A) in which P(Y|X) is modified, and forms (2B) in which P(X) is modified. Either P(Y|X) or P(X) can be modified, or both can be modified.

[0139] Next, in step S113, the processor 102 generates data from the joint probability distribution modified in step S111. If the modified joint probability distribution is Pm(X, Y) = Pm(X) × Pm(Y|X), step S113 includes the following two processes [3A] and [3B]. That is, step S113 includes a process (3A) for generating X from Pm(X) and a process (3B) for generating Y from Pm(Y|X). The processor 102 generates X from Pm(X), and then generates Y from Pm(Y|X) using X.

[0140] After step S113, the processor 102 ends the flowchart in FIG.

[0141] [Method for generating data for multiple domains] Fig. 25 is a flowchart showing the procedure of a method for generating data for multiple domains by the information processing device 100 according to the embodiment. In Fig. 25, steps common to Fig. 24 are assigned the same step numbers, and duplicated explanations will be omitted. The same applies to the other figures.

[0142] One set of domain data is obtained by combining the modification in step S112 and the data generation in step S113. Therefore, by repeating steps S112 and S113 multiple times with different modification methods, multiple sets of domain data can be generated.

[0143] That is, after step S113, in step S114, the processor 102 determines whether or not 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 modification. In this way, by executing steps S112 and S113, different domain data is generated.

[0144] If the determination result in step S114 is No, the processor 102 ends the flowchart in FIG.

[0145] [Example 1 of Use of Generated Data: Flow for Use in Domain Generalization Learning] Fig. 26 is a flowchart showing the procedure for using data generated by the information processing device 100 according to the embodiment for domain generalization learning. In Fig. 26, steps S111 to S113 are the same as those in Fig. 24. In the flowchart shown in Fig. 26, step S115 is added after step S113 in Fig. 24.

[0146] In 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 the data may be different devices from the machine learning device that trains the model 14 using the generated data as learning data, or they may be the same device. Furthermore, step S115 may be executed after data for multiple domains is generated, as described in FIG. 25.

[0147] 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 times or consecutively. For example, data for one or more, preferably multiple, different domains may be generated in advance in steps S111 to S113 to prepare the data to be used for learning, and then model 14 may be trained using data from multiple domains including the original learning data (original data set). Furthermore, for example, when training model 14, data may be generated on the fly and the generated data may be input to model 14 to perform learning.

[0148] After step S115, the processor 102 or another processor ends the flowchart of FIG.

[0149] [Example 2 of Use of Generated Data: Flow when Used to Evaluate Domain Generalizability] Figure 27 is a flowchart showing the procedure when data generated by the information processing device 100 according to the embodiment is used to evaluate domain generalizability. In Figure 27, steps S111 to S113 are the same as those in Figure 24. In Figure 27, step S116 is added after step S113.

[0150] In step S116, the processor 102 or another processor uses the original training data or the generated data for model evaluation. Step S116 can be performed in the following two modes [4A] and [4B]. That is, mode (4A) is used to train the model 14 using the original training data and evaluate the model 14 using the generated data, and mode (4B) is used to train the model 14 using the generated data and evaluate the model 14 using the original training data. The processor 102 or another processor may perform either [4A] or [4B]. Note that the processor 102 or another processor may perform both [4A] and [4B] and take the average of the evaluation values.

[0151] After step S116, the processor 102 or another processor ends the flowchart of FIG.

[0152] [Example 3 of Use of Generated Data: When Used for Both Learning and Evaluation] When using data generated by the information processing device 100 for both learning and evaluation of the model 14, for example, it is possible to prepare data of at least three different domains including the original learning data (data of the first domain), first pseudo domain data (data of the second domain) generated by the information processing device 100, and second pseudo domain data (data of the third domain), and to use two of the domain data to learn the domain generalization model 14 and use the remaining domain data to evaluate the model 14.

[0153] [Example 4 of Use of Generated Data] In addition to being used for learning and / or evaluation to build a recommendation model, the data indicating the behavioral history of users in the pseudo-domain generated by the information processing device 100 can also be used, for example, in the following ways.

[0154] [Another use case 1: Use in demand forecasting] For example, in the case of data on product (item) purchasing behavior, if purchase predictions are made for all users and the prediction results for each item are added up, a predicted value for the total number of purchases can be obtained. The predicted value for the total number of purchases corresponds to a value indicating demand. If demand is known, it is possible to take measures such as purchasing products in advance based on the predicted value.

[0155] [Another Use Case 2: Utilization to Prevent User Churn] By aggregating all items for each user from the data of the user's behavior history, a value indicating the user's activity level can be obtained. For example, a decrease in activity level is considered to increase the risk of the user churn. One possible use case is to predict user behavior from the data as a measure to prevent such user churn.

[0156] [Regarding the program that operates the computer] A program that causes a computer to realize some or all of the processing functions of the information processing device 100 can be recorded on a computer-readable medium, such as an optical disk, a magnetic disk, a semiconductor memory, or other tangible, non-transitory information storage medium, and the program can be provided through this information storage medium.

[0157] In addition, instead of providing the program by storing it on such 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.

[0158] Furthermore, some or all of the processing functions of the information processing device 100 may be realized by cloud computing, and may also be provided as SaaS (Software as a Service).

[0159] [Hardware configuration of each processing unit] The hardware structure of the processing units that execute various processes in the information processing device 100, such as the data acquisition unit 220, the joint probability distribution representation unit 230, the joint probability distribution modification unit 232, the data generation unit 234, the explanatory variable generation unit 235, and the target variable generation unit 236, is, for example, various processors as shown below.

[0160] The various types of processors include CPUs, which are general-purpose processors that execute programs and function as various processing units, GPUs, programmable logic devices (PLDs) such as FPGAs (Field Programmable Gate Arrays) that are processors whose circuit configuration can be changed after manufacture, and dedicated electrical circuits such as ASICs (Application Specific Integrated Circuits) that are processors with a circuit configuration designed specifically for executing specific processing.

[0161] A single processing unit may be configured with one of these various processors, or may be configured with two or more processors of the same or different types. For example, a single processing unit may be configured with multiple FPGAs, a combination of a CPU and an FPGA, or a combination of a CPU and a GPU. Multiple processing units may also be configured with a single processor. Examples of multiple processing units configured with a single processor include, first, a configuration in which a single processor is configured with a combination of one or more CPUs and software, as typified by client or server computers, and this processor functions as multiple processing units. Second, a configuration in which a processor is used to realize the functions of an entire system including multiple processing units on a single IC (Integrated Circuit) chip, as typified by a system-on-chip (SoC). In this way, the various processing units are configured with one or more of the above-mentioned various processors as a hardware structure.

[0162] Furthermore, the hardware structure of these various processors is, more specifically, an electric circuit made up of a combination of circuit elements such as semiconductor elements.

[0163] Advantages of the embodiment According to the information processing device 100 according to the embodiment, it is possible to generate data indicating the behavioral history of a user in a domain different from the original data set based on a joint probability distribution Pm(X, Y) obtained by modifying a joint probability distribution P(X, Y) obtained from a given original data set. By using the generated data as training data, it is possible to train a domain-generalized model 14. Furthermore, by using the generated data as evaluation data, it is possible to evaluate domain generalizability.

[0164] According to this embodiment, even if it is difficult to prepare data for multiple domains in reality, pseudo-data for a different domain can be generated from data for one given domain, making it possible to provide a domain-generalized recommender system. Using the data generated by this embodiment can contribute to improving the performance of the recommender system and realizing highly reliable performance evaluation.

[0165] [Other Application Examples] In the above-described embodiment, the user behavior history regarding document viewing has been described as an example, but the scope of application of the present disclosure is not limited to document viewing, and can be applied to data regarding user behavior regarding various items, regardless of the purpose, such as viewing medical images, purchasing products, or watching content such as videos.

[0166] [Others] The present disclosure is not limited to the above-described embodiments, and various modifications are possible within the scope of the gist of the technical idea of ​​the present disclosure.

[0167] 10 Recommendation system 12 Prediction model 14 Model 100 Information processing device 102 Processor 104 Computer readable medium 106 Communication interface 108 Input / output interface 110 Bus 112 Memory 114 Storage 130 Joint probability distribution expression program 132 Joint probability distribution modification program 134 Data generation program 140 Original dataset storage unit 142 Joint probability distribution expression storage unit 144 Generated data storage unit 152 Input device 154 Display device 220 Data acquisition unit 230 Joint probability distribution expression unit 232 Joint probability distribution modification unit 234 Data generation unit 235 Explanatory variable generation unit 236 Objective variable generation unit 240 Data storage unit F14A Formula F14B Formula F14C Formula F19A Formula F19B Formula F23A Formula F23B Formula FR1 frame FR2 frame FR3 frame FR4 frame IT1 item IT2 item IT3 item S111 to S114: Steps of information processing method S115: Step of learning a domain-generalized model S116: Step of evaluating the model Xmj: Explanatory variable Ymj: Objective variable

Claims

1. 1. An information processing method executed by one or more processors, comprising: the one or more processors, For a data set including behavioral histories of a plurality of users with respect to a plurality of items, a joint probability distribution between the objective variable and explanatory variables is expressed using the actions of the users with respect to the items as an objective variable; modifying a portion of the joint probability distribution; generating data based on the modified joint probability distribution. Information processing methods.

2. The modification includes changing a generation probability distribution of at least a portion of the explanatory variables. The information processing method according to claim 1 .

3. The modification includes changing the strength of dependency between the explanatory variables. The information processing method according to claim 1 .

4. The modification includes reflecting a change in a rule that affects the joint probability distribution. The information processing method according to claim 1 .

5. the one or more processors perform machine learning using the dataset to generate a model that represents the joint probability distribution; The information processing method according to claim 1 .

6. The explanatory variables include attributes of the user and attributes of the item. The information processing method according to claim 1 .

7. The explanatory variables further include a context. The information processing method according to claim 6.

8. the expression of the joint probability distribution includes an expression of a conditional probability distribution represented by a function using an 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; The information processing method according to claim 6.

9. the expression of the joint probability distribution includes an expression of a conditional probability distribution represented by a function using a sum of an inner product of a user characteristic vector expressed using a vector indicating an attribute of the user and an item characteristic vector expressed using a vector indicating an attribute of the item, an inner product of the item characteristic vector and a context characteristic vector expressed using a vector indicating an attribute of the context, and an inner product of the context characteristic vector and the user characteristic vector. The information processing method according to claim 7.

10. The function is a logistic function. The information processing method according to claim 8.

11. one or more processors; and one or more memories in which instructions to be executed by the one or more processors are stored, the one or more processors, For a data set including behavioral histories of a plurality of users with respect to a plurality of items, a joint probability distribution between the objective variable and explanatory variables is expressed using the behavior of the users with respect to the items as an objective variable; Modifying a portion of the joint probability distribution; generating data based on the modified joint probability distribution; Information processing device.

12. On the computer, A function of expressing a joint probability distribution between a target variable and an explanatory variable for a data set including a behavior history of a plurality of users with respect to a plurality of items, the target variable being the behavior of the user with respect to the plurality of items; modifying a portion of the joint probability distribution; generating data in response to the modified joint probability distribution; A program to achieve this.

13. A non-transitory computer-readable recording medium having the program according to claim 12 recorded thereon.