Next Article in Journal
Locality-Sensitive Hashing for Information Retrieval System on Multiple GPGPU Devices
Next Article in Special Issue
Dynamic Modeling for Resilience Measurement: NATO Resilience Decision Support Model
Previous Article in Journal
Serial Disulfide Polymers as Cathode Materials in Lithium-Sulfur Battery: Materials Optimization and Electrochemical Characterization
Previous Article in Special Issue
Weighted z-Distance-Based Clustering and Its Application to Time-Series Data
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Leveraging User Comments for Recommendation in E-Commerce

1
Department of Electrical Engineering, National Sun Yat-Sen University, Kaohsiung 804, Taiwan
2
Department of Electrical Engineering, Intelligent Electronic Commerce Research Center, National Sun Yat-Sen University, Kaohsiung 804, Taiwan
3
Information Technology Department, Southern Taiwan Business Group, Chunghwa Telecom Co., Ltd., Kaohsiung 800, Taiwan
*
Author to whom correspondence should be addressed.
Appl. Sci. 2020, 10(7), 2540; https://doi.org/10.3390/app10072540
Submission received: 8 March 2020 / Revised: 25 March 2020 / Accepted: 2 April 2020 / Published: 7 April 2020
(This article belongs to the Special Issue New Frontiers in Computational Intelligence)

Abstract

:
Collaborative filtering recommender systems traditionally recommend products to users solely based on the given user-item rating matrix. Two main issues, data sparsity and scalability, have long been concerns. In our previous work, an approach was proposed to address the scalability issue by clustering the products using the content of the user-item rating matrix. However, it still suffers from these concerns. In this paper, we improve the approach by employing user comments to address the issues of data sparsity and scalability. Word2Vec is applied to produce item vectors, one item vector for each product, from the comments made by users on their previously bought goods. Through the user-item rating matrix, the user vectors of all the customers are produced. By clustering, products and users are partitioned into item groups and user groups, respectively. Based on these groups, recommendations to a user can be made. Experimental results show that both the inaccuracy caused by a sparse user-item rating matrix and the inefficiency due to an enormous amount of data can be much alleviated.

1. Introduction

Recommender systems [1,2,3] are able to analyze the past behavior of customers and recommend the products in which they might be interested. Recommender systems can roughly be categorized into two types: collaborative filtering and content-based filtering. Content-based filtering [4,5,6] assumes that customers will buy things that are similar to what they have bought in the past. Therefore, detailed information about products and users are required for recommendations. However, the information needed is growing harder to get in the modern age of privacy awareness. Collaborative filtering [7,8,9,10,11,12,13,14,15,16,17] assumes that similar users have similar interest in items and similar items have similar ratings by users. Traditionally, users give their preference ratings for the previously purchased products, and these ratings are maintained in a user-item rating matrix. Based on the content of the matrix, collaborative filtering makes recommendations to a user according to the opinions of other like-minded users on the products. In general, collaborative filtering is simpler and more practical, and it tends to be more appealing in the E-commerce community.
However, there exist some issues with collaborative filtering. Two of them are data sparsity and scalability [18,19,20]. Data sparsity is related to the sparse ratings in the user-item rating matrix, and it can lead to inaccurate recommendations. Scalability is related to the huge number of products or/and users involved, which may cause an unacceptably long delay before valuable recommendations are acquired. In this paper, we propose a novel approach to deal with data sparsity and scalability. First of all, we apply Word2Vec [21,22], which is a word semantic tool developed by Google, to analyze the user comments on their previously bought goods. Each word is assigned a unique vector that represents its semantics. A set of item vectors, one item vector for each product, is then developed. Through the user-item rating matrix, the user vectors of all the users are obtained. Principal component analysis and an iterative self-constructing clustering algorithm are applied to reduce the time complexity related to the large numbers of items and users. Then, recommendation work is done with the resulting clusters. Finally, reverse transformation is performed, and a ranked list of recommended items can be offered to each user. With the proposed approach, the inaccuracy caused by the sparse ratings in the user-item rating matrix is overcome, and the processing time for making recommendations from an enormous amount of data is much reduced.
The proposed approach is an extension of our previous work published in [23]. Some major advantages over the previous work are provided. Word2Vec is applied on user comments to find the similarity relationship among products. Therefore, the sparsity problem is alleviated, and the accuracy of recommendation is improved. An iterative self-constructing clustering algorithm is used. The clusters obtained are less dependent on the order of the training patterns presented to the clustering algorithm, leading to more robust recommended results. Finally, clustering is applied not only on the products but also on the users. Consequently, the scalability problem can be further alleviated.
The rest of this paper is organized as follows. In Section 2, collaborative filtering, particularly our previous work [23], is briefly introduced. Some other related work is reviewed and discussed in Section 3. The proposed approach is described in detail in Section 4. Experimental results are presented in Section 5. Finally, a conclusion is given in Section 6.

2. Collaborative Filtering

Suppose there is a set of N users, u i ,   1 i N , and a set of M products, p j , 1 j M . A user u i may express his/her evaluation to a product p j by providing a rating r i j , which is a positive integer, for p j . Usually, a higher rating is assumed to indicate a more favorable feedback from the user. If user u i has not provided a rating for product p j , r i j = 0 . Such information can be represented by the following user-item rating matrix R :
R = [ r 11 r 12 r 21 r 22 r 1 M r 2 M r N 1 r N 2 r N M ]
which is an N × M matrix. Traditionally, collaborative filtering recommends products to each user solely based on such a user-item rating matrix. The idea is simple, but issues of data sparsity and scalability may arise.
In [23], we proposed an approach to address the problem of scalability. Each product p i , 1 i M , is represented as a N -vector, which is the i th column in R . A self-constructing clustering algorithm is applied to divide the products into a collection of g clusters C 1 ,   C 2 , ,   C g , with g M . Each cluster is regarded as one item group. Therefore, g item groups, denoted I 1 ,   I 2 , ,   I g , respectively, are obtained. Then a M × g transformation matrix T is formed, with the ( i ,   j ) th entry t i j denoting the membership degree of product p i to item group I j , 1 i M , 1 j g .
Next, the original user-item rating matrix R is transformed to a reduced matrix B by
B = R T
which is an N × g matrix. Based on B , a g × g correlation matrix is constructed. Then, ItemRank is applied, and a predicted preference list of item groups, h i , is iteratively derived for each user u i . Since recommendation is done with B , which is of size N × g , rather than with R , which is of size N × M , efficiency is improved. Finally, the reverse transformation is performed:
s i = T h i
which is the predicted preference list of products for user u i , 1 i N .
However, collaborative filtering recommender systems may encounter difficulty due to sparsity. Consider Table 1, which is a small user-item rating matrix, consisting of 7 users and 7 items. Clearly, there are many missing ratings in R .
Note that, because of sparsity, the rows of R are hardly similar to each other. Recommendations based on the similarity between the users will not be accurate at all. In addition, because of sparsity, the columns of R are hardly similar to each other. It is impossible to reduce the number of items by clustering techniques based on the similarity between the items. It is also impossible to reduce the number of users based on the similarity between the users. Therefore, data sparsity makes it hard in this case to get recommendations right and efficiently by collaborative filtering through similarity between the users or/and items.

3. Related Work

Various methods have been proposed to address to address the issues of data sparsity and scalability associated with collaborative filtering. In matrix factorization methods [24,25], an M × N user-item rating matrix is decomposed into two matrices of size M × K and K × N , respectively. In this way, K groups are obtained. Bobadilla et al. [18] use a Bayesian non-negative matrix factorization method and apply K-means to get better parameters for matrix factorization. These methods have a drawback in common. When encountering a heavily sparse user-item rating matrix, the groups obtained are not reliable. As a result, the resulting recommendations are not accurate and may not be useful. Zhang et al. [26] introduce the concepts of popular items and frequent raters. They assume that the ratings match some probability model. To overcome the data sparsity and rating diversity, smoothing and fusion techniques are employed. However, the method may encounter difficulties with a user-item rating matrix having a high degree of sparsity.
Clustering-based methods [2,23,27,28,29,30,31,32,33] have been proposed to address the scalability issue. Users or/and items are clustered into groups, and thus the numbers of users or/and items are reduced. Park [34] proposes a method that identifies tail items, having only a few ratings, from head items, having an enough number of ratings, according to their popularities. The recommendations for tail items are based on the ratings of clustered groups, while the recommendations for head items are based on the ratings of individual items or groups clustered to a lesser extent. However, this method tends to recommend tail items as a whole to users. Das et al. [30] use the DBSCAN clustering algorithm for clustering the users, and then implement voting algorithms to recommend items to the user depending on the cluster into which it belongs. The idea is to partition the users and apply the recommendation algorithm separately to each partition. Allahbakhsh and Ignjatovic [35] propose an iterative method that regards all the users as one user. The ratings by individual users are integrated together according to each user’s credibility, which is iteratively updated. This can reduce the sparsity difficulty. However, it cannot give personalized recommendations to each user. In our previous work [23], we apply a self-clustering algorithm to cluster products into item groups. However, the users are not clustered. This may encounter the scalability problem when a huge number of users are involved.
Incorporating information from sources other than the user-item rating matrix may help to overcome the sparsity problem [6,20,36,37,38]. Victor et al. [39] consider the trust and distrust relationship between users when doing rating prediction by collaborative filtering. The information about the trust and distrust relationship is gathered from the “useful” or “not useful” tag in the user text comments on items. If a user gives a useful tag in another user’s comments, a positive relationship will be considered to exist between them. Forsati et al. [40] also consider the trust and distrust relationship between users, taken from social networks, to mitigate the sparsity issue. They improve the matrix factorization method by adding a condition to the optimization function in which the trust and distrust information is embedded. Huang et al. [41] apply the user-item rating matrix, user social networks, and item features extracted from the DBpedia knowledge base to cluster users and items into multiple groups simultaneously. By merging the predictions from each cluster, the top-n recommendations to the target users are returned. Zheng et al. [42] propose a matrix factorization method that takes advantages of user comments to items. The comments are converted to item vectors with elements corresponding to the predefined keywords. If a keyword appears in the comments about an item, the corresponding element of the item vector is set to 1; otherwise, it is set to 0. One difficulty of this method is that the keywords have to be manually defined. Barkan et al. [43] use Word2Vec to analyze the metadata of items and construct item vectors. Then, items are clustered, and the top-k similar items can be found. However, for most of these methods, accessing user relationships from social networks is getting harder when the awareness of privacy is soaring nowadays. Besides, the information obtained indirectly through friends in social networks may not always be relevant. For instance, one may have a friend who has a really different lifestyle, contradicting the basic assumption for the trust relationship.

4. Proposed Approach

Suppose, from some other sources, we know that p 1 ,   p 2 ,   p 3 , and p 4 in Table 1 are similar to each other, and so are p 5 ,     p 6 , and p 7 . Then, we can somehow cluster these seven products into two item groups, say, p 1 g and p 2 g , and transform the matrix to something similar to the one shown in Table 2. Assume that the ratings in this table are obtained by taking the maximum of the original product ratings. Clearly, there exist two groups of similar users, namely, { u 1 ,   u 2 , u 3 ,   u 4 } and { u 5 ,   u 6 , u 7 } , and recommendations through the similarity between users can be done by collaborative filtering.
Motivated by this idea, we propose a novel approach to overcome the inaccuracy and inefficiency caused by data sparsity and scalability. Our approach consists of five steps: developing item and user vectors, grouping for items and users, getting a reduced user-item rating matrix, calculating group rating scores, and deriving individual preference lists. Step 1 aims to overcome the sparsity problem by exploiting extra information from user comments. Item and user vectors are derived. Step 2 aims to deal with the scalability problem. In this step, products and users are clustered into item groups and user groups, respectively. As a result, the numbers of products and users are greatly reduced. In step 3, the original user-item rating matrix is converted to a reduced user-item rating matrix that involves item groups and user groups. In step 4, a series of random walks are executed on the reduced user-item rating matrix, and a preference list of item groups is derived for each user group. Since low numbers of item groups and user groups are involved, this step can be done efficiently. Finally, in step 5, reverse transformations are performed, and preference lists of individual products are offered to each user. The pseudo-code of the approach is given below. Details will be described later.
The Proposed Approach
/⋆ Step 1: Developing item and user vectors ⋆/
Extract training patterns from the collected user comments;
Train the Word2Vec network and obtain item vectors and user vectors;
/⋆ Step 2: Grouping for items and users ⋆/
Reduce the dimensionality of item and user vectors;
Cluster the item and user vectors into item and user groups;
Obtain transformation matrices of membership degrees;
/⋆ Step 3: Getting the reduced user-item rating matrix ⋆/
Transform the original user-item rating matrix to the reduced matrix;
/⋆ Step 4: Calculating group rating scores ⋆/
Construct the correlation matrix from the reduced user-item rating matrix;
Apply ItemRank to predict preference lists of item groups for user groups;
/⋆ Step 5: Deriving individual preference lists ⋆/
Reversely transform to obtain preference lists of products for users;

4.1. Step 1—Developing Item and User Vectors

As mentioned, it is usually difficult to discover similarity between items or users solely based on the sparse ratings provided in the user-item rating matrix. Extra sources have to be consulted for help. In this step, we apply Word2Vec on user comments to discover semantic relationships between products. Each product is converted to an item vector. Then, the item vectors can be used for clustering products later. In addition, the users can be converted to user vectors, by which the clustering on users can be done.
We address the data sparsity problem by finding the relationship between items from the user comments posted on the public domain. We use these user comments to train a Word2Vec network. The word vectors obtained after training should reveal semantic relationships among items, so it is required that the inputs to the Word2Vec network be items in the training patterns.
We take the user review text of an item and insert the item identity into the text repeatedly. Suppose that the window size is 2 s + 1 . The item identity is inserted in the middle of every 2 s words in the original text. Training patterns, each consisting of an input–output word pair ( x , y ) , are extracted from the windows. For each window, the central word is taken as input x , and each of its context words is taken as output y to form training patterns. Assume that a window contains 2 s + 1 words, w r + 1 w r + s w r + s + 1 w r + s + 2 w r + 2 s + 1 , where w r + s + 1 is the central word and the other words are context words. Then, there are 2 s training patterns, ( w r + s + 1 , w r + 1 ) , …, ( w r + s + 1 , w r + s ) , ( w r + s + 1 , w r + s + 2 ) , …, ( w r + s + 1 , w r + 2 s + 1 ) , extracted from the window. Let the review text of an item, with its item identity being 0000013714, be:
I bought this for my husband who plays the piano He is having a wonderful time playing these old hymns The music is at times hard to read because we …
For s = 3 , the user review text after insertion is shown below, ignoring punctuation marks:
I bought this0000013714for my husband who plays the0000013714piano He is having a wonderful0000013714time playing these old hymns The0000013714music is at times hard to0000013714read because we …
Note that the item identity 0000013714 appears in the middle of each non-overlapping window of seven words. For instance, the first window consists of the following words:
I bought this0000013714for my husband.
Then, we extract training patterns from each window. Considering the first window above, six training patterns are extracted:
(0000013714, I), (0000013714, bought), (0000013714, this),
(0000013714, for), (0000013714, my), (0000013714, husband).
For the second window “who plays the 0000013714 piano He is”, another six training patterns are extracted:
(0000013714, who), (0000013714, plays), (0000013714, the),
(0000013714, piano), (0000013714, He), (0000013714, is).
Note that the first words in the training patterns are the item identity.
After extracting the training patterns from the collected user comments, the training patterns are fed into the Word2Vec network [21,22], as shown in Figure 1, for training.
The neural network is trained as follows. Suppose ( w i , w k ) is a training pattern involving two words, w i and w k . Word w i corresponds to node i in the input layer, and word w k corresponds to node k in the output layer, with input weights v i 1 = [ v 1 i 1 v H i 1 ] T and output weights v k 2 = [ v k 1 2 v k H 2 ] T . Note that the input value at node i is 1, while those at the other nodes in the input layer are 0. In addition, the desired value at node k is 1, while those at the other nodes in the output layer are 0. The network output at node k is
o k = 1 1 + e v i 1 · v k 2
where `·’ is the inner product operator. Let J be J = log e o k . By steepest descent, v i 1 and v k 2 are adjusted as
v i 1 v i 1 η v i 1 J = v i 1 η ( o k 1 ) v k 2 ,
v k 2 v k 2 η v k 2 J = v k 2 η ( o k 1 ) v i 1
where η is the learning rate. During the learning, if two training patterns ( w i , w k ) and ( w j , w k ) occur frequently in the training documents, v i 1 and v j 1 will be close to each other. When the learning is completed, the input weights of the network are taken to be item vectors. That is, v 1 1 is the word vector of word w 1 , v 2 1 is the word vector of word w 2 , etc. Note that item vectors are word vectors of the item identities. For M products, we have M item vectors in total, p 1 ,   p 2 , ,   p M , as shown below:
p i = [ p 1 i p 2 i p H i ] = [ v 1 i 1 v 2 i 1 v H i 1 ]
for i = 1   , ,   M . Clearly, each item vector contains H components. In this work, we set H = 100 . Note that if two items are semantically similar, then their corresponding item vectors are close to each other.
Now that item vectors are available, we can derive user vectors, which can then be used for similarity computation. First, we normalize each row in the user-item rating matrix R as follows:
a i j = r i j k = 1 M r i k ,   1 j M
for 1 i N . Then, user vectors, u k , 1 k N , are derived as follows:
u k = [ u 1 k u 2 k u H k ] = j = 1 M a k j p j .
Note that each user vector also contains H components.

4.2. Step 2—Grouping for Items and Users

This step aims to deal with the scalability problem. First of all, the dimensionality, H , can be too large for effective processing. PCA (Principal Component Analysis) [44,45] is applied to reduce the dimensionality of the item and user vectors. We choose q p and q u as principal components so that they are as small as possible, and the cumulative energy is above a certain threshold θ , e.g., 0.7. Therefore, there are q p , instead of H , values in p i , i = 1 , ,   M , and there are q u , instead of H , values in u i , i = 1 , ,   N .
Now, we apply an iterative self-constructing clustering algorithm [46], which is an iterative version of that used in [23], to partition the item and user vectors into item and user groups, respectively. We feed the item vectors, p i , 1 i M , as the training patterns, to the clustering algorithm. For each pattern p i , i = 1 , , M , the membership degree of the pattern to each existing cluster C j , with center [ c 1 j p c q p j p ] T and deviation [ d 1 j p d q p j p ] T , is calculated as
G j ( p i ) = k = 1 q p exp [ ( p k i c k j p d k j p ) 2 ] .
If G j ( p i ) < ρ for all existing clusters, a new cluster is created, and p i is included in the new cluster. Otherwise, p i is added into the cluster with the largest membership degree. Note that Gaussian is adopted to describe the data distribution of each cluster, and G j ( p i ) lies in the range of ( 0 , 1 ] . Suppose we have M g clusters C 1 p , C 2 p , , C M g p at the end, each having its own center and deviation. Each cluster is regarded as one item group. Therefore, we have M g item groups, denoted p 1 g , p 2 g , , p M g g , respectively. Let
t i j p = G j ( p i )
for 1 i M and 1 j M g . Then, we form the transformation matrix
T p = [ t 11 p t 12 p t 21 p t 22 p t 1 M g p t 2 M g p t M 1 p t M 2 p t M M g p ]
which is an M × M g matrix, containing all the membership degrees of the products p i , 1 i M , to the item groups p j g , 1 i M g .
Next, we feed the user vectors, u i , 1 i N , as the training patterns, to the clustering algorithm. Suppose we have N g clusters C 1 u ,   C 2 u , ,   C N g u at the end. Each cluster is regarded as one user group. Therefore, we have N g user groups, denoted u 1 g ,   u 2 g , ,   u N g g , respectively. Let t i j u denote the membership degree of u i to cluster C j u , computed as
t i j u = G j ( u i ) = k = 1 q u exp [ ( u k i c k j u d k j u ) 2 ]
for 1 i N and 1 j N g . Then, we form the transformation matrix
T u = [ t 11 u t 12 u t 21 u t 22 u t 1 N g u t 2 N g u t N 1 u t N 2 u t N N g u ]
which is an N × N g matrix, containing all the membership degrees of the users u i , 1 i N , to the user groups u j g , 1 j N g   .

4.3. Step 3—Getting a Reduced User-Item Rating Matrix

In this step, we transform the original user-item rating matrix R to the reduced matrix R g . We first convert R to a matrix B by
B = R T p
which is an N × M g matrix, indicating the ratings for the M g item groups by the N users. Next, we convert B to R g by
R g = { T u } T B = { T u } T R T p = [ r 11 g r 12 g r 21 g r 22 g r 1 M g g r 2 M g g r N g 1 g r N g 2 g r N g M g g ]
which is an N g × M g matrix. Note that R g contains the ratings for the M g item groups by the N g user groups. We call R g the reduced user-item rating matrix.

4.4. Step 4—Calculating Group Rating Scores

In this step, one preference list of item groups is derived for each user group. Since low numbers of item groups and user groups are involved, this step can be done efficiently. Firstly, a correlation graph is built from the reduced user-item rating matrix R g . Then, a series of random walks based on ItemRank [9] are performed.
Based on R g , we construct a correlation graph that shows the inter-relationship among the item groups. Each item group is regarded as a node in the graph, and thus we have M g nodes in total. The weight m i j g on the edge between node p i g and node p j g , 1 i ,   j M g is properly defined [23]. When the correlation graph is completed, we have the following correlation matrix:
M g = [ m 11 g m 12 g m 21 g m 22 g m 1 M g g m 2 M g g m M g 1 g m M g 2 g m M g M g g ]
which is a M g × M g matrix. Then, we normalized each column by:
m i j g m i j g k = 1 M g m k j g ,   1 i M g
for 1 j M g .
After creating the correlation matrix M g , we proceed with ItemRank to predict a preference list of item groups for each user group. Consider any user group u i g , 1 i N g . Let h i ( 0 ) be
h i ( 0 ) = [ 1 / M g 1 / M g 1 / M g ]
which is a vector with M g elements. The following operation
h i ( t + 1 ) = α M g h i ( t ) + ( 1 α ) r i g
is performed iteratively for t = 0 ,   1 ,   2 ,   until convergence. Note that r i g is the transpose of the ith row of R g and α [ 0 , 1 ] is a user-defined constant. A common choice for α is 0.85. Usually, convergence is reached after 20 iterations [9]. Let h i be the converged result, having M g components. Then, h i is the predicted preference list of item groups for the user group u i g , 1 i N g .

4.5. Step 5—Deriving Individual Preference Lists

Now, we have obtained h 1 ,   h 1 ,   ,   h N g for user groups u 1 g ,   u 2 g ,   ,   u N g g , respectively. Each h i , 1 i N g , is a preference list in which M g item groups are involved. However, we are interested in recommending individual products to each user. In this step, we do reverse transformation to get a predicted preference list of products for each user.
Firstly, we find a predicted preference list of products for each user group. We compute vector y i by
y i = T p h i
for 1 i N g . Clearly, y i is of length M , and it is the predicted preference list of products for user group u i g . Next, we compute vector s i as
s i = t i 1 u y 1 + t i 2 u y 2 + + t i N g u y N g
for 1 i N , which is the predicted preference list of products for user u i . Similar to ItemRank, the products can be recommended to user u i in the order according to the magnitudes of the elements in s i .

5. Experimental Results

To evaluate the performance of our proposed approach, we conduct a set of experiments on several benchmark datasets. For convenience, we call our approach CFUCC (Collaborative Filtering based on User Comments and Clustering) in the remainder of this section. We also compare our CFUCC approach with some other collaborative filtering recommender systems.
Two metrics are adopted for comparison of recommendation accuracy, mean absolute error (MAE) and root mean squared error (RMSE) [47]. Let P be the set of all products, and L i and T i be two sets containing the products user u i has rated in the training set and in the testing set, respectively. Note that it is required that none of L i is empty, i.e., L i , 1 i N . To compute MAE or RMSE, we have to convert predicted preferences to corresponding predicted scores. Let r ^ i j be the predicted score corresponding to the predicted preference of product p j for user u j . We compute r ^ i j by
r ^ i j = r i a + k = 1 k i N [ Sim ( u i , u k ) × ( r k j r k a ) ] k = 1 k i N Sim ( u i , u k )
where r i a is the average of the ratings in L i , r k a is the average of the ratings in L k , r k j is the rating for product j in L k , and Sim ( u i , u k ) indicates the similarity between user u i and user u k defined by the cosine of the predicted preference lists s i and s k :
Sim ( u i , u k ) = s i s k s i s i s k s k
with `·’ being the inner product operator for vectors. Then, MAE and RMSE are defined as
MAE = i = 1 N j = 1 r i j T i M | r i j r ^ i j | i = 1 N | T i |
RMSE = i = 1 N j = 1 r i j T i M ( r i j r ^ i j ) 2 i = 1 N | T i | .
Note that a low MAE or RMSE value indicates the superiority of a recommender system.
A 5-fold cross-validation is adopted for our experiments. In each experiment, the entries in a dataset are split randomly into five different subsets. Then, five runs are performed. Each time, four of the five subsets are used for training, and the remaining one is used for testing. Then, the results of the five runs are averaged. Note that in each of the following experiments, the predicted preference lists are derived from the training set and all MAE and RMSE are measured on the testing set. In addition, no overlapping exists between the training set and the testing set in any experiment.
In the following experiments, we work with three datasets, Amazon Digital Music, Amazon Video Game, and Amazon Apps for Android. They were collected by Julian McAuley from Amazon.com over a period of 18 years (2014−1996) and were described in [48,49]. Each piece of data contains the information as shown in Figure 2. Several fields of information were recorded.
However, we are interested in the fields of ’reviewerID’ (user ID), ’asin’ (item ID), ’reviewText’ (user text comments to the item), and ’overall’ (user’s rating to the item). Among them, ’asin’ and ’reviewText’ are used by Word2Vec to form item vectors, while ’reviewerID’ and ’overall’ are used in forming the user-item rating matrix. Each non-zero entry in the matrix is represented as a triple ( u i ,   p i ,   r i j ) where r i j { 1 ,   2 ,   3 ,   4 ,   5 } . The Amazon Digital Music dataset contains 64,706 reviews, with 5541 users and 3568 items. The sparsity of this dataset is 1 64706 5541 × 3568 = 99.7 % . The Amazon Video Game dataset contains 231,780 reviews, with 24,303 users and 10,672 items. The sparsity of this dataset is 99.9%. The original Amazon Apps for Android dataset contains 752,937 reviews, with 97,281 users and 13,209 items and a sparsity of 99.93%. To run other systems easily, we randomly take 385,482 reviews, with 35,001 users and a sparsity of 99.92%. The characteristics of these datasets are summarized in Table 3. As can be seen, sparsity and scalability are very serious in all of these datasets.
We show the effectiveness, both regarding the accuracy and efficiency, of our approach, CFUCC, by comparing it with some other collaborative filtering methods, including SCC (Self-Constructing Clustering) [23], CFCB (Collaborative Filtering by Clustering Both users and items) [2], BiFu (Biclustering and Fusion) [26], and ICRRS (Iterative method for Calculating Robust Rating Scores) [35]. SCC applies clustering on products, but users are not clustered. BiFu applies K-means to cluster the users and products, and ICRRS uses a reduction technique that decouples the credibility assessment of the cast evaluations from the ranking itself. CFCB clusters users based on users’ ratings on products. For a fair comparison, we wrote programs for these methods. All the programs were written in Python 3.6, running on a computer with Intel(R) Core(TW) i7-4790K CPU, 4.00 GHz, 32GB of RAM, and 64 bits windows 10.

5.1. Experiment 1—Amazon Digital Music Dataset

We work with the Amazon Digital Music dataset in this experiment. Table 4 shows comparisons on MAE, RMSE, and Time(s) among CFUCC, SCC, ICRRS, CFCB, and BiFu. In this table, the value obtained by the best method for each case is shown in boldface. For CFUCC, we use ρ = 0.7 for item clustering, ρ = 0.6 for user clustering, v 0 = 0.5 , and θ = 0.7 for PCA. CFUCC clusters products into 35 groups and users into 32 groups, SCC clusters products into 204 groups, CFCB clusters products into 35 groups, and BIFU divides into 35 groups for items and users, respectively. As can be seen from Table 4, CFUCC is the best among the methods. CFUCC has the lowest value, 0.709, in MAE and the lowest value, 0.996, in RMSE, and runs most efficiently, 51.9 s in the CPU time.

5.2. Experiment 2—Amazon Video Game Dataset

We work with the Amazon Video Game dataset in this experiment. Table 5 shows comparisons among different methods. CFUCC clusters products into 32 groups and users into 15 groups, SCC clusters products into 19 groups, CFCB clusters products into 35 groups, and BIFU divides into 35 and 20 groups for items and users, respectively. As can be seen from this table, CFUCC performs the best. CFUCC has the lowest value, 0.791, in MAE and the lowest value, 1.224, in RMSE, and runs most efficiently, 111.7 s in the CPU time.

5.3. Experiment 3—Amazon Apps for Android Dataset

We work with the reduced version of the Amazon Apps for Android dataset in this experiment. Table 6 shows comparisons among different methods. CFUCC clusters products into 25 groups and users into 38 groups, SCC clusters products into 153 groups, CFCB clusters products into 35 groups, and BIFU divides into 25 and 35 groups for items and users, respectively. In this experiment, CFUCC performs the best in every case. CFUCC has the lowest value, 1.024, in MAE, the lowest value, 1.331, in RMSE, and it runs most efficiently, 194.2 s in the CPU time.

5.4. Experiment 4—Impact of Imputation

In this experiment, we show how imputation has an impact on the recommended results. Several strategies have been proposed to deal with missing values in the user-item rating matrix. Among them, four popular ones are:
  • No imputation. If user u i has not provided a rating for product p j , r i j = 0. That is, a missing value is treated as 0.
  • Imputation by least. Each missing value is replaced with the least positive score. For the case of scores being 1–5, a missing value is replaced with 1.
  • Imputation by mid. Each missing value is replaced with the middle of positive scores. For the case of scores being 1–5, a missing value is replaced with 3.
  • Imputation by mean. Each missing value is replaced with the mean value of all the positive ratings in the given user-item rating matrix.
Table 7 shows the performance comparison of these four strategies for the Amazon Digital Music dataset. As can be seen, CFUCC is hardly affected by imputation. The reason is that CFUCC uses user comments, instead of rating scores in the user-item rating matrix, to generate and cluster item vectors. Therefore, it is more resistant to the noise caused by imputation strategies. For the other methods, the recommended results depend on the rating scores in the matrix, and thus, they behave differently with different imputation strategies.

5.5. Experiment 5—Different Ways of Producing User Vectors

We compare three methods of producing user vectors in CFUCC. The three methods are:
  • Method 1. This is the method CFUCC adopts, as described previously.
  • Method 2. The user identity shown in the “reviewerID” field is inserted repetitively into the review text in the “reviewText” field, as the way we do for generating item vectors. By training a Word2Vec network, the user vectors are produced.
  • Method 3. All the review texts of a user are collected in one document. Then, Doc2Vec [50] is applied to obtain a document vector for the document, and the obtained document vector is regarded as the user vector for this user.
Table 8 shows the performance comparison of these methods for the Amazon Digital Music dataset.
As can be seen, Method 1, which we adopt in CFUCC, gets the best results. In general, a review given by a user provides comments on items instead of on users. Therefore, the user vectors obtained by Method 2 are less effective. In addition, the collected document for a user is usually too short to represent himself/herself in a distinctive way. Worst of all, a user may not have given any comments. Consequently, Method 3 performs less effectively.

5.6. Experiment 6—Impact of User Comments

We show the effectiveness of using user comments for clustering products and users in CFUCC.
  • Method 1. This is the method that CFUCC adopts. That is, it applies Word2Vec on user comments to get item vectors from which user vectors are obtained, and then clusters products and users based on the item and user vectors.
  • Method 2. User comments are not used. Products and users are clustered directly based on the rating scores provided in the given user-item rating matrix.
Table 9 shows the performance comparison of these methods for the Amazon Digital Music dataset. Note that both methods use identical values for the parameters involved in the recommendation process.
As can be seen, Method 1, which we adopt in CFUCC, performs better in terms of both accuracy and efficiency. Method 2 uses the user-item rating matrix for clustering. This causes the sparsity problem and makes the recommended results less accurate. Clearly, both the MAE and RMSE of Method 2 are worse than those of Method 1. Secondly, Method 2 clusters users directly. Since there are 3568 products in Amazon Digital Music dataset, each pattern is a 3568-dimensional vector to be considered in the clustering process. In Method 1, by PCA and Word2Vec, each pattern is only a vector of size less than 100. Therefore, users can be clustered faster by Method 1, and recommendation can be done more efficiently.

5.7. Experiment 7—Impact of Parameter Settings

The energy threshold θ determines the degree of reduction on the dimensionality of the vectors produced by PCA. Table 10 compares the performance of four different values of θ for the Amazon Digital Music dataset. The columns “URdim” and “IRdim” indicate the reduced dimensionality of user vectors and item vectors, respectively, after PCA. Note that the original vectors have 100 dimensions. When θ = 0.7 , the reduced user vectors have nine dimensions, while the reduced item vectors have 28 dimensions. As expected, a larger θ results in a higher dimensionality of the reduced vectors. Note that CFUCC with θ = 0.7 performs the best. However, the performance is pretty stable with values near 0.7.
Next, we show the impact of different values of ρ on the recommended results obtained by CFUCC. Note that a different ρ value can lead to a different number of clusters produced. A higher ρ will produce more clusters. Table 11 compares the performance of different values of ρ for the Amazon Digital Music dataset. In the left part of the table, the ρ for clustering user vectors is kept at 0.6, while the ρ value varies for clustering item vectors. In the right part of the table, the ρ for the clustering item vectors is kept at 0.7, while the ρ value varies for clustering user vectors. As can be seen, the value of ρ does affect the performance of CFUCC, but not significantly.

6. Conclusions

We have presented an extension of [23] to address the inaccuracy and inefficiency caused by the data sparsity and scalability in collaborative filtering recommendation. Word2Vec is applied on user comments to assign an item vector to each product. Through the user-item rating matrix, the user vectors of all the users are also produced. Then, the products and users are clustered into item groups and user groups, respectively. Based on these item groups and user groups, recommendations to a user can be made. Experimental results have shown that both the accuracy and efficiency of recommendation are improved by the proposed approach.
Some research work will be investigated for the system in the future. Doc2Vec or other embedding techniques may be used for developing item vectors. Item descriptions, such as those available in the Amazon datasets, can be used for creating item or user vectors. We may use the reviews to learn word embeddings and take each item to be the aggregation of the embedded vectors of the words that are in the reviews. We have only adopted MAE and RMSE to evaluate the quality of the predictions. Other measures such as the precision, recall, and nDCG may be used to evaluate the quality of recommendations. Recently, neural collaborative filtering has been proposed for recommendation [51,52]. It will be interesting to investigate the effectiveness of incorporating it in our system.

Author Contributions

Data curation, P.-M.C., Y.-S.M. and S.-J.L.; Formal analysis, S.-J.L.; Funding acquisition, S.-J.L.; Methodology, P.-M.C.; Project administration, S.-J.L.; Resources, C.-L.H.; Software, P.-M.C. and Y.-S.M.; Validation, Y.-S.M. and C.-L.H.; Writing – original draft, P.-M.C.; Writing – review & editing, S.-J.L. All authors have read and agreed to the published version of the manuscript.

Funding

This paper was financially supported in part by the grants MOST-106-2321-B-037-003, MOST107-2221-E-110-065 and MOST-107-2622-E-110-008-CC3, MOST, by MOST-107-EPA-F-012- 001, EPA, by NSYSU-KMU JOINT RESEARCH PROJECT (#NSYSUKMU 108-P042), and by the Intelligent Electronic Commerce Research Center, NSYSU.

Acknowledgments

The anonymous reviewers are highly appreciated for their comments which were very helpful in improving the quality and presentation of the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Resnick, P.; Varian, H.R. Recommender systems. Commun. ACM 1997, 40, 56–58. [Google Scholar] [CrossRef]
  2. Gong, S. A collaborative filtering recommendation algorithm based on user clustering and item clustering. J. Softw. 2010, 5, 745–752. [Google Scholar] [CrossRef]
  3. Smith, B.; Linden, G. Two decades of recommender systems at Amazon.com. IEEE Internet Comput. 2017, 21, 12–18. [Google Scholar] [CrossRef]
  4. Debnath, S.; Ganguly, N.; Mitra, P. Feature weighting in content based recommendation system using social network analysis. In Proceedings of the 17th International Conference on World Wide Web, Beijing, China, 21–25 April 2008; pp. 1041–1042. [Google Scholar]
  5. De Gemmis, M.; Lops, P.; Semeraro, G.; Basile, P. Integrating tags in a semantic content-based recommender. In Proceedings of the 2008 ACM Conference on Recommender Systems, Lausanne, Switzerland, 23–25 October 2008; pp. 163–170. [Google Scholar]
  6. Xiu, Y.; Lan, M.; Wu, Y.; Lang, J. Exploring semantic content to user profiling for user cluster-based collaborative point-of-interest recommender system. In Proceedings of the 2017 International Conference on Asian Language Processing (IALP), Singapore, 5–7 December 2017; pp. 268–271. [Google Scholar]
  7. Linden, G.; Smith, B.; York, J. Amazon.com recommendations: Item-to-item collaborative filtering. IEEE Internet Comput. 2003, 7, 76–80. [Google Scholar] [CrossRef] [Green Version]
  8. George, T.; Merugu, S. A scalable collaborative filtering framework based on co-clustering. In Proceedings of the 5th IEEE International Conference on Data Mining, Houston, TX, USA, 27–30 November 2005; pp. 625–628. [Google Scholar]
  9. Gori, M.; Pucci, A.; Roma, V.; Siena, I. Itemrank: A random-walk based scoring algorithm for recommender engines. In Proceedings of the 20th International Joint Conference on Artificial Intelligence, Hyderabad, India, 6–12 January 2007; Volume 7, pp. 2766–2771. [Google Scholar]
  10. Adomavicius, G.; Kwon, Y. Improving aggregate recommendation diversity using ranking-based techniques. IEEE Trans. Knowl. Data Eng. 2012, 24, 896–911. [Google Scholar] [CrossRef]
  11. Liu, Q.; Chen, E.; Xiong, H.; Ding, C.H.; Chen, J. Enhancing collaborative filtering by user interest expansion via personalized ranking. IEEE Trans. Syst. ManCybern. B 2012, 42, 218–233. [Google Scholar] [CrossRef] [PubMed]
  12. Gopalachari, M.V.; Sammulal, P. Personalized collaborative filtering recommender system using domain knowledge. In Proceedings of the 2014 International Conference on Computer and Communications Technologies (ICCCT), Hyderabad, India, 11–13 December 2014; pp. 1–6. [Google Scholar]
  13. Guan, X. On Reducing the Data Sparsity in Collaborative Filtering Recommender Systems. Ph.D. Thesis, University of Warwick, Warwick, UK, 2017. [Google Scholar]
  14. Li, G.; Zhang, Z.; Wang, L.; Chen, Q.; Pan, J. One-class collaborative filtering based on rating prediction and ranking prediction. Knowl.-Based Syst. 2017, 124, 46–54. [Google Scholar] [CrossRef]
  15. Nilashi, M.; Ibrahim, O.; Bagherifard, K. A recommender system based on collaborative filtering using ontology and dimensionality reduction techniques. Expert Syst. Appl. 2018, 92, 507–520. [Google Scholar] [CrossRef]
  16. He, X.; Liao, L.; Zhang, H.; Nie, L.; Hu, X.; Chua, T.-S. Neural collaborative filtering. In Proceedings of the 26th International Conference on World Wide Web, Perth, Australia, 3–7 April 2017; pp. 173–182. [Google Scholar]
  17. Liang, D.; Krishnan, R.G.; Hoffman, M.D.; Jebara, T. Variational autoencoders for collaborative filtering. In Proceedings of the 27th International Conference on World Wide Web, Lyon, France, 23–27 April 2018; pp. 689–698. [Google Scholar]
  18. Bobadilla, J.; Bojorque, R.; Esteban, A.H.; Hurtado, R. Recommender systems clustering using bayesian non-negative matrix factorization. IEEE Access 2018, 6, 3549–3564. [Google Scholar] [CrossRef]
  19. Guo, G.; Qiu, H.; Tan, Z.; Liu, Y.; Ma, J.; Wang, X. Resolving data sparsity by multi-type auxiliary implicit feedback for recommender systems. Knowl.-Based Syst. 2017, 138, 202–207. [Google Scholar] [CrossRef]
  20. Yin, H.; Wang, W.; Chen, L.; Du, X.; Nguyen, Q.V.H.; Huang, Z. Mobi-SAGE-RS: A sparse additive generative model-based mobile application recommender system. Knowl.-Based Syst. 2018, 157, 68–80. [Google Scholar] [CrossRef]
  21. Mikolov, T.; Chen, K.; Corrado, G.; Dean, J. Efficient estimation of word representations in vector space. arXiv 2013, arXiv:1301.3781. [Google Scholar]
  22. Mikolov, T.; Sutskever, I.; Chen, K.; Corrado, G.S.; Dean, J. Distributed representations of words and phrases and their compositionality. In Proceedings of the 26th International Conference on Neural Information Processing Systems, Lake Tahoe, NV, USA, 5–8 December 2013; Volume 2, pp. 3111–3119. [Google Scholar]
  23. Liao, C.-L.; Lee, S.-J. A clustering based approach to improving the efficiency of collaborative filtering recommendation. Electron. Commer. Res. Appl. 2016, 18, 1–9. [Google Scholar] [CrossRef]
  24. Hernando, A.; Bobadilla, J.; Ortega, F. A non negative matrix factorization for collaborative filtering recommender systems based on a Bayesian probabilistic model. Knowl.-Based Syst. 2016, 97, 188–202. [Google Scholar] [CrossRef]
  25. Wu, H.; Zhang, Z.; Yue, K.; Zhang, B.; He, J.; Sun, L. Dual-regularized matrix factorization with deep neural networks for recommender systems. Knowl.-Based Syst. 2018, 145, 46–58. [Google Scholar] [CrossRef]
  26. Zhang, D.; Hsu, C.-H.; Chen, M.; Chen, Q.; Xiong, N.; Lloret, J. Cold-start recommendation using biclustering and fusion for large-scale social recommender systems. IEEE Trans. Emerg. Top. Comput. 2014, 2, 239–250. [Google Scholar] [CrossRef]
  27. Sarwar, B.; Karypis, G.; Konstan, J.; Riedl, J. Item-based collaborative filtering recommendation algorithms. In Proceedings of the 10th International Conference on World Wide Web, Hong Kong, China, 1–5 May 2001; pp. 285–295. [Google Scholar]
  28. Sarwar, B.M.; Karypis, G.; Konstan, J.; Riedl, J. Recommender systems for large-scale e-commerce: Scalable neighborhood formation using clustering. In Proceedings of the 5th International Conference on Computer and Information Technology, Dhaka, Bangladesh, 27–28 December 2002; Volume 1, pp. 291–324. [Google Scholar]
  29. Jiang, J.-Y.; Liou, R.-J.; Lee, S.-J. A fuzzy self-constructing feature clustering algorithm for text classification. IEEE Trans. Knowl. Data Eng. 2011, 23, 335–349. [Google Scholar] [CrossRef]
  30. Das, J.; Mukherjee, P.; Majumder, S.; Gupta, P. Clustering-based recommender system using principles of voting theory. In Proceedings of the 2014 International Conference on Contemporary Computing and Informatics (IC3I), Mysore, India, 27–29 November 2014; pp. 230–235. [Google Scholar]
  31. Zahra, S.; Ghazanfar, M.A.; Khalid, A.; Azam, M.A.; Naeem, U.; Prugel-Bennett, A. Novel centroid selection approaches for kmeans-clustering based recommender systems. Inf. Sci. 2015, 320, 156–189. [Google Scholar] [CrossRef]
  32. Liu, H.; Wu, J.; Liu, T.; Tao, D.; Fu, Y. Spectral ensemble clustering via weighted k-means: Theoretical and practical evidence. IEEE Trans. Knowl. Data Eng. 2017, 29, 1129–1143. [Google Scholar] [CrossRef]
  33. Yang, L.; Huang, W.; Niu, X. Defending shilling attacks in recommender systems using soft co-clustering. IET Inf. Secur. 2017, 11, 319–325. [Google Scholar] [CrossRef]
  34. Park, Y.-J. The adaptive clustering method for the long tail problem of recommender systems. IEEE Trans. Knowl. Data Eng. 2013, 25, 1904–1915. [Google Scholar] [CrossRef]
  35. Allahbakhsh, M.; Ignjatovic, A. An iterative method for calculating robust rating scores. IEEE Trans. Parallel Distrib. Syst. 2015, 26, 340–350. [Google Scholar] [CrossRef] [Green Version]
  36. Yang, B.; Lei, Y.; Liu, J.; Li, W. Social collaborative filtering by trust. IEEE Trans. Pattern Anal. Mach. Intell. 2017, 39, 1633–1647. [Google Scholar] [CrossRef] [PubMed]
  37. Musto, C.; Lops, P.; de Gemmis, M.; Semeraro, G. Semantics-aware recommender systems exploiting linked open data and graph-based features. Knowl.-Based Syst. 2017, 136, 1–14. [Google Scholar] [CrossRef]
  38. Han, J.; Zheng, L.; Xu, Y.; Zhang, B.; Zhuang, F.; Yu, P.S.; Zuo, W. Adaptive deep modeling of users and items using side information for recommendation. IEEE Trans. Neural Netw. Learn. Syst. 2020, 31, 737–748. [Google Scholar] [CrossRef]
  39. Victor, P.; Verbiest, N.; Cornelis, C.; Cock, M.D. Enhancing the trust-based recommendation process with explicit distrust. ACM Trans. Web 2013, 7, 6. [Google Scholar] [CrossRef]
  40. Forsati, R.; Mahdavi, M.; Shamsfard, M.; Sarwat, M. Matrix factorization with explicit trust and distrust side information for improved social recommendation. ACM Trans. Inf. Syst. 2014, 32, 17. [Google Scholar] [CrossRef] [Green Version]
  41. Huang, S.; Ma, J.; Cheng, P.; Wang, S. A hybrid multigroup coclustering recommendation framework based on information fusion. ACM Trans. Intell. Syst. Technol. 2015, 6, 27. [Google Scholar] [CrossRef]
  42. Zheng, X.; Luo, Y.; Sun, L.; Chen, F. A new recommender system using context clustering based on matrix factorization techniques. Chin. J. Electron. 2016, 25, 334–340. [Google Scholar] [CrossRef]
  43. Barkan, O.; Koenigstein, N. Item2Vec: Neural item embedding for collaborative filtering. In Proceedings of the 2016 IEEE 26th International Workshop on Machine Learning for Signal Processing (MLSP), Vietri sul Mare, Italy, 13–16 September 2016; pp. 1–6. [Google Scholar]
  44. Wold, S.; Esbensen, K.; Geladi, P. Principal component analysis. Chemom. Intell. Lab. Syst. 1987, 2, 37–52. [Google Scholar] [CrossRef]
  45. Fan, J.; Chow, T.W.S. Exactly robust kernel principal component analysis. IEEE Trans. Neural Netw. Learn. Syst. 2020, 31, 749–761. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  46. Wang, Z.-Y. Some Variants of self-Constructing Clustering. Ph.D. Thesis, National Sun Yat-Sen University, Gaoxiong, Taiwan, 2017. [Google Scholar]
  47. Herlocker, J.; Konstan, J.; Terveen, L.; Reidl, J. Evaluating collaborative filtering recommender systems. ACM Trans. Inf. Syst. 2004, 22, 5–53. [Google Scholar] [CrossRef]
  48. Wan, M.; McAuley, J. Modeling ambiguity, subjectivity, and diverging viewpoints in opinion question answering systems. In Proceedings of the 2016 IEEE 16th International Conference on Data Mining (ICDM), Hyderabad, India, 11–13 December 2016; pp. 489–498. [Google Scholar]
  49. McAuley, J.; Yang, A. Addressing complex and subjective product-related queries with customer reviews. In Proceedings of the 25th International World Wide Web Conferences Steering Committee, Montreal, QC, Canada, 11–15 April 2016; pp. 625–635. [Google Scholar]
  50. Le, Q.; Mikolov, T. Distributed representations of sentences and documents. In Proceedings of the International Conference on Machine Learning, Beijing, China, 21–26 June 2014; pp. 1188–1196. [Google Scholar]
  51. Dacrema, M.F.; Cremonesi, P.; Jannach, D. Are we really making much progress? a worrying analysis of recent neural recommendation approaches. In Proceedings of the 13th ACM Conference on Recommender Systems, Copenhagen, Denmark, 16–20 September 2019; pp. 101–109. [Google Scholar]
  52. Ludewig, M.; Mauro, N.; Latifi, S.; Jannach, D. Performance comparison of neural and non-neural approaches to session-based recommendation. In Proceedings of the 13th ACM Conference on Recommender Systems, Copenhagen, Denmark, 16–20 September 2019; pp. 462–466. [Google Scholar]
Figure 1. The Word2Vec network.
Figure 1. The Word2Vec network.
Applsci 10 02540 g001
Figure 2. Original user review.
Figure 2. Original user review.
Applsci 10 02540 g002
Table 1. A small user-item rating matrix R .
Table 1. A small user-item rating matrix R .
p 1 p 2 p 3 p 4 p 5 p 6 p 7
u 1 5000100
u 2 0500010
u 3 0050010
u 4 0005001
u 5 1000500
u 6 0100050
u 7 0010005
Table 2. The user-item rating matrix after a clustering of products.
Table 2. The user-item rating matrix after a clustering of products.
p 1 g p 2 g
u 1 51
u 2 51
u 3 51
u 4 51
u 5 15
u 6 15
u 7 15
Table 3. Characteristics of the datasets used for experiments.
Table 3. Characteristics of the datasets used for experiments.
# Of Users# Of Products# Of RatingsSparsity
Amazon Digital Music5541356864,70699.7%
Amazon Video Game24,30310,674231,78099.9%
Amazon Apps for Android35,00113,209385,48299.92%
Table 4. Performance comparisons among different methods for Experiment 1.
Table 4. Performance comparisons among different methods for Experiment 1.
CFUCCSCCICRRSCFCBBiFu
MAE0.7090.8350.9980.8300.837
RMSE0.9961.1681.4191.2351.202
Time(s)51.9945.3358.5373.7660.2
Table 5. Performance comparisons among different methods for Experiment 2.
Table 5. Performance comparisons among different methods for Experiment 2.
CFUCCSCCICRRSCFCBBiFu
MAE0.7910.9570.9541.7571.789
RMSE1.2241.3231.3741.9482.041
Time(s)111.72495.54187.98348.913492.2
Table 6. Performance comparisons among different methods for Experiment 3.
Table 6. Performance comparisons among different methods for Experiment 3.
CFUCCSCCICRRSCFCBBiFu
MAE1.0241.1411.1691.2181.126
RMSE1.3311.5551.6501.6411.516
Time(s)194.26154.97507.918826.324075.3
Table 7. Impact of imputation on performance for different methods.
Table 7. Impact of imputation on performance for different methods.
CFUCCSCCICRRSCFCBBiFu
No imputationMAE0.9961.1681.4191.2351.202
RMSE0.7090.8350.9980.8300.837
Imputation by leastMAE0.9961.0283.3983.3253.305
RMSE0.7090.7463.2223.1393.120
Imputation by midMAE0.9961.5141.6301.6101.635
RMSE0.7091.3811.4851.4641.568
Imputation by meanMAE0.9961.1761.4181.1741.218
RMSE0.7090.8420.9980.7960.804
Table 8. Performance comparisons among different methods of generating user vectors.
Table 8. Performance comparisons among different methods of generating user vectors.
Method 1Method 2Method 3
MAE0.7091.5261.530
RMSE0.9961.7231.742
Table 9. Performance comparisons between using and without using user comments.
Table 9. Performance comparisons between using and without using user comments.
MAERMSETime(s)
Method 10.7090.99651.9
Method 21.1801.4103248.0
Table 10. Performance comparisons among different values of θ .
Table 10. Performance comparisons among different values of θ .
URdimIRdimMAERMSE
θ = 0.6 6180.7161.012
θ = 0.7 9280.7090.996
θ = 0.8 18430.7120.998
θ = 0.9 37620.7301.216
Table 11. Performance comparisons among different values of ρ .
Table 11. Performance comparisons among different values of ρ .
ρ = 0.6   For   Users ρ = 0.7   For   Items
ρ For ItemsMAERMSE ρ For UsersMAERMSE
ρ = 0.6 0.7230.997 ρ = 0.5 0.7100.997
ρ = 0.7 0.7090.996 ρ = 0.6 0.7090.996
ρ = 0.8 0.7121.000 ρ = 0.7 0.7130.999

Share and Cite

MDPI and ACS Style

Chu, P.-M.; Mao, Y.-S.; Lee, S.-J.; Hou, C.-L. Leveraging User Comments for Recommendation in E-Commerce. Appl. Sci. 2020, 10, 2540. https://doi.org/10.3390/app10072540

AMA Style

Chu P-M, Mao Y-S, Lee S-J, Hou C-L. Leveraging User Comments for Recommendation in E-Commerce. Applied Sciences. 2020; 10(7):2540. https://doi.org/10.3390/app10072540

Chicago/Turabian Style

Chu, Pang-Ming, Yu-Shun Mao, Shie-Jue Lee, and Chun-Liang Hou. 2020. "Leveraging User Comments for Recommendation in E-Commerce" Applied Sciences 10, no. 7: 2540. https://doi.org/10.3390/app10072540

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop