1 Introduction

The extensive usage of Internet and web services has drastically changed our lives in the last decade. It has become quite easy to find the information on any item in the world. However, with the changing information flow over the Internet and more available choices at hand, it has become difficult to find the relevant and appropriate information. Moreover, while exploring the search engines, sometimes users are unable to express keywords and feel difficulty in conveying the requirements. Search engines solve the information overload problem but they fail to give personalized results. The extensive growth of products on E-commerce sites and the need to give personalized data is the reason for the development of recommender systems. Recommender System (RS) is an intelligent system that filters the information and recommends useful items and information to users based on user needs. For the past two decades, there is a rapid rise in implementing RS by different websites. RS is one of the most prevalent applications of machine learning technology. They assist users in decision-making when the user does not possess enough expertise to opt an item from an enormous list of items. It is essential for a good RS to take into account the dynamic requirements of users (Rana and Jain 2015).

Unfortunately, RSs still experience various problems such as dynamism, cold-start, data sparsity, privacy and trust (Melville and Sindhwani 2011). Cold-start is a situation when the requirements are not optimal for RS to work efficiently and give good results. It is the inability of a system to draw any recommendations for new users and new items as the system has not yet retrieved adequate information about them. Cold-start problem can be further categorized into user cold-start and item cold-start problem. It occurs when an item or a user is new for some service and the system does not have enough similar vectors for their rating (Abbasi et al. 2014). User cold-start problem arises when a naïve user registers to the system and for a particular interval of time, the system give recommendations to the user without relying on his history or previous interactions as no interactions has occurred yet. With an inadequate elaborated model of user’s preferences, the system fails to build user profile for the purpose to match relevant items and like-minded users. With the insufficient information and interactions of user, the system fails to comprehend the interests of user and consequently give recommendations of poor quality. Due to poor recommendations generated by the system, users might decide to discontinue the use of system. Similarly, item cold-start problem arises when the items are new to the systems and no ratings are available for them. The situation also appears when the items receive very little interactions, even if they have been available in the item set for months. In certain cases, system may recommend popular items to cold-start users.

In general, RS is based on large datasets whereas a user rates only a few items from the vast list of items. Therefore, the user-item rating matrix become highly sparse and leads to the problem of data sparsity. Data sparsity problem refers to the situation when the system does not possess adequate user feedback, that is, there are very few item ratings than the total number of items in the database in order to build an accurate prediction model. This ultimately reduces the performance of RS. Thus, there is a need of RS that can effectively deal with these problems and give relevant results.

A remarkable growth of social networks is seen in recent years. Social networking sites generate an inexhaustible amount of information and their usage can potentially resolve the issues of RS (Tang et al. 2013; Dakhel et al. 2018). There are diverse social networking websites ranging from images and video sharing websites to social tagging and social bookmarking websites. Traditional RS do not use social relations; however, these relations can be used to produce improved results. Both ratings and social relations can be leveraged to calculate missing values. When social networks are integrated into RS, it produces a new system called Social Recommender System (SRS). This system search interesting patterns by using valuable information from social networking sites. SRS is generating considerable interest in terms of their features for building effective recommendations (Li et al. 2013; Dang and Ignat 2017). Despite this interest, to the best of our awareness, researchers have not yet comprehensively studied all the features of SRS. This paper sheds light on various features of SRS.

This paper is partitioned into six sections. Section 1 gives a concise outline of RS and social networks. Section 2 describes RS and its various techniques. Section 3 describes the concept of SRS. Section 4 gives the classification of various features of SRS and explains each feature with the research work done in the corresponding sphere. Section 5 presents the comparison of different social recommender systems. Section 6 provides the future scope in this field. We draw our conclusion in the ending section.

2 Recommender system

Today everyone faces the problem of immense set of choices which is called information overload problem. But selection from the vast set of options in limited time is a difficult task. Recommender Systems are query-less and collaborative agent that aim to suggest items, events, links and information to people (Bobadilla et al. 2013). Typically, RS is a set of algorithms that find data patterns from the available dataset by learning and computing user preferences. The system then provides the most relevant and useful results on the basis of the correlation between the interests and needs. The prime aim of RS is to attain user satisfaction and to establish long-term relationship with users. RS has gained popularity in recent years due to their assorted applications. A static profile for user is predominant technique in many existing RSs but it is not sufficient to evaluate the tastes and preferences of users. Dynamics of RS are important aspects to ascertain accuracy and user satisfaction. In dynamic environment, user preferences change with time and such changes must be incorporated to increase the accuracy of RS (Rana and Jain 2015). The accuracy of RS is dominantly influenced by temporal effects. Thus, incorporation of these factors can greatly improve the accuracy of RS (Koren 2009). The selection of an approach to develop a recommendation system is also dependent on the type of data. This data can be content data, interaction data (clicked data) or the user data.

2.1 Recommender system techniques

In the literature, RS techniques have been classified in different categories like collaborative filtering, content-based filtering, hybrid, graph, knowledge and demographic based techniques. There also exist other techniques for recommendation such as deep learning-based, fuzzy-based, utility-based, context aware-based, etc. Some of the techniques have been commercially applied by popular websites like Amazon.com and Netflix.com. Netflix’s prize, for the best algorithm in movie recommendation, is often the topic of discussion when researchers talk about RS. Recommendation systems have gained popularity from Amazon.com website (Linden et al. 2003). We briefly discuss the various techniques of RS as follows:

2.1.1 Collaborative filtering-based

Collaborative filtering (CF) is a technique that finds similar users and uses their interests or rating patterns to recommend items (Ekstrand et al. 2011). This approach has been successfully applied in some specific domains like movies, music and restaurant recommendation. CF-based RSs are broadly classified into memory-based RS and model-based RS (Su and Khoshgoftaar 2009). Memory-based methods use user-item rating matrix to search similar users and similar items. Memory-based methods are further partitioned into item-based methods and user-based methods. Item-based approaches determine the relationship between items of the user-item matrix and then compute recommendations based on similarities of items (Sarwar et al. 2001). User-based approaches identify similar active users from the user-item matrix, based on their profiles. The similarities between users are employed to predict ratings. Model-based methods use the training datasets and learn the parameters from the datasets to train the model. Once the model is trained on the appropriate database, the parameters of the model can be used to make predictions. Model-based methods do not require the investigation of rating matrix. These methods spend most of their time in learning whereas memory-based methods harness the entire database to make predictions. The learning of parameters through model makes model-based methods comparatively faster than memory-based methods.

CF is indeed the most successful technique among other recommendation techniques. It is used by AmazonFootnote 1 and NetfilixFootnote 2 for recommendations. The goal of CF is to recommend a user an item which has been liked by people with similar tastes. In these systems, the profiles of users are expressed in context of their priorities for the items. Some mathematical functions are then used to calculate the similarity between the items. For illustration, suppose there are seven items A, B, C, D, E, F and G and there are three users X, Y and Z in the system. Let user X likes items A, C, E and G; user Y likes items A, B, E and G; and user Z likes items D and F. In such a case, a CF-based system would recommend item C to user Y as user X and user Y have similar preferences (namely A, E and G). On the other hand, the system does not recommend any item to user Z because the preferences of user Z do not match with any other user in the system. Such a user for whom the RS fails to make any meaningful recommendations is called grey sheep. As there is massive number of items in the system, the user preferences for the items are generally very sparse. Due to sparsity in preferences of items, CF-based systems have a huge number of grey sheep users. In addition, the accuracy of CF-based systems is also dependent on the total number of rated items.

The advantage of employing CF is to recommend more serendipitous and diverse recommendations. It has the ability to recommend “out of box”. It may suggest rock music to a listener who is interested in hip hop genre. When the user space is very large, CF techniques perform best. Also, there is no item cold start problem with this technique. Another advantage is that it grasps the changing user preferences over time. Nevertheless, CF has several disadvantages. As tastes of people are different in different arena, therefore this approach may fail in large diverse domains. Research paper recommendation is an example of a domain where CF approach has not a very good performance due to data sparsity. There are few users in this domain but millions of papers due to which there are very rare chances where two users give common ratings to papers. There are many research papers which are not rated by any user. Consequently, CF-based RSs do not recommend such papers. CF requires item metadata due to which their extension to cross domains turns out to be difficult. Other shortcomings of this technique are user cold-start problem and the synonymy issue (Isinkaye et al. 2015) where two items are similar but they are termed differently. It usually becomes difficult for CF-based systems to find the correlation between the items. Latent Semantic Indexing and constructing a thesaurus are some of the methods to solve this problem. However, adding of synonyms words by these methods may have different meanings than what is expected which may produce poor quality recommendations. Lastly, CF-based systems are vulnerable to profile injection attacks or manipulation where an anonymous user can give false ratings intentionally. Such an attack is called shilling attack. In this situation, users give positive ratings to their own products and negative ratings to the products of their competitors.

2.1.2 Content-based filtering

A content-based filtering (CBF) RS recommends items that are similar to the historical preferences of users (e.g. in a movie RS, if a person rated some thriller movies earlier then next time this RS will presumably recommend recent thriller movies to that person). Such systems are user-independent, transparent and capable of recommending new items. User feedback plays an essential role in these systems. As a result, CBF systems give more personalized recommendations.

CBF techniques are useful in text-intensive areas where recommendations similar to the keywords are significant (Perugini et al. 2004). For instance, given online open courses, and knowing that a user opted “Coursera” and “edX”, the system could easily infer the propensity of user towards online educational courses and could therefore recommend “Udemy”. CBF techniques compare representations of item’s contents to representations of contents that fascinates the user. According to a survey, more than 50% of research paper RSs used CBF technique (Beel et al. 2016). One major advantage of CBF systems over CF systems is that the former is capable of recommending new items by looking at item contents whereas the latter need ratings for new items before recommending them. However, a user rates only few items from the vast set of ratings. Such limited content information is insufficient for categorizing information and generalizing user’s interest. Therefore, such systems tend to generate similar recommendations and experience the problem of overspecialization. For instance, when a customer opt for a mobile phone, he may give more importance to its cost than its color. In contrast to a CF system, a CBF system trained with features of rock music would not recommend hip hop music. In addition, these systems may not give reliable recommendations to a naïve user due to insufficient or no ratings. One solution to this problem is to create regression and predict user preferences using the demographic data.

2.1.3 Hybrid-based

Hybrid-based techniques combine two or more than two techniques to give improved recommendations. Generally, this technique combines the best features of CF and CBF techniques to avoid the cold-start problem. There are basically three ways to integrate these techniques. The first approach is implementing CBF features into CF technique. The second approach is implementing CF features into CBF technique and the third approach is to execute both these approaches autonomously and then use their predictions to generate recommendations. Other techniques can also be combined to give users more valuable recommendations. The central idea behind combining different approaches is to restrain the shortcoming of a technique into a hybrid model and increase the overall performance of system. For instance, a knowledge-based technique and a CF technique might be coupled so that doamin knowledge could be utilized to mitigate the cold-start problem. This assist RS to generate recommendations to new users. On the other hand, CF-based technique is capable in finding similar users which a knowledge engineer would not be able to anticipate.

An important question during hybridization is to determine which techniques should be combined in which domain and at what point to make the system successful with good performance and accuracy. Burke (2002) has given a broad survey of hybrid RSs. They have summarized the actual and other possible hybrid recommendation techniques that combine different kinds of recommendation techniques. For example, cascading two different CBF techniquesis gives a hybrid technique. Some hybrid techniques combine the approaches which belong to the same set of technique but are implemented differently. Recently, deep learning techniques are excessively integrated with aforementioned techniques to generate more robust recommendations. Liu et al. (2018) integrate CF with deep neural network to learn item and user features.

2.1.4 Graph-based

A graph-based RS use a graph model where users and items represent the nodes, and edges express the interactions between user-user or user-item. A graph-based recommendation technique mainly consists of constructing a graph that indicates the data and giving recommendations on the basis of graph analysis. With a graph-based technique, it becomes easy to find users with similar tastes. The technique can discover similar items and also the items that have been rated or bought by the users. The benefit of building graph-based RS is that once the graph is constructed, it is easy to add nodes by inserting the nodes and their connections to other nodes. But it is uneasy to unlock new items in graphs. Some astute techniques are required to uncover new items. Scientific paper recommendation and searching items in digital library are the areas where graph recommendations are useful. Depending on the way the graph is modeled, it becomes simple to discover closely related items and users. Nevertheless, the ordering of results can end up recommending identical items constantly.

An early work in the sphere of graph-based RS is in the context of book recommendation that combines CF and CBF approaches (Huang et al. 2002). Wei et al. (2013) perform research in discriminating social ties by incorporating three graph-based algorithms, namely HITS, PageRank and heat diffusion. They leverage these algorithms to distinguish and propagate the influence of different friends in the social network. Pham et al. (2015) use the graph-based approach to build a heterogeneous graph model for event-based social networks. The graph models the interactions between different entities like users, groups, events and tags. The model is designed to recommend events to users, recommend groups to users and recommend tags to groups.

2.1.5 Knowledge-based

A knowledge-based RS is based on user-specified interests rather than the former taste of users. It distinguishes itself from other techniques by implementing a a knowledge-based technique that employs knowledge about the user and the products. The system combines user-specified requirements and item attributes with the domain knowledge (Aggarwal 2016). Such systems do not make use of ratings for generating recommendations. Instead, they use domain knowledge-based similarity metrics to construct the knowledge base. However, the construction and then updation of the knowledge base is a difficult task as it requires enough expertise and domain knowledge. Knowledge-based systems are useful in domains where rating-based systems (CF and CBF) do not work. Some items like luxurious articles, automobiles and property are not often purchased. In such cases, knowledge-based techniques are proved to be effective. They use features of items and then generate user profile to make recommendations. There is no cold-start and grey sheep problem in these recommender systems but they tend to generate static recommendations according to what is contained in the user database. Knowledge-based RSs are sensitive to changing preferences of users. The changing user preferences are essential for generating good recommendations. This make knowledge-based recommendation techniques valuable than other recommendation techniques. Based on the interface type, Aggarwal (2016) classifies knowledge-based RS into constraint-based RS and case-based RS. However, the need of knowledge engineering skills is the main weakness of these systems (Burke 2007). Recently, Tarus et al. (2018) have given a detailed review of ontology-based RS for knowledge based recommendations. They have highlighted how ontology is informative for knowledge representation and consequently in improving the robustness of recommendations.

2.1.6 Demographic-based

A demographic RS categorizes users on the basis of their demographic attributes like name, gender, age, country, qualifications and occupation (Al-Shamri 2016). The system uses the demographic attributes to train the classifiers that can map demographic information to ratings. In contrast to other techniques, the advantage of demographic-based technique is that it may not need user’s rating history. This makes this approach simple, easy and fast to give recommendations using few observations. Zhao et al. (2016) extracted user profile as demographic data from social media for product recommendations. However, it is difficult to retrieve demographic data due to privacy issues. Demographic RSs are generally of stereotypical nature as they are based on the idea that users belonging to a common demographic group have common interests. Typically, demographic-based techniques do not give the best recommendations when executed alone. The accuracy of these systems increases when they are combined with other techniques like knowledge-based technique. Another limitation of these systems is the lack of availability of demographic data on online networks as users feel reluctant to share their personal details for the fear of maltreatment. Wang et al. (2012) integrated demographic RS with three machine learning algorithms to examine if demographic information alone is sufficient for good recommendations for visitors. Their experiments demonstrated that demographic recommendation techniques must be combined with other techniques to generate valuable predictions.

Each of the above recommendation system techniques has both strengths and limitations. Table 1 compares these techniques on the basis of advantages and disadvantages.

Table 1 Comparison of different techniques of recommender systems

3 Social recommender system

Social Recommender System is the integration of social media and RS. Both social networks and RSs share their mutual benefits. The immense expansion of social networks has generated opportunities for researchers to analyze social networks and use their findings in RSs. Social network is a major research area from the past many years but traditional RSs do not involve social influence (He and Chu 2010). Social networks have emerged as an important investigation field for content sharing and communication. Millions of social active users spend a percentage of time on these social networking websites daily (Bellman et al. 1999). These social entities create accounts, connect with friends, join some communities, post comments, tag the resources and give ratings. The social networking users create and publish their personal information such as hobbies, education, interests and gender from which voluminous knowledgeable data can be generated. Users sharing similar tastes and preferences in a social network tend to form groups.

Social networks provide a variety of sources of information which was not been possible before few years. Social media generates a huge amount of information in the form of relationship, comments, ratings and tags. This readily available social data can be harnessed in RSs to improve the prediction performance. On the other hand, RS play a major role in enhancing recommendations in social media and addressing exciting issues like friend recommendationa and social engagement. Consequently, RSs are crucial for the successful application of social media. SRS lowers the information overload problem by providing the most robust results to users. It employs the concept of social influence to ascertain user preferences. The recommendations in SRS are affected by the ratings of friends rather than the ratings of anonymous users.

4 Classification of social recommender systems

In this area, the work is being spread along various dimensions where a number of questions are being raised in distinct classifications. Majority of the traditional RSs exploit CF approach to find similar users and then assign ratings on the basis of similarity. The similarity between the users can be measured only if they give common ratings to some items. However, CF-based approaches often suffer from the problem of data sparsity due to limited number of ratings in user-item matrix. Social recommenders produce more appropriate recommendations by means of social relations and communities. As a result, SRS can easily handle problems like cold-start problem, data sparsity and trust.

In this study, we propose the classification based on a number of parameters that caters to the features of SRS. The identified features of these systems are context, tag, trust, group, cross-social media data, temporal dynamics, heterogeneous social connections and semantic filtering. Although these features have been applied autonomously in different SRSs in the literature, but none of them has classified all these parameters. When these features are harnessed to build SRSs, computational complexities could certainly increase but the resultant recommendations could be relevant and remarkable. This section presents the state-of-the-art of these 8 features of SRS.

4.1 Context

Many existing recommendation methods suggest items to users without using the contextual information. However, such recommendations may not prove to be useful and relevant every time. Contextual information is an important factor in giving appropriate recommendations according to the time, situation, location and mood of user. A good RS is the one that gives relevant information to user based on user’s preferences at the correct time and on right place. The concept of context has been analyzed in different disciplines and even in sub-categories of the same discipline due to which multiple definitions of context exist. According to Dey et al. (1998), “a user’s context is any information about the user and the environment that can be used to enhance the user experience”. In other words, context is a social, physical, mental and emotional state of a user. The prime aim of context-aware RS is to give appropriate recommendations based on the user’s current context. A context-aware RS attempts to incorporate extra facts, other than the user and item information to predict users’ preferences on unseen items (Pagano et al. 2016). However, ascertaining how and when to include contextual information in these systems is challenging (Adomavicius and Tuzhilin 2011).

A social network based context-aware RS known as SoCo is presented by Liu and Aberer (2013). SoCo uses random decision trees to integrate diverse forms of contextual information and splits user-item rating matrix to group items and users based on the context. They combine the contextual information with social information into a matrix factorization model to give quality recommendations. They introduce a term called social regularization to address heterogeneity in tastes of social friends. Ma et al. (2011) coined the term social regularization to constrain the diversity in tastes of user and his/her friends. Social regularization defines that users who are socially connected are likely to share similar preferences. This term imposes social constraints on RSs. Macedo et al. (2015) expose new possibilities to exploit various contextual signals from event-based social networks even in the absence of user interactions. They propose a context-aware approach by exploiting different contextual signals, namely, location signals based on user’s topographical choices; temporal signals based on user’s time priority, and social signals derived from the user’s group membership.

Location is a vital factor in assessing a user’s context. Location history plays an important role in learning user’s preferences and behavior. Location-based social networks contain rich knowledge in the form of temporal, spatial and social data. Location is a dimension in location-based social networks that acts as a bridge in building new connections between users and locations, between users, and between locations (Bao et al. 2015). A number of location-based social networking sites, such as Yelp and Foursquare have grown up where users share their reviews and likes about the locations they visit. These social networks aim to recommend places of Point-of-Interest (POI) to users on the basis of their preferences and locations. POI recommendations are location-based, personalized and context-aware. Many studies leverage geographical data to generate POI recommendations (Ye et al. 2011; Liu et al. 2013a; Liu and Xiong 2013). Liu et al. (2013a) follow an integrated approach of combining the effects of different factors to learn geographical preferences. They propose a probabibilistic factor analysis POI recommendation framework to automate the user check-in behavior. The factors are user mobility behavior, geographical influence, user preferences and implicit user feedback. On the other hand, Liao et al. (2018) use a fine granularity and tensor factorization approach for POI recommendation in location-based social networks. They extract fine-grained topics from the user comments and use Latent Drichlet Allocation (LDA) model to generate POI-topics distribution. Then, they divide user check-in information into multiple slices of time and integrate it with POI-topics to construct time-based user-topic distribution. The user-topic-time tensor is constructed and then decomposed to build a dense tensor. Capdevila et al. (2016) use CF anf CBF techniques to propose a hybrid RS called GeoSRS that recommends locations to users. While geographical venues and short reviews are used as the source of information, they use state-of-the-art techniques for sentiment analysis and text mining on textual reviews.

Recently, Sassi et al. (2017) present a comprehensive outline of context-aware system that identify contextual signals in mobile environment. They emphasize that combination of too many contextual signals can reduce the quality of recommendations. Lastly, Colombo-Mendoza et al. (2018) propose an ontology and knowledge-based context-aware SRS in the eating domain. The model explicitly gathers the information and uses ontology to model and construct this information for personalized recommendation. This model consists of seven modules, namely, a knowledge repository, domain ontology, a knowledge integrator, a knowledge-based recommender, a context-aware system, a user interface and a LDA-topic discoverer.

4.2 Trust

A trustful RS is required to distinguish authentic and malicious users (Manasa et al. 2017). Trust can be stated as an umbrella term that covers a varied sort of meanings. Trust could be defined as the level of confidence for the ratings given by the user. In a social network, trust assesses the willingness of a user to behave in an expected way (Abbasi et al. 2014). In context of RS, it expresses the accuracy of recommendations that the system generates. A trust relationship is established in a social network on the basis of social ties between people (Carrasco 2012). The trusted relationships among users in a social network forms a trust network. When social links are annotated with trust data, then this produces a new RS called trust-aware SRS. It is important to know the level of trust in trusted relations for making decisions. This is the reason that users give preference to those RSs that rely on trust relationships rather than similarity measures.

A trust-aware SRS can solve the cold-start, data sparsity, rating integrity and scalability problems because acquainted users are more trustworthy than unknown users (Gao et al. 2015; Tian and Liang 2017). There are different facets of trust representing diverse types of relationships among users (Tang et al. 2012). Recently, Shokeen and Rana (2018b) focus on the features of trust-aware SRSs. They discuss the following properties of trust-aware SRSs: non-transitivity, composability, personalization, asymmetry, domain dependency and time dependency. They also discuss trust metrics and the factors affecting recommendations. They address how to infer trust and dynamically update it in social networks.

Li et al. (2013) combine the ideas of CF and CBF techniques to develop a new SRS for recommending products in e-commerce websites. This system uses preference similarity, social relation analysis, recommendation trust and personalized recommendations. On the other hand, Shen et al. (2016) used CF algorithm to propose a system for e-commerce websites. They have improved CF algorithm by combining reputation-based trust, preference similarity and social relations between users. Yang et al. (2017) have tried to enhance the performance of CF approach by proposing TrustMF as a social collaborative filtering method. TrustMF is a matrix factorization method that integrates rating data and trust data. They have also proposed a truster model and a trustee model to explicitly explain how users must influence and follow the ratings or opinions of others.

Further, privacy is also an issue in SRSs as these systems exploit user’s personal details. To address this issue, Dang and Ignat (2017) have recently proposed dTrust as a rating prediction approach that does not need user’s personal information. However, this approach uses the topology of trust-user-item network. It uses deep feed-forward neural network to combine user relations with user-item ratings for rating prediction.

Tian and Liang (2017) leverage trust relationships of social networks to present an improved recommendation algorithm. They have employed both direct trust and indirect trust relationships for improved recommendations. Cui et al. (2017) developed a trust-based video recommendation algorithm to recommend videos in online social networks. For this, they developed a user discovery model and a video discovery model and then combined these models. They segmented the users into direct and indirect influential users to find the renowned users. In user discovery model, the trust between target user and influential users is computed based on user similarity, interaction and friendship. The video discovery model calculates the video trust using video activities and video ratings.

4.3 Tag

Social networking sites allow users to upload information or resources in the form of images, documents, videos, websites, and check-ins. These resources are assigned a label termed as tag and the practice of assigning tags is termed as tagging. Tags are the words customised by users to express their opinion, location, mood, time, etc. They act as a connection between a resource and a user and their frequent usage demonstrate the interest of a user towards that resource (Zheng and Li 2011). Social tagging is an important parameter in exposing user’s preferences resulting in augmenting the performance of SRS (Milicevic et al. 2010). The purpose of tagging is to share and discover the resources. With the boom in social networking websites, social tags have started gaining the popularity. The preference to resources for a particular person changes with time and the more recent bookmarked resources or tags express the current interest of a user. So, recent tags are given more preference for better recommendations.

Basically, there are two viewpoints to recommend tags: user-centric methods and document-centric methods. User-centric methods aim to find similar users or related groups and use their past tagging behavior to recommend tags whereas document-centric methods categorize documents into different categories by performing document-level analysis. User-centric methods are less effective in recommending tags because of two main reasons. First, very few people carry out tagging extensively and second reason is the less reusability of tags when there is a constant growth in terminology of tags (Farooq et al. 2007). Chirita et al. (2007) used document-centric approach to propose P-TAG method for automatic generation of personalized tags semantically. In their approach, latent semantic analysis and cosine similarity are used to compare a web page with a desktop document. On the other side, Song et al. (2011) use a different perspective to mechanize the procedure of generating tag recommendations to users on the arrival of a fresh resource. They use machine learning method to propose two document-centric approaches where the first graph-based approach uses bipartite graphs to represent tagged data with the intention to find document topics. Another approach is prototype-based that discovers the most representative documents from the data collected and uses Gaussian process classifier to recommend multiple tags concurrently. Both these approaches use a ranking method to rank the tags on the basis of existing popularity of tags.

Social tagging sites allow users to produce system-based content through tagging. One can share photos on Flickr and Instagram, share papers citations on CiteULike and Mendeley, set life goals on LifeTick and 43Things or publicize social bookmarks on Delicious, Digg and LinkedIn. All these systems or websites are similar in the sense that users can upload resources after logging in and then tag them. The set of tags or vocabularies of a particular user are termed as personomy and the set of all personomies or all the assignments of all users is called folksonomy. Pan et al. (2012) have proposed a method for expansion of tag neighbors by combining k-nearest neighbor algorithm and clustering approach. It is assumed that the tags that co-occurred frequently or having higher similarity weights are the neighbors of each other. This method ranks the tags in the descending order according to the similarity values. The expansion of tag neighbors ultimately improves the accuracy of social recommendations. Huang et al. (2014) highlight the importance of tags that are recent, recurrent and existing from a longer period for social resource sharing websites. Based on the user’s social tagging information, they propose a hybrid method that uses CF to discover similar users and CBF to find out similar items to enhance the quality of recommendations. Zhou et al. (2015) focus on the data sparsity issue of user-based CF methods as these methods rely solely on ratings. With an attempt to resolve this issue, they integrate the social relations and user-generated tags into the user-based CF technique to give better recommendations. However, they treat the same types of tags as equal although they imply different meanings in reality.

Different people have different interpretations for a tag. In addition, different tags can have similar meanings. Arnaboldi et al. (2016) have proposed PLIERS (Popularity-based Item Recommender System) as a tag based RS. This RS is based on folksonomies and recommends those items or tags which match the popular items already owned by the user. Generally, users choose their own vocabulary to tag items. This is the reason that social tags contain uncontrolled vocabularies and are generally sparse, ambiguous and redundant in nature. To solve the problem of uncontrolled vocabularies in tagging, Xu et al. (2017) have followed a deep neural network approach to propose a deep-semantic similarity-based personalized recommendation (DSPR) framework. This model uses tag-based user and item profiles as inputs. The inputs are mapped into an abstract deep feature space to maximize the similarity between users and target items. They have also proposed a hybrid deep learning model with negative sampling to improve the efficiency of model training and approximate the noise. Recently, Shokeen (2018) leverages tags, social information and contextual details to inspect the role of social networks in project recommendation.

4.4 Group

Most of the RSs give item recommendations to users individually. But there are some circumstances and domains where users work in a group to execute some activities like performing research in a specific area, reading a novel, going for a picnic or attending a conference. Moreover, there are contexts such as satellite systems where recommending individual schedules to individual users are difficult. RS that generate recommendations for a group of users is termed as group RS (Masthoff 2011). A rapid growth of developing group RSs has been seen in recent years. In social networks, communities are the group of users having similar preferences.

Quijano-Sanchez et al. (2013) uses social trust factors and group personality composition to develop a group recommendation method. This method computes the level of trust by aggregating the social factors such as total mutual friends, social distance, strength, duration and intimacy of relationships, status and common interests. These social factors represent the characteristics of social network groups. Christensen et al. (2016) focus on exercising social influence for improving the accuracy of RS in tourism domain. They present a hybrid approach that integrates CF, CBF and demographic filtering for group recommendation and uses social relationships along with individual and group preferences.

Earlier, many group RSs aim at recommending items to a cluster of users. However, Guo et al. (2016) follow a different perspective for recommending groups to individual users. They study the factors responsible for driving users to join groups. They take advantage of user-based CF and trust-based CF (Massa and Avesani 2007) methods and combine these techniques to propose a group recommendation model. User-based CF method is used to estimate tastes of similar neighbors whereas trust-aware CF method is used to find tastes of user’s trusted neighbors. They observe that users with both high active degree and low active degree are more interested in joining the groups. They also observe that fresh users like to join groups of their interests. But when these users become more communal and have many followees, they prefer to enroll in the groups joined by their followees. Most of the group RSs use a consensus function for aggregating preferences of individuals. Furthermore, Hong et al. (2017) follow a different viewpoint that is based on a weighted strategy. The weight strategy assumes that the type and strength of relationships decide the importance of a user. They propose a method called GRSAT to enhance the performance of group recommendation. This method exploits two social factors, viz., social affinity and trustworthiness. User influence in a group ascertains the social affinity whereas loyalty of a user in the group ascertains the trustworthiness. GRSAT generates a weighted consensus function by combining the above two social factors. But the performance of this method reduces when the group size increases. Gottapu and Monangi (2017) use location-based social networking information (such as check-in data) to design an algorithm that gives POI recommendations to mobile social groups. They discover the locations used for group events and then identify the users who visit a POI as a group. Based on the identified groups, they generate their corresponding POI signature that describes various properties of the groups like total users, total relations, closeness, etc. For every new group seeking recommendations for a particular POI, the method calculates the signature for that POI and uses K-nearest neighbor algorithm to generate recommendations.

4.5 Cross social media

It is usually seen that people create their accounts on multiple social networks. For instance, a user having an account on website MovieLens can also have an account on website Epinion. The intuition behind using data from multiple domains is that items of one domain could be correlated to items of other domains. Suppose a user has an account on MovieLens for a long time but that user is new to Epinion, then the information about user from Movielens can be used an additional knowledge by Epinion. Recognizing individuals on multiple social networks improves the accuracy of user profiles and ultimately enhance the quality of recommendations (Zafarani and Liu 2013). In literature, a number of methods are proposed for user identification in different domains. Social networks contain useful social interactions in context of different items. Most of the social interactions are easily accessible from popular social networking websites such as Twitter, Tumblr and Facebook. In previous works, researchers have emphasized that social interactions are efficient sources for improving recommendations (Zhao et al. 2013). A method to identify match between items and users in different domains is given in Li and Lin (2014). This method uses transfer learning method to transfer information from one domain to another domain to enhance rating predictions. Another approach that uses transfer learning to improve social recommendations is given by Jiang et al. (2015). They develop a Hybrid Random Walk (HRW) approach to transfer knowledge from one domain to another domain. The knowledge from auxiliary domains is employed to determine tie strength which is then used for user behavior prediction. This approach gives promising results in alleviating cold-start and data sparsity issues. Farseev et al. (2015) examine the impact of multi-source data on recommendation performance. For this, they integrated data from Twitter, Instagram, and Foursquare for same users. They exploit the multi-source and multi-modal data to develop a cross-domain collaborative RS for venue recommendation.

Nowadays, many users have multiple accounts on social networking sites and information domain sites. Such users serve as a bridge in propagating user-item interactions and ratings across different domains. Wang et al. (2017) consider these users as silk route to recommend items from information domain to social domain. They propose neural collaborative social ranking (NCSR) solution that integrates user-item interaction from information domains and the user relations from social domains to give cross-domain social recommendation. They devise pairwise pooling operation to model interaction between user, items and their features from information domain. They use deep neural networks to train the low-level interaction features to get higher order interactions. Khan et al. (2017) conducts a systematic review of cross domain RSs in which they classify systems on the basis of their extensively used building-block definitions. Ma et al. (2018) recently proposed a transitive trust-aware cross-domain recommendation (TT-CDR) method that utilizes context-dependence, ratings and transitive dependence to improve social recommendations.

4.6 Temporal dynamics

Customer preferences and items popularity are extensively nonstationary in real world scenario. The accuracy of a RS is based dominantly on temporal effects (Koren 2009). For instance, a woman who is interested in buying baby toys may shift her preferences to buying books later. Also, relationships in social networks change with time. A user is free to form new relations with other users and even end existing relations with some users. The updating of social connections influences the ratings of items. De Pessemier et al. (2010) have experimentally proved that old data have negative impact on the precision of RS.

Pham et al. (2015) highlight the impact of temporal dynamics on user behavior in event-based social networks. They introduce a graph-based model for recommending multiple types of information in these networks. Gao et al. (2013) propose a location recommendation framework taking into account temporal effects. They found that non-uniformness and consecutiveness are the two temporal properties which are strongly correlated with users’ check-in preferences and the corresponding check-in time. Non-uniformness is the property that defines that a user has different check-in preferences for different hours in a day whereas consecutiveness defines that a user tends to exhibit similar check-in preferences in consecutive hours. They leverage these temporal properties in location-based social networks for location recommendation.

Kefalas et al. (2018) focus on including time dimension for location and friend recommendations and propose a hybrid tripartite graph (i.e., users, sessions, locations). Their method is a variation of RWR algorithm known as Random-Walk with Restart on Heterogeneous Spatio-Temporal graph (RST-HST). The proposed graph consists of 7 distinct unipartite and bipartite graphs. User-time, location-time and user-location are the three bipartite graphs used in this method. To further enrich the information, edges between the nodes of same set are used to form the unipartite graphs like user-user, location-location and session-session). They create artificial nodes called session nodes to include time dimension in tripartite graph. Session nodes associate the co-location of the users. They follow a star-schema graph to directly connect the users with both sessions and locations. On the other hand, Gurini et al. (2018) follow a different approach that is based on semantic attributes identification and different from Pham et al. (2015) user similarity approach. They propose a RS that exploits user’s attributes: sentiment, objectivity and volume which are extracted from semantics of tweets. The exploited knowledge supplies recommendations to follow appropriate people. They clarified that people with similar interests may express different feelings or opinions. Finally, they proved that temporal changes in user’s attributes improve people-to-people recommendations. Zhang et al. (2017b) use time decay function and social relations for friend recommendation in Weibo. They use LDA model to extract user-topic features and Jensen-Shannon divergence to estimate interest similarity. They propose two recommendation models in which one is based on social relations (SR-FR) and another on time sequenced topics (TLDA-FR). Recently, Shokeen and Rana (2018a) highlighted the importance of combining temporal data with other parameters to improve the performance of SRS.

4.7 Heterogeneous social connections

As social networks are heterogeneous in nature, there exist multiple types of social connections between users. These social connections are a mixture of relations ranging from positive to negative, weighted to unweighted, important to ordinary and directed to undirected relations. Different types of relations between people influence them differently. For instance, a researcher’s topic can be influenced by his guide but may not influence his daily life. Free, fast and easily growing connections on social networks has created superfluous number of social connections in the form of friends. It is not necessary that all the relations are equally important. Close friends build important connections, ordinary friends develop less important relations and event friends form trivial relations. The mixture of important and useless relations may introduce noise and produce negative results.

A study shows that SRS employing all relations produces more adverse results than traditional RS (Au Yeung and Iwata 2011). Users employ and express both negative and positive relations. Positive relations are used extensively in most of the existing SRS. However, negative relations also exist in the form of dislike, suspicion or distrust. Further, most of the social networks contain weighting data. The weights to links or edges indicate the closeness or relationship strength between users. Weighted relations express more trust in generating effective recommendations. A recent review of the literature on this area found that many SRSs consider social connections to be of the same type. But in real world scenario, a user can have different kinds of relations with different people in different spheres. Zhang et al. (2008) examines the issues related to recommendations in heterogeneous networks and develops a random walk model that approximates the importance of objects in these networks. They propose a pair-wise learning algorithm to adjust the weights of different links in heterogeneous social networks. Tang et al. (2013) emphasize the need of heterogeneous strengths for recommendation in local social context. Zhou et al. (2015) explain the benefits of users’ distrust data in improving the accuracy of SRS. Recently, Wang and Ma (2016) explain how to add different weights to different users. The users who are more trustworthy and have high recommendation competence are given high trust values.

Figure 1 exemplifies user social relations in different social networks. For instance, user \(u_1\) may prefer to take advice from user \(u_2\) for watching horror movie. But he may prefer to seek an idea from user \(u_5\) for attending a conference. The figure clearly demonstrates that users form different types of relations in different networks. The diversity in social connections enhances SRS in providing efficient recommendations for diverse group of items.

Fig. 1
figure 1

An example of user social relations in different social networks

4.8 Semantic filtering

Semantic filtering is a vital feature of RS to recommend important data by filtering the unimportant one and improving the quality of RS (Codina and Ceccaroni 2010). Semantic filtering alleviates the cold-start problem by exploiting semantic similarities to offer logical recommendations. RS leveraging semantic filtering are competent in maintaining long-term needs and preferences of users. With semantic technology, it becomes possible to recognize real world entities from textual information and the properties of the information are used as background knowledge (Lašek and Vojtáš 2011). Many researchers have studied the usage of semantic web in RS. In social network analysis, it is essential to discover semantic social relations to build meaningful relations. RSs require experts who may give exact answer for the questions but finding appropriate experts for a specific domain is quite challenging. To address this issue, Davoodi et al. (2013) propose a hybrid framework that integrates content-based recommendation algorithms into semantic social network-based collaborative algorithms to design an expert RS. The framework first creates the profile of experts and uses the background knowledge from Wikipedia to enrich user profile. Then, it constructs a social network of experts and finds communities of experts in the resultant semantic-based social network. Finally, it uses the domain expertise from this network to generate recommendations.

Yang et al. (2013) tried to improve the accuracy of RSs by introducing semantic technology. They integrated the semantic technology in RS based on Slop One scheme. Another work that incorporated semantic technology in social networks is presented by Sellami et al. (2014). This approach builds a semantic social network to generate semantic social recommendations. Frikha et al. (2015) followed a different perspective to develop SRS, that is, an ontology-oriented approach. They exploited user-interest ontology to semantically describe social relations and interactions. The system is designed to generate useful items for users interested in visiting Tunisian places. Sulieman et al. (2016) combine semantic information (i.e., item features and user preferences) and social information (i.e., social network analysis measures) to propose a social-semantic RS. This system is a hybrid graph-based RS since it uses CF technique to extract social information and CBF technique to extract semantic information. Lastly, Zhang et al. (2017a) emphasize the problem of accessing explicit social information and devise a method for deriving implicit and reliable social knowledge to identify the top-k semantic friends for each user in system. The devised method called Collaborative User Network Embedding (CUNE) is further extended to CUNE Matrix factorization (CUNE-MF) and CUNE Bayesian Personal Ranking (CUNE-BPR) to solve the issues of rating prediction and item rankings, respectively.

Table 2 gives the brief classification of the above features of SRS.

Table 2 Classification of features of social recommender systems

5 Comparison of Social recommender systems

This section gives a brief comparison of different SRS proposed in recent years. We have already discussed these systems above. Table 3 compares various SRS on the basis of different attributes like parameters, approach used, characteristics and metrics.

The metrics used by most of the systems are used for rating prediction and recommendation evaluation. In these metrics, MAE, MSE and RMSE are used as error measures whereas Precision, Recall, F1-measure and MAP are used to evaluate recommendations. Cosine similarity is a CF method that uses positive ratings for computation. Isinkaye et al. (2015) presents different evaluation metrics for RS.

Table 3 Comparison of social recommender systems

6 Future scope

A social recommender faces various challenges during recommendations. Though the need to incorporate trust, tag, group, heterogeneous social connections, semantic filtering of information, cross-social media data and temporal dynamics features in social recommenders has been recurrently stated independently and even worked by many researchers. However, none of them has included the combinations of these features to improve recommendations. There are various challenges concerned with extracting relationships from social networks. Further research should be undertaken in the following areas:

  1. 1.

    Cross-domain recommendation problems are closely related to link prediction issues. Prediction of potential and missing links in social networks will enhance the efficiency of SRS intensely.

  2. 2.

    An important challenge in SRS is the heterogeneous and unbalanced nature of social relations where it may not be possible to retrieve all relation types. It is easy to gather trust or distrust relations in some networks but may not be feasible to retrieve such relationships in other networks. Signed networks contain both positive and negative links. Recommendation in signed networks is also a frontier research area.

  3. 3.

    Privacy is a crucial issue for social network users as users feel reluctant to give confidential details for fear of maltreatment.

  4. 4.

    There is requirement in tagging based RS to choose negative tags to illustrate the dislike of user towards the items. Further, tags equality is another major concern in tag-based SRS where a mixture of tags exists that are different in terms of words but similar in meanings. The use of semantic methods can improve the tag equality.

  5. 5.

    Community detection in social networks is analogous to RS. Communities are detected to observe the insights of network. A number of community detection algorithms have been developed to analyze social networks. Community-based recommendations solve various issues of RSs such as cold-start, scalability, data sparsity and serendipity. Overlapping community detection algorithms (Shokeen et al. 2019) handling extensive heterogeneous networks is another area of research in SRS.

  6. 6.

    The selection of relevant social network data for SRS is another research direction. The selected data should be capable enough to defeat the occurrence of attacks like shilling attacks where users give positive responses to their items and negative recommendations to items of their competitors.

  7. 7.

    Group members in a social network are easily influenced by their peers in the group. The adapting nature of user’s rating behavior influences relationship between users in a community which is a part of discussion in SRS. The challenge arises when preferences in a group become inconsistent.

  8. 8.

    Recommendations can be powerful enough to modify the preferences of entire network or structure. This is due to the fact that social network are dynamic in nature. For illustration, recommending similar news to users can sometimes change the preference of probably whole network. Such recommendations are network-centric. Social media has also become a platform for people to disseminate fake news. Machine learning and other algorithms can be used to combat, detect and mitigate fake news which otherwise could have negative effects on the society.

  9. 9.

    It is observed that under-contribution is often a problem in online social environment, that is, people rarely like to contribute in giving ideas and comments. Instead users prefer to use the cooked and processed information, which is known as social loafing. Studies demonstrate that users like to contribute more when they think that their contributions are unique and beneficial to communities or when they particularly like some group.

7 Conclusion

Social networks are excellent platforms that serve a dual purpose. Firstly, social networks generate recommendations using the rich information available. Secondly, social networks impart these recommendations to users. This paper categorizes the current research in SRS into eight spheres on the basis of features, namely context, trust, tag, group, cross social media information, temporal dynamics, heterogeneous social connections and semantic filtering. We have given the explanation of these features for use in SRS and also discussed the work done in corresponding spheres. The goal of incorporating these features is to achieve high social recommendation accuracy. We may also select the interest, profiles and recommendations of some specific people to be used by the recommendation engine. A good RS uses an array of approaches to conclude items to users with an evident probability. The selection of an algorithm is extremely based on choosing the constraints which can fit to the given condition. Our study provides encouragement for a new way to implement these features in SRS. In addition, we also suggest some future challenges in this field. For the future work, we would like to use a combination of techniques to develop a hybrid model for social recommendation that would incorporate a set of these features.