Original: Interpretable Robust Recommender Systems with Side Information
Revised: Interpretable Robust Recommender Systems with Side Information

Original: Abstract
Revised: Abstract

Original: In this paper, we propose two methods, namely
Revised: In this paper, we propose two methods, namely

Original: Trace-norm regression (TNR) and Stable Tracenorm Analysis (StaTNA), to improve performances of recommender systems using side information.
Revised: Trace-norm regression (TNR) and Stable Tracenorm Analysis (StaTNA), to improve performances of recommender systems with side information.

Original: Our trace-norm regression approach extracts low-rank latent factors underlying the side information that drive user preference under different context.
Revised: Our trace-norm regression approach extracts low-rank latent factors underlying the side information that drives user preference under different context.

Original: Furthermore, our novel recommender framework StaTNA not only captures latent low-rank common drivers for user preferences, but also considers idiosyncratic taste for individual users.
Revised: Furthermore, our novel recommender framework StaTNA not only captures latent low-rank common drivers for user preferences, but also considers idiosyncratic taste for individual users.

Original: We compare performances of TNR and StaTNA on the MovieLens datasets against state-of-the-art models, and demonstrate that StaTNA and TNR in general outperforms these methods.
Revised: We compare performances of TNR and StaTNA on the MovieLens datasets against state-of-the-art models, and demonstrate that StaTNA and TNR in general outperforms these methods.

Original: 1. Introduction
Revised: 1. Introduction

Original: The boom of user activity on e-commerce and social networks has continuously fueled the development of recommender systems to most effectively provide suggestions for items that may potentially match user interest.
Revised: The boom of user activity on e-commerce and social networks has continuously fueled the development of recommender systems to most effectively provide suggestions for items that may potentially match user interest.

Original: In highlyrated Internet sites such as Amazon.com, YouTube, Netﬂix, Spotify, LinkedIn, Facebook, Tripadvisor, Last.fm, and IMDb, developing and deploying personalized recommender systems lie at the crux of the services they provide to users and subscribers (Ricci et al., 2015).
Revised: In highlyrated Internet sites such as Amazon.com, YouTube, Netﬂix, Spotify, LinkedIn, Facebook, Tripadvisor, Last.fm, and IMDb, developing and deploying personalized recommender systems lie at the crux of the services they provide to users and subscribers (Ricci et al., 2015).

Original: For example,
Revised: For example,

Original: Youtube, one of the worlds most popular video sites, has deployed a recommender system that updates regularly to deliver personalized sets of videos to users based on their previous or recent activity on site to help users ﬁnd videos relevant to their interests, potentially keeping users entertained and engaged (Davidson et al., 2010).
Revised: Youtube, one of the worlds most popular video sites, has deployed a recommender system that updates regularly to deliver personalized sets of videos to users based on their previous or recent activity on site to help users ﬁnd videos relevant to their interests, potentially keeping users entertained and engaged (Davidson et al., 2010).

Original: Among the vast advancements in deep learning and matrix completion techniques to build recommender systems (Ricci et al., 2015; Singhal et al., 2017), one of the most imperative aspect of research in such area is to identify latent (possibly low-rank) commonalities that drive speciﬁc types of user behaviour.
Revised: Among the vast advancements in deep learning and matrix completion techniques to build recommender systems (Ricci et al., 2015; Singhal et al., 2017), one of the most imperative aspect of research in such area is to identify latent (possibly low-rank) commonalities that drive speciﬁc types of user behaviour.

Original: For example, (Dong et al., 2017) proposes a deep neural network based matrix factorization approach that uses explicit rating as well as implicit ratings to map user and items into common low-dimensional space.
Revised: For example, (Dong et al., 2017) proposes a deep neural network based matrix factorization approach that uses explicit rating as well as implicit ratings to map user and items into common low-dimensional space.

Original: Yet, such variety of low-rank methodologies do not address the impact of idiosyncratic behaviour among buyers, which may potentially skew the overall learned commonalities across user groups.
Revised: Yet, such variety of low-rank methodologies do not address the impact of idiosyncratic behaviour among buyers, which may potentially skew the overall learned commonalities across user groups.

Original: In this work, we propose two multi-task learning methods to improve performances of recommender systems using contextual side information.
Revised: In this work, we propose two multi-task learning methods to improve performances of recommender systems using contextual side information.

Original: We ﬁrst introduce an approach based on trace-norm regression (TNR) that enables us to extract low-rank latent dimensions underlying the side information that drive user preference according to variations in context, such as item features, user characteristics, time, season, location, etc.
Revised: We ﬁrst introduce an approach based on trace-norm regression (TNR) that enables us to extract low-rank latent dimensions underlying the side information that drive user preference according to variations in context, such as item features, user characteristics, time, season, location, etc.

Original: This is achieved by introducing a nuclear-norm regularization penalty term in the multi-task regression model, and we highlight that such latent dimensions can be thought of as homogeneous behaviour among particular types of user groups.
Revised: This is achieved by introducing a nuclear-norm regularization penalty term in the multi-task regression model, and we highlight that such latent dimensions can be thought of as homogeneous behaviour among particular types of user groups.

Original: Furthermore, we propose a novel recommender framework called Stable Trace-norm
Revised: Furthermore, we propose a novel recommender framework called Stable Trace-norm

Original: Analysis (StaTNA) that not only captures latent low-rank common drivers for user preference, but also considers idiosyncratic taste for individual users.
Revised: Analysis (StaTNA) that not only captures latent low-rank common drivers for user preference, but also considers idiosyncratic taste for individual users.

Original: This is achieved by, in addition to the low-rank penalty, adding a sparsity regularization term to exploit the sparse nature of heterogeneous behaviour.
Revised: This is achieved by, in addition to the low-rank penalty, adding a sparsity regularization term to exploit the sparse nature of heterogeneous behaviour.

Original: Finally, we test the performance of StaTNA on the MovieLens datasets against state-of-the-art models, and demonstrate that StaTNA and TNR in general outperforms these methods.
Revised: Finally, we test the performance of StaTNA on the MovieLens datasets against state-of-the-art models, and demonstrate that StaTNA and TNR in general outperforms these methods.

Original: 2. Preliminaries and the StaTNA Framework
Revised: 2. Preliminaries and the StaTNA Framework

Original: We ﬁrst introduce some notation that will be adopted throughout the rest of our work.
Revised: We ﬁrst introduce some notation that will be adopted throughout the rest of our work.

Original: We let Ω denote the set of all observed entries and  deﬁne ¯ Z = P Ω ( Z )for any matrix Z as 
Revised: We let Ω denote the set of all observed entries, and for any matrix Z , deﬁne ¯ Z = P Ω ( Z ) as ¯ Z ij =

Original: [Equation]
Revised: Z ij if ( i, j ) ∈ Ω and 0 otherwise.

Original: We let Y ∈ R n × p , be the ﬁnal output of the recommender system, X ∈ R n × d includes all side information, and L , S ∈ R d × p represent the common and idiosyncratic ef- fects of side information on users.
Revised: We let Y ∈ R n × p , be the ﬁnal output of the recommender system, X ∈ R n × d includes all side information, and L , S ∈ R d × p represent the common and idiosyncratic effects of side information on users.

Original: Both L and S can be considered as mappings from the side information to the recommender response.
Revised: Both L and S can be considered as mappings from the side information to the recommender response.

Original: To be more speciﬁc, we take a movie recommender system for example: n can be the number of movies, p is the number of users, so each entry of Y is the predicted rating of each user for every movie, while X represents the features of each movie where each feature is d dimensional.
Revised: To be more speciﬁc, we take a movie recommender system for example: n can be the number of movies, p is the number of users, so each entry of Y is the predicted rating of each user for every movie, while X represents the features of each movie where each feature is d dimensional.

Original: When a new movie comes in, we apply L or/and S to the movie’s feature to predict the rating of each existing user’s, and recommend the movie to users with high predicted ratings.
Revised: When a new movie comes in, we apply L or/and S to the movie’s feature to predict the rating of each existing user’s, and recommend the movie to users with high predicted ratings.

Original:  The Trace-norm Regression (TNR) Approach
Revised: 2.1. The Trace-norm Regression (TNR) Approach

Original: Before turning to TNR, we ﬁrst consider a regularized lowrank solution for large-scale matrix completion problems called Soft-Impute (Mazumder et al., 2010), which sheds light upon the key ideas of trace-norm regression.
Revised: Before turning to TNR, we ﬁrst consider a regularized lowrank solution for large-scale matrix completion problems called Soft-Impute (Mazumder et al., 2010), which sheds light upon the key ideas of trace-norm regression.

Original: The SoftImpute problem is formulated as the following:
Revised: The SoftImpute problem is formulated as the following:

Original: [Equation]
Revised: [Equation]

Original: where  we minimize the reconstruction error subject to a bound on the nuclear norm, which serves as a convex relaxation of rank of a matrix. Note that (cid:107)·(cid:107) F denotes the Frobenius norm and (cid:107)·(cid:107) ∗ denotes the nuclear norm.
Revised: where (cid:107)·(cid:107) F denotes the Frobenius norm and (cid:107)·(cid:107) ∗ denotes the nuclear norm. In this formulation, we minimize the reconstruction error subject to a bound on the nuclear norm, which serves as a convex relaxation of rank of a matrix and allows us to exploit the low-rank structure of the matrix L .

Original: Based on similar ideas, trace-norm regression extends this idea of incorporating regularization on the rank of a matrix in the context of multi-task learning, as it minimize square loss while penalizing large ranks of the coefﬁcient matrix:
Revised: Based on similar ideas, trace-norm regression extends this idea of incorporating regularization on the rank of a matrix in the context of multi-task learning, as it minimizes square loss while penalizing large ranks of the coefﬁcient matrix:

Original: [Equation]
Revised: [Equation]

Original: 2.2. Stable Trace-norm Anlaysis (StaTNA)
Revised: 2.2. Stable Trace-norm Anlaysis (StaTNA)

Original: Similar to our introduction of Soft-Impute and TNR, we ﬁrst discuss a non contextual model that incorporates both the low-rank matrix L and sparse matrix S : namely the stable principal component pursuit (SPCP)
Revised: Similar to our introduction of Soft-Impute and TNR, we ﬁrst discuss a non contextual model that incorporates both the low-rank matrix L and sparse matrix S , namely the stable principal component pursuit (SPCP)

Original: (Wright et al., 2013;
Revised: (Wright et al., 2013;

Original: Zhou et al., 2010; Wright et al., 2009).
Revised: Zhou et al., 2010; Wright et al., 2009):

Original: [Equation]
Revised: [Equation]

Original: where (cid:107)·(cid:107) 1 denotes the sum of absolute values for all entries of a matrix.
Revised: where (cid:107)·(cid:107) 1 denotes the sum of absolute values for all entries of a matrix.

Revised: (cid:107) S (cid:107) 1 and (cid:107) L (cid:107) ∗ models sparsity in S and the low-rank structure in L respectively.

Revised: To further illustrate some intuition for the choice of such norms, we provide an example in the context of foreground-background separation in video processing.

Revised: L can be considered as the stationary background, which is low-rank due to the strong correlation between frames; while S can represent foreground objects, which normally occupy only a fraction of the video and hence can be treated as sparse.

Original:  Finally, in light of SPCP, we propose a novel framework called Stable Trace-norm Analysis (StaTNA) by adding contextual side information to consideration:
Revised: (Mu et al., 2016) Finally, in light of SPCP, we propose a novel framework called Stable Trace-norm Analysis (StaTNA) by adding contextual side information to consideration:

Original: [Equation]
Revised: [Equation]

Original: Note that StaTNA can be considered as a combination of trace norm regression and SPCP, and some theoretical aspects are discussed in (Agarwal et al., 2012).
Revised: Note that StaTNA can be considered as a combination of trace norm regression and SPCP, and some theoretical aspects are discussed in (Agarwal et al., 2012).

Original: The matrix
Revised: The matrix

Original: L captures latent homogeneity among preferences of users, such as an Academy Award winning ﬁlm would be preferable to many users.
Revised: L captures latent homogeneity among preferences of users, such as an Academy Award winning ﬁlm would be preferable to many users.

Original: On the other hand, idiosyncratic tastes of users are embodied in S , such as some users particularly like horror movies that involve robots and monsters.
Revised: On the other hand, idiosyncratic tastes of users are embodied in S , such as some users particularly like horror movies that involve robots and monsters.

Original: Note that S can also be considered as a way to be robust to outliers in user behaviour or preference.
Revised: Note that S can also be considered as a way to be robust to outliers in user behaviour or preference.

Original: Note that in the case where X is the identity matrix, this problem is reduced to SPCP.
Revised: In the case where X is the identity matrix, this problem is reduced to SPCP.

Original: Also, TNR can be considered as a special case of StaTNA by taking λ S = ∞ , which explains why StaTNA will in general be more robust compared to TNR.
Revised: Also, TNR can be considered as a special case of StaTNA by taking λ S = ∞ , which explains why StaTNA will in general be more robust compared to TNR.

Original: 3. Algorithm for Solving TNR and StaTNA 
Revised: 2.3. Solving TNR and StaTNA with FISTA

Original: In this section, we  discuss the methodologies we use to solve TNR and StaTNA.
Revised: In this subsection we will only brieﬂy discuss the methodologies used in this paper to solve TNR and StaTNA, due to space limitations.

Original: We ﬁrst highlight the computational feasibility for both models since methods such as proximal gradient descent (Nesterov, 2013) or (Fast) Iterative Shrinkage-Thresholding Algorithm (FISTA, (Beck &Teboulle, 2009)) can be used to solve these problems with provable (sub)linear convergence rate (Karimi et al., 2016). Before we address the detailed applications of these algorithms in our context, we introduce the following optimization oracles. We deﬁne the proximal mapping of the (cid:96) 1 norm as T λ [ Y ] = arg min 12 (cid:107) X − Y (cid:107) 2 F + λ (cid:107) X
Revised: We ﬁrst highlight the computational feasibility for both models since methods such as proximal gradient descent (Nesterov, 2013) or (Fast) Iterative Shrinkage-Thresholding Algorithm (FISTA, (Beck &

Original: (cid:107) 1 , where T λ : R → R denotes the soft-thresholding operator T λ ( x ) =

Original: x (cid:16) 1 − λ | x | (cid:17) + , whose extension to matrices is obtained by applying the scalar operator to each element.

Original: Moreover, we deﬁne the proximal mapping of the nuclear norm (Cai et al., 2010; Ma et al., 2011) as S λ [ Y ] = arg min 12 (cid:107) X − Y (cid:107) 2 F + λ (cid:107) X (cid:107) ∗ , where S λ
Revised: Teboulle, 2009)) can be used to solve these problems with provable (sub)linear convergence rate (Karimi et al., 2016).

Original: [ Y ] =

Original: U T λ [ D ] V (cid:62) , and Y = UDV (cid:62) is the SVD of matrix Y . Now, using these deﬁnitions, we detail the algorithm to solve StaTNA in Algorithm 1. Note that one can also initialize L 0 inboth Algorithm 1 as L 0 =
Revised: For StaTNA, we directly apply FISTA to estimate L and S , and the procedure is detailed in Algorithm 1 in Appendix

Original: ( X (cid:62) X ) † X (cid:62) P Ω ( Y ) , where † denotes the pseudo-inverse of a matrix. For StaTNA, we directly apply FISTA to estimate L and S , and the procedures are detailed in Algorithm 1.
Revised: A.1.

Original: As aforementioned, TNR is a special case for StaTNA, so to solve TNR, we simply take λ S = ∞ inAlgorithm 1, which forces all S k and ˆ S k to 0 .
Revised: Next, as aforementioned, TNR is a special case for StaTNA, so to solve TNR, we simply take λ S = ∞ in

Original: In our work, we consider the MovieLens 100k and MovieLens 1M datasets. The summary for both datasets are shown in Table 1 Note that MovieLens 1M movies do not include all MovieLens 100k movies. In both datasets, each user has rated at least 20 movies, and ratings are whole numbers in the scale of 1-5.
Revised: Algorithm 1.

Original: In addition, each dataset is associated with a side information matrix whose rows are indexed by Algorithm [-1: Given Y , X set ˆ L 0 = L 0 = 0 , ˆ S 
-]
Revised: We also point out that Algorithm [-1: Given Y , X set ˆ L 0 = L 0 = 0 , ˆ S 
-]1 may be computationally expensive when the matrix is large.

Original: = S 0 = 0 , t 0 =2: Let L = λ max ( X (cid:62) X ) 3: for k = 0 , 1 , . . . do 4: G k = − X (cid:62) P Ω ( Y − X
Revised: In Appendix A.2 we will propose several modiﬁcations to our method for solving TNR and StaTNA which will enable us to improve computational complexity.

Original: ˆ L k − X ˆ S k ) 5: L k +1 = S λ L /L [ ˆ L k − G k /L ] 6:
Revised: 3. Experiment 3.1. Dataset

Original: [-S k +
 = T λ S /L [ ˆ S k − G k /L-]
Revised: [-S k +
 = T λ S /L [ ˆ S k − G k /L-]In our work, we consider the MovieLens 100K and MovieLens 1M datasets.

Original: [-7: t k +1 = 1+ √ 1+4( t k ) 8: ˆ L k +
 = L k +1 + t k −-] 1 [-t k +
 ( L k +1 − L k ) 9: ˆ S k-]
Revised: [-7: t k +1 = 1+ √ 1+4( t k ) 8: ˆ L k +
 = L k +1 + t k −-]The summary for both datasets are shown in Table 1 [-t k +
 ( L k +1 − L k ) 9: ˆ S k-]Note that MovieLens 1M movies do not include all MovieLens 100k movies.

Original: [-+
 = S k-]
Revised: [-+
 = S k-]In both datasets, each user has rated at least 20 movies, and ratings are whole numbers in the scale of 1-5.

Original: [-+
 + t k −-] 1 [-t k +
 ( S k +1 − S k ) 10: end for 11: return L k +1 , S k + [Table]-]
Revised: [-+
 + t k −-]In addition, each dataset is associated with a side information matrix whose rows are indexed by movies and includes 1 [-t k +
 ( S k +1 − S k ) 10: end for 11: return L k +1 , S k + [Table]-]feature column denoting the movie category (19 categories in total), along with 1128 columns which denote relevant scores of a movie to provided tags.

Original: [Table]
Revised: [Table]

Original: movies and includes 1 feature column denoting the movie category (19 categories in total), along with 1128 columns which denote relevant scores of a movie to provided tags.

Original: 4.2. Experiment Setup
Revised: 3.2. Experiment Setup

Original: We pre-process side information to obtain two types of sideinformation matrices.
Revised: We pre-process side information to obtain two types of sideinformation matrices.

Original: For the ﬁrst type, we apply one-hotencoding to the categorical feature and obtain 19 categorical features for each dataset.
Revised: For the ﬁrst type, we apply one-hotencoding to the categorical feature and obtain 19 categorical features for each dataset.

Original: The ﬁnal side information matrix is the concatenation of this categorical representation and relevance scores to given tags, which has dimensions n × 1147 where n is the number of movies in each dataset.
Revised: The ﬁnal side information matrix is the concatenation of this categorical representation and relevance scores to given tags, which has dimensions n × 1147 where n is the number of movies in each dataset.

Original: For the second type, in addition to one-hot-encoding, we apply
Revised: For the second type, in addition to one-hot-encoding, we apply

Original: GloVe word embeddings with K = 

Revised: GloVe word embeddings with K =

Original: (Pennington et al., 2014) to these categories using an average pooling trick, and result in a 300-dimensional categorical representation vector for each movie.
Revised: (Pennington et al., 2014) to these categories using an average pooling trick, and result in a 300-dimensional categorical representation vector for each movie.

Original: The ﬁnal side information matrix has dimensions n × 1428.
Revised: The ﬁnal side information matrix has dimensions n × 1428.

Original: We refer to TNR-G and StaTNA-G as the  models trained on this second type of side information processed using GloVe word embedding.
Revised: For simplicity, we use the sufﬁx “-G” to denote models trained on the second type of side information processed using GloVe word embedding, while models without this sufﬁx will denote models trained on the ﬁrst type of side information.

Original: In the work, we perform two experiments: 1.
Revised: In this work, we perform two experiments: 1.

Original: ( Matrix completion with side information )
Revised: ( Matrix completion with side information )

Original: We ﬁll in missing values in the rating matrix using the pre-processed side information matrix, which is the traditional matrix completion problem.
Revised: We ﬁll in missing values in the rating matrix using the pre-processed side information matrix, which is the traditional matrix completion problem.

Original: For each dataset, we randomly select 20% of observed values in the rating matrix as the test set, and train TNR &
Revised: For each dataset, we randomly select 20% of observed values in the rating matrix as the test set, and train TNR &

Original: StaTNA, and TNR-G & StaTNA-G on the two types of side-information matrices respectively.
Revised: StaTNA, and TNR-G & StaTNA-G on the two types of side-information matrices respectively.

Original: We use state-of-theart models such as SVD, Sparse FC, and GC-MC as our baseline.
Revised: We use state-of-theart models such as SVD, Sparse FC, and GC-MC as our baseline.

Revised: Here we point out that these baseline models do not incorporate side information, opposed to our TNR and

Revised: StaTNA models which are trained on side information.

Revised: Yet, our experimental results will demonstrate that our proposed models, via utilizing side information, will signiﬁcantly improve performance in this matrix completion task.

Original: ( Regression )
Revised: ( Regression )

Original: We predict the ratings for new movies based on new side information of the movie, which is similar to the traditional regression problem.
Revised: We predict the ratings for new movies based on new side information of the movie, which is similar to the traditional regression problem.

Original: For each dataset, we train TNR, TNR-G, StaTNA, StaTNA-G on a randomly selected 80% of all movies and apply trained models on the remaining 20%.
Revised: For each dataset, we train TNR, TNR-G, StaTNA, StaTNA-G on a randomly selected 80% of all movies and apply trained models on the remaining 20%.

Original: Furthermore, both experiments involve two hyperparameters, namely λ L and λ S , which are tuned using 10-fold cross validation.
Revised: Furthermore, both experiments involve two hyperparameters, namely λ L and λ S , which are tuned using 10-fold cross validation.

Original: We use Lasso and
Revised: We use Lasso, Elastic Nets,

Original:  Elastic Nets  as our baseline model.
Revised: Multi-task Lasso and Multi-task Elastic Nets (Obozinski et al., 2006) as our baseline models. Note that standard Lasso and standard Elastic Nets are trained for each user independently to predict the user’s rating for a given movie. The matrix formulations of these baseline models are shown in Table 6 in Appendix B.2.

Original: Finally, we evaluate model performance using mean absolute error (MAE) and root mean square error (RMSE) on the test set.
Revised: Finally, we evaluate model performance using mean absolute error (MAE) and root mean square error (RMSE) on the test set.

Original: 4.3. Performance Results
Revised: 3.3. Performance Results

Original: MovieLens

Original: [Table]
Revised: [Table]

Original: Experiment 1: Matrix Completion with Side Information As shown in the out of sample results in Table 2,
Revised: As shown in the out of sample results in Table 2,

Original: StaTNa signiﬁcantly outperforms state-of-the-art models including Sparse FC and GC-MC on MovieLens 1M, resulting in a test set 0.768 RMSE and 0.585 MAE.
Revised: StaTNa signiﬁcantly outperforms state-of-the-art models including Sparse FC and GC-MC on MovieLens 1M, resulting in a test set 0.768 RMSE and 0.585 MAE.

Original: This illustrates that StaTNA with GloVe embedding applied to side information greatly improves movie rating predictions.
Revised: This illustrates that StaTNA with GloVe embedding applied to side information greatly improves movie rating predictions.

Original: Among baseline models, Sparse FC yields the best result for the MovieLens 1M matrix completion problem [Table] but we highlight that Sparse FC relies on complex neural network structure and hence causes many difﬁculties in model interpretation.
Revised: Among baseline models, Sparse FC yields the best result for the MovieLens 1M matrix completion problem, but we highlight that Sparse FC relies on complex neural network structure and hence causes many difﬁculties in model interpretation.

Original: Furthermore, for MovieLens 1M, the memory size of weights and multiply accumulate operations (MAC) for Sparse FC are extremely large, amounting to 7.00M and 2.23M.
Revised: Furthermore, for MovieLens 1M, the memory size of weights and multiply accumulate operations (MAC) for Sparse FC are extremely large, amounting to 7.00M and 2.23M.

Original: On the other hand, results for StaTNA can be analyzed through investigating the structure in L and S , and the memory size of StaTNA weights and MAC are only 3.33M and 0.87M respectively, which imply that StaTNA is more applicable for real-time edge computing.
Revised: On the other hand, results for StaTNA can be analyzed through investigating the structure in L and S , and the memory size of StaTNA weights and MAC are only 3.33M and 0.87M respectively, which imply that StaTNA is more applicable for real-time edge computing.

Original: However, we notice that both TNR and StaTNA do not perform as well as state-of-the-art models in MovieLens 100K. One explanation is that our models require more training data compared to baseline models to fully capture latent structures of both L and S in order to generalize well on test data.
Revised: We notice that both TNR and StaTNA do not perform as well as state-of-the-art models in MovieLens 100K. One explanation is that our models require more training data compared to baseline models to fully capture latent structures of both L and S in order to generalize well on test data.

Original: Finally, we also point at that StaTNA converges faster, and in general performs better than TNR, as shown in Figure 1 within Appendix A.2. [Table]
Revised: Finally, we also point out that StaTNA converges faster, and in general performs better than TNR, as shown in Figurewithin Appendix C.1.

Original: Experiment 2: Regression
Revised: Experiment 2: Regression

Original: In the secondRegression experiment to predict user ratings for movies, as shown in 
Revised: In the second experiment to predict user ratings for movies, as shown in Table 3, for

Original: Table 3, for MovieLens 100K, all StaTNA and TNR models signiﬁcantly outperform baseline models, while TNR with GloVe embedding yields the best out-of-sample performance.
Revised: [Table] MovieLens 100K, all StaTNA and TNR models signiﬁcantly outperform baseline models, while TNR with GloVe embedding yields the best out-of-sample performance.

Original: For MovieLens 1M, StaTNA with GloVe embedding results in the best out-of-sample performance compared to all other baseline models including TNR, with and without GloVe embedding.
Revised: For MovieLens 1M, StaTNA with GloVe embedding results in the best out-of-sample performance compared to all other baseline models including TNR, with and without GloVe embedding.

Original: The strong performance of StaTNA and StaTNA-G across both experiments, and especially in MovieLens 1M, indicates that our StaTNA framework provides promising performance guarantees for solving both matrix completion and regression tasks.
Revised: The strong performance of StaTNA and StaTNA-G across both experiments, and especially in MovieLens 1M, indicates that our StaTNA framework provides promising performance guarantees for solving both matrix completion and regression tasks.

Original: 4.4. Discussion on Interpretability for StaTNA
Revised: 3.4. Discussion on Interpretability for StaTNA

Original: As mentioned in earlier sections, we are interested in analyzing particular underlying commonalities in user preferences.
Revised: As mentioned in earlier sections [Table] we are interested in analyzing particular underlying commonalities in user preferences.

Original: We achieve this by investigating the principal components of our estimate of the low-rank matrix L , each of which we consider as a common type of user preference.
Revised: We achieve this by investigating the principal components of our estimate of the low-rank matrix L , each of which we consider as a common type of user preference.

Original: Since our estimated L is of rank 6, we conclude that there aremajor common types of user preferences, whose component scores (i.e. explained variance percentages) are listed in
Revised: Since our estimated L is of rank 6, we conclude that there aremajor common types of user preferences, whose component scores (i.e. explained variance percentages) are listed in

Original: Table 4, where we observe that the ﬁrst principal component explains 88.94% of the variability in user ratings.
Revised: Table 4, where we observe that the ﬁrst principal component explains 88.94% of the variability in user ratings.

Original: Table 5 shows the top 12 features of highest absolute weights within the ﬁrst two principal components.
Revised: Table 5 shows the top 12 features of highest absolute weights within the ﬁrst two principal components.

Original: The ﬁrst principal component (PC1) indicates that users’ preferences incline towards movies that are more likely to appeal to the general public, for example original movies, movies with great endings, movies that are relevant to cultural issues, etc.
Revised: The ﬁrst principal component (PC1) indicates that users’ preferences incline towards movies that are more likely to appeal to the general public, for example original movies, movies with great endings, movies that are relevant to cultural issues [Table]

Original:  The second principle component (PC2) indicates that user preferences are inﬂuenced by overall movie quality, such that they do not prefer movies with bad plots (perhaps too predictable) or have bad acting.
Revised: etc. The second principle component (PC2) indicates that user preferences are inﬂuenced by overall movie quality, such that they do not prefer movies with bad plots (perhaps too predictable) or have bad acting.

Original: We highlight that we do not compare values of features across different principal components.
Revised: We highlight that we do not compare values of features across different principal components.

Original: For example, in PC1 feature with positive values indicate such features are more preferable, but in
Revised: For example, in PC1 feature with positive values indicate such features are more preferable, but in

Original: PC2 positive values means such features are less preferable, which makes sense since the feature surprisingly clever is negative in PC2.
Revised: PC2 positive values means such features are less preferable, which makes sense since the feature surprisingly clever is negative in PC2.

Original: [Table] [Table]
Revised: [Table] [Table]

Original: are shown in

Original: 6 in Appendinx

Original: 5. Future Work and Conclusion
Revised: 4. Future Work and Conclusion

Original: In Algorithm 1, we call an SVD oracle in each iteration in our algorithm, which is computationally expensive when the matrix is large.
Revised: Our methodology to solve TNR and StaTNA (i.e. Algorithm 1 in Appendix A.1) may be computationally expensive when the matrix is large since it requires calling a Singular Value Decomposition (SVD) oracle in each iteration of the algorithm.

Original: Hence we propose two alternative methods, a FW-T algorithm and a nonconvex reformulation of the problem, to avoid using an SVD oracle when solving
Revised: Hence we propose two alternative methods, a FW-T algorithm and a nonconvex reformulation of the problem, to avoid using an SVD oracle.

Original: StaTNA, which are detailed in Appendix A.1.
Revised: These are detailed in Appendix A.2.

Original: Furthermore, our current studies use side information from only one side, namely movie information.
Revised: Furthermore, our current studies use side information from only one side, namely movie information.

Original: Our StaTNA framework can be extended to incorporate side information for both movies and users by rewriting the loss as the following:
Revised: Our StaTNA framework can be extended to incorporate side information for both movies and users:

Original: [Equation]
Revised: [Equation]

Original: where U and M denotes users and movies respectively.
Revised: where U and M denotes users and movies respectively.

Original: Moreover, our StaTNA framework is also compatible with neural networks by including nuclear norm and sparse penalties to the objective.
Revised: Moreover, our StaTNA framework is also compatible with neural networks by including nuclear norm and sparse penalties to the objective.

Original: We believe that similar formulations will provide us with better performance guarantees, but at the cost of model interpretability.
Revised: We believe that similar formulations will provide us with better performance guarantees, but at the cost of model interpretability.

Original: A. Appendix A.1. Extension on Algorithm Scalability
Revised: A. Algorithms for Solving TNR and StaTNA A.1. FISTA algorithm

Revised: In this section, we discuss the methodologies we use to solve TNR and StaTNA. As mentioned earlier, we use (Fast) Iterative Shrinkage-Thresholding Algorithm (FISTA, (Beck & Teboulle, 2009)) to solve these problems.

Revised: Before we address the detailed applications of these algorithms in our context to solve TNR and StaTNA, we introduce the following optimization oracles.

Revised: We deﬁne the proximal mapping of the (cid:96) 1 norm as T λ

Revised: [ Y ] = arg min 12 (cid:107) X − Y (cid:107) 2 F + λ (cid:107) X

Revised: (cid:107) 1 , where T λ : R → R denotes the soft-thresholding operator T λ ( x ) =

Revised: x (cid:16) 1 − λ | x | (cid:17) + , whose extension to matrices is obtained by applying the scalar operator to each element.

Revised: Moreover, we deﬁne the proximal mapping of the nuclear norm (Cai et al., 2010; Ma et al., 2011) as S λ

Revised: [ Y ] = arg min 12 (cid:107) X − Y (cid:107) 2 F + λ (cid:107) X

Revised: (cid:107) ∗ , where S λ

Revised: [ Y ] =

Revised: U T λ

Revised: [ D ] V (cid:62) , and Y = UDV (cid:62) is the SVD of matrix Y .

Revised: Now, using these deﬁnitions, we detail the algorithm to solve StaTNA in Algorithm 1.

Revised: Note that one can also initialize L 0 in both Algorithm 1 as L 0 =

Revised: ( X (cid:62) X )

Revised: † X (cid:62) P Ω ( Y ) , where † denotes the pseudo-inverse of a matrix.

Revised: For StaTNA, we directly apply FISTA to estimate L and S , and the procedures are detailed in Algorithm 1.

Revised: As aforementioned, TNR is a special case for StaTNA, so to solve TNR, we simply take λ S = ∞ in Algorithm 1, which forces all S k and ˆ S k to 0 .

Revised: 1: Given Y , X set ˆ L 0 =

Original: {+L 0 = 0 , ˆ S 
+}
Revised: {+L 0 = 0 , ˆ S 
+}

Revised: =

Revised: S 0 = 0 , t 0 =2: Let L = λ max ( X (cid:62) X ) 3: for k = 0 , 1 , . . .

Revised: do 4:

Revised: G k = − X (cid:62) P Ω ( Y − X

Revised: ˆ L k − X ˆ S k ) 5:

Revised: L k +1 =

Revised: S λ L /L

Revised: [ ˆ L k − G k /L ] 6:

Original: {+S k +
+}
Revised: {+S k +
+}

Revised: = T λ S /L

Revised: [ ˆ S k − G k

Revised: /L

Original: {+7: t k +
+}
Revised: {+7: t k +
+}

Revised: =

Revised: +

Revised: [Equation]

Revised: +

Revised: [Equation]

Revised: ( t k ) 8: ˆ

Revised: [Equation]

Revised: ) 9: ˆ S

Revised: [Equation]

Revised: +

Revised: [Equation]

Revised: =

Revised: [Equation]

Revised: ( S

Revised: [Equation]

Revised: +

Revised: [Equation]

Original: {+S k ) 
 : end for 11: return L k +1 , S k + A.2. Extension on Algorithm Scalability+} In Algorithm 1, we call an SVD oracle in each iteration in FISTA to ﬁnd the proximal mapping of the nuclear norm, which is computationally expensive when the matrix is large, i.e. the number of movie features and users are large.
Revised: {+S k ) 
 : end for 11: return L k +1 , S k + A.2. Extension on Algorithm Scalability+} In Algorithm 1, we call an SVD oracle in each iteration in FISTA to ﬁnd the proximal mapping of the nuclear norm, which is computationally expensive when the matrix is large, i.e. the number of movie features and users are large.

Original: Here we propose two methods to avoid using an SVD oracle.
Revised: Here we propose two methods to avoid using an SVD oracle.

Original: First, inspired by a scalable algorithm FW-T on SPCP (Harchaoui et al., 2015; Mu et al., 2016), we propose a similar FW-T algorithm to solve StaTNA by replacing the proximal mapping of the nuclear norm with a Frank-Wolfe update in each iteration.
Revised: First, inspired by a scalable algorithm FW-T on SPCP (Harchaoui et al., 2015; Mu et al., 2016), we propose a similar FW-T algorithm to solve StaTNA by replacing the proximal mapping of the nuclear norm with a Frank-Wolfe update in each iteration.

Original: To be more speciﬁc, we consider the following reformulation of StaTNA:
Revised: To be more speciﬁc, we consider the following reformulation of StaTNA:

Original: [Equation]
Revised: [Equation]

Original: for some U L and U S such that the optimal solution ( L (cid:63) , S (cid:63) ) is still feasible to the above problem, i.e. (cid:107) L (cid:63) (cid:107) ∗ ≤ U L and (cid:107) S (cid:63) (cid:107) ∗ ≤ U S .
Revised: for some U L and U S such that the optimal solution ( L (cid:63) , S (cid:63) ) is still feasible to the above problem, i.e. (cid:107) L (cid:63) (cid:107) ∗ ≤ U L and (cid:107) S (cid:63) (cid:107) ∗ ≤ U S .

Original: For simplicity, we write the above objective function as g ( L , S , t L , t S ) .
Revised: For simplicity, we write the above objective function as g ( L , S , t L , t S ) .

Original: In each iteration of the FW-T algorithm, we call the following Frank-Wolfe oracle (Algorithm 2) for L and S respectively.
Revised: In each iteration of the FW-T algorithm, we call the following Frank-Wolfe oracle (Algorithm 2) for L and S respectively.

Original: We can see that for the
Revised: We can see that for the

Original: Algorithm 2 Frank-Wolfe Oracle F λ ( G , U, (cid:107)·(cid:107) ) 1: D (cid:63) ∈ arg min (cid:107) D (cid:107)≤ 1 (cid:104) D , G (cid:105) 2: if λ ≥ −(cid:104) D (cid:63) , G (cid:105) then 3: return ( V (cid:63) , t (cid:63) )
Revised: Frank-Wolfe update for matrix L only requires to compute the leading singular pairs for a matrix, which can be achieved by computationally cheap power iteration (Jaggi, 2013). In addition, we perform an exact line-search by easily solving a Algorithm 1: D (cid:63) ∈ arg min (cid:107) D (cid:107)≤ 1 (cid:104) D , G (cid:105) 2: if λ ≥ −(cid:104) D (cid:63) , G (cid:105) then 3: return ( V (cid:63) , t (cid:63) )

Original: =

Original:  ( 0 , 0) 4: else 5: return ( V (cid:63) , t (cid:63) )
Revised: = ( 0 , 0) 4: else 5: return ( V (cid:63) , t (cid:63) )

Original: =
Revised: =

Original: ( U D (cid:63) , U ) 6: end if 
Revised: ( U D (cid:63) , U ) 6: end if quadratic problem P k .

Original: Frank-Wolfe update for matrix L only requires to compute the leading singular pairs for a matrix, which can be achieved by computationally cheap power iteration (Jaggi, 2013).
Revised: min g ( L , S , t L , t S ) s.t. (cid:18) L t L (cid:19) ∈ conv (cid:26)(cid:18) (cid:19) , (cid:18) L k t kL (cid:19) , (cid:18) V kL

Original: In addition, we perform an exact line-search by easily solving a quadratic problem P k .
Revised: V kt L (cid:19)(cid:27) (cid:18) S t S (cid:19) ∈ conv (cid:26)(cid:18) (cid:19) , (cid:18) S k t kS (cid:19) , (cid:18) V kS

Original: [Equation] (cid:19)(cid:27) .
Revised: V kt S (cid:19)(cid:27) .

Original: ( P k )
Revised: ( P k )

Original: The full algorithm for the FW-T is detailed in Algorithm 3.
Revised: The full algorithm for the FW-T is detailed in Algorithm 3.

Original: Second, we propose a nonconvex formulation of the problem suggested by (Aravkin et al., 2014; Srebro et al., 2005): min

Original: [Equation]

Original: where U ∈ R d × r , V ∈ R p × r . This problem is nonconvex but smooth, and these two problems are equivalent in the sense that there is a ono-on-one correspondence between the global minima of these two problems (Burer & Monteiro, 2005; Driggs et al., 2019). Since this new formulation has multi-afﬁne structure, according to new results given by (Gao et al., 2018), we can use ADMM to solve this, which is detailed in Algorithm4.
Revised: Algorithm

Original: 1: Given Y , X set L 0 = S 

Revised: 1: Given Y , X set L 0 = S

Original: = 0 , t 

Revised: = 0 , t

Original: L = t 0 S = 0 ; U 

Revised: L = t 0 S = 0 ; U

Original: L = g ( L 0 , S 0 , t 0 L , t 0 S ) /λ
Revised: L = g ( L 0 , S 0 , t 0 L , t 0 S ) /λ

Original: L , U 0 S =
Revised: L , U 0 S =

Original: g ( L 0 , S 0 , t 0 L , t 0 S ) /λ S 2: Let L = λ max ( X (cid:62) X ) 3: for k = 0 , 1 , . . .
Revised: g ( L 0 , S 0 , t 0 L , t 0 S ) /λ S 2: Let L = λ max ( X (cid:62) X ) 3: for k = 0 , 1 , . . .

Original: do 4:
Revised: do 4:

Original: G k = − X (cid:62) P Ω ( Y − XL k − XS k ) 5: ( V kL , V kt L ) =
Revised: G k = − X (cid:62) P Ω ( Y − XL k − XS k ) 5: ( V kL , V kt L ) =

Original: F λ L ( G k , U kL , (cid:107)·(cid:107) ∗ ) 6: ( V kS , V kt S ) =
Revised: F λ L ( G k , U kL , (cid:107)·(cid:107) ∗ ) 6: ( V kS , V kt S ) =

Original: F λ S ( G k , U kS , (cid:107)·(cid:107) 1 ) 7: (cid:16) ˆ L k , ˆ S k , ˆ t kL , ˆ t kS (cid:17) ∈ arg min( P k ) 8:
Revised: F λ S ( G k , U kS , (cid:107)·(cid:107) 1 ) 7: (cid:16) ˆ L k , ˆ S k , ˆ t kL , ˆ t kS (cid:17) ∈ arg min( P k ) 8:

Original: ˆ G k
Revised: ˆ G k

Original: = − X (cid:62) P Ω ( Y − X
Revised: = − X (cid:62) P Ω ( Y − X

Original: ˆ L k − X ˆ S k ) 9:
Revised: ˆ L k − X ˆ S k ) 9:

Original: S k +

Revised: S k +

Original: =
Revised: =

Original: T λ 2 /L
Revised: T λ 2 /L

Original: [ ˆ S k − ˆ G k /L ] 10:
Revised: [ ˆ S k − ˆ G k /L ] 10:

Original: L k +1 =
Revised: L k +1 =

Original: ˆ L k , t k +1 L = ˆ t kL , t k +1 S
Revised: ˆ L k , t k +1 L = ˆ t kL , t k +1 S

Original: = (cid:107) S k +1 (cid:107)11:
Revised: = (cid:107) S k +1 (cid:107)11:

Original: U k +1 L = g ( L k +1 ,
Revised: U k +1 L = g ( L k +1 ,

Original: S k +1 , t k +1 L , t k 
Revised: S k +1 , t k +1 L , t k +1 S )

Original: [Equation]
Revised: /λ L 12:

Original: U [Equation] +
Revised: U k +1 S =

Original: [Equation]
Revised: g ( L k +1 , S k +1 , t k +1 L , t k +1 S )

Original: =
Revised: /λ S 13: end for 14: return L k +1 , S k + Second, we propose a nonconvex formulation of the problem suggested by (Aravkin et al., 2014; Srebro et al., 2005): min

Original: [Equation]
Revised: [Equation]

Original: 13: end for 14: return L k +1 , S k +
Revised: where U ∈ R d × r , V ∈ R p × r .

Original:  To apply ADMM on this nonconvex reformulation, we further reformulate the problem as the following
Revised: This problem is nonconvex but smooth, and these two problems are equivalent in the sense that there is a ono-on-one correspondence between the global minima of these two problems (Burer & Monteiro, 2005; Driggs et al., 2019). Since this new formulation has multi-afﬁne structure, according to new results given by (Gao et al., 2018), we can use ADMM to solve this, which is detailed in Algorithm 4. To apply ADMM on this nonconvex reformulation, we further reformulate the problem as the following

Original: [Equation]
Revised: [Equation]

Original: 1: Given Y , X , set L 0 = S 

Revised: 1: Given Y , X , set L 0 = S

Original: = U 

Revised: = U

Original: = V 

Revised: = V

Original: = N 

Revised: = N

Original: = R 

Revised: = R

Original: = Λ 0 Y = Λ
Revised: = Λ 0 Y = Λ

Original: L = Λ 0 S = 0 , set ρ Y , ρ L , ρ S 2: for k = 0 , 1 , . . .
Revised: L = Λ 0 S = 0 , set ρ Y , ρ L , ρ S 2: for k = 0 , 1 , . . .

Original: do 3:
Revised: do 3:

Original: U k +

Revised: U k +

Original: =
Revised: =

Original: ( ρ L L k − Λ kL )
Revised: ( ρ L L k − Λ kL )

Original: V k
Revised: V k

Original: [ λ L I + ρ L ( V k ) (cid:62)
Revised: [Equation] L I + ρ [Equation] ( V k ) (cid:62)

Revised: [Equation]

Original: V k ] −4:
Revised: k [Equation] −4:

Original: V k +

Revised: V k +

Original: =
Revised: =

Original: ( ρ L L k − Λ kL ) (cid:62) U 
Revised: ( ρ L L k − [Equation] kL ) (cid:62) U k

Original: {++
+}
Revised: {++
+}

Revised: [Equation]

Original: [-k +
-]
Revised: [-k +
-]+ ρ

Original: [ λ L I + ρ L ( U k +1 ) (cid:62) 
Revised: [Equation] ( U k +1 ) (cid:62) U

Original: U k +1 ] −5:
Revised: k +1 ] −5:

Original: S k +

Revised: S k +

Original: = T λ S /ρ S
Revised: = T λ S /ρ S

Original: [ R k − Λ kS /ρ
Revised: [ R k − Λ kS /ρ

Original: S ] 6:
Revised: S ] 6:

Original: L k +1 =
Revised: L k +1 =

Original: [ ρ L I + ρ Y X [Equation] X ] − 1 [ ρ L U
Revised: [ ρ L I + ρ Y X (cid:62) X ] − 1 [ ρ L U

Original: k
Revised: k

Original: +

Revised: +

Original: ( V k +1 ) (cid:62) + Λ kL + X (cid:62) Λ kY
Revised: ( V k +1 ) (cid:62) + Λ kL + X (cid:62) Λ kY

Original: + ρ Y X (cid:62) ( Y − XR k − N k )] 7:
Revised: + ρ Y X (cid:62) ( Y − XR k − N k )] 7:

Original: R k {++
+}
Revised: R k {++
+}

Original: [Equation]

Original: =
Revised: =

Original: [Equation]
Revised: [ ρ S I

Original:  X ] − 1 [ ρ S S k +1 + Λ kS + X (cid:62) Λ kY + ρ Y X
Revised: + ρ Y X (cid:62) X ] − 1 [ ρ S S k +1 + Λ kS + X (cid:62) Λ kY + ρ Y X

Original: (cid:62) ( Y − XL k +1 − N k )] 8: 
Revised: (cid:62) ( Y − XL k +1 − N k )] 8: N k +1 = 1 ρ [Equation] +1 P

Original: N
Revised: [Equation] [ Λ kY [Equation] ρ

Original: [Equation]
Revised: [Equation]

Original: =
Revised: Y [Equation] ρ Y

Original: [Equation]
Revised: [Equation]

Revised: L

Original: [Equation]
Revised: [Equation]

Original: k +1 + 
Revised: +1 + R

Original: [Equation]
Revised: [Equation]

Original: k +1 )]
Revised: +1 )]

Original: + 1 ρ Y P
Revised: + 1 ρ Y P

Original: ⊥ Ω [ Λ kY + ρ Y Y − ρ Y X
Revised: [Equation] Ω [ Λ kY + ρ Y Y − ρ Y X

Original: ( L k+1 +R k +1 )] 9: Λ k +1 Y =
Revised: ( L k +

Original: [Equation]
Revised: [Equation]

Original: kY [Equation] [Equation] k +
Revised: R k +1 )] 9: Λ

Original: [Equation]
Revised: [Equation]

Original: k +1 )
Revised: +1 Y =

Original: [Equation]
Revised: [Equation]

Original: N k +1 ] 10: Λ k +1 L

Original: [Equation]
Revised: [Equation]

Original: V
Revised: N

Original: [Equation]
Revised: [Equation]

Original: [Equation] − L k 
Revised: ] 10: Λ k +1 L = [Equation]

Original: [Equation]
Revised: [Equation]

Original:  ] 11: Λ k +
Revised: 1 ] 11: Λ k +1 S =

Original: [Equation]
Revised: [Equation]

Original:  S =
Revised: ( S k +1 − R k +1 ) 12: end for 13: return L k +1 , S k + B. Summary for Formulations B.1. Summary for norms

Original: [Equation]
Revised: [Table]

Original: k
Revised: B.2. Summary for models

Original: [Equation]
Revised: [Table]

Original: ) 12: end for 13: return L k +1 , S k +

Original: A.2. Experiment Figures 
Revised: C. Additional Stuff C.1. Experiment Figures (Figures 1 and 2) C.

Original: (Figures 1 and 2) A.3.

Original: OtherPrincipal Components (Table 6)
Revised: Other (Table 7)

Original: Top
Revised: Top

Original: PC3 Features
Revised: [Table]

Original: Weights
Revised: Weights

Original: PC4 Features
Revised: [Table]

Original: Weights
Revised: Weights

Original: PC5 Features
Revised: [Table]

Original: Weights
Revised: Weights

Original: PC6 Features
Revised: [Table]

Original: Weights goofy -0.
Revised: Weights goofy -0.

Original: intercept -0.
Revised: intercept -0.

Original: Drama -0.
Revised: Drama -0.

Original: Adventure 0.
Revised: Adventure 0.

Original: girlie movie 0.
Revised: girlie movie 0.

Original: interesting 0.
Revised: interesting 0.

Original: good action 0.
Revised: good action 0.

Original: tense -0.
Revised: tense -0.

Original: brutality -0.
Revised: brutality -0.

Original: great movie 0.
Revised: great movie 0.

Original: chase 0.
Revised: chase 0.

Original: Drama -0.
Revised: Drama -0.

Original: stupidity -0.
Revised: stupidity -0.

Original: intense 0. action 0.
Revised: intense 0. action 0.

Original: weird 0.
Revised: weird 0.

Original: romantic 0.
Revised: romantic 0.

Original: narrated 0.
Revised: narrated 0.

Original: great movie 0.
Revised: great movie 0.

Original: fantasy 0.
Revised: fantasy 0.

Original: sweet 0.
Revised: sweet 0.

Original: great acting 0.
Revised: great acting 0.

Original: exciting 0.
Revised: exciting 0.

Original: fantasy world 0.
Revised: fantasy world 0.

Revised: [Table]

Original: family 0.
Revised: family 0.

Original: imdb top0.
Revised: imdb top0.

Original: franchise 0.
Revised: franchise 0.

Original: Sci-Fi 0.
Revised: Sci-Fi 0.

Revised: [Table]

Original: violence -0.
Revised: violence -0.

Original: dark 0.
Revised: dark 0.

Original: series 0.
Revised: series 0.

Original: mythology 0.
Revised: mythology 0.

Revised: [Table]

Original: Horror -0.
Revised: Horror -0.

Original: excellent script 0.
Revised: excellent script 0.

Original: quotable 0. imagination 0.
Revised: quotable 0. imagination 0.

Revised: [Table]

Original: love story 0.
Revised: love story 0.

Original: dark humor 0.
Revised: dark humor 0.

Original: ﬁghting 0.
Revised: ﬁghting 0.

Revised: visually stunning 0.

Original: [Table]
Revised: cult classic -0. very good 0. hilarious 0. suspense -0.

Revised: silly fun -0.

Revised: drama 0.

Revised: humor 0.

Revised: superheroes 0.