With the arrival of the big data era, recommendation system [1, 2] is a kind of big data technology for enterprises to gain more profit. Recently, recommendation systems are becoming one of the hotspots in the field of recommendation systems.
In recent years, with the recommendation system research and developments very rapid, there are more and more various types of recommendation systems such as mobile recommendation systems, news recommendation system, music recommendation system and so on. However, these recommendation systems are only for individual users. In fact, many daily activities are make up of many users in groups (e.g. watching movies or TV shows, going to a restaurant, vacationing etc.). Therefore, the recommendation system needs to consider the preferences of each user in the group for recommendation. This kind of system is called group recommendation system . It extends the recommendation object from a single user to a group, posing new challenges to recommendation systems. The interests of the group members can be diverse in reality. How to get the common preference of the group members, alleviating the preference conflict among the group members, and make the recommendation result meet the needs of all group members as much as possible, are the key problems  to be solved in the group recommendation system. But at present, the research of group recommendation system has received more and more attention.
Nowadays, group recommendation system is more and more common such as Let’s Browse (news group recommendation system) , Masthoff’s Group Recommender (music group recommendation system) , Intrigue (tourism group recommendation system) , Where2Eat (Food group recommendation system)  and so on. From the above example, group recommendation system can be seen everywhere in our lives.
In this paper, we proposed a novel family recommendation system algorithm. We use the dataset from the real shopping mall consisting of shopping records table, client-profile table and family relationship table. Its aim is to bring huge profits to the shopping mall. In fact, the entire data set acquisition process is very difficult. Because when users go shopping in the supermarket, they do not leave their family information. In other words, they do not tell us who is his wife or who is his children. For solving the problem, we determined their family relationship by telephone in the process of collecting the data. Preprocessing is performed to do data cleaning and curation, which leads to the systematic experiments conducted in the paper.
In a nutshell, the main contributions of this work are:
1) To our best knowledge, this is the first work on family level personalized recommendation system, which is useful for the case when a family share a common account or family members will purchase items for the other members in the family.
2) We propose a novel approach for integrating the information from user/family purchase data, activity data and shopping mall event data into a unified model for the family based recommendation problem.
3) We verify our approach on via an empirical study on a real-world dataset and showcase the efficacy of our method.
In Section I, we present the background of recommendation system and group recommendation system and propose a new group recommendation algorithm. The rest of paper is structured as follows: Section II presents the commonly used algorithms such as content-based collaborative filtering  and group-based collaborative filtering. In section III, we specifically explain the detail of our group recommendation system architecture. Section IV shows the experimental result by peer algorithms. Finally Section V concludes this paper.
Ii Related Work
Ii-a Memory-based Collaborative Filtering
Memory-based collaborative filtering (CF) algorithms are popular techniques for recommender systems. It involves the user-item database to predict which items users really like. According to every user who belongs to a group of people with similarity interests, we can find a group of people who share similar interests. By doing so, we can recommend the item to a user by it. In fact, it is neighborhood-based recommendation system  and very prevalent.
The neighborhood-based CF algorithm uses the following steps. Firstly, calculate the similarity represented by which reflects correlation or distance between two uses or two items , and . Secondly, predict the unknown ratings of the user or item on a certain item or user by aggregating the neighbors who are most similar to get the top-N most frequent items as the recommendation, when the task is to generate a top-N recommendation result.
Ii-A1 Similarity Computation
Similarity computation is one of the most important steps in the process of the recommendation system. Different methods that get the similarity lead to different results. For a user-based collaborate filtering algorithm, we calculate the similarity, , between the users and who have both rated the same items. While for an item-based collaborate filtering algorithm , we calculate the similarity, , between the items and
who have both been rated by the same users. Now, correlation-based similarity and vector cosine-based similarity are fluent and efficient methods.
Vector cosine-based similarity is a useful method to calculate the similarity as popular as the correlation-based similarity we discuss below. The similarity between two items or users can be calculated by treating each items or users as a vector and computing the cosine of the angle between two vectors
. Hence the element inside the vector of the item is the user’s rating of the item. Vector cosine similarity between itemsand is given by
where denotes the dot-product of the two item vectors , and is the whole set of users and is the rating that user give the item , which is shown in Fig.1.
But the vector cosine-based similarity algorithm has some limitations. In practice, different users may rate some items using different rating standard. As a result, the vector cosine similarity may not represent the similarity between two items. Taking this into account, we adjust the vector cosine-based similarity algorithm to address this shortcoming. Simply, we can subtract the corresponding user average from each co-rated pair. In fact, the adjusted vector cosine similarity has the same formula as the Pearson correlation similarity. In the following, correlation-based similarity will be introduced in detail.
Correlation-based similarity is the method that we calculate the similarity by Pearson correlation. As we known, Pearson correlation denotes that two variables linearly relate with each other. For the user-based algorithm, the Pearson correlation between users and :
where is the whole set of items, is the average rating of the items of user and is the rating that use give to the item . It show in Fig.1.
For the item-based algorithm, the Pearson correlation between users and :
where is the whole set of users and is the average rating of the items . It show in Fig.1.
But the above two methods need the rating matrix about users and items. In a real case, the rating data is not easily available and often is very sparse. However, we can still obtain useful information from implicit data. For example, if two users buy the same goods, they have some common preferences in a shopping mall. The next method can address such a problem by calculating the precise similarity.
Jaccard similarity  is very simple algorithm. Its main idea is that the more same goods purchased by the two users and the fewer amount of goods bought by the two users, the higher the similarity between them. It is very useful to process the shopping records without ratings. Jaccard similarity formula between items and is given by:
where is the set of items which user purchase and is the set of items which user purchase. denotes the same items which are bought by users , . And means that the amount items which are bought by users , . If users , do not buy the same items, their similarity is 0. If users , do not buy the different items, their similarity is 1. So we find it can reflects the similarity between users , effectively.
Euclidean distance similarity is another similarity algorithm. It does not need the relationship between users and items. Each item or user has its own attributes. Therefore we can calculate the user similarity by users’ profile by Euclidean distance. Each user attribute can be composed of a vector. For example, the vector of use can be denoted by . In brief, the similarity problem is transformed into two vector distance problems. Then we decide to choose the Euclidean distance. But what we need to pay attention to is that the more distance, the less similarity.
Ii-A2 Prediction Computation
Prediction computation is also one of critical parts in a collaborative filtering system . In fact, many methods share similar ideas. In the neighborhood-based CF algorithms, one can choose a subset of the nearest neighbors of the user according to their similarity with another one and aggregate their ratings to generate predictions for user. We can take a weighted average of all the ratings on that item to make a precise prediction for the rating of the user , on a certain item . The following formula is given by :
where is the weight between the user and user , is the average ratings for the user on all other rated items as same as . is the set of users who have rated the item . For memory-based prediction, we can also predict the rating simply by the following formula:
Ii-A3 Top-N Recommendations
The Top-N Recommendations are that a set of N top-ranked items, which attract the specific users, are recommended. For example, when you use NetEase cloud music, if you are an old user, you will be recommended a list of songs which you may be interested in. The Top-N Recommendations can mainly divided into two classes, User-Based Top-N Recommendation Algorithms and Item-Based Top-N Recommendation Algorithms.
For the former, we first choose the most similar users to the specific user by using the Pearson Correlation Similarity or Vector Cosine-based Similarity . After the most similar users have been chosen, we can aggregate their corresponding rows in the user-item rating matrix to identify a set of items, . With the set , user-based collaborate filtering techniques recommend the items with the top-N highest scores in which the specific user has not purchased.
For the latter, we firstly choose the most similar items for each item according to their similarities predicted by Pearson Correlation Similarity or Vector Cosine-based Similarity. Then we can identify the set, , by taking the union of the k most similar items and removing each of the items in the set, , which the specific user has already purchased. The set is candidates of recommended items. Then we predict the similarities between each item of the set and the set . We can recommend the Top-N items  according to the resulting set of the items which are sorted in decreasing order of the ratings in . The above is the summary concept of the Top-N Recommendations.
Ii-B Group-based Collaborative Filtering
Group-based Collaborative Filtering is the important point in this paper. It is different from the single user recommendation system, especially the calculating similarity method. Sometimes, it can solve the Cold-Start problem . Group detection and group preference aggregation are two important part of the Group-based Collaborative Filtering.
Ii-B1 Group Detection
. However, in many group recommendation systems, the grouping is not given. So we should add a user to a certain group by some method. We can call it group detection. There are two commonly used methods: the first is based on user preferences and the second is based on demographic methods. In fact, it is the cluster problem. In this field, the K-means is the most famous method. For example, in, the user-item scoring matrix is directly input to the K-means clustering algorithm, and the users are clustered according to user preferences. And demographic information can also be the input to the K-means clustering algorithm. For example, the group recommendation system Intrigue  divides the group into different subgroups according to the demographic characteristics of the user. But in my experience, the grouping is given by investigating families.
Ii-B2 Group Preference Aggregation Strategy
Group preference aggregation which is proposed by Dyer et al.  is the most important part of the group recommendation system. In the group recommendation systems, preference aggregation refers to the extraction of group preference according to the preferences of group members . In an actual world, group recommendation systems need to meet the different requirements by the different group preference aggregation strategies. Meanwhile, it also need to meet the overall satisfaction, fairness, understandability and other requirements.
Recently, some basic group preference aggregation strategies in group recommendation systems have been studied . In , ten group preference aggregation strategies are analyzed in detail. Then five commonly used strategies are discussed below.
Average Strategy: The average of the group membership ratings is taken as the rating of this group.
Most Pleasure Strategy: The maximum of the group membership ratings is taken as the rating of this group.
Least Misery Strategy: The minimum of the group membership ratings is taken as the rating of this group .
Average Without Misery Strategy: The average of the group membership ratings which is higher than the certain threshold is taken as the rating of this group.
Most Respected Person Strategy: The rating of group is decided by the ratings of the most respected person in this group.
Ii-B3 Group Preference Aggregation Method
Group Preference Aggregation which occurs at different stage of the recommendation is also different. Paper  summarizes Group Preference Aggregation Method into three categories: recommendation result aggregation, rating aggregation and group preference modeling.
For recommendation result aggregation and rating aggregation, we first generate the recommendation for each user of the group or calculates the predictive ratings, and then generate a group recommendation aggregation or group prediction ratings.
For the group preference model, it first generates a group preference model by aggregating the group members preferences models. Then we can recommend the items by the group preference model.
In this paper, we mainly aggregate the attributes of the numbers of the family group by a certain strategy and then recommend the items to the family group.
Iii Proposed Approach
The dataset consist of client profile, transaction dataset, visit dataset, family dataset and participation dataset from the real shopping mall.
Client profile dataset has 4505 client profiles with seven attributes: join days, sex, age, phone, email, neighborhood, register source and income. Its main contents are the client profile which are used to calculate the user similarity.
Transaction dataset contains 25550 shopping records with categories: productbrand, producttype and maincategory.The items distribution with three categories show in the Table I, II, III. It is used to calculate the user similarity by Jaccard similarity algorithm.
Visit dataset has 60427 records with check-in timestamp and checkout timestamp.
Participation dataset records the activities each user participates.
Family dataset has 6378 family groups. Every family group data contains the information about the composition of the family.
|INFANT & KIDS||3838|
|INFANT & KIDS||8030|
|HOME & LIFESTYLE||1332|
|TC WOVEN SHIRTS||394|
Iii-B Data Preprocessing
Data Preprocessing is the important stage in the family recommendation system. It can not only help us with numerical calculations but also make the experiment results better. Data Preprocessing can be divided into two parts.
Iii-B1 Data Cleaning
Some information of the items with the missing values are deleted or replaced by the certain value such as zero, the average value and so on. It can make our dataset more complete.
Iii-B2 Data Normalization
The form of the elements of the dataset is various, so it’s hard to deal directly with them.
For the user-behavior feature, we can normalize the data items of the participation dataset and the transaction dataset to triples (memberid, productbrand
, the quantity of the items).
For the client profile dataset, we can separate the attributes of client into numeric variable and category variable. The category variables such as sex, neighborhood, register source and so on can be encoded by the one-shot encoding. For example, the attribute sex with three values can be encoded to the vector( Female: Male: ) and the numeric variables can be mapped to 0 to 1 by the normalization method. For the attribute telephone and email, we can encode them to 0 or 1 according to whether user left the information.
Iii-C User Behavior-based Similarity Matrix
According to the user-behavior feature with four categories (productbrand, producttype, maincategory, activity), we use the triples which we propose in the section III-B. In order to get all the set of items which the user have bought as the inputs to the Jaccard similarity algorithm proposed in the section II-A1, then can get four user similarity matrix, which are respectively denoted as , , , .
Iii-D User Profile-based Similarity Matrix
In the client profile dataset, using the user profile, we can calculate the user similarity matrix[31, 32]. Firstly, we can generate the user profile vectors by the method introduced in the section III-B. For example, we can formula the user attributes to the vector . Then we can use the user profile vector to calculate the user distance matrix by the Euclidean distance proposed in the section III-B. Then we normalize all the elements of the user distance matrix to interval, denoted as . Finally, we get the user similarity matrix by the formula:
where the dimensions of the matrix and matrix are the same and is the similarity between user and user which belong to the set of users denoted as . To distinguish the similarity matrix above, we denote the similarity matrix as .
Iii-E Hybrid Similarity Matrix Algorithm
The five similarity matrix (, , , , ) has already gotten. Then we can aggregate them to get more better similarity matrix. Because aggregating them which are gotten from different categories can fully represent the similarity between users. The empirical experimental results suggest the usefulness of our model.
Iii-F Family Recommendation Algorithm
The single user similarity matrix algorithms have been discussed above. For the group similarity matrix, the group discovering can be stepped, because we have known the member of the family according to the Family dataset.
Then for the family behavior-based similarity matrix, we combine the triples mentioned in the section III-B2 with family units. For example, user triple is and user triple is . The members of the family are user and user , so the family triples are and . Then we use the triples to get all the set of items the family have bought as the inputs to the Jaccard similarity algorithm proposed in the section II-A1. Finally we can get four user similarity matrix, which are respectively denoted as , , , .
For the family profile-based similarity matrix, we firstly sum the vectors of all the member of the family as the profile vector of the family . We can calculate the similarity matrix like the user profile-based similarity matrix, denoted as . It can make the dissimilar vectors farther apart and the similar vector more closer. Finally, we aggregate the five similarity matrix to get the final similarity matrix denoted as and recommend the item with the family unit using . The whole procedure is shown in the Fig.2.
We mainly propose three different models and compare them by the evaluation metric. Finally, we can find that the third model is better than the first one and the second one according to experiment results.
User Behavior-based + User Profile-based Recommendation Method
Hybrid User Model:
User Behavior-based+User Profile-base + Hybrid Similarity Matrix Algorithm Recommendation Method
Hybrid Family Model:
User Behavior-based+User Profile-based + Hybrid Similarity Matrix Algorithm + Family Recommendation Method
The recommended items in this experiment have three categories (productbrand, producttype, maincategory). (The details are told in Section IV-D. Experimental Procedure.)
As a result, for the User Model, we recommend the item productbrand by aggregating the , and ,recommend the item producttype by aggregating the , and and recommend the item maincategory by aggregating the , and .
The Hybrid User Model and Hybrid Family Model recommend the item with three categories by using one similarity matrix. For the Hybrid User Model, we recommend the item by aggregating the , , , and . For the Hybrid Family Model,we recommend the item by aggregating the , , , and .
Iv-B Dataset Splitting
Dataset splitting is the important stage when we split the transaction dataset into two parts, one part as testing set and the other part as training set. Because it is the shopping records with timestamps, we decide to split the dataset by the time point. By observing the time and space distribution of the data which is shown in Fig.3., we choose the timestamp ‘2016-07-15 00:00:00’ as the splitting point of the testing set and the training set. Testing set and training set account for 20 percent and 80 percent respectively. Because it is shopping data, testing set and training set split by the time point will be better for us to evaluate the model performances according to the data characteristics.
Iv-C Evaluation Metric
There are many evaluation metric for recommender system , such as RMSE (Root Mean Square Error), MAE (Mean Absolute Error), recall rate, precision rate and so on. Here, we finally choose the recall rate and the precise rate for their popularity in related works.
The recall rate describes how many percentage of the user’s shopping records are included in the final recommendation list, and the precise rate describes how many the final recommended lists are user shopping records that have occurred.
Recall Rate is given by
Precision Rate is given by
where is the set of the items which are recommended to the user and is the set of the items which the user have already bought.
Iv-D Experimental Procedure
Our experiment is to recommend the items from three categories (productbrand, producttype, maincategory) by the Top- recommendation which is increasing from 1 to 10 and to calculate the recall rate and precise rate of them. In addition, we propose three models. In summary, we can get the 60 data points drawn in the Fig.4 and the Fig.5 to compare the performances between the different models.
Iv-E Experimental Results
As Fig.4 shows, the dashed line represents the User Model and the straight line represent the Hybrid User Model. The recall rate curve of the User Model and Hybrid User Model both increase with increasing and The precise rate curve of the User Model and Hybrid User Model , when k is larger than 3, both decrease with increasing. The Hybrid User Model, whether from accuracy or recall, is better than the User Model.
As Fig.5 shows, the straight line represents the Hybrid User Model and the dashed line represent the Hybrid Family Model. The recall rate curve of the Hybrid User Model and the Hybrid User Model both increase with increasing and The precise rate curve of the Hybrid User Model and the Hybrid Family Model, when is larger than 3 both decrease with increasing. The Hybrid Family Model, whether from accuracy or recall, is better than the Hybrid User Model.
According to the conclusion above, the Hybrid Family Model, for both accuracy and recall, is better than the User Model and Hybrid User Model.
V Conclusion and Future Work
Firstly, we discuss the single user recommendation system and the popular group recommendation systems from multiple perspectives. After researching the dataset , we propose a novel approach for integrating the information from user/family purchase data, activity data and shopping mall event data into an unified model for the family based recommendation problem. we verify our approach on via an empirical study on a real-world dataset and showcase the efficacy of our method. Finally, the algorithm works well according to the experimental results.
In the future, this algorithm can be combined with the matrix factorization or other machine learning technology. This would be a good starting point for further research.
X. Su and T. M. Khoshgoftaar, “A survey of collaborative filtering
Advances in Artificial Intelligence, vol. 2009, no. 12, 2009.
-  P. Resnick and H. R. Varian, “Recommender systems,” Communications of the ACM, vol. 40, no. 3, pp. 56–58, 1997.
-  L. Boratto, “Group recommender systems,” in Proceedings of the 10th ACM Conference on Recommender Systems. ACM, 2016, pp. 427–428.
-  J. Masthoff, “Group recommender systems: Combining individual models,” in Recommender systems handbook. Springer, 2011, pp. 677–702.
-  H. Lieberman, N. Van Dyke, and A. Vivacqua, “Let’s browse: a collaborative browsing agent,” Knowledge-Based Systems, vol. 12, no. 8, pp. 427–431, 1999.
-  J. Masthoff and A. Gatt, “In pursuit of satisfaction and the prevention of embarrassment: affective state in group recommender systems,” User Modeling and User-Adapted Interaction, vol. 16, no. 3-4, pp. 281–319, 2006.
-  L. Ardissono, A. Goy, G. Petrone, M. Segnan, and P. Torasso, “Intrigue: personalized recommendation of tourist attractions for desktop and hand held devices,” Applied Artificial Intelligence, vol. 17, no. 8-9, pp. 687–714, 2003.
-  F. Guzzi, F. Ricci, and R. Burke, “Interactive multi-party critiquing for group recommendation,” in Proceedings of the fifth ACM conference on Recommender systems. ACM, 2011, pp. 265–268.
-  M. Balabanović and Y. Shoham, “Fab: content-based, collaborative recommendation,” Communications of the ACM, vol. 40, no. 3, pp. 66–72, 1997.
-  R. M. Bell and Y. Koren, “Improved neighborhood-based collaborative filtering,” in KDD cup and workshop at the 13th ACM SIGKDD international conference on knowledge discovery and data mining. Citeseer, 2007, pp. 7–14.
-  B. Sarwar, G. Karypis, J. Konstan, and J. Riedl, “Item-based collaborative filtering recommendation algorithms,” in Proceedings of the 10th international conference on World Wide Web. ACM, 2001, pp. 285–295.
-  G. Salton and M. J. McGill, “Introduction to modern information retrieval,” 1986.
-  P. Resnick, N. Iacovou, M. Suchak, P. Bergstrom, and J. Riedl, “Grouplens: an open architecture for collaborative filtering of netnews,” in Proceedings of the 1994 ACM conference on Computer supported cooperative work. ACM, 1994, pp. 175–186.
-  M. R. McLaughlin and J. L. Herlocker, “A collaborative filtering algorithm and evaluation metric that accurately model the user experience,” in Proceedings of the 27th annual international ACM SIGIR conference on Research and development in information retrieval. ACM, 2004, pp. 329–336.
-  H. Seifoddini and M. Djassemi, “The production data-based similarity coefficient versus jaccard’s similarity coefficient,” Computers & industrial engineering, vol. 21, no. 1, pp. 263–266, 1991.
-  F. Fouss, A. Pirotte, J.-M. Renders, and M. Saerens, “Random-walk computation of similarities between nodes of a graph with application to collaborative recommendation,” IEEE Transactions on knowledge and data engineering, vol. 19, no. 3, pp. 355–369, 2007.
-  J. L. Herlocker, J. A. Konstan, A. Borchers, and J. Riedl, “An algorithmic framework for performing collaborative filtering,” in Proceedings of the 22nd annual international ACM SIGIR conference on Research and development in information retrieval. ACM, 1999, pp. 230–237.
-  B. Sarwar, G. Karypis, J. Konstan, and J. Riedl, “Analysis of recommendation algorithms for e-commerce,” in Proceedings of the 2nd ACM conference on Electronic commerce. ACM, 2000, pp. 158–167.
-  G. Karypis, “Evaluation of item-based top-n recommendation algorithms,” in Proceedings of the tenth international conference on Information and knowledge management. ACM, 2001, pp. 247–254.
-  Z. Miao, J. Yan, K. Chen, X. Yang, H. Zha, and W. Zhang, “Joint prediction of rating and popularity for cold-start item by sentinel user selection,” vol. PP, no. 99, pp. 1–1, 2016.
-  M. O’connor, D. Cosley, J. A. Konstan, and J. Riedl, “Polylens: a recommender system for groups of users,” in ECSCW 2001. Springer, 2001, pp. 199–218.
-  J. Freyne and B. Smyth, “Cooperating search communities,” in International Conference on Adaptive Hypermedia and Adaptive Web-Based Systems. Springer, 2006, pp. 101–110.
-  L. Boratto, S. Carta, and M. Satta, “Groups identification and individual recommendations in group recommendation algorithms,” in Workshop on the Practical Use of Recommender Systems, Algorithms and Technologies (PRSAT), Held in Conjunction with RecSys, 2010, pp. 27–34.
-  J. S. Dyer and R. K. Sarin, “Group preference aggregation rules based on strength of preference,” Management Science, vol. 25, no. 9, pp. 822–832, 1979.
-  L. Baltrunas, T. Makcinskas, and F. Ricci, “Group recommendations with rank aggregation and collaborative filtering,” in Proceedings of the fourth ACM conference on Recommender systems. ACM, 2010, pp. 119–126.
-  J. Masthoff, “Group modeling: Selecting a sequence of television items to suit a group of viewers,” in Personalized Digital Television. Springer, 2004, pp. 93–141.
-  S. Berry, S. Fazzio, Y. Zhou, B. Scott, and L. Francisco-Revilla, “Netflix recommendations for groups,” Proceedings of the American Society for Information Science and Technology, vol. 47, no. 1, pp. 1–3, 2010.
-  J. F. McCarthy and T. D. Anagnost, “Musicfx: an arbiter of group preferences for computer supported collaborative workouts,” in Proceedings of the 1998 ACM conference on Computer supported cooperative work. ACM, 1998, pp. 363–372.
-  A. Jameson and B. Smyth, “Recommendation to groups,” in The adaptive web. Springer, 2007, pp. 596–627.
-  D. Li, C. Chen, Q. Lv, J. Yan, L. Shang, and S. Chu, “Low-rank matrix approximation with stability,” in Proc. of, vol. 951, 2016, p. 16.
-  C. Chen, D. Li, Q. Lv, J. Yan, S. M. Chu, and L. Shang, “Mpma: Mixture probabilistic matrix approximation for collaborative filtering.” in IJCAI, 2016.
-  C. Chen, D. Li, Q. Lv, J. Yan, and S. Chu, “Gloma: Embedding global information in local matrix approximation models for collaborative filtering.” in AAAI, 2017.
-  C. Basu, H. Hirsh, W. Cohen et al., “Recommendation as classification: Using social and content-based information in recommendation,” in Aaai/iaai, 1998, pp. 714–720.