CONTROLLING REACHABILITY IN A COLLABORATIVELY FILTERED RECOMMENDER
20220405621 · 2022-12-22
Inventors
- Sarah Ankaret Anderson Dean (Brooklyn, NY, US)
- Sarah J. Rich (Brooklyn, NY, US)
- Benjamin Recht (Brooklyn, NY, US)
Cpc classification
G06F16/9535
PHYSICS
G06F18/217
PHYSICS
International classification
Abstract
Recommender systems often rely on models which are trained to maximize accuracy in predicting user preferences. When the systems are deployed, these models determine the availability of content and information to different users. The gap between these objectives gives rise to a potential for unintended consequences, contributing to phenomena such as filter bubbles and polarization. An analysis of information availability through the lens of user recourse includes a computationally efficient audit for top-N matrix factorization recommender models and may be used for adapting recommender modules to meet targets for model performance parameters within defined contexts.
Claims
1. A method for providing a user interface of a computing device enabling selection of and access to items of electronic content in an online library, the method comprising: evaluating, by at least one processor, one or more performance parameters of a recommender module that provides top-N recommendations based on user factors and content factors for an online library; comparing, by the at least one processor, the one or more performance parameters to a performance metric; revising, by the at least one processor, at least one setting of the recommender module based on the comparing; generating, by the at least one processor, top-N recommendations using the recommender module as revised by the revising; and sending, by the at least one processor, the top-N recommendations to a client device for output to a user.
2. The method of claim 1, wherein the recommender module uses matrix factorization.
3. The method of claim 1, wherein the evaluating further comprises determining the performance parameters including at least one of user recourse and content item availability.
4. The method of claim 3, wherein the evaluating further comprises determining content item availability based on an aligned-reachable condition with no seen items and an increased value for number of items recommended.
5. The method of claim 4, wherein determining item availability comprises computing, for each item of the electronic content whether the aligned-reachable condition is true.
6. The method of claim 5, wherein determining the item availability further comprises determining a ratio between a count of items for which the aligned-reachable condition is not true and a count of total items.
7. The method of claim 3, wherein the evaluating further comprises determining user recourse at least in part by testing feasibility for each item.
8. The method of claim 3, wherein the evaluating further comprises determining a lower bound on user recourse by a portion of unseen items that satisfy an inequality involving a product of an item factor and a function of a rating vector.
9. The method of claim 8, wherein determining the lower bound comprises computing a cost function for rating changes.
10. An apparatus for providing a user interface of a computing device enabling selection of and access to items of electronic content in an online library, comprising at least one processor coupled to a memory holding program instructions that when executed by the at least one processor, cause the apparatus to perform: evaluating one or more performance parameters of a recommender module that provides top-N recommendations based on user factors and content factors for an online library; comparing the one or more performance parameters to a performance metric; revising at least one setting of the recommender module based on the comparing; generating top-N recommendations using the recommender module as revised by the revising; and sending the top-N recommendations to a client device for output to a user.
11. The apparatus of claim 10, wherein memory holds further instructions for matrix factorization in the recommender module.
12. The apparatus of claim 10, wherein memory holds further instructions for the evaluating at least in part by determining the performance parameters including at least one of user recourse and content item availability.
13. The apparatus of claim 12, wherein memory holds further instructions for the evaluating at least in part by determining content item availability based on an aligned-reachable condition with no seen items and an increased value for number of items recommended.
14. The apparatus of claim 13, wherein memory holds further instructions for the determining item availability at least in part by computing, for each item of the electronic content whether the aligned-reachable condition is true.
15. The apparatus of claim 14, wherein memory holds further instructions for the determining the item availability at least in part by determining a ratio between a count of items for which the aligned-reachable condition is not true and a count of total items.
16. The apparatus of claim 12, wherein memory holds further instructions for the evaluating at least in part by determining user recourse by testing feasibility for each item.
17. The apparatus of claim 12, wherein memory holds further instructions for the evaluating at least in part by determining a lower bound on user recourse by a portion of unseen items that satisfy an inequality involving a product of an item factor and a function of a rating vector.
18. The apparatus of claim 17, wherein memory holds further instructions for the evaluating at least in part by determining the lower bound by computing a cost function for rating changes.
19. The apparatus of claim 10, further comprising a network interface for sending the top-N recommendations to the client device.
20. An apparatus for providing a user interface of a computing device enabling selection of and access to items of electronic content in an online library, comprising: means for evaluating one or more performance parameters of a recommender module that provides top-N recommendations based on user factors and content factors for an online library; means for comparing the one or more performance parameters to a performance metric; means for revising at least one setting of the recommender module based on the comparing; means for generating top-N recommendations using the recommender module as revised by the revising; and means for sending the top-N recommendations to a client device for output to a user.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0023] The features, nature, and advantages of the present disclosure will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify like elements correspondingly throughout the specification and drawings.
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
DETAILED DESCRIPTION
[0039] Various aspects are now described with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of one or more aspects. It may be evident, however, that the various aspects may be practiced without these specific details. In other instances, well-known structures and devices are represented in block diagram form to facilitate focus on novel aspects of the present disclosure.
[0040] Referring to
[0041] Prior to serving users, the recommender is trained with access to a training set representing ‘n’ users and ‘m’ items until ready to serve recommendations. As used herein, a “request” from a client to the recommender is configured to enable the person using the recommender to obtain new recommendations. Features of a client device executing a recommendation process for the user may include access to the user's engagement history in a computer memory and a function for identifying relevant recommendations and showing them to the user.
[0042]
[0043] In embodiments, a request round may include a series of recursive information exchanges between the client and the recommender. In each recommendation round, the client 204 assembles a list of items (the request 212) to send to the recommender, and the recommender 202 returns a list of items (the recommendations 214) based on the items it received from the client. For embodiments wherein the recommender is strictly item-based, each recommendation returned by the recommender, may include 3 parts: (1) the recommended item; (2) the associated item from the original request; and (3) a scaled weight w ∈ [0,1], wherein w measures the “closeness” of the recommended item to the associated item, i.e., similarity.
[0044] In one request round, the recommender returns an equal number of items for each item in the original request, Note that items may be recommended multiple times in the list of recommendations returned by the recommender, as they may be dose to one or more different associated items from the original request. This framework should be sufficiently general to extend to a range of item-based recommender implementations.
[0045] It may be assumed that the recommender is making recommendations based on some measure of similarity between two items, and that this similarity measure can be computed for any two items in the recommender's corpus. Any suitable similarity measure as known in the art (e.g., Euclidian distance, cosine distance, Jaccard distance, Pearson correlation distance) or that may be developed may be used by a recommender. Evaluation is agnostic with respect to the similarity measure used by the recommender, but evaluation metrics such as recourse or availability may differ in results depending on the evaluation method used.
[0046] Problem Setting. A recommender system considers a population of users and a collection of items. A “rating” by user u of item r is denoted as r.sub.ui ∈.Math.
. This value can be either explicit (e.g. star-ratings for movies) or implicit (e.g. number of listens). As used herein, n denotes the number of users in the system and m denotes the number of items in the relevant content library. As used herein, Ω.sub.u denotes the set of items whose ratings by user u have been observed. We collect these observed ratings into a sparse vector r.sub.u ∈
.sup.m whose values are defined at Ω.sub.u and 0 elsewhere. Then a system makes recommendations with a policy π(r.sub.u) which returns a subset of items. Although the present example focuses on deterministic policies, the analyses can be extended to randomized policies which sample from a subset of items based on their ratings. It is only necessary to define reachability with respect to probabilities of seeing an item, and then to carry through terms related to the sampling distribution.
[0047] To define the reachability sub-problem for a recommender system, assume a user u can reach item I if there is some allowable modification to their history r.sub.u that causes item i to be recommended. The reachability problem for user u and item i is defined as
where the modification set (r.sub.u) .Math.
describes how users are allowed to modify their rating history and cost(r, r.sub.u) describes how “difficult” or “unlikely” it is for a user to make this change. This notion of difficulty might relate discretely to the total number of changes, or to the amount that these changes deviate from the existing preferences of the user. By defining the cost with respect to user behavior, the reachability problem encodes both the possibilities of recommendations through its feasibility, as well as the relative likelihood of different outcomes as modeled by the cost.
[0048] The ways that users can change their rating histories, described by the modification set (r.sub.u) depends on the design of user input to the system. For example, embodiments may include a single round of user reactions to N recommendations and use two models of user behavior: changes to existing ratings, refer to herein as “history edits”; and reaction to the next batch of recommended items, which we referred to herein as “reactions.” In the first case,
(r.sub.u) consists of all possible ratings on the support Ω.sub.u. In the second case,
(r.sub.u) consists of all new ratings on the support π(r.sub.u) combined with the existing rating history.
[0049] The reachability problem defines a quantity for each user and item in the system. To use this problem as a metric for evaluating recommender systems, we consider both user- and item-centric perspectives. For users, this is a notion of recourse. As used herein, the amount of recourse available to a user u is defined as the percentage of unseen items that are reachable, i.e. for which discovery is feasible. The difficulty of recourse is defined by the average value of the recourse problem over all reachable items i.
[0050] In comparison, the item-centric perspective centers around availability. As used herein, the availability of items in a recommender system is defined as the percentage of items that are reachable by some user.
[0051] These definitions are useful for evaluating and providing fair representation of content within recommender systems. This is significant for users—for example, to what extent have their previously expressed preferences limited the content that is currently reachable? It is also important to content creators, for whom the ability to build an audience depends on the availability of their content in the recommender system overall.
[0052] Referring to
[0053] An evaluator module 310 evaluates performance attributes, for example, recourse and availability, for the algorithmic recommender 306, outputting values of the performance attributes as results 312 as machine-readable data in a computer memory. The module 308 may receive the evaluation results 312 for comparing to at least one targeted performance value and adjust parameters of the recommender algorithm so that the recommender achieves the at least one targeted value.
[0054]
[0055] The method 400 may further include comparing 404, by the at least one processor, the one or more performance parameters to a performance metric. The performance metric may be, for example, a target minimum for recourse and/or availability.
[0056] The method 400 may further include revising 406, by the at least one processor, the recommender module based on the comparing. For example, the processor may increase or decrease a number of dimensions used by the recommender module, revise a training set, or other parameters as described in the description below that are determinative of the targeted metrics.
[0057] The method 400 may further include generating 408, by the at least one processor, top-N recommendations using the recommender module as revised by the revising. For example, the processor may receive a request for a recommendation from a client device, and generate top-N recommendations based on user and item factors for the target library. The method 400 may further include sending 408, by the at least one processor, the top-N recommendations to a client device for output to a user.
[0058] A more detailed description of algorithms and methods relevant to evaluation by the evaluator 310 and other aspects of the system 300 and method 400 follows.
[0059] Matrix Factorization Models. While many different approaches to recommender systems exist, ranging from classical neighborhood models to more recent deep neural networks, the examples herein focus on, but are not limited to, matrix factorization models. Due to its power and simplicity, the matrix factorization approach is still widely used and capable for many applications.
[0060] A matrix factorization recommender model may predict each user rating for an item of content as the dot product between a user factor ‘P’ and an item factor ‘q’: {circumflex over (r)}.sub.ui=P.sub.u.sup.Tq.sub.i. These factors he in a latent space of specified dimension d which controls the complexity of the model. The factors can be collected into matrices P ∈ R.sup.n×d and Q ∈ R.sup.m×d. Fitting the model may entail solving the nonconvex minimization:
wherein Γ regularizes the factors (P,Q).
[0061] The predicted ratings of unseen items are used to make recommendations. Specifically, we consider top-N recommenders which return {i: {circumflex over (r)}.sub.ui>{circumflex over (r)}.sub.uj all but at most N unseen items j}. Recalling that predicted ratings are the inner product of latent factors, the condition {circumflex over (r)}.sub.ui>{circumflex over (r)}.sub.uj reduces to a linear inequality on the latent space, with
q.sub.i.sup.TP.sub.u>q.sub.j.sup.TP.sub.u⇔(q.sub.i−q.sub.j).sup.tP.sub.u>0.
[0062] Thus, for fixed item factors, a user's recommendations are determined by their latent representation along with a list of unseen items. As used herein, the recommender policy is denoted as π(p; Ω) instead of π(r). As shown in following sections, the relationships of factors in this latent space mediate the availability of items to users.
[0063] When the ratings of users change, their latent representation should change as well. While there are a variety of possible strategies for performing online updates, we focus on the least squares approach, where
[0064] This is similar to continuing an alternating least-squares (ALS) minimization. When analyzing single round of recommendations, simultaneous updates to the item factors in Q need not be considered.
[0065] Matrix factorization models such as these encompass a wide range of strategies which specialize to different assumptions about underlying data and user behavior. This includes methods based on sparsity like SLIM, which performs well on implicit ratings, and constrained approaches like non-negative matrix factorization. Furthermore, many augmentations can be made to the basic model, like the inclusion of implicit information about preferences or bias terms.
[0066] In the following, the canonical case of .sub.2 regularization on user and itern factors, with Γ.sub.u(x)=Γ.sub.i(x)=λ∥x∥.sub.2.sup.2, is focused on. In this case, the user factor calculation is given by:
p.sub.u=(Q.sub.Ω.sub.
Although the present application focuses on the simple case exemplified by Equation (3), results herein can be extended to cases in which bias terms are incorporated into predictions, sometimes referred to as SVD+.
[0067] Recourse and Availability. The reachability problem may be reformulated to the case of recommendations made by matrix factorization models. For example, by assuming the simplifying case that N=1 and making direct connections between model factors and the recourse and availability provided by the recommender system.
[0068] First, for an item i to be recommended for top-1, the constraint i ∈ π(p, Ω) is equivalent to requiring that
(q.sub.i−q.sub.j).sup.Tp>0∀j .Math.Ω⇔G.sub.ip>0.
where G.sub.i is defined to be a m−|Ω|×d matrix with rows given by (q.sub.i−q.sub.j) for j .Math. Ω. This is a linear constraint on the user factor p, and the set of user factors which satisfy this constraint make up an open convex polytopic cone, This set may be referred to as the item-region for item since any user whose latent representation falls within this region will be recommended item i. The top-1 regions partition the latent space 500, as illustrated by
[0069] Item factors define regions within the latent space, while user factors may be represented as points that can move between regions. The constraints on user actions are described by the modification set (r.sub.u). We will distinguish between mutable and immutable ratings of items within a rating vector r.sub.u. Let 0 denote the set of items with immutable ratings and let r.sub.0 ∈
.sup.|Ω.sup.
with: (1) fixed immutable ratings r.sub.Ω.sub.
.sup.|Ω.sup.
[0070] Then a user's latent factor can change as
p=(Q.sub.Ω.sup.TQ.sub.Ω+λI).sup.−1(Q.sub.Ω.sub.
wherein
W=(Q.sub.Ω.sup.TQ.sub.Ω+λI).sup.−1, B=QW.sub.Ω.sub.
It is thus clear that this latent factor lies in an affine subspace. This space is anchored at v.sub.0 by the immutable ratings, while the mutable ratings determine the directions of possible movement. This idea is illustrated in .
[0071] Accordingly, the reachability problem for matrix factorization models may be specialized as:
If the cost is a convex function and is a convex set, this is a convex optimization problem which can be solved efficiently. If
is a discrete set or if the cost function incorporates nonconvex phenomena like sparsity, then this problem can be formulated as a mixed-integer program (MIP). Despite bad worst-case complexity, MIP can generally be solved quickly with modern software.
[0072] Item Availability. Beyond defining the reachability problem, deriving properties of recommender systems based on their underlying preference models is of interest. First, consider the feasibility of Equation (4) with respect to its linear inequality constraints, for example, focusing on the item-regions and ignoring the effects of user history Ω, anchor point v.sub.0, and control matrix B. The “convex hull” of unseen item factors, which is the smallest convex set that contains the item factors can be determined by:
conv({q.sub.j}.sub.j)={Σ.sub.jλ.sub.jq.sub.j: Σ.sub.jλ.sub.j≤1 and λ≥0}.
Methods and systems herein may also make use of “vertices” of the convex hull. Such vertices are item factors that are not contained in the convex hull of other factors, e.g., q.sub.i .Math. conv({q.sub.i}.sub.j≠i). Examples are provided below.
[0073] Example Result 1: In a top-1 recommender system, the available items are those whose factors are vertices on the convex hull of all item factors. As a result, the availability of items in a top-1 recommender system is determined by the way the item factors are distributed in space: it is simply the percentage of item factors that are vertices of their convex hull. A proof is provided, along with proofs of all results to follow, in the paper by the inventors hereof, “Recommendations and User Agency: The Reachability of Collaboratively-Filtered Information,” December 2019, arXiv:1912.10068v1 (hereinafter, “Reachability Paper”), which is incorporated herein in its entirety by reference.
[0074] We can further understand the effect of limited user movement in the case that ratings are real-valued, i.e. =
. In this case, we consider both anchor point v.sub.0 and control matrix B. For a fixed this anchor point determines the set of items j necessary for comparison: q.sub.jv.sub.0≥q.sub.iv.sub.0, i.e. those that are more similar to the anchor point than item i is. Items satisfying this expression are referred to herein as the “anchor-similar items.”
[0075] Example Result 2: multiplication of item factors by the transpose of the control matrix, referred to herein as the “multiplied factors” (B.sup.Tq.sub.i), can also be considered. In a top-1 recommender system, a user can reach any item whose multiplied factor is a vertex of the convex hull of all unseen anchor-similar multiplied item factors. Furthermore, if the factors of the items with mutable ratings are full rank, i.e. Q.sub.Ω.sub.
[0076] This conclusion follows only from considering the possibilities of user action. To consider likelihood for various outcomes, the cost of user action should be accounted for.
[0077] Bound on Difficulty of Recourse. Cost of user action can be modeled as a penalty on change from existing ratings and used to show a bound on the difficulty of recourse for users. For items whose ratings have not already been observed, the change from predicted ratings may be penalized instead of change from actual ratings. For simplicity, this penalty may be represented as the norm of the difference.
[0078] For history edits, all mutable items have been observed, so the cost function is
cost.sub.hist(r; r.sub.u)=∥r−r.sub.u∥.
Additionally, all existing ratings are mutable so mutable set Ω.sub.m=Ω.sub.u and immutable set Ω.sub.0=0. For reactions, the ratings for the new recommended items have not been observed, so
Cost.sub.react(r; r.sub.u)=∥r.sub.π(r.sub.)−{circumflex over (r)}.sub.π(r.sub.
Additionally, the rating history is immutable Ω.sub.m=Ω.sub.u, while the mutable ratings are the recommendations with Ω.sub.m=π(r.sub.u). Under this model, an upper bound on the difficulty of recourse can be compute. This result holds for the case that ratings are real-valued, i.e. =
and that the reachable items satisfy an alignment condition as defined in (8) of the Reachability Paper.
[0079] Example Result 3: Let p.sub.u indicate the user's latent factor per Eq. (3) before any actions are taken or the next set of recommendations are added to the user history. Then both in the case of full history edits and reactions,
where Ω.sub.r .Math. Ω.sup.⊂ is the set of reachable items.
[0080] This bound depends how far item factors are from the initial latent representation of the user. When latent representations are close together, recourse is easier or more likely—an intuitive relationship. This quantity will be large in situations where a user is in an isolated niche, far from most of the items in latent space. The bound also depends on the conditioning of the user control matrix B, which is related to the similarity between mutable items: the right hand side of the bound will be larger for sets of mutable items that are more similar to each other.
[0081] User Cold Start. The amount and difficulty of recourse for a user yields a novel perspective on how to incorporate new users into a recommender system. The user cold-start problem is the challenge of selecting items to show a user who enters a system with no rating history from which to predict their preferences. This is a major issue with collaboratively filtered recommendations. Recommender systems may often rely on incorporating extraneous information to the new user. These strategies focus on presenting items which are most likely to be rated highly or to be most informative about user preferences.
[0082] The idea of recourse offers an alternative point of view. Rather than evaluating a potential “onboarding set” only for its contribution to model accuracy, a processor can choose a set which additionally ensures some amount of recourse. Looking to Example Result 2, we can evaluate an onboarding set by the geometry of the multiplied factors in latent space. In the case of onboarding, v.sub.0=0 and B=WQ.sub.Ω, so the recourse evaluation involves considering the vertices of the convex hull of the columns of the matrix {Q.sub.ΩWQ.sub.Ω.sub.
[0083] An additional perspective is offered by considering the difficulty of recourse. In this case, a processor may make use of ∥B.sup.†∥. If we consider an .sub.2 norm, then recourse evaluation reduces to
where σ.sub.1≥σ.sub.2≥ . . . ≥σ.sub.r>0 are the nonzero singular values of Q.sub.Ω. Minimizing this quantity is hard. Due to computational challenges, these metrics may primarily be used to distinguish between candidate onboarding sets, based on the ways these sets provide user control. In addition, or in an alternative, a processor may generate candidate sets based on these recourse properties.
[0084] Sufficient Conditions for Top-N. In the previous section, a characterization of reachability for top-1 recommender systems is developed for evaluating or generating candidate cold-start sets. However, most real-world applications involve serving several items at once. Furthermore, using N>1 can approximate the availability of items to a user over time, as they see more items and increase the size of the set that is excluded from the selection. In the instant section, sufficient conditions for developing a computationally efficient model audit that provides lower bounds on the availability of items in a model are outlined. A processor may run the audit algorithmically to evaluate this availability. In addition, this section provides approximations for computing a lower bound on the recourse available to users, which may similarly be executed by a processor for evaluation and generation purposes.
[0085] An item-region for the top-N case may be defined, conditioned on i ∈ π(p; Ω) for any user factors in the set
.sub.i={p:(q.sub.i−q.sub.j).sup.Tp>0 all but at most N items j .Math. Ω}.
[0086] As in the previous section, this region is contained within the latent space, which is generally of relatively small dimension. However, its description depends on the number of items, which will generally be quite large. In the case of N=1, this dependence is linear and therefore manageable. For N>1, the item region is the union over polytopic cones for subsets describing “all but at most N items.” Therefore, the description of each item region requires (m.sup.N) linear inequalities. For systems with tens of thousands of items, even considering N=5 becomes prohibitively expensive.
[0087] To ease the notational burden of discussing the ranking logic around top-N selection in what follows, the operator max.sup.(N) is defined, which selects the Nth largest value from a set. As used herein, for example,
[0088] Sufficient Condition for Availability; To avoid computational challenges, an algorithm may us sufficient condition for item availability. The full description of the region .sub.i is not necessary to verify non-emptiness; rather, showing the existence of any point in the latent space v ∈
.sup.d that satisfies v ∈
.sub.i is sufficient. Using this insight, a processor may be configured with a sampling approach to determining the availability of an item. For a fixed v and any N, it is necessary only to compute and sort Q.sub.Ω.sub.
(m.sup.2d log(m)). A processor may use the sample point v ∈ q.sub.i. In an alternative, or in addition, a processor's sampling approach may make use of gridding, randomness, or empirical user factor(s).
[0089] Example Result 4: The item-region .sub.i is nonempty if
When this condition holds, we say that item i is “aligned-reachable.” The proportion (e.g., percentage) of items that are aligned-reachable is a lower bound on the availability of items. The condition of being aligned-reachable is sufficient, but not necessary, for availability. For example, it is possible to have q.sub.i .Math. .sub.i for a nonempty
.sub.i.
[0090] Recommender Model Auditing. As noted above, in connection with
[0091] If the set of all possible users are treated as users with a history of at most Nb, this model audit counts the number of aligned-unreachable items, returning a lower bound on the overall availability of items, A processor or human operator may further use this model audit to propose constraints or penalties on the recommender model during training.
[0092] Ensuring aligned-reachability is equivalent to imposing linear constraints on the matrix A=QQ.sup.T,
While this constraint is not convex, relaxed versions of it could be incorporated into the optimization problem (2) to ensure reachability during training.
[0093] Sufficient Condition for Recourse. User recourse inherits the computational problems described above for N>1. We note that the region .sub.i is not necessarily convex, though it is the union of convex regions. While the problem could be solved by first minimizing within each region and then choosing the minimum value over all regions, this would not be practical for large values of N. The sampling perspective may be continued to develop an efficient sufficient condition for verifying the feasibility of (4). A processor may test feasibility using the condition
By checking feasibility for each i, we verify a lower bound on the amount of recourse available to a user, considering their specific rating history and the allowable actions.
[0094] If the control matrix B is full rank, then we can find a point a.sub.i such that v.sub.0+Ba.sub.i=q.sub.i, meaning that items that are aligned-reachable are also reachable by users. The rank of B is equal to the rank of Q.sub.Ω.sub.
[0095] Even users with incomplete control have some level of recourse. For the following result, Π.sub.B may be defined as the projection matrix onto the subspace spanned by B. Then let q.sub.B,i=Π.sub.Bq.sub.
[0096] Example Result 5: When =
, a lower bound on the amount of recourse for a user u is given by a portion (e.g., percentage) of unseen items that satisfy the relation:
[0097] This relation mirrors the sufficient condition for items, with modifications relating both to the directions of user control and the anchor point. In short, user recourse follows from the ability to modify ratings for a set of diverse items, and immutable ratings ensure the reachability of some items, potentially at the expense of others,
[0098] Experimental Demonstrations. The analyses methods herein may be used as a tool to audit and interpret characteristics of a matrix factorization model. As a demonstration, the MovieLens 10M dataset, which comes from an online movie recommender service called MovieLens. The dataset (https://grouplens.org/datasets/movielens/10m/ contains approximately 10 million ratings applied to 10,681 movies by 71,567 users. The ratings fall between 0 and 5 in 0:5 increments. Movielens is a common benchmark for evaluating rating predictions.
[0099] Using the method described by Rendle et al. in their recent work on baselines for recommender systems (Steven Rendle, Li Zhang, and Yehuda Koren. On the difficulty of evaluating baselines: A study on recommender systems. arXiv preprint arXiv:1905.01395, 2019), we trained a regularized matrix factorization model. This model incorporates item, user, and overall bias terms. Appendix A of the Reachability Paper includes full description of adapting our proposed audits to this model.
[0100] Models of a variety of latent dimension ranging from d=16 to d=512 were examined. The models were trained using the libfm3 library disclosed by Steven Rendle in “Factorization machines with libFM,” ACM Trans. Intell. Syst. Technol., 3(3):57:1-57:22, May 2012. ISSN 2157-6904). We used the regression objective and optimized using SGD with regularization parameter λ=0:04 and step size 0:003 for 128 epochs on 90% of the data, verifying accuracy on the remaining 10% with a random global test/train split. These methods matched those presented by Rendle et al. noted above and reproduced their reported accuracies.
[0101] Item-based audit: We performed an item-based audit as described in in connection with
[0102] Characteristics of the items that are unavailable compared with those that are available were also examined. We examined two notions of popularity: total number of ratings (chart 900,
[0103]
[0104] While the difference in popularity is true across all models, there is still overlap in the support of both distributions. For a given number of ratings or average rating, some items will be available while others will not, meaning that popularity alone does not determine reachability.
[0105] System Recourse for Users: The combined testing and training data was used to determine user ratings r.sub.u and histories Ω.sub.u. For this section, we examined 100 randomly selected users and only the 10700 most-rated items. Sub-selecting items and especially choosing them based on popularity means that these experimental results provide an overestimation of the amount of recourse available to users. Additionally, we allow ratings on the continuous interval =[0,5] rather than enforcing integer constraints, meaning that our results represent the recourse available to users if they were able to precisely rate items on a continuous scale. Despite these two approximations, several interesting trends on the limits of recourse appear.
[0106] We begin with history edits and compute the amount of recourse that the system provides to users using the sufficient condition in Example Result 5.
[0107] Reactions were considered where user input comes only through reaction to a new set of items while the existing ratings are fixed.
[0108] In the panels 1200, 1250 of
[0109] Finally, we investigate the difficulty of recourse over all users and a single item. In this case, we consider top-1 recommendations to reduce the computational burden of computing the exact set .sub.i. Cost is posed as the size of the difference between the user input ‘a’ and the predicted ratings in the λ.sub.1 norm. Chart 1300 of
[0110] In accordance with the foregoing, and by way of additional example,
[0111] Referring to
[0112] The method 1400, or the method 400 described in connection with
[0113] For example, as shown in
[0114] For example, as shown in
[0115]
[0116] As illustrated in
[0117] The apparatus or system 1700 may further comprise an electrical component 1703 for comparing the one or more performance parameters to a performance metric. The component 1703 may be, or may include, a means for said comparing. Said means may include the processor 1710 coupled to the memory 1716, the processor executing an algorithm based on program instructions stored in the memory. Such algorithm may include a sequence of more detailed operations, for example, retrieving a target metric from a computer memory, determining whether the target metric is larger or smaller than the evaluated metric, and setting the value of at least one bit based on the relative values of the compared metrics.
[0118] The apparatus or system 1700 may further comprise an electrical component 1704 for revising at least one setting of the recommender module based on the comparing. The component 1704 may be, or may include, a means for said revising. Said means may include the processor 1710 coupled to the memory 1716, the processor executing an algorithm based on program instructions stored in the memory. Such algorithm may include a sequence of more detailed operations, for example, deciding, based on an output of the deciding, which of at least two different variables of the recommender module to change, deciding how much to change the selected variable based on the output, and changing the value of the selected variable in a memory of the recommender module. These operations may be repeated for additional variables.
[0119] As illustrated in
[0120] As illustrated in
[0121] The apparatus 1700 may optionally include a processor module 1710 having at least one processor, in the case of the apparatus 1700 configured as a data processor. The processor 1710, in such case, may be in operative communication with the modules 1702-1706 via a bus 1712 or other communication coupling, for example, a network. The processor 1710 may effect initiation and scheduling of the processes or functions performed by electrical components 1702-1706.
[0122] In related aspects, the apparatus 1700 may include a network interface module 1714 operable for communicating with a storage device over a computer network. In further related aspects, the apparatus 1700 may optionally include a module for storing information, such as, for example, a memory device/module 1716. The computer readable medium or the memory module 1716 may be operatively coupled to the other components of the apparatus 1700 via the bus 1712 or the like. The memory module 1716 may be adapted to store computer readable instructions and data for effecting the processes and behavior of the modules 1702-1706, and subcomponents thereof, or the processor 1710, or the method 400 or 1400 and one or more of the additional operations 1500, 1600 described in connection with these methods, or any one or more of the algorithms and equations described herein in symbolic form. The memory module 1716 may retain instructions for executing functions associated with the modules 1702-1706. While shown as being external to the memory 1716, it is to be understood that the modules 1702-1706 can exist within the memory 1716.
[0123] The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the aspects disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
[0124] As used in this application, the terms “component”, “module”, “system”, and the like are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer or system of cooperating computers. By way of illustration, both an application running on a server and the server can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
[0125] Program instructions may be written in any suitable high-level language, for example, C, C++, C#, JavaScript, or Java™, and compiled to produce machine-language code for execution by the processor. Program instructions may be grouped into functional modules, to facilitate coding efficiency and comprehensibility. It should be appreciated that such modules, even if discernable as divisions or grouping in source code, are not necessarily distinguishable as separate code blocks in machine-level coding, Code bundles directed toward a specific function may be considered to comprise a module, regardless of whether machine code on the bundle can be executed independently of other machine code. In other words, the modules may be high-level modules only.
[0126] Various aspects will be presented in terms of systems that may include several components, modules, and the like, It is to be understood and appreciated that the various systems may include additional components, modules, etc. and/or may not include all the components, modules, etc. discussed in connection with the figures. A combination of these approaches may also be used. The various aspects disclosed herein can be performed on electrical devices including devices that utilize touch screen display technologies and/or mouse-and-keyboard type interfaces. Examples of such devices include computers (desktop and mobile), smart phones, personal digital assistants (PDAs), and other electronic devices both wired and wireless.
[0127] In addition, the various illustrative logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. As used herein, a “processor” encompasses any one or functional combination of the foregoing examples.
[0128] Operational aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
[0129] Furthermore, the one or more versions may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed aspects. Non-transitory computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD), BluRay™ . . . ), smart cards, solid-state devices (SSDs), and flash memory devices (e.g., card, stick). Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope of the disclosed aspects.
[0130] In view of the exemplary systems described supra, methodologies that may be implemented in accordance with the disclosed subject matter have been described with reference to several flow diagrams. While for purposes of simplicity of explanation, the methodologies are shown and described as a series of blocks, it is to be understood and appreciated that the claimed subject matter is not limited by the order of the blocks, as some blocks may occur in different orders and/or concurrently with other blocks from what is depicted and described herein. Moreover, not all illustrated blocks may be required to implement the methodologies described herein. Additionally, it should be further appreciated that the methodologies disclosed herein are capable of being stored on an article of manufacture to facilitate transporting and transferring such methodologies to computers.
[0131] The previous description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be clear to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.