Data processing method, computer readable medium, recommendation system and electronic equipment
By applying the reverse proof logic method in the recommendation system, the problem of time-consuming and high calculation cost in the interpretation process in the prior art is solved, efficient and low-cost interpretation provision is achieved, and user experience is improved.
Patent Information
- Application Number
- CN202411344683.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-26
- Filing Date
- 2024-09-25
- Publication Date
- 2025-03-28
AI Technical Summary
Existing recommendation systems are difficult to provide efficient and low-cost explanations, and the interpretation process is often time-consuming and computationally expensive.
Using the counter-evidence logic method, a recommendation explanation is provided by negatively denied the user's preference for the recommended project and switching it with another project. The specific steps include determining the preference value based on the data of the user and the project, modifying the user data to reduce the preference value, making the recommended item not recommended, using the modified data to determine the preference value of the interactive item, and identifying the item with the greatest difference as the precedent of the recommended item.
It realizes reliable and fast explanations in the recommendation system, reduces calculation costs and time-consuming, and improves user experience.
Smart Images

Figure CN119719475A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of recommender systems. Background Art
[0002] Recommender systems have become ubiquitous in online platforms to help users discover new items of interest. These systems analyze historical user interactions with items and suggest new items based on these interactions to provide personalized recommendations that match user preferences. In the field of recommender systems, "items" are often broadly interpreted to include not only products that a user might purchase, but also, for example, web pages that may or may not be served to the user, as well as other examples that will be familiar to those skilled in the art. Factorization models, such as singular value decomposition (SVD) models, are often used in recommender systems to predict user preferences for items based on latent factors derived from the user's interaction history.
[0003] However, a significant challenge faced in recommender systems is explaining why a particular item is recommended to a user. This is desirable to improve the user experience when interacting with the recommender system. The more accurate the explanation, the better the user experience.
[0004] A recommender system is often a black box, and it may not be possible to reverse engineer the decision-making process to explain why an item was recommended. Therefore, explanations often require some reverse analysis of the operation of the recommender system. "Counterfactual explanations" are often used to explain recommendations by determining the smallest change in the user's interaction history that could have produced a different recommendation. This approach requires deleting (user, item) pairs from the user's history and retraining the model, which can be time-consuming and computationally expensive. Summary of the invention
[0005] The invention is defined in the claims.
[0006] This summary is provided to introduce some simplified concept selections, which will be further described in the detailed description below. This summary is not intended to identify the key features or essential features of the claimed subject matter. Variants and alternative features that contribute to the working of the claimed subject matter and / or are used to achieve substantially similar technical effects should be considered to fall within the scope of the claims.
[0007] A novel recommendation method called "contrapositive explanation" or contrapositive logic is described below. Contrapositive logic involves negating and switching the order of antecedents and consequents of an implied statement. The proposed method uses this logic to provide a recommendation explanation by negating the user's preference for a recommended item and switching it with another item.
[0008] The following provides a method for explaining why an item is recommended to a user in a recommendation system. The method can be implemented by a computer.
[0009] The method described below includes determining a user's preference value for a recommended item based on data related to the user and the item. This can take the form of an interaction score, which is further explained below, which is sometimes referred to in the art as a "recommendation score." The user data is then modified to reduce the determined preference value so that the recommended item will not be recommended to the user. The modified user data is then used to determine preference values for items with which the user has interacted. These preference values will be different from preference values previously determined based on unmodified user data. One or more items with which the user has interacted can then be identified from these preference values, for which the determined preference values differ most from the previously determined preference values. It can be concluded that the user's interaction with these (multiple) identified items is a prerequisite for the recommended item to be recommended.
[0010] The present invention may be implemented in software form.Therefore, there is also provided a computer readable medium in transitory or non-transitory form, comprising instructions which, when implemented in a processor of a computing system, cause the system to implement any of the methods described herein.
[0011] The present invention also provides a recommendation system, which is configured to implement any method described herein.
[0012] There is also provided herein an electronic device comprising a processor and a memory, wherein the processor is configured to implement any of the methods described herein. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Embodiments of the present invention are described below by way of examples with reference to the accompanying drawings.
[0014] Figure 1 is a flow chart schematically illustrating a method of explaining why an item is recommended to a user;
[0015] Figure 2 is a graph illustrating an evaluation metric comparing the method described herein with counterfactual logic;
[0016] Figure 3a-3c is a set of graphs comparing the experimental results of the method described in this paper with other possible methods for explaining recommendations;
[0017] Figure 4 is a block diagram illustrating an example computing system that can be used to implement any of the methodologies described herein. Specific implementation method
[0019] Embodiments of the present invention are described below by way of example only. These examples represent the best mode currently known to the applicant to put the present invention into practice, but the example is not the only way to achieve this goal. The description sets forth the functions of the example and the order of steps to build and operate the example. However, the same or equivalent functions and sequences may be accomplished by different examples.
[0020] The core technical problem to be solved is to provide reliable explanations that are less time-consuming or computationally expensive than currently available solutions. The following proposes to provide such explanations in the form of reductio ad absurdum logic rather than counterfactual logic. The following is a brief explanation of what reductio ad absurdum logic means using a simple example.
[0021] [Example] Consider the following two statements:
[0022] A: It’s raining.
[0023] B: The road is wet.
[0024] From the above we can derive the following logical statement: A → B, i.e., it is raining and this implies that the road is wet. The logical equivalent is That is, the road is not wet, which implies that, for example, it did not rain yesterday. This kind of logic is referred to herein as proof-by-contradiction logic.
[0025] This is in contrast to counterfactual logic, which Reasoning is done, i.e., it is not raining and this implies that the road is not wet. This is not always the case, as a bucket of water may make the road wet. These are two different statements, and in this article, we are specifically concerned with trying to achieve A → B.
[0026] With this in mind, here is an explanation of how to use contradiction in explaining a recommender system. The explanation logic used is as follows:
[0027] [Recommendation System Example] Consider again the following two statements:
[0028] A: User u interacted with item j in the user history.
[0029] B: Recommend item i to user u.
[0030] In this case, j is a historical item (i.e., an item that has already been viewed) and i is a new item (i.e., an item to be recommended). In this paper, the goal is to find an explanation that will lead to the logical conclusion A→B, allowing the statement to be made: A→B, i.e., item i was recommended to user u because he interacted with item j. However, this is often difficult to find, and can be computationally expensive if all combinations of a given user's history are exhaustively searched.
[0031] The following logically equivalent line of proof is proposed That is, if we did not recommend user item i, then the user would not have interacted with item j. From this, we can reliably conclude that item i was recommended to user u because user u interacted with item j. As explained below, this is much easier to calculate and find.
[0032] In this section, we introduce a method for generating so-called refutational explanations that can be used in any recommender system. The SVD model is introduced as an example as a simple case study, and then we provide instructions on how to apply refutational explanations to any differentiable model, such as neural networks.
[0033] Formula for Recommender System
[0034] Before we delve into the details of Singular Value Decomposition (SVD) and Multilayer Perceptron (MLP) models, let’s first explain some basic elements of recommendation systems. The key components of SVD and MLP models are as follows:
[0035] User-item pairs (u,i): These pairs represent user u EU and item i EI u The interaction between them, where U is the set of all users, and I u is the set of items that user u has interacted with.
[0036] Training data: The data in the recommendation system usually consists of the user-item interaction matrix RER mxn where m represents the number of users and n represents the total number of items. Each element Rui corresponds to the rating given by user u to item i.
[0037] User / item embeddings (pu,qi): Each user u and item i is represented in the latent space by a vector or embedding, denoted as p u and q i These embeddings are computed during the training process (SVD or MLP) and capture the essential characteristics and preferences of users and items.
[0038] SVD – Overview
[0039] SVD is a matrix factorization model widely used in recommender systems, and it allows predicting user preferences by decomposing the user-item interaction matrix R into two low-rank matrices as follows:
[0040] PER mxd and QER nxd ,according to:
[0041] R≈PQT
[0042] In this paper, d is the number of predefined latent factors. Each row in the matrices P and Q represents the latent factor vectors for users and items, respectively. These vectors (denoted by p u and q i ) is used as an embedding that encapsulates the basic characteristics of user u and item i in d-dimensional space. In order to exploit the predictive power of the SVD model, the interaction score between the user and each unrated item is first calculated. An unrated item is an item that the user has not interacted with and therefore has not rated. The interaction score indicates the predicted rating or preference of user u for item i and is calculated as the dot product of the corresponding user and item embeddings. Therefore, the score function s(u,i) is defined as:
[0043] s(u,i)=p T u q i = <p u ,qi>
[0044] Once the scores between user u and all unrated items are calculated, these scores can be sorted and the items with the highest interaction scores can be recommended.
[0045] Multilayer Perceptron - Overview
[0046] On the other hand, MLP models go beyond the linear relationships captured by SVD. They utilize neural networks to process the concatenated user and item embeddings to capture the potential nonlinear interactions between users and items. In this case, given the user embedding pu and the item embedding q i , the score function (denoted as s(u,i)) is defined as:
[0047] s(u,i)=MLP([p u ;q i ];9)
[0048] In this paper, MLP([p u ;q i ]; 9) is a neural network parameterized by 9. Similar to the SVD model, when making new recommendations for users, the scores are sorted and the items with the highest scores are selected.
[0049] Next, the details of these models and how explanations are generated are explained in more detail. Figure 1 is a flow chart illustrating a method of interpreting item recommendations, which method may use the two models described herein and may be implemented in other models familiar to those skilled in the art.
[0050] The method starts at step 100, receiving the recommendation and the user's previous interaction with the item. At step 102, the user's preference value for the recommended item is determined. This is based on data related to the user and the item. In the two models described herein and possible other models, this preference can be in the form of an interaction score. The next step 104 is to modify the user data to reduce the determined preference value so that the recommended item will not be recommended to the user. Then, at step 106, the modified user data is used to determine the preference value of the item with which the user has interacted. These preference values will be different from the preference values previously determined based on the unmodified user data. Then, at step 108, one or more items with which the user has interacted can be identified, for which the determined preference value differs the most from the previously determined preference value. It can be logically concluded that the interaction with these (multiple) identified items is a precondition for the recommended item being recommended. At step 110, the explanation can be displayed to the user. This can be in the form of, for example, "Because you interacted with [(multiple) items identified in step 108], you are recommended [recommended item]".
[0051] Counterfactual explanations and influence functions
[0052] One of the main approaches to explaining recommender systems is through counterfactual explanations. These explanations seek to determine the relationship between the items recommended by the system and the user’s interactions with those items. There is not much work in the field of recommender systems in this regard, however most of them attempt to compute counterfactual explanations of the form logical statements that indicate that item i is not recommended because user u has not interacted with item j. In other words, because removing item j changes the recommendations for user u, item j serves as an explanation for the influence on the recommendation of item i. However, computing such counterfactual explanations can be challenging, especially when trying to determine which historical item(s) were responsible for a given recommendation. One approach is to remove combinations of related items from the training data and retrain the model, but this is computationally infeasible, especially for large neural networks. To address this issue, researchers have proposed new methods, such as influence functions, which approximate model retraining when one or more data points are removed.
[0053] Influence functions are popular because they can approximate a retrained differentiable model without retraining the entire model. However, they also have limitations (such as the need to compute the Hessian matrix, which is computationally infeasible for large networks, and their second-order approximation to the model can lead to misleading results. Others have attempted to train a surrogate model that learns a mapping from the removed items to the retrained model. However, these methods suffer from extensive offline training of the surrogate model, which can be prohibitive in practice.
[0054] Even in the hypothetical case where the function Retraining can take as input a recommender system R and output a system that has not yet been trained on a specific user-item pair (u,i), and computing the set of explanations remains challenging. Specifically, if we want to find a set of explanations of size E for user u, we need to call the function least times and most Second-rate( Select E), where I u is the set of items that user u has interacted with. For larger models, this computation quickly becomes infeasible.
[0055] To address these challenges, we propose a new approach to explainable recommender systems based on counterfactual explanations. Unlike counterfactual explanations that attempt to identify necessary reasons for a recommendation, counterfactual explanations focus on identifying sufficient conditions for making a recommendation. Specifically, the goal is to compute a condition of the form This is equivalent to A→B.
[0056] Factor Model: SVD
[0057] Recall that the SVD model is a decomposition-based approach that represents users and items in a shared latent space. As noted above, a factor model is used to predict the user's preference value for the recommended items (in the form of a rating or interaction score s for a user-item pair (u,i)), where the interaction between a user and an item is represented as s(u,i) = <p u ,qi>, where p u ,qi∈R d is a d-dimensional latent factor that measures the consistency between user u’s preference and item i.
[0058] The goal is to achieve the statement This means that since item i will not be recommended to user u, user u will not interact with item j.
[0059] As a first step, the result: B is negated: "We recommend item i to user u". This is achieved by modifying the user data to lower the determined preference value so that the recommended item will not be recommended to the user.
[0060] The SVD model method proposed in this paper first constructs a user embedding p for user u u ′, so that item i is not recommended. In other words, the modified user data is based on the new user embedding p u ′. To achieve this, the user’s latent representation p u Will be in the same project as q i The perturbation in the opposite direction causes the interaction score to decrease and item i is no longer recommended. In other words, the negative value of “user u is recommended item i” was implemented.
[0061] More specifically, define a new User embedding:
[0062] p′ u =γp u -∈q i ,in
[0063] Therefore, the new interaction score of recommendation (u,i) can be expressed as:
[0064] s′(u,i)= <p′ u ,q i > =γs(u,i)-∈||q i || 2 <s(u,i).
[0065] For ease of explanation, γ = 1 is temporarily fixed. Intuitively, by choosing ∈ large enough, it is ensured that the recommended item i will no longer be recommended, because the score s'(u,i) will decrease. Specifically, if the new score is less than S, then:
[0066]
[0067] This leads to the second step of the reductio ad absurdum logic, namely, identifying one or more items with which the user has interacted as antecedents to the recommended items, for which the determined preference values differ most from the previously determined preference values.
[0068] In this example using SVD, the second step is to use p' u to determine which items the user is likely not to interact with. To this end, the explanation set is constructed by considering the difference between the old score s(u,h) and the new score s'(u,h), e.g.
[0069] Δ h=s(u,h)–s'(u,h), where h∈I u .
[0070] By h To sort, we can implicitly assume that the items with the most decreasing scores (using the new embedding p' u ) is also an item that user u will not interact with at the beginning. This hypothesis is verified in the experiments described further below.
[0071] Therefore, we can state the negation of the antecedent A: “user u interacted with item h”, i.e.
[0072] Putting the two parts of this reductio ad absurdum together, we can arrive at the statement “We did not recommend item i to user u”, so “User u does not interact with item h”. This is logically equivalent to A→B (i.e., user u did interact with item h), so we recommend item i.
[0073] To further illustrate the approach, we consider a scenario where user u receives a recommendation for the movie The Godfather Part II based on their previous interactions (one of which was The Godfather). A useful explanation for the user is the logical statement “given your interaction with The Godfather, you were recommended The Godfather Part II”. Using the proposed proof-by-contradictory approach, an explanation can be generated by first generating a user who was not recommended The Godfather Part II. This user may be referred to as a “virtual” user and is based on the new embedding p’ u If we observe a significant drop in the score of the previously recommended item (injected into The Godfather) compared to the ratings provided by "real" users, we can infer that the lack of recommendation of Godfather II may have caused the lack of interaction with The Godfather. Therefore, it can be logically inferred that "if the movie "Godfather II" had not been recommended, the real user would not have interacted with The Godfather" is equivalent to explaining "you were recommended The Godfather II because you interacted with The Godfather".
[0074] Factor model: MLP factor model
[0075] Having described the general framework of the SVD model, a natural question is how it can be applied to models such as machine learning models where user and item embeddings <p u ,q i > does not necessarily exist, such as the Neural Matrix Factorization "NeurMF" model. In these neural models, even if p u ,q i (i.e., user and item embeddings, respectively) are still constructed, and the inner product is no longer calculated <pu ,q i >, but the embeddings can be concatenated before pushing them through multiple multi-layer perceptron "MLP" layers.
[0076] Therefore, this can cause simple user embedding modifications to fail. Therefore, a non-inner-product approach is proposed, which essentially only needs to back-propagate the score of a given user to reduce its score for recommended item i. In other words, let p u ,q i are user and item embeddings respectively, and let is an MLP that concatenates [p u ,q i ] as input and output the corresponding relevance score.
[0077] In this case, the user embeds p u can be easily updated over k iterations as follows, where η is the learning rate:
[0078]
[0079] Note that all other parameters of the recommender system remain unchanged and only the embedding p u In this case, a new user embedding p' is generated for user u again. u , and the same procedure as above can be used, i.e., the items in the user history with the most decreased scores are selected as the explanation set based on the new embeddings.
[0080] Thus, a new user embedding is obtained for user u, and the same procedure as above can be repeated. Note that this computation is indeed more computationally heavy, as in the SVD case the item embedding for item i needs to be computed. However, since only a single data point needs to be backpropagated, this computation is fairly small. This is negligible compared to the computational cost associated with the influence function mentioned in the background section.
[0081] Discussion on counter-evidence and counterfactual explanations
[0082] Before moving on to the empirical study, we now describe in detail the differences and similarities between counterfactual and counterfactual explanations in the field of recommender systems. These two types of explanations rely on different logical structures. Logic, while contradiction explanation uses the reverse Logic. In simple terms, counterfactual explanations explore how recommendations would change if specific elements were removed. The counter-argumentation first notices the change in recommendation. Then seek to determine which elements are removed
[0083] To further illustrate these concepts, consider a movie recommendation system. A counterfactual explanation might emphasize that removing horror movies from a user’s viewing history (removing ) will cause the system to no longer recommend horror movies (recommended In contrast, contradiction explanations start with an observed change in the recommendation output—for example, no longer recommending horror movies (a change), and then determine that this change is due to the removal of horror movies from the user’s history (a removal ). To be clear, these two approaches to explanation are not mutually exclusive, i.e., a counterfactual explanation may well satisfy the conditions for a counterfactual explanation, and vice versa. However, as can be seen from the example above, the set of explanations does not completely overlap (a bucket of water makes the road wet, not rain).
[0084] Evaluation Metrics for Explanation by Contradiction
[0085] In contrast to counterfactual explanations, disproving explanations can use different evaluation metrics. For counterfactual explanations, performance evaluation typically involves a three-step process: computing explanations, removing those explanations from the training data, and verifying whether those changes change the recommendations. Figure 2 As depicted in , the process corresponds to the top row, where the aim when removing interpretation is to achieve a high ratio ① / (①+②).
[0086] Conversely, a counter-explanation can aim to maximize a different ratio: given a change in recommendation occurrence, how many removals caused a change consistent with that explanation? This concept is discussed in Figure 1 The left side is illustrated, where the desired ratio is ① / (①+③). Note that these ratios echo the familiar concepts of precision and recall that are prominent in the machine learning literature. In this case, these concepts are extended to fit the scope of recommender systems.
[0087] experiment
[0088] To evaluate the effectiveness of our proposed Contra+ explanation method, a series of experiments are conducted on mature benchmark datasets (i.e., Movielens-100k, Movielens-1M, and Netflix). The proposed method is compared with several baseline methods.
[0089] The first baseline method (referred to as the random method) randomly selects explanations from the user's historical data. This method is used as a basic sanity check to ensure that proof by contradiction is better than arbitrary selection. The second baseline method (item similarity method) selects the historical items that are most similar to the recommended item as explanations, focusing on similarity-based justifications. This is one of the most commonly used methods because it is computationally efficient, similar to proof by contradiction. The last baseline method is the influence function, which determines explanations based on the historical items that have the greatest influence on the recommended item.
[0090] Assessing the quality of explanations generated by the proof-by-contradictory method involves using the evaluation metric outlined earlier. However, to accurately compute this metric, a more elaborate procedure can be used, which includes the following steps:
[0091] First, 10% of the user’s historical interactions are sampled, denoted as Hus, and removed from the training dataset user-item interaction matrix. This process is repeated 10 times for each user, resulting in 100 different subsets removed from R. From these 100 models, select the model that (according to "Recommendation has changed") Figure 2 The subset of conditions in the left column that caused the recommendations to change after retraining In this paper, σ(k) indicates the indexed removal subset that triggers a change in recommendations. This process is repeated for 100 users, thus training 10,000 models. This retraining is purely for evaluation, and the actual explanation method proof by contradiction does not require retraining the model. It should also be noted in this paper that other evaluation metrics can be used.
[0092] Subsequently, in the evaluation metrics described in this paper, the following metrics are used for disproven explanations:
[0093] in
[0094] Where 1 is the indicator function for evaluating the intersection, E method is the set of explanations for a given method. Intuitively, if for each user u, the explanation (E method ) and the item that caused the recommendation to change Always intersect, then the metric M contra will be high, and thus the average, confirming the usefulness of the proof by contradiction. Through these experiments and the application of this evaluation metric, we hope to demonstrate the effectiveness of our proof by contradiction strategy in generating meaningful explanations for recommender systems.
[0095] SVD Experiment
[0096] To investigate the sensitivity of the method to model size, ablation studies are performed on the SVD model using different latent dimensions on the MovieLens-1M dataset. Figure 3a The metric M is plotted on the y-axis for different latent dimensions 32, 64, 128 across the three subgraphs. contra .
[0097] Then, in each subplot, we also plot different explanation sizes of 1, 2, 3, and 5 and compare with the baseline method. We also plot the standard errors to indicate statistical significance.
[0098] A closer look Figure 3a , the proposed method, Contra+, firstly demonstrates robustness to variations in the latent dimensions, and secondly, outperforms the baseline methods by a significant margin (the higher the better) across each latent dimension as well as the explanation size.
[0099] Following this positive result, Contra+ was extended to two more datasets: MovieLens-100k and Netflix dataset. Both datasets are widely used datasets containing approximately 100k and 600k data points, respectively. In this paper, we again plot the metric M across different explanation sizes. contra .like Figure 3b As depicted in , the proposed method Contra+ consistently shows statistically significant improvements over the baseline method across both datasets and explanation size. This is only for MovieLens-100k, where at an explanation size of 5, the item similarity baseline appears comparable.
[0100] MLP Experiment
[0101] After establishing that the method works well with SVD models, experiments were also performed using MLP models to demonstrate the versatility of the proposed method. In this case, 3-layer neural networks with latent dimensions [32, 64, 128] and learning rates [0.01, 0.001, 0.0001] were validated, and the best model was selected for each dataset based on a held-out validation set.
[0102] Using the same metric as in the previous experiment, Figure 3cThe proposed method is compared to several baseline methods on three different datasets. Here again, we see significant improvements for the proposed method over the baseline methods. For ML-100k, the method consistently outperforms the baseline methods up to an explanation size of 5. For ML-1M, we see the opposite effect, where using 1 or 2 explanations does not seem to have much signal, while using 3 and 5 explanations leads to significant improvements over the baseline methods. Finally, for the Netflix dataset, except for the explanation size of 1 (similar to the item similarity method), our method has a 100% improvement over the baseline methods. contra Much higher than the baseline.
[0103] Conclusion and implementation
[0104] We present a new explanation method for recommender systems that allows us to efficiently compute explanations for any user using a non-widely used reductio ad absurdum logic. This is in contrast to the most commonly used counterfactual logic. The method is more efficient and allows explanations of the form "you were recommended item i because you interacted with item j", as opposed to counterfactual explanations of the form "you were not recommended item i because you did not interact with item j". Although they look similar, they are fundamentally different from a logical perspective.
[0105] The benefit of the approach described in this paper is that explanations can be given in a more coherent logical manner compared to counterfactual explanations. In addition, an efficient method has been developed to compute recommended explanations that are not common in Explainable Artificial Intelligence (XAI).
[0106] The methods described herein can be implemented in any recommendation system known in the art. Ideally, these methods will be implemented in a system that already has users and items embedded. This is the case for state-of-the-art recommendation systems, but in other cases some modifications may be necessary to implement. In some implementations, the recommendation system is implemented in a server. For example, data related to user interactions is received at the server, and recommendations are provided by the server in response.
[0107] Figure 4 is a block diagram illustrating an example computing system 400 , which may be used to implement, for example, a server, and thus implement any of the methods described herein.
[0108] The computing device / system 400 includes one or more processor units 402, an input / output unit 404, a communication unit / interface 406, and a memory unit 408, wherein the one or more processor units 402 are connected to the input / output unit 404, the communication unit / interface 406, and the memory unit 408. The input / output unit 404 can, for example, receive user interaction data and output suggestions. The input / output unit can also receive manual input and output data to the user via a user interface further described below.
[0109] The computing device / system 400 may include a single server, or one or more servers networked together. The computing device / system 400 may be a computer or supercomputer / processing facility or hardware / software suitable for implementing any of the methods described herein.
[0110] The communication interface 406 can connect the computing device / system 400 with one or more services, devices, (multiple) server systems, cloud-based platforms, systems for implementing subject databases and / or knowledge graphs via a communication network for implementing the invention as described herein.
[0111] The memory unit 408 may store one or more program instructions, codes, or components, such as, by way of example only and without limitation, an operating system and / or code / (components) associated with the methods described herein, additional data, applications, application firmware / software, and / or more program instructions, codes, and / or components associated with implementing functionality and / or one or more functions or functionalities associated with the methods described herein. The output (e.g., recommendation) may be sent to a remote device (not shown) such as a user device, in which case the output device may be replaced by a data port.
[0112] Any of the methods described herein may be implemented in the form of a computer-readable medium or article, such as a computer or processor non-transient readable medium, or a computer or processor non-transient storage medium (e.g., such as a memory, a disk drive, or a USB flash drive), including or storing an encoding of instructions (e.g., computer executable instructions), which, when executed by a processor or controller, perform the methods disclosed herein. For example, a storage medium may be provided, such as a memory, a computer executable instruction (such as an executable code), and a controller (such as a controller). Any of the methods described herein may be implemented in an electronic device including a processor and a memory, wherein the processor is configured to implement any of the methods described herein.
[0113] The system in which the methods described herein may be implemented may include components such as, but not limited to, multiple central processing units (CPUs) similar to controller 400, or any other suitable multi-purpose or special-purpose processors or controllers, multiple input units, multiple output units, multiple memory units, and multiple storage units. Other suitable hardware components and / or software components may be included. For example, the system may include or may be a personal computer, a desktop computer, a mobile computer, a laptop computer, a notebook computer, a terminal, a workstation, a server computer, a personal digital assistant (PDA) device, a tablet computer, a network device, or any other suitable computing device.
[0114] Unless explicitly stated, the methods described herein are not limited to a particular order or sequence. In addition, some of the methods described or their elements may occur or be performed at the same time point.
[0115] Alternatively or additionally, the functionality described herein may be at least partially performed by one or more hardware logic components. For example, but not limited to, the hardware logic components that may be used may include field programmable gate arrays (FPGAs), program-specific integrated circuits (ASICs), program-specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), etc.
[0116] It should be understood that the computing device used to implement any method described herein can be a distributed system. Thus, for example, several devices can communicate via a network connection and can jointly perform tasks performed by the computing device.
[0117] It should be appreciated that the computing device may be remotely located and accessed via a network or other communications link (eg, using a communications interface).
[0118] The term "computer" is used herein to refer to any device having processing capabilities so that instructions can be executed. Those skilled in the art will appreciate that such processing capabilities are incorporated into many different devices, so the term "computer" includes personal computers, servers, mobile phones, personal digital assistants, and many other devices.
[0119] Those skilled in the art will appreciate that storage devices for storing program instructions can be distributed on a network. For example, a remote computer can store examples of the described process as software. A local or terminal computer can access the remote computer and download part or all of the software to run the program. Alternatively, a local computer can download fragments of the software as needed, or execute some software instructions at a local terminal and execute some software instructions at a remote computer (or computer network). Those skilled in the art will also appreciate that all or part of the software instructions can be executed by a dedicated circuit (such as a DSP, a programmable logic array, etc.) by utilizing conventional techniques known to those skilled in the art.
[0120] The present invention is not limited to any or all solutions to the stated problems, nor to any or all solutions having stated benefits and advantages.
[0121] Any reference to "an" item refers to one or more of those items. The term "comprising" is used herein to mean including the identified method steps or elements, but these steps or elements do not constitute an exclusive list and the method or apparatus may contain additional steps or elements.
[0122] As used herein, the terms "component" and "system" are intended to encompass a computer-readable data store that is configured with computer-executable instructions that, when executed by a processor, cause certain functionality to be performed. Computer-executable instructions may include routines, functions, etc. It should also be understood that a component or system may be located on a single device or distributed across multiple devices.
[0123] Furthermore, to the extent that the term "comprising" is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to how the term "comprising" is interpreted when used as a transitional word in a claim.
[0124] In addition, the actions described herein may include computer-executable instructions that may be executed by one or more processors and / or stored on a computer-readable medium or media. Computer-executable instructions may include routines, subroutines, programs, execution threads, etc. Further, the results of the method actions may be stored in a computer-readable medium, displayed on a display device, etc.
[0125] The order in which the steps of the methods described herein are exemplary, but the steps may be performed in any suitable order, or simultaneously where appropriate. In addition, steps may be added or replaced in any method, or individual steps may be removed from any method without departing from the scope of the subject matter described herein. Aspects of any of the examples described above may be combined with aspects of any of the other examples described to form further examples without losing the effect sought.
[0126] The features discussed above may be combined as appropriate, which will be obvious to a person skilled in the art, and may be combined unless such a combination is explicitly stated to be impossible or a person skilled in the art would understand that such a combination is obviously impossible.
[0127] The aforementioned method, computer readable medium, and electronic device are as described in the following clauses:
[0128] A method of processing data,
[0129] The method includes:
[0130] Determine a user's preference value for the recommended item based on data related to the user and the item;
[0131] modifying the user data to reduce the determined preference value so that the recommended item is not recommended to the user;
[0132] using the modified user data to determine a preference value for an item with which the user has interacted;
[0133] One or more items with which the user has interacted are identified as antecedents of the recommended item being recommended, for which the determined preference value differs most from a previously determined preference value.
[0134] A method according to clause 1, wherein:
[0135] Determining the user's preference value for the recommended item includes determining an interaction score for the user-recommended item pair;
[0136] Modifying the user data to reduce the determined preference value includes: generating a modified interaction score, the modified interaction score not causing the recommended item to be recommended to the user; and
[0137] The user data for the modified interaction scores is used to determine new interaction scores for items with which the user has interacted.
[0138] The method of clause 2, wherein each interaction score is determined based on consistency between user preferences and item representations.
[0139] A method as described in any of the preceding clauses, wherein users and items are represented using an SVD model.
[0140] The method of clause 4, comprising: constructing a user embedding for a user so that the recommended item is not recommended.
[0141] The method of clause 4 or clause 5, wherein generating the modified interaction score comprises: perturbing at least one variable in the interaction score.
[0142] A method according to clause 4, 5 or 6, wherein the user representation is increased or decreased in a direction opposite to the item representation to generate a modified interaction score.
[0143] A method as described in clause 1, 2 or 3, wherein users and items are represented by a machine learning model.
[0144] A method according to clause 8 when dependent on clause 2, wherein the interaction score is back-propagated to generate a modified interaction score.
[0145] A method as described in any of the preceding clauses, comprising displaying an explanation to a user.
[0146] A computer-readable medium comprising, for said one or more items, instructions which, when implemented in a processor of a computing system, cause the system to implement a method as described in any of the preceding clauses.
[0147] A recommendation system configured to implement the method according to any of the preceding clauses.
[0148] An electronic device comprises a processor and a memory, wherein the processor is configured to implement the method as described in any one of the preceding clauses.
[0149] It should be understood that the description of the above preferred embodiments is given only by way of example, and various modifications may be made by those skilled in the art. The above described content includes examples of one or more embodiments. Of course, in order to describe the aforementioned various aspects, it is impossible to describe all conceivable modifications and changes of the above-mentioned device or method, but those of ordinary skill in the art will recognize that many further modifications and arrangements of various aspects are possible. Therefore, the described aspects are intended to cover all such changes, modifications, and variations that fall within the scope of the appended claims.
Claims
1. A method for data processing, comprising: determining a preference value of the user for the recommended item based on data related to the user and the item; modifying the user data to reduce the determined preference value so that the recommended item will not be recommended to the user; using the modified user data to determine a preference value for an item with which the user has interacted; One or more items with which the user has interacted, for which the determined preference values differ most from previously determined preference values, are identified as antecedents of the recommended item being recommended.
2. The method according to claim 1, wherein: Determining the preference value of the user for the recommended item includes determining an interaction score of a user-recommended item pair; Modifying the user data to reduce the determined preference value includes: generating a modified interaction score, the modified interaction score not causing the recommended item to be recommended to the user; as well as The modified interaction score user data is used to determine new interaction scores for items with which the user has interacted. The method of claim 2 , wherein each interaction score is determined based on a consistency between the user's preferences and the item's representation. The method according to claim 1 , wherein the user and the item are represented by an SVD model.
5. The method according to claim 4, comprising: A user embedding is constructed for the user so that the recommended item is not recommended.
6. The method of claim 4, wherein generating the modified interaction score comprises: At least one variable in the interaction score is perturbed.
7. The method of claim 4, wherein the user representation is increased or decreased in an opposite direction to the item representation to generate the modified interaction score.
8. The method of claim 2, wherein users and items are represented by a machine learning model.
9. The method of claim 8, wherein the interaction score is back-propagated to generate the modified interaction score.
10. The method of any one of claims 1-9, comprising displaying the explanation to the user.
11. A computer-readable medium comprising instructions which, when implemented in a processor of a computing system, cause the computing system to implement the method according to any one of claims 1 to 10.
12. A recommendation system, configured to execute the method according to any one of claims 1-10.
13. An electronic device comprising a processor and a memory, wherein the processor is configured to execute the method according to any one of claims 1-10.