Author’s Accepted Manuscript Social Group Recommendation Based on Dynamic Profiles and Collaborative Filtering Kyoungsoo Bok, Jongtae Lim, Heetae Yang, Jaesoo Yoo www.elsevier.com/locate/neucom
PII: DOI: Reference:
S0925-2312(16)30581-1 http://dx.doi.org/10.1016/j.neucom.2015.11.120 NEUCOM17193
To appear in: Neurocomputing Received date: 3 February 2015 Revised date: 17 September 2015 Accepted date: 9 November 2015 Cite this article as: Kyoungsoo Bok, Jongtae Lim, Heetae Yang and Jaesoo Yoo, Social Group Recommendation Based on Dynamic Profiles and Collaborative Filtering, Neurocomputing, http://dx.doi.org/10.1016/j.neucom.2015.11.120 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting galley proof before it is published in its final citable form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.
Social Group Recommendation Based on Dynamic Profiles and Collaborative Filtering
Kyoungsoo Bok, Jongtae Lim, Heetae Yang, Jaesoo Yoo School of Information and Communication Engineering, Chungbuk National University. 1 Chungdairo, Seowon-gu, Cheongju 362-763, Korea
[email protected] [email protected] [email protected] [email protected]
Corresponding author: School of Information and Communication Engineering, Chungbuk National University, Chungdaero 1 Seowon-gu Cheongju Chungbuk, 28644, Korea. Tel: +82-43-261-3230
Abstract Recently, a number of studies on recommendation schemes over social network services have been actively conducted. In this paper, we propose a group recommendation scheme using users’ profiles and collaborative filtering over social network. The proposed scheme updates profile information by collecting recent information on users’ activities. Furthermore, it can recommend groups by utilizing the profile data of other users who are similar to a user in a group through collaborative filtering, thereby providing various groups to users. The profile information of the expert user has more weight than that of other users to consider expert information during group recommendation. It is shown through the performance evaluation that the proposed scheme provides 1
various group recommendations in which users’ changing preferences are considered sufficiently compared to the existing schemes.
Keywords : Social network, Group recommendation, Dynamic profile, Collaborative filtering
1. Introduction As users’ demand for social networking and information sharing has increased more and more, the use of social network has also risen [1, 2, 3, 4, 28, 29, 30]. As a result, systems that recommend content and products that are likely to be preferred by users are widely employed, and various personalized services utilizing such recommendation systems have been provided [18, 19, 20]. Therefore, studies on recommendation schemes considering users’ preferences have been conducted actively to take various user requirements into account quickly [9, 10, 18, 21, 22]. With the development of social networks and the revitalization of users’ information generation on Web, services that users with the similar interests make a group and share their information have appeared. The groups for information sharing are classified into static groups and dynamic groups. Since a static group is for a specific purpose, a type of contents that the group deals with is determined[40, 41]. For example, a baseball club and a film society are groups that users join them for specific purposes. Therefore, a type of information shared within the groups is fixed.
A dynamic group is contrary to the static group and is temporarily created and
removed according to specific events or situations[25, 32, 39]. Users who watches the same TV channels or lives in a particular region belong to the dynamic group. The group recommendation makes users share important and meaningful information by recommending new groups that are suitable for their tendency and the necessary items for the group members [5, 6, 7, 8, 9, 16, 17, 25, 26, 27]. . The group recommendation schemes are being used in various fields such as movie, music, image, TV and ecommerce [23, 24, 32, 37]. In recent years, they are also being applied in social media user groups [36, 39, 41]. In [24], a group-coupon recommendation system considering user preference, geographic convenience, and social influence was proposed for location sensitive products. An interactive social group recommendation was proposed for Flickr supporting photo sharing [39, 41]. In [39], the pre-generated group classifiers are used to predict the image group of each photo. In [41], a stochastic scheme based on link structure in probabilistic 2
manner was proposed. The folksonomy derived graph that can reflect various relations between users, between items, and between users and items are built. A community based social recommendation using the implicit relationships was proposed for movie [37]. The social network graphs of items are generated through the implicit relationships between the items derived from the direct interactions of the users. In [23], a new group recommender systems called HappyMovie was proposed to improve the overall quality of group recommendations. HappyMovie can ease the real decision making process performed by groups of users when choosing a movie to watch together. The recent group recommendation schemes are classified into collaborative filtering based recommendation schemes and social based recommendation schemes [5, 23, 26, 31, 33, 38]. A collaborative filtering based recommendation scheme recommends items and similar groups to a group through associative relationship between users and items that they use[26, 32, 34, 41]. For example, a new group recommendation based on collaborative filtering was proposed [26]. The proposed scheme predicts the rating of the unrated movies for each group members and then recommends the movies via aggregating group users’ preference. In [34], the memory based collaborative filtering for group recommendation was proposed to recommend music to a group. The proposed scheme enhances the memory based collaborative filtering to resolve the data sparsity problem and uses the vector machine learning model to compute similarities between items. A social based group recommendation scheme recommends groups to a user by considering users’ relationship and influence through the analysis of their social behaviors [5, 23, 31, 35, 38, 40]. In [5, 35, 38], a survey was conducted using the TKI (Thomas-Kilmann Conflict Mode Instrument) to identify users’ preferences. Using such user preferences, groups that included users with similar preferences were recommended. In [35], ARISE (Architecture for Recommendations Including Social Elements) considering social behavior was developed to improve group recommendation. ARISE integrate the individual preference and social features of the group. In [6], users with similar preferences were grouped, and a scheme that recommended reliable items to group members was proposed. In [7, 8], schemes that recommended items to groups were proposed using social characteristics. A recommendation method was provided to improve the overall satisfaction of group members by considering relationships between group members, expertise of members, and preferences of members as social characteristics. In [31], a new group recommendation using social factors extracted from a social network was proposed. This scheme considers social factors directly extracted from interactions within the social network. 3
In recent years, studies on recommendation schemes utilizing expert information have been conducted to provide reliable recommendations to users [11, 12, 13, 14, 15]. Experts are defined as persons who have acquired considerable knowledge and experience in specific fields by means of working or studying in specific fields. If expert information is considered, quality recommendations can be ensured. In [11, 12], schemes that recommended experts through users’ activity information were proposed. In [13, 14], schemes that recommended items to groups by applying expert information to recommendation systems were proposed, and a correlation between expertise and recommendation performance was proven. The existing group recommendation schemes produce preferences based on static profiles, thereby recommending items or related groups accordingly. However, most users rarely change the profiles they enter at the time of group registration, which is why static profiles do not represent users’ preferences accurately. As a result, the accuracy of recommendations is reduced, since up-to-date information cannot be reflected. In addition, existing studies reflect user profile information only at the time of the recommendation, so they cannot reflect the recent preferences of other users. In this paper, we propose a static group recommendation scheme using users’ dynamic profiles and the preferences of social network users. A static group in this paper is defined as an online community of users gathered for a special purpose. The proposed scheme analyzes the recent activity information of users to create dynamic profiles. Since dynamic profiles are updated continuously through users’ group activities, they can reflect users’ recent preferences. In addition, the activity information of users in a group is collected during the group recommendation process, which can reflect the recent preference information of the users in the group. During the recommendation process, collaborative filtering is used to recommend a group in order to simultaneously consider the preferences of a specific user and other users. To consider expert information during group recommendation, if another user who is compared with a specific user is found to be an expert on the corresponding content during the collaborative filtering process, the profile information of the expert user has more weight than that of other users. The proposed scheme can solve the problem of existing static profile-based recommendation schemes that cannot reflect the recent preferences of users and consider the profile information of other users whose preferences are similar to those of a user in a corresponding field, allowing it to recommend diverse and accurate groups to users. Furthermore, since it considers expert information, it recommends better expert groups compared to existing schemes. This paper is organized as follows. In Section 2, existing studies on group recommendation schemes are 4
described, while the proposed group recommendation scheme is presented in Section 3. In Section 4, the results of the performance evaluation are presented to validate the performance of the proposed scheme. Finally, in Section 5, the conclusion and future research are presented.
2. Related Work The existing recommendation focused mainly on the content interests of group members and ignored the social characteristics within a group. M. Gartrell proposed a group recommendation scheme considering social and content interests of users to identify items that are most suitable for a group [7]. To choose the appropriate group decision, three factors such as social factor, expertise facto, and dissimilarity factor. The group consensus function integrates social, expertise, and interest dissimilarity of group users to generate the final group rating for a given group. The generic framework analyzes group characteristics and generates the corresponding group consensus function. The proposed system is individual based recommendation plus group consensus function. The group consensus function makes it easy to incorporate various group characteristics that can potentially impact the group decision process. Y. Song proposed a group recommendation scheme based on collaborative filtering to provide video recommendations for group users [26]. The proposed scheme first predict the rating of the unrated items or the preference of unwatched video for each group users, and then provides the recommendations for group by aggregating group users’ preference, which concerns the preferences of unwatched members. To create recommendation item, the proposed scheme calculates the average value of the predicted rating of an item, and update the values with a parameter to commend the items for the group. Finally, ranks the group values to select the TopN items. Y. M. Li proposed a group coupon recommendation considering user preference, location sensitivity, and social influence to advertise location sensitive items [24]. This scheme compares the similarity between item characteristics and the preferences of each user to find user who are interested in the target item, analyzes the geographic-related information accessed from the self-disclosure behaviors on online social networking platforms to filter users who are in closer proximity to the store. The proposed scheme generates companions for customers who are identified as highly willing to buy the product for a group package product (GPP) and generates a candidate customer group whose users have the highest willingness to purchase score towards the 5
target product. for a group formed product (GFP). L. Q. Sánchez developed ARISE integrating the individual preferences and social features of the group to provide an enhanced group recommendation [35]. ARISE uses an explicit profile of the individual’s preferences and then modifies individual preferences by delegation based prediction method. The delegation based prediction method creates the new individual prediction according to the personality and reliability factors. The different personalities are represented by the Thomas-Kilmann test [42]. These individual predictions are combined to generate an aggregated preference for the group. I. A. Christensen proposed group recommendation scheme considering social factors extracted from a social network [31]. This scheme identifies the items that are representative of the majority’s preferences and analyzes members’ similarity. Social factors are considered directly extracted from an analysis of interactions within the social network to aggregate individuals’ preferences. Collaborative filtering is used to provide group recommendations. A collaborative similarity between the target group’s model and the community users’ models is calculated by the Pearson correlation. H. Kim proposed present a stochastic method providing group recommendations based on link-structure analysis [41]. This scheme generates the folksonomy derived graph from fruitful tagging to reflect various relations between users, between items, and between users and items. To provide group recommendation, a stochastic ranking called GroupWalker which adapts the random walker with restarts for use is used. This scheme offers two types of computing ranking scores for items via a preference aggregation approach and via a ranking aggregation approach.
3. The proposed group recommendation scheme 3.1. Characteristics Since the existing group recommendation schemes recommend groups based on users’ initial profiles, they do not reflect users’ preferences if users do not update their profiles directly. Therefore, it is necessary to manage users’ activity profiles that can accommodate the preferences when they change. A collaborative filtering scheme is required for reflecting the preferences of other users in the same category. In general, the existing group recommendation schemes recommends groups based on the preferences of users included in a
6
group. Therefore, they do not guarantee the quality and reliability of recommended groups. In this paper, we propose a new group recommendation scheme that improves the quality and reliability of recommended groups by considering both users’ dynamic profiles and the preferences of social network users. In social networks, the users’ reliability is very important because many users disseminate information that is not verified. The proposed scheme removes meaningless or wrong information in advance by our reliability discrimination method [43]. The proposed scheme analyzes the recent activity information of users to create dynamic profiles. Since dynamic profiles are updated continuously through users’ group activities, they can reflect users’ recent preferences. In addition, the activity information of users in a group is collected during the group recommendation process, which can reflect the recent preference information of the users in the group. During the recommendation process, collaborative filtering is used to recommend a group in order to simultaneously consider the preferences of a specific user and other users. To consider expert information during group recommendation, if another user who is compared with a specific user is found to be an expert on the corresponding content during the collaborative filtering process, the profile information of the expert user has more weight than that of other users. The proposed scheme can solve the problem of the existing static profile-based recommendation schemes that cannot reflect the recent preferences of users and consider the profile information of other users whose preferences are similar to those of a user in a corresponding field, allowing it to recommend diverse and accurate groups to users. Furthermore, since it considers expert information, it recommends better expert groups compared to the existing schemes. Figure 1 shows the overall flow of the group recommendation scheme. First, users’ recent group activity information is collected from social networks and analyzed. Second, based on the collected information, the number of profile keywords are compared to derive users with similar preferences. Third, user selection is conducted to distinguish information between general and expert users during collaborative filtering. Out of the derived similar users, users with an amount of activity above a threshold are selected as experts, while the remaining users are classified as general similar users. Fourth, collaborative filtering is conducted based on the information of classified users. Collaborative filtering is conducted with three types of profiles—profiles of users selected as experts, profiles of general similar users, and profiles of users who request recommendations— to extract the most appropriate keywords in terms of users’ preferences. Finally, the most appropriate group is recommended to a user by searching for a group via the extracted keywords. 7
Figure 1 Group recommendation scheme process
3.2 Dynamic profile In the proposed scheme, dynamic profiles are used to represent recent preferences of users. A dynamic profile is created by extracting users’ recent items of interest based on users’ group activity information, which is equivalent to a dynamic profile that is updated automatically. When a user joins a group to start activities, a user enters a static profile. As a user participates in group activities more and more, a dynamic profile reflecting the user’s recent preferences can be updated. Dynamic profiles are updated for every user as follows: Group activity information within the same category is collected to create user preference information. For example, there are “music” and “sports” categories, and a user participates in three groups related to “music” and two groups related to “sports.” Music-related preference information in the dynamic profile is updated with recent preferences of users by summarizing the activities in the three music-related groups. Similarly, the dynamic profile is updated by summarizing the activity information in the two sports-related groups that the user joined. 8
Figure 2 shows the overall structure that creates and updates dynamic profiles. For example, there are groups in which a user participates, and these groups are classified into four categories: music, sports, games, and languages. Groups 1 and 2 are classified into the music category, Groups 3 and 4 the sports category, Groups 5 and 6 the games category, and Groups 7 and 8 the languages category. Therefore, the user’s final dynamic profile is created and updated by summarizing the information of Groups 1 and 2, 3 and 4, 5, and 6, and 7 and 8 categorically.
Figure 2 Overall structure of dynamic profile creation and updating
To create and update profiles, the activity group information of each user is inputted. Then, based on the inputted activity group information, activity groups are classified by category. By summarizing classified categories, the final profile is created and updated by comparing it with previous profile information. To update dynamic profiles, the amount of activity in each of the groups a user joins is calculated. The amount of activity is a value that numerically represents the recent activities of a user in a group that is classified in the above. The amount of activity is calculated by collecting attribute values that can influence the activities of a user in a group for a certain period of time. Here, attribute values include posts, comments, or the number of check-ins by a user. The amount of activity of each user is computed using Equation (1). The amount of activity of a user in Group i , PVi j (Profile Value), represents the amount of activity a user j performed. In Equation (1), N ij is
9
an attribute used to calculate the amount of activity user j performed in Group i in a defined threshold time, ij is a weight applied to the attribute value N ij that can influence N ij activity, t is the current time, m is
the initial time when the activity information of the user is collected, and n is a variable that adjusts the collection time. p and k are constants to adjust the weight of PVi j applied at each time when the amount of activity is summarized from the past to the current time. For example, if the slope rate of an equation is increasing due to p and k , the weight of past activity information that is closer to the current time becomes higher, whereas if the slope rate is decreasing, the weight of past activity information that is closer to the current time becomes lower. t
PVi j ( 10e m t n
k
p
)Nij ij
(1)
The amount of activity is computed based on the information of groups in which a user participates and detailed activity information. First, to compute the amount of activity of a user by category, the information of groups in which a user participates is classified by category. Then, a period in which the amount of activity of a user is collected is set up. Once a collection period is set up, a weight to be applied is set up, since the amount of activity differs from period to period. Once a weight is set up, an attribute value N ij is set up to calculate the amount of activity. Once an attribute value is determined, a weight ij that is applied to the attribute value is determined, and finally, the amount of group activity PVi j of a user is calculated. Table 1 shows an example of how to compute the amount of activity of a user. Let us assume that a user took part in activities with respect to attribute values corresponding to Table 1(a) in a certain group. In addition, let us assume that the amount of activity is determined based on activities conducted in the last four months. Let us also assume that the weights applied to the attributes to calculate the amount of activity are shown in Table 1(b), while the weights with respect to the period are shown in Table 1(c). Then, for January, the amount of activity is ((50 * 0.5) + (90 * 0.3) + (200 * 0.2)) * 0.1, resulting in 9 for the amount of activity in January, as shown in Table 1(d). The above calculation is also applied similarly to February, March, and April so that the final amount of activity of a user in this group is 53 for the last four months.
10
Table 1 Calculation of amount of activity (a) User activity information Item
January
February
March
April
Sum
Posts ( Nij )
50
40
20
40
200
Comments ( Nij )
90
30
30
90
240
No. of check-ins ( Nij )
200
150
100
50
600
(b) Weight by attributes Item
Posts
Comments
Check-ins
Sum
Weight ( ij )
50%
30%
20%
100%
(c) Weight by period Item Weight ( 10e
k
p
)
January
February
March
April
Sum
10%
20%
30%
40%
100%
(d) Final amount of activity Item j
Amount of activity ( PVi )
January
February
March
April
Sum
9
12
9
23
53
3.3 Creation and updating of dynamic profiles Dynamic profiles are created based on users’ activity information if groups in which a user performs activities exist. All activities conducted in the same category in a group are combined to create users’ dynamic profiles. Information of k group keywords with high scores in the total sum of calculated PVi j is used to create a user’s dynamic profile. A group keyword is a value that is assigned to explain the characteristics of a group, which is assigned by the group manager or created automatically via text mining. Dynamic profiles are created for each group category in which a user performs activities. A weight KVikj is assigned to each group keyword to select a keyword that is used as a dynamic profile from group keywords included in the same group category. KVikj is PVi j of user j assigned to keyword k included in Group i , which refers to the weight assigned to each keyword. Once KVikj is assigned to all groups that are included in the same group category, a 11
preference for keyword k by user j is created using Equation (2). Once a preference for the keyword is created, keywords that have a preference above a threshold are created as a dynamic profile. That is, keywords that are included in groups in which a user often performs activities are used as a dynamic profile. n
KWkj KVikj i 1
(2)
To create a profile, the activity group is used. The activity group is classified by category, and the classified activity group derives classified group keywords to derive keywords that will be used in a dynamic profile. Then, a PV value, which is the amount of activity of a user in a corresponding group, is assigned to each keyword as a weight to create a KW value. Once KW values are derived, they are sorted in descending order, and finally, the top n keywords are used as keywords of dynamic profiles. As users’ preferences change, users’ activity in a group changes accordingly based on the preference change. Thus, dynamic profiles are updated based on group activity information. Figure 3 shows the process of how a user dynamic profile is updated. Let us assume that user j performs activities in two categories related to sports and language, and the user’s amount of activity is created as shown in Figure 3(a) using Equation (1). Since the amount of activity is assigned to each of the groups as 25, 45, 50, and 60 respectively, keyword weights of Groups 1, 2, 3, and 4 are assigned as 25, 45, 50, and 60, respectively. In summary, keyword weights are assigned as soccer 70, volleyball 70, basketball 45, bowling 25, and tennis 25. Accordingly, assuming that the keyword threshold is 40, keywords such as soccer and basketball (which are assigned as keywords of the sports category in the previous dynamic profile, as shown in Figure 3(b)) are updated to keywords with the new highest weights, such as soccer, volleyball, and basketball. Similarly, dynamic profiles in the language category are changed to Chinese, German, and Japanese.
(a) User’s amount of activity
12
(b) Update of dynamic profile Figure 3 Dynamic profile update process
3.4 Group recommendation To reflect the preferences of other users who perform activities in the same group categories, the proposed scheme performs collaborative filtering with regard to dynamic profiles. That is, preferred keywords are created for group recommendation considering the preferences of other users who have similar preferences in a group with dynamic profiles that represent the user’s preference. To perform collaborative filtering, first, users who have similar preferences in the same group categories are selected. Once users with similar preferences are identified, experts are determined from users with similar preferences. To determine experts, users with an amount of activity above a threshold in a group are selected among users who have similar preferences. Then, collaborative filtering is conducted based on identified users with similar preferences. While conducting collaborative filtering, keywords that do not exist in the user’s own dynamic profile keywords are extracted out of the dynamic profile keywords of users with similar preferences. To assign priority to the extracted keywords, a score is assigned to each keyword according to its similarity with the user’s preferences. If an assigned score is above a threshold, the keyword is selected as a preferred keyword, and a group is recommended accordingly. To select users who have similar preferences, users who perform activities in the same group categories are searched first, and the similarities of their dynamic profiles are compared. Similarities are calculated by comparing keywords included in the dynamic profiles of users who perform activities in the same group category. Equation (3) calculates the similarity of users. Here, SMijk refers to the similarity of the dynamic profiles of users i and j in group category k , and UKik refers to the number of dynamic profile keywords of user i in group category k , while SK ijk refers to the number of dynamic profile keywords shared by users
13
i and j in group category k .
SMijk
SKijk UKik
SKijk
(3)
UK kj
Table 2 shows the process of how to determine users who have similar preferences. Based on the dynamic profile of User A, the similarity of User A with Users B, C, D, and E is calculated using Equation (3). For example, as shown in Table 2(a), User B shares three keywords with User A, while Users C, D, and E share two, one, and two keywords, respectively. The similarity with User A is then calculated as shown in Table 2(b) and is approximately 0.56 with User B and 0.06–0.33 with Users C, D, and E. Assuming that the similarity threshold is 0.5, User B is determined as a user with similar preferences.
Table 2 User similarity calculation process (a) Keywords of user dynamic profiles User A dynamic profile
User B dynamic profile
User C dynamic profile
User D dynamic profile
User E dynamic profile
Soccer Bowling Basketball Baseball
Soccer Bowling Basketball Tennis
Soccer Bowling Tennis Table tennis
Soccer Golf Table tennis Hockey
Soccer Bowling Hockey Tennis
(b) User similarity User
Similarity
User B User C User D User E
0.56 0.33 0.06 0.033
Existing group recommendation schemes recommend groups to users based on personal preference information. However, existing schemes cannot ensure the quality or reliability of recommended groups. In this paper, expert information is considered to provide users with recommended groups that are of high quality and reliability. Essentially, experts are defined as persons who have acquired considerable skills and knowledge in a specific field as a result of extensive study or work in that field. Therefore, this paper assumes that experts provide higher quality and more reliable data than general users.
14
n users who are the most active in a specific category are selected as experts in a group. In addition, experts
are selected within a range of users who are identified as having similar preferences. The amount of activity of experts is extracted using PV, and experts are selected as those who have PV values above a threshold determined by a user based on the sorted extracted PV values used in collaborative filtering. Figure 4 shows an example of how to select experts. It is assumed that in the first step, three users are identified as having similar preferences in the same category group. To select experts from the identified users, the previous amount of activity PV in the activity group in the same category range is computed. Assuming that the PV values of users are 50, 70, and 90, and the threshold of PV is 80 to determine an expert user in the second step, User 3 is selected as the expert in the group that satisfies the condition in the third step.
Figure 4 Expert determination procedure
Users selected as experts go through the collaborative filtering process using their dynamic profile information. Prior to conducting the collaborative filtering process, weights are assigned to the dynamic profile information of the selected expert users. Since experts have higher quality information than general users, higher weights are applied to expert users than general users during collaborative filtering. 15
Collaborative filtering is used to recommend a group by reflecting the preferences of other users who have preferences similar to those of a specific user. That is, the dynamic profiles of users who have similar preferences are extracted through collaborative filtering to be utilized in group recommendation. Preferred keywords are employed to search target groups for group recommendation. Preferred keywords are extracted keywords that are likely to be of interest to a specific user from the dynamic profiles of users who have similar preferences in the same group category. Preferred keywords are defined by assigning priority to the extracted keywords. Preferred keywords are extracted by performing collaborative filtering with respect to the extracted dynamic profiles of other users and the dynamic profile of a user who requested a recommendation through Equation (4). Here, KPipk represents the score of keyword p extracted through collaborative filtering from group category k with respect to user i , while n is the number of users with similar preferences. A final keyword score is assigned to apply the priority of the extracted keyword using a similarity value calculated via Equation (4). Preferred keywords are selected from keywords to which scores are assigned if a keyword has a score above a threshold. n
KPipk SMijk j 1
(4)
Table 3 shows the process of how to calculate KPipk . Let us assume that the keywords extracted through collaborative filtering from a sport-related group are “tennis,” “table tennis,” and “hockey.” For tennis, the similarity scores of B, C, and E are 0.56, 0.33, and 0.33, respectively, so that the final KP value of the “tennis” keyword is 1.22. Assuming that the threshold is 1, the “tennis” keyword is finally selected as a preferred keyword.
Table 3 Preferred keyword extraction process
Item
User B Profile KP
User C Profile KP
User E Profile KP
Total KP
Tennis
0.56
0.33
0.33
1.22
Table tennis Hockey
0 0
0.33 0
0 0.06
0.33 0.03
16
Once preferred keywords are selected, recommendation groups are searched for a user. The recommendation priority is determined by the number of keywords that are matched as a result of the comparison of keywords assigned to a group with preferred keywords. Table 4 shows the process of group recommendation based on recommendation keywords. Let us assume that “tennis,” “table tennis,” and “hockey” are preferred keywords determined via Equation (4). Then, let us assume that Groups A–D are identified as searched groups via the results of the preferred keywords. The priority of recommendation groups is determined based on the criteria of the number of matched keywords between preferred and group keywords. Accordingly, the priority is determined as Groups B, C, A, and D in order.
Table 4 Recommendation priority extraction process Group
Keywords
Group A
Soccer, Basketball, (Tennis), Golf, Hiking, Bowling
Group B
(Tennis), (Table tennis), (Hockey), Soccer, Basketball, Baseball, Volleyball
Group C
Hockey, (Table tennis), Bowling , Billiards, Volleyball, (Hockey), Golf
Group D
Soccer, Basketball, (Tennis), Bowling , Billiards, Golf
Figure 5 shows the proposed group recommendation algorithm. Its input is Profile_SET, which is information about profiles, while its output is Group_SET, which is information about recommendation groups. Group recommendation is performed utilizing static profile information for a user who begins group activities for the first time (Lines 2–4). Dynamic profiles are extracted through group activity details for users who have activity groups already, and groups joined by a user are searched and classified by category (Lines 6–8). Once groups are classified, users with similar preferences within a group are searched through Equation (3). After this, the top n users with similar preferences are selected as experts, while a score is assigned as keywords that are found in users with similar preferences are identified (Lines 9–16). Preferred keywords with scores above a threshold among score-assigned keywords are extracted, and then, groups whose keywords best match the group information are recommended (Lines 18–22). Group_recommendation Input: Profile_SET Output: Group_SET Storage list: List_Key_P (list of stored scores of extracted keywords) List_Key_D (list of stored preferred keywords) 17
1:
if(no group exists)
2:
Static profiles (Profile_SET) collected;
3:
Preferred keyword (Keyword_SET) collected;
4:
Group search;
5:
else if(if groups exist)
6:
Dynamic profiles (Profile_SET) extracted;
7:
Groups that user joined searched;
8:
Groups classified by category;
9:
Users with similar preferences are calculated via SM ijk ;
10:
n experts with high activity among users with similar preferences are selected;
11:
for(Users extracted via SM)
12:
KPipk calculated;
13:
List_key_P[]=+KP;
14:
end for
15:
if(Comparison between threshold and List_Key_P)
16:
Store top n experts to List_Key_D;
17:
end if
18:
Scores are assigned to candidate keywords of preferred keywords using KP;
19:
Preferred keyword extracted;
20:
Group similarity comparison through preferred keywords;
21:
Group_SET created;
22:
Group recommendation;
23:
end if Figure 5 Group recommendation algorithm
4. Performance evaluation To prove the superiority of the proposed scheme, we compared it with ARISE [35] through performance evaluation. ARISE recommends groups by considering the personality and reliability of ARISE using users’ social behaviors. ARISE keeps the reliability of group recommendation using relation among users. In this paper, we propose a new group recommendation scheme that considers both users’ dynamic profiles and the 18
preferences of social network users in order to improve the quality and reliability of recommended groups. Since ARISE is one of the most recent group recommendation schemes and has the same objectives as the proposed scheme, we choose it as the existing scheme for performance comparison. For the performance evaluation, the following computer environments were used: RAM 4GB, CPU Intel(R) Core(TM) i3-2100, and Windows 7 Ultimate K OS. A dataset of randomly created preferences was used, and implementation was done using C#. Table 5 shows the overall experimental evaluation environment of the group recommendation, while Table 6 shows a comparison of keywords of initially inputted profiles in the experiment with profile keywords updated using the proposed scheme. The number of users was set to 500~50,000, while the number of groups was set to 104. The PV value was set to a range of 1~100. For the threshold to determine experts, users with scores above a PV value of 85 were selected as experts. Table 5 Experimental environment Parameter
Value
No. of users
500~5,000
No. of groups
104
PVi
j
1~100
Table 6 Dynamic profile update Initial profile
Updated profile
CN DX CO BS AB
DV AF BJ CR AJ
Figure 6 shows the scores of recommended groups based on the updated profiles and candidate keywords prior to the selection of preferred keywords identified using collaborative filtering. The dynamic profiles of users are updated using Table 6, while a threshold was set to include the top five preferred keywords among KPipk values. Through the initial dynamic profile information, five preferred keywords (CN, DX, CO, BS, AB)
were designated. That is, the PVi j value of every group in which a user participated was assigned randomly from 1 to 100, thereby updating the initial dynamic profile keywords {CN, DX, CO, BS, AB} to {DV, AF, BJ,
19
CR, AJ}.
(a) Initial group recommendation keywords
(b) Updated group recommendation keywords
Figure 6 Comparison of recommendation keywords and scores
The accuracy of the proposed scheme was evaluated to verify whether it recommends groups considering users’ preferences, thereby solving the problem of the existing recommendation schemes that do not consider users’ changing preferences. The accuracy was compared using the match rate between group keywords and preferences. Individual preferences were divided into 50 types, while groups were divided into three types: fast changing preference group (F_Group), normal changing preference group (N_Group), and static changing preference group (S_Group). Between 500 and 1000 performance evaluations were conducted to yield average values. Table 7 shows parameters for evaluating accuracy.
Table 7 Parameters for evaluating accuracy Parameter
Value
The number of group types The number of user preference types The number of recommendation groups
3 50 500~1,000
20
Figure 7 compares the accuracy of group recommendation between an existing static profile-based recommendation scheme and the proposed scheme. It was verified that since the existing scheme did not update profiles despite the changing preferences of users, it had a lower match rate between keywords of recommended groups and profile keywords than the proposed scheme. F_Group improved the accuracy of preference group recommendations by 65% on average compared to the existing scheme, while N_Group and S_Group improved accuracy performance by 68% and 11%, respectively. It was shown through performance evaluation that the proposed scheme improved accuracy by 48% on average compared to the existing scheme.
Figure 7 Comparison of group recommendation accuracy
Item/group reliability is very important in recommendation schemes. Group recommendation schemes using the existing static profiles did not consider the reliability of recommendations at all. Thus, the reliability of recommendations of the existing and proposed schemes in terms of users’ expertise was evaluated and compared. The number of experts was set to 10%~30% of total group members. Experts were assumed to know more information due to their higher level of participation in quality groups than general users. Thus, the number of experts in a group was evaluated upon group recommendation. Table 8 shows parameters for evaluating reliability. Table 8 Parameters for evaluating reliability Parameter
Value
The number of users The ratio of experts The number of recommendation groups
500~5,000 10%~30% 500~1,000
21
Figure 8(a) shows the number of experts in each group when the number of experts in a group was set to 10% of total users while recommending groups. It was verified that the proposed scheme included about 26% more experts in a recommended group than the existing scheme when the number of users was 500. When there were 1,000 and 5,000 users, 35% and 34% more experts were found in recommended groups than those of the existing scheme. Overall, the proposed scheme considered information provided by experts so that it recommended groups with about 32% more experts on average. When the numbers of experts in a group were set to 20% and 30% of total group members, respectively, similar results regarding the number of experts in each group were derived.
(a) ratio of experts in a group is 10%
(b) ratio of experts in a group is 20%
22
(c) ratio of experts in a group is 30% Figure 8 Comparison of number of experts in group
5. Conclusion The existing recommendation schemes cannot reflect the recent preferences of users since they recommend groups based on users’ initial profiles. They also do not guarantee the quality and reliability of recommended groups since they recommend groups based on the preferences of users included in a group In this paper, we proposed a new group recommendation scheme that considers both users’ dynamic profiles and the preferences of social network users. The proposed scheme creates dynamic profiles by analyzing the recent activity information of users in order to reflect users’ recent preferences. It conducts collaborative filtering to simultaneously consider the preferences of a specific user and other users. The proposed scheme also consider expert information to provide users with groups with high reliability. It was verified via the performance evaluation that the match rate between recommended groups and user preferences was low in the existing scheme, since it did not sufficiently consider changes in users’ preferences over time. The proposed scheme improved the accuracy of recommendations by 50% compared to the existing scheme, because it updated profiles according to changes in user preferences. When the number of experts in a group was set to 10%~30% of total users, the proposed scheme improved performance by 32%~38% and produced higher quality group recommendations compared to the existing scheme. For future research, a study on recommendations of a variety of groups will be conducted considering relations with other categories for group recommendation
23
Acknowledgements This research was supported by Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education(2012R1A1A2041898, 2012R1A1A2A10042015), by the MSIP(Ministry of Science, ICT and Future Planning), Korea, under the ITRC(Information Technology Research Center) support program (NIPA-2014-H0301-14-1022) supervised by the NIPA(National IT Industry Promotion Agency), and by the National Research Foundation of Korea(NRF) grant funded by the Korea government(MSIP) (No.2013R1A2A2A01015710)
References [1] Y. Jiang, J. C. Jiang, Diffusion in Social Networks: A Multiagent Perspective, IEEE Transactions on Systems, Man, and Cybernetics: Systems, 45(2) (2015), pp.198-213. [2] O. Kwon, Y. Wen, An empirical study of the factors affecting social network service use, Computers in Human Behavior, 26(2) (2010), pp.254-263. [3] K. Kim, N. Moon, Content Modeling Based on Social Network Community Activity, Journal of Information Processing Systems, 10(2) (2014), pp. 271~282. [4] A. Følstad, K. Hornbæk, P. Ulleberg, Social design feedback: evaluations with users in online ad-hoc groups, Human-centric Computing and Information Sciences, 3(1) (2013), pp.1-27. [5] Q. Lara, R. Juan, D. Belen, Personality and Social Trust in Group Recommendations, International Conference on Tools with Artificial Intelligence, 2010, pp.121-126. [6] L. Boratto, S. Carta, A. Chessa, M. Agelli, M. Clemente, Group Recommendation with Automatic Identification of Users Communities, International Workshop on Intelligent Web Interaction, 2009, 547-550. [7] M. Gartrell, X. Xing, Q. Lv, A. Beach, R. Han, S. Mishra, K. Seada, Enhancing Group Recommendation by Incorporating Social Relationship Interactions, International ACM SIGGROUP Conference on Supporting Group Work, 2010, pp.97-106. [8] S. AmerYahia, S. Basu Roy, A. Chawla, G. Das, C. Yua, Group Recommendation: Semantics and Efficiency, International Conference on Very Large Data Bases, 2009, pp.754-765. [9] X. Liu, Y. Tian, M. Ye, W. Lee, Exploring Personal Impact for Group Recommendation, International
24
conference on Information and Knowledge Management, 2012, pp.674-683. [10] C. Wan, B. Kao, D. Cheung, Location-sensitive Resources Recommendation in Social Tagging Systems, International conference on Information and Knowledge Management, 2012, pp.1960-1964. [11] D. Horowitz,
S. Kamvar, The Anatomy of a Large-Scale Social Search Engine, International Conference
on World Wide Web, 2010, pp.431-440. [12] A. Bozzon, M. Brambilla, S. Ceri, M. Silvestri, G. Vesci, Choosing the Right Crowd: Expert Finding in Social Networks, International Conference on Extending Database Technology, 2013, pp.637-648. [13] X. Amatrian, N. Lathia, J. Pujol, H. Kwak, N. Oliver, The Wisdom of The Few: A Collaborative Filtering Approach Based On Expert Opinions From The Web, International ACMSIGIR conference on Research and development in information retrieval, 2009, pp.532-539. [14] S. Sang, S. Lee, S. Park, S. Lee, Determining User Expertise For Improving Recommendation Performance, International Conference on Ubiquitous Information and Communication, 2012. [15] M. Tang, Y. Jiang, J. Liu, X. Liu, Location Aware Collaborative Filtering for QoS-Based Service Recommendation, International Conference on Web Services, 2012, pp.202-209. [16] A. Patil, J. Liu, J. Gao, Predicting group stability in online social networks, International World Wide Web Conference, 2013, pp.1021-1030. [17] D. Rosaci, G. M. L. Sarnè, Matching Users with Groups in Social Networks, International Symposium on Intelligent Distributed Computing, 2013, pp.45-54. [18] R. Benlamri, X. Zhang, Context-aware recommender for mobile learners, Human-centric Computing and Information Sciences, 4(1) (2014), pp.1-34. [19] W. Jeong, S. Kim, D. Park, J. Kwak, Performance Improvement of a Movie Recommendation System based on Personal Propensity and Secure Collaborative Filtering, Journal of Information Processing Systems, 9(1) (2013), pp.157~172. [20] R. Y. Toledo, Y. C. Mota, M. G. Borroto, A Regularity-Based Preprocessing Method for Collaborative Recommender Systems, Journal of Information Processing Systems, 9(3) (2013), pp.435~460. [21] J. S. Kim, J. Byun, H. Jeong, Cloud AEHS: Advanced learning system using user preferences, Journal of Convergence, 4(3) (2013), pp.31-36. [22] Y. S. Cho, S. C. Moon, Weighted Mining Frequent Pattern based Customer’s RFM Score for Personalized 25
u-Commerce Recommendation System, Journal of Convergence, 4(4) (2013), pp.36-40. [23] L. Q. Sánchez, B. Díaz-Agudo, J. A. Recio-García, Development of a group recommender application in a Social Network, Knowledge Based Systems, 71 (2014), pp.72-85. [24] Y. M. Li, C. L. Chou, L. F. Lin, A social recommender mechanism for location-based group commerce, Information Sciences, 274 (2014), pp.125-142. [25] H. Wang, G. Li, J. Feng, Group-Based Personalized Location Recommendation on Social Networks, AsiaPacific Web Conference, 2014, pp.68-80. [26] Y. Song, Z. Hu, H. Liu, Y. Shi, H. Tian, A Novel Group Recommendation Algorithm with Collaborative Filtering, International Conference on Social Computing, 2013, pp.901-904. [27] W. Zeng, L. Chen, Recommending Interest Groups to Social Media Users by Incorporating Heterogeneous Resources, International Conference on Industrial Engineering and Other Applications of Applied Intelligent Systems, 2013, pp.361-371. [28] S. Hong, J. Chang, A New k-NN Query Processing Algorithm based on Multicasting-based Cell Expansion in Location-based Services, Journal of Convergence, 4(2) (2013), pp.5-10. [29] K. K. Kumar, G. Geethakumari, Detecting misinformation in online social networks using cognitive psychology, Human-centric Computing and Information Sciences, 4(1) (2014), pp.1-22. [30] R. Chen, S. K. Sharma, Learning and self-disclosure behavior on social networking sites: the case of Facebook users, European Journal of Information Systems, 24(1) (2015), pp.93-106. [31] I. A. Christensen, S. N. Schiaffino, Social influence in group recommender systems, Online Information Review, 38(4) (2014), pp.524-542. [32] N. Kim, J. Lee, Performance Analysis of Group Recommendation Systems in TV Domains,
International
Journal of Fuzzy Logic and Intelligent Systems, 15(1) (2015), pp.45-52. [33] M. Kompan, M. Bieliková, Group Recommendations: Survey and Perspectives, Computing and Informatics, 33(2) (2014), pp.446-476. [34] S. Ghazarian, M. A. Nematbakhsh, Enhancing memory-based collaborative filtering for group recommender systems, Expert Systems with Applications, 42(7) (2015), pp.3801-3812. [35] L. Q. Sánchez, J. A. Recio-García, B. Díaz-Agudo, An architecture and functional description to integrate social behaviour knowledge into group recommender systems, Applied Intelligence, 40(4) (2014), pp.73226
748. [36] J. Wang, Z. Zhao, J. Zhou, H. Wang, B. Cui, G. Qi, Recommending Flickr groups with social topic model. Information Retrieval, 15(3-4) (2012), pp. 278-295. [37] M. Fatemi, L. Tokarchuk, A Community Based Social Recommender System for Individuals & Groups, International Conference on Social Computing, 2013, pp.351-356. [38] L. Q. Sánchez, J. A. Recio-García, B. Díaz-Agudo, G. Jiménez-Díaz, Social factors in group recommender systems, ACM Transactions on Intelligent Systems and Technology, 4(1) (2013), pp.1-30. [39] Z. Zha, Q. Tian, J. Cai, Z. Wang, Interactive social group recommendation for Flickr photos, Neurocomputing, 105 (2013), pp.30-37. [40] L. Chen, W. Zeng, Q. Yuan, A unified framework for recommending items, groups and friends in social media environment via mutual resource fusion, Expert Systems with Applications, 40(8) (2013), pp.28892903. [41] H. Kim, A. El-Saddik, A stochastic approach to group recommendations in social media systems, Information Systems, 50 (2015), pp.76-93. [42] K. Thomas, R. Kilmann, Thomas-Kilmann conflict mode instrument, (1974), Tuxedo, New York. [43] K. Bok, J. Lim, I. Jeon, J. Yoo, An Expert Search Scheme Using User Activities and Reliabilities in Social Networks, International Conference on Big Data and Smart Computing, 2015, pp.157-161
Kyoungsoo Bok received the B.S. in Mathematics from Chungbuk National University, Korea in 1998 and also received M.S. and Ph.D. in Information and Communication Engineering from Chungbuk National University, Korea in 2000 and 2005. He is now a research professor in Information and Communication Engineering, Chungbuk National University, Korea. His research interests are database system, location based service, mobile ad-hoc network, big data processing, and social network service. Jongtae Lim received B.S. and M.S. in Information and Communication Engineering from Chungbuk National University, Korea in 2009 and 2011. He is now a Ph.D candidate in Information and Communication Engineering, Chungbuk National University, Korea. His research interests are location based service, mobile adhoc network, big data processing, and social network service. Heetae Yang received B.S. and M.S. in Information and Communication Engineering from Chungbuk National University, Korea in 2012 and 2014. He is now a Ph.D student in Information and Communication Engineering, 27
Chungbuk National University, Korea. His research interests are location based service, mobile ad-hoc network, big data processing, and social network service. Jaesoo Yoo received the B.S. in Computer Engineering from Chunbuk National University, Korea in 1989 and also received M.S. and Ph.D. in Computer Science from Korea Advanced Institute of Science and Technology, Korea in 1991 and 1995. He is now a professor in Information and Communication Engineering, Chungbuk National University, Korea. His research interests are database system, storage management system, sensor network, distributed computing, big data processing, and social network service.
Kyoungsoo Bok
Jongtae Lim
Heetae Yang
Jaesoo Yoo
28