1 Introduction

Recently, social networks have experienced rapid development and attracted much attention from both industry and academia fields. Event-based social network (EBSN)  [17] is a complex and heterogeneous social network, which links the online social groups and the off-line events. Taken MeetupFootnote 1 as an example, it has attracted more than 16 million users with more than 300 thousand events held each month.

In EBSNs, one typical task is to assist users in choosing suitable and personalized events to participate in. Personalized recommendation is becoming a hot topic in recent years  [30, 35]. It has been proved that adding topology information  [21, 23], community structure  [1, 6, 25] and semantic contents  [9, 29] can improve the performance of recommendation systems. Different from traditional social networks, EBSNs contain two parts: online social relations and off-line event participation relations. The online relations are generated by entering the same online interested groups, while off-line relations are generated by participating in the same off-line events. Most of recommendation works in traditional social networks focussing on analyzing the social influence of users from the online relations. However, factors in the real world are also influential to users. Besides, users’ interest, the spatial distance and time arrangement are also very important factors influencing whether users can take part in their interested events. In other words, the spatial and temporal features are as important as the social feature in EBSNs to reflect whether users are willing to participate in an event. In this paper, we will integrate online and off-line factors to analyze behaviors of users.

In order to incorporate various features in EBSNs and to learn their high-order interactions of accurate event recommendation, we propose a novel event recommendation framework, which utilizes neural networks to adaptively learn users’ personalized preferences for events as the decision model. An effective decision model is important and should have a fast learning speed and high accuracy. Support vector machines (SVM)  [4] is adopted in previous recommendation works  [5, 28, 32, 37, 38]. SVM is effective and has good classification accuracy. However, the slow training speed and trivial human intervene become severe problems. Recent years, a generalized single hidden-layer feedforward network, named extreme learning machine (ELM), is proposed in  [13]. Applications based on ELM show that ELM has a much faster training speed and provides a better generalization performance than traditional learning algorithms of feedforward neural networks. Furthermore, ELM is easy and efficient to be implemented  [11], which shows good property to be applied to solve our event recommendation problem.

To summarize, the contributions of our work are:

  • We propose a novel feature extraction model of event recommendation in EBSNs. The model analyzes both online and off-line factors to improve the accuracy and efficiency of the event recommendation.

  • We regard the event recommendation problem as a binary classification problem. In order to improve the accuracy, we extract spatial feature, temporal feature, semantic feature, social feature and history feature in EBSNs. All the features are the input of neural networks to train a decision model.

  • We extend ELM into our event recommendation model. ELM is an efficient classifier and has outstanding generalization performance.

  • We also conduct a set of experiments to demonstrate the accuracy and efficiency of the proposed model based on the real-world datasets.

The rest of this paper is organized as follows: Section 2 discusses the related works. Section 3 briefly introduces some basic concepts and formalizes the event recommendation problem. In Sect. 4, we give a brief introduction to ELM. The event recommendation model is introduced in Sect. 5. Extensive experiments are conducted on a series of real-life datasets, and the performance is evaluated in Sect. 6. Finally, we give our conclusions in Sect. 7.

2 Related work

By analyzing Meetup and Plancust, X. Liu et al.  [17] firstly proposed the concept of EBSN and received more and more attention  [3, 8, 15, 31, 33, 43]. And the research on event recommendation for EBSNs is increasing year by year. According to the recommendation methods, the research works can be summarized as four aspects.

The first kind of methods is social relation-based recommendation methods. Social relations play an important role in social network analysis, such as location-based social networks (LBSNs)  [16, 18, 22, 45]. Han et al.  [10] showed that user attributes, social relationships and event attributes affected the events that users participate in. Zhang et al.  [44] firstly proposed a new model by linear weighting of the three methods, including user–event topic similarity-based method, user influence-based method and user history records regression. Khrouf et al.  [14] analyzed the online and off-line relations of users. They used the collaborative filtering method to calculate the influence, combining the content-based recommendation method, and proposed two weighted models. Meanwhile, they used GA algorithm, PSO algorithm and the least square of logical regression to calculate the weights. Pessemier et al.  [24] clustered users into groups and recommended events for users in the group.

The second kind of methods is spatial factor-based recommendation methods. This kind of approaches carry out that users would like to participate in events whose locations are nearby the users’ location or users have been to. Ye et al.  [39] proposed the distance between either location accessed by the same user following the power law distribution. Qiao et al.  [19] and Cao et al.  [2] scored users based on location information, attributes and relations and built a Bayesian model to recommend events. Wei et al.  [36] proposed a group event recommendation method through analyzing personal digital traces.

The third kind of methods is temporal feature-based recommendation methods. Ying et al.  [40] showed there existed a periodic pattern in time for each user resulted from their living habits. In the works  [27, 41, 46], they fully explored the time period of user behavior to improve the effect. Macedo et al.  [20] analyzed how often a user would like to participate in an activity in each day of the week and then recommended events based on the analysis results.

The last kind of methods is machine learning-based recommendation methods.  [7, 42] studied how to recommend events to related users by training the history EBSN data using machine learning methods. Pham et al.  [26] proposed a general heterogeneous graph model to abstract the EBSN data and provide a general training method to solve three kinds of recommendation problems over EBSN: recommending groups to users, recommending tags to groups and recommending events to users.

3 Problem definition

In this section, we introduce the definitions of EBSNs and the event recommendation problem. Symbols used in our paper are shown in Table 1.

Table 1 Summary of symbols used in our paper

Definition 1

(Event-Based Social Network) For an event-based social network \(E = (U,E,R,L)\), U is a user set with n users and E is an event set containing m events. Each user \(u_i \in U\) is described by \((p_{u_i}, l_{u_i})\), where \(p_{u_i}\) is the location of \(u_i\) in a 2D space and \(l_{u_i}\) is the label set of \(u_i\), where \(l_{u_i} \subset L\). Each event \(e_j \in E\) is described by \((st_{e_j}, et_{e_j}, p_{e_j}, l_{e_j})\), where \(st_{e_j}\) is the start time, \(et_{e_j}\) is the end time, \(p_{e_j}\) is the location of \(e_j\) in a 2D space and \(l_{e_j}\) is the label set of \(e_j\), where \(l_{e_j} \subset L\). R is a relation set, \(r_{uu'} \in R\) is a social connection between two users u and \(u'\), or \(r_{ue} \in R\) is a participation connection from user u to event e.

Figure 1 is an example of EBSN. In the network, there are five users and three events in a 2D space, whose locations and labels are shown in Table 2. Solid lines are event participation relations of users and events, and imaginary lines are social relations of users. As we can see, users are interested in participating in events whose label set contains some labels that are the same with users’ interest labels. \(u_2\), \(u_3\) and \(u_5\) participate in \(e_3\) since they all like football. However, \(u_3\) does not participate in \(e_2\), although he is interested in psychology. The reasons are that the distance between him and \(e_2\) exceeds his travel limit and none of his friends participates in the same event. Both the online and off-line factors influence his behavior.

Definition 2

(Event Recommendation in EBSNs) Given an event-based social network E, for a user \(u \in U\), the event recommendation problem is to recommend some events that u has interest to participate in.

For each user, all the events that the user may participate in will be the recommendation result. In EBSN of Fig. 1, for example, the recommendation result of \(u_2\) is \(\{e_1,e_3\}\), and \(u_2\) chooses to participate in \(e_3\).

Fig. 1
figure 1

An example of EBSN

Table 2 Users and events in the EBSN

4 Extreme learning machine

In this section, we present a brief overview of extreme learning machine (ELM). ELM, proposed in [13], is a generalized single hidden-layer feedforward network. The parameters of hidden nodes are randomly assigned, and ELM provides a good generalization performance and is much faster than traditional feedforward neural networks.

Given N arbitrary samples \(({\mathbf{x} _j}, {\mathbf{t} _j})\), where \({\mathbf{x} _j} = [x_{j1},x_{j2},\ldots ,x_{jn}] \in {\mathbf{R} ^n}\) and \({\mathbf{t} _i} = [t_{j1},t_{j2},\ldots ,t_{jm}] \in {\mathbf{R} ^m}\), and activation function g(x), standard SLFNs are modeled mathematically as

$$\begin{aligned} \sum _{i = 1}^{L}\beta _i g_i({\mathbf{x} _j}) = \sum _{i = 1}^{L}\beta _i g({\mathbf{w} _i} \cdot {\mathbf{x} _j} + b_i)={\mathbf{o} _j}, j = 1,\ldots ,N \end{aligned}$$
(1)

where L is the number of hidden layer nodes, \({\mathbf{w} _i} = [w_{i1}, w_{i2},\ldots , w_{in}]^T\) is the input weight vector, \(\beta _i = [\beta _{i1}, \beta _{i2},\ldots , \beta _{im}]^T\) is the output weight vector, \(b_i\) is the bias of the ith hidden node and \({\mathbf{o} _j}\) is the output of the predicted result.

To approximate these samples with zero errors means that \(\sum _{j=1}^L \Vert {\mathbf{t} _j} - {\mathbf{o} _j}\Vert = 0\) [12] ,where \(\beta _j\), \({\mathbf{w} _j}\) and \(b_j\) exist satisfying that

$$\begin{aligned} \sum _{i = 1}^{L}\beta _i g({\mathbf{w} _i} {\mathbf{x} _j} + b_i) = {\mathbf{t} _j}, j = 1,\ldots ,N \end{aligned}$$
(2)

which can be rewritten in terms as

$$\begin{aligned} {\mathbf{H}} {\beta } = {\mathbf{T}} \end{aligned}$$
(3)

where \({\mathbf{T}} = [{\mathbf{t} _1^T}, {\mathbf{t} _2^T},\ldots , {\mathbf{t} _N^T}]_{m\times N}^T\), \({\beta } = [\beta _1^T, \beta _2^T,\ldots , \beta _N^T]_{m \times L}^T\) and

$$\begin{aligned} {\mathbf{H}} = \left[\begin{array}{c} h({\mathbf{x}_1}) \\ \vdots \\ h({\mathbf{x} _N}) \end{array}\right] = \left[\begin{array}{ccc} g({\mathbf{w} _1}\!{\mathbf{x} _1}+b_1)&\ldots&g({\mathbf{w} _L}\!{\mathbf{x} _1}+b_L)\\ \vdots&\ldots&\vdots \\ g({\mathbf{w} _1}\!{\mathbf{x} _N}+b_1)&\ldots&g({\mathbf{w} _L}\!{\mathbf{x} _N}+b_L) \\ \end{array}\right] _{N \times L} \end{aligned}$$
(4)

\({\mathbf{H}}\) is the ELM feature space to map the N-dimensional input data space into L-dimensional hidden nodes space. ELM is described in Algorithm 1.

figure a

5 Event recommendation model

In this section, we will introduce the event recommendation model proposed in this paper. We will describe the overall architecture of the model and introduce the recommendation algorithm at first. Next, we will introduce the feature extraction phase. Finally, based on the feature extraction phase, we will train ELMs as the classifiers for each user.

5.1 Overview

Fig. 2
figure 2

The overview of event recommendation model

As shown in Fig. 2, the event recommendation model consists of four parts: (1) the EBSN part, (2) feature extraction part, (3) ELM classifier part and (4) event recommendation part.

The EBSN part models an undirected graph, whose vertexes represent users and events, and edges represent friend relations between two users and event participation relations between users and events. Every user has several labels to show his/her interest, and every event has labels to show its category. See more details in Definition 1.

The feature extraction part models five kinds of features based on the EBSN data. The features are extracted by our novel strategies for each user to a new event: (1) spatial feature, (2) temporal feature, (3) semantic feature, (4) social feature and (5) historical feature. The spatial feature includes user–event spatial feature and event–event spatial feature. The former is extracted from the distance of the user and the new event, and the latter is extracted by the average distance of the new event and events that the user participated in. The temporal feature is extracted from the period when the event is held. The semantic feature is extracted by the label matching level of the user and the event. The social feature measures the influence of friends on an event. The historical feature is extracted by similarity of the new event and history events of the user.

In the ELM part and recommendation part, the ELMs are trained using the features as input for each user and the ELMs will make decisions whether recommend the new events to the users. In EBSN platforms, users will get the recommendation by laptops and mobile devices. The feedbacks of users will be recorded in the EBSN data and update the recommendation model.

figure b

Algorithm 2 gives the details of our recommendation model. For each user in the network, the recommendation algorithm has two stages. The first stage is feature generation. The features are generated for each event in Line 6. All the features are put into a liner feature vector f in Line 7, and the vector is added into an input matrix F in Line 8. The relation between u and e is put into an output vector T; if the relation exits in the network, the class is positive, otherwise is negative in Line 9. After feature generation stage, the ELM training stage starts. An ELM for u is trained using feature matrix F and output vector T in Line 11. For the event \(e'\), the well-trained ELM decides whether to recommend it to the user in Line 12. All the recommendation results are returned in Line 14.

5.2 Feature extraction

5.2.1 Spatial feature

By researching users’ behaviors in EBSNs, it shows that the distance between the user and the event is closely related to the user’s participation in the event  [17]. The result shows two regularities: (1) Users usually attend events within a certain distance from his location and (2) users usually attend events in a certain area. As for the former, travel cost (both time and money) is an important factor to participate in events for most users. Therefore, users usually participate in events that are held in a tolerable distance from their locations. As for the latter, for example, if a user lives nearby a commercial district, he may participate in many events in the commercial district such as watching movies, going to the restaurants, shopping and so on. The commercial district is very attractive to him, and he is glad to participate in events nearby this area. Given an user u and an event e, we model the spatial features in two aspects based on the regularities.

In the first concept, we model a spatial feature denoted as SPF. SPF describes the distance between locations of u and e, shown as Eq. 5.

$$\begin{aligned} {\mathrm{SPF}}(u,e) = {\mathrm{dis}}(u,e) \end{aligned}$$
(5)

where dis(ue) is the distance between the locations of u and e.

In the second concepts, we think about the events that u has participated in. These events can reflect the region where u is interested. For a new event e, we calculate the distance between e and each event \(e'\) that u has participated in. And then, we can get the average distance. The average distance could evaluate the similarity among the events in the spatial dimension. We denote the history event spatial feature as HSF, shown as Eq. 6.

$$\begin{aligned} {\mathrm{HSF}}(u,e) = {\mathrm{avg}}_{e' \in E}^{r_{ue'}\in R} {\mathrm{dis}}(e,e') \end{aligned}$$
(6)

where \(e'\) is each event that u has participated in previously and dis\((e,e')\) is the distance between the locations of e and \(e'\).

5.2.2 Temporal feature

Table 3 Details of temporal feature

Users’ behavior often has certain regularities in time dimension. Temporal factor is also another important factor to influence users’ arrangement. For example, users often go to work on weekdays and participate in events on weekends. Young users are more active in the evening. Users also participate in special events on special days, such as national day and some traditional festivals.

To model the temporal factor, denoted as TEF, in EBSNs, we divide a day into 24 time intervals, each interval represents an hour. We set the interval value as 1 if the event is held during this interval. We also divide a week into 7 days, from Monday to Sunday. There is another value representing whether it is a special day. The details are shown in Table 3.

5.2.3 Semantic feature

In EBSNs, every user and event have their own labels to show interests and categories. Users usually participate in events that they are interested; in other words, events are attractive to users whose labels are matched as more as possible.

As discussed above, we extract a semantic feature, denoted as SEF. SEF describes the utility of u to e based on their labels. The higher the utility is, the more interested the user is. The detail of SEF is shown as Eq. 7.

$$\begin{aligned} {\mathrm{SEF}}(u,e) = \frac{|l_u \cap l_e|}{\max _{u' \in U} (|l_{u'}|)} \end{aligned}$$
(7)

where \(|l_u \cap l_e|\) is the size of common labels of u and e \(\max _{u' \in U} (|l_{u'}|)\) is the maximal label size of users in the social network.

5.2.4 Social feature

In social networks, friend relations play an important role in influencing users’ behavior. If some friends of u are interested in the event, it will greatly improve the possibility of u participating in the event. Therefore, we model a social feature, denoted as SOF, by analyzing the relations between the event and friends of u.

According the labels of users, we firstly conduct the interest similarity between u and his friends, shown as Eq. 8.

$$\begin{aligned} {\mathrm{sim}}(u,u') = \cos (l_u, l_{u'}) = \frac{l_u \cdot l_{u'}}{|l_u||l_{u'}|} \end{aligned}$$
(8)

where \(l_u\) and \(l_{u'}\) are label vectors of user u and \(u'\) and sim\((u,u')\) is the cosine similarity between labels of u and \(u'\).

Each friend can extract a semantic feature for the given event. The influence of friends on u is the weighted average of the semantic features. Obviously, friends with same interests have more influence. SOF is shown as Eq. 9.

$$\begin{aligned} {\mathrm{SOF}}(u,e) = {\mathrm{avg}}_{u' \in U}^{r_{uu'}\in R} {\mathrm{sim}}(u,u'){\mathrm{SEF}}(u',e) \end{aligned}$$
(9)

where \(u'\) is each friend of u and SEF\((u',e)\) is the semantic feature of users and events as mentioned above.

5.2.5 Historical feature

As discussed above, we model the semantic feature, denoted as SEF, to analyze how interested the user is to the event. However, the utility is not suitable in all the cases. On the one hand, labels may be ambiguity. For example, if a user selects a label football, he would just like to join the events that some football fans watch a football game together, such as watching World Cup in a bar. Obviously, it is not appropriate to recommend him participating in a football match, though the football match is labeled football. On the other hand, there are also some users who participate in the events whose labels are well matched with their profile.

To deal with these situations, we think about the similarity among the new event and historical events that the user participated in. The historical feature is denoted as HEF, shown as Eq. 10.

$$\begin{aligned} \begin{aligned} {\mathrm{HEF}}(u,e)&={\mathrm{avg}}_{e' \in E}^{r_{ue'}\in R} {\mathrm{sim}}(e,e') \\&={\mathrm{avg}}_{e' \in E}^{r_{ue'}\in R} \frac{l_e \cdot l_{e'}}{|l_e||l_{e'}|} \end{aligned} \end{aligned}$$
(10)

5.3 Training ELM

According to the feature extraction stage, the recommendation feature is generated by combining them together. The feature includes user–event spatial feature, event–event spatial feature, event temporal feature, user–event semantic feature, user–user social feature and event–event historical feature. ELM is selected as the classifier of the recommendation model. We put the features into a feature vector, as the input of an ELM. All the events are classified into two classes, interested and non-interested. Events in interested class will be recommended to users.

To recommend events, we train ELMs for each user. In training the ELM of a single user, the feature vectors of events will be generated for each user, and the output of events that the user has participated in is positive. Otherwise, the output is negative.

6 Experiments

6.1 Datasets and experiment environments

Meetup is one of the most popular EBSNs  [17]. In the dataset, there are a tag document and a location document for each user. The tag document records the labels that users selected when they registered in the platform. The location document records the longitude and latitude of each user’s location. There are also a location document and a group document for each event, and a tag document for each group. In Meetup, events are created by groups, the group document records the events contained by each group, and the tag document records the interest tags of each group. The location document records the longitude and latitude of the place where each event is held. Using the tag document of users, the tag document of events and the group document of events, we can build a user–event network. We extract five datasets of different cities according to the longitude and latitude. Each dataset contains different numbers of users and events. They are labeled with tags according to the tag document. The tags of events are the groups that hold the events. More details about the dataset can be found in [3]. Table 4 shows the information of five cities intercepted in the dataset.

We represent each user–event participation relation as a training sample \(({\mathbf{x} _j}, {\mathbf{x} _j})\), where \({\mathbf{x} _j}\) is the feature vector. The fivefold cross-validation strategy (fourfold as training sets and onefold as testing sets) is implemented in the experiment to evaluate the effectiveness of our proposed method. We set the number of hidden layer nodes as 50.

Table 4 Data description of Meetup

The algorithms are implemented in c++, and the experiments are carried out on the machine of Ubuntu 16.04 LTS, Intel Core i5-6500 CPU, 3.20 GHz and 64 GB memory.

Table 5 Experiment results of feature selection

6.2 Evaluation methods

In this paper, we choose precision and recall to measure the effectiveness, which are often used in recommendation research to evaluate the effectiveness of the recommendation algorithm, shown as Eqs. 11 and  12

$$\begin{aligned} {\mathrm{Precision}}= & {} \frac{|{\mathrm{TP}}|}{|{\mathrm{TP}}|+|{\mathrm{FP}}|} \end{aligned}$$
(11)
$$\begin{aligned} {\mathrm{Recall}}= & {} \frac{|{\mathrm{TP}}|}{|{\mathrm{TP}}|+|{\mathrm{FN}}|} \end{aligned}$$
(12)

where TP are the positive recommendations that users accept and FP negative ones. FN are the false negative that users would accept but not be recommended. |TP| + |FN| is the total number of events that users participate in the dataset. We also compare the average training time of each user to measure the efficiency of different algorithms.

Table 6 Experiment results of classification evaluation
Table 7 Experiment results of recommendation evaluation

6.3 Experimental analysis

6.3.1 Feature selection

At first, we evaluate the effect of feature extraction phase. We use ELM as the classifier and the features as input, including spatial features, temporal feature, semantic feature, social feature and historical feature. We compare the experimental results of combinations of features with the total features. We will prove which features are useful for the event recommendation in EBSNs.

Table 5 shows the results on the dataset of Meetup. The results indicate that the model performs better with more features grouped together. When all the features are selected, the performance of event recommendation model is the best. Therefore, we use the mix features in further experiments. The average training time increases with the increase in feature dimension. The results in Beijing are not well enough: The reason is the scale of training data in Beijing is too small. As the scale increases in other dataset, the results get better.

6.3.2 Classification evaluation

Then, we discuss about which classifier is the best for the classification phase. We will prove whether ELM is the suitable for the model. Based on the feature extraction phase, we adopt different classifiers to the recommendation model. We name our proposed model as ER-ELM, name the SVM-based model as ER-SVM and name the backpropagation neural network-based model as ER-BP. We also train a single ELM to all the users to test whether it is necessary to train independent ELMs for each user.

Table 6 shows the performance of the three kinds of classifiers. The results indicate that the precision and recall of ER-ELM are better than those of ER-SVM at most cases, and ER-BP performs worst in the three results. The training speed of ER-ELM is much faster than the others. Therefore, we can prove ER-ELM has a high efficiency, and ELM is more suitable in the event recommendation model, although SVM and BP also perform well. What is more, the performance of training a single ELM is not better than training independent classifiers for each user.

6.3.3 Recommendation evaluation

Finally, we compare the performance with other existing methods, including MHF  [2], a multiple hybrid features-based event recommendation method, and CEER  [34], which uses the information of content, social relation and local popularity to recommend events.

Table 7 shows the performance of these works. The results indicate that our approach shows a better performance than the others on most datasets and the training time is less than the others. According to precision and recall, MHF has a better recommendation results than CEER and runs faster than CEER. The effectiveness of the proposed approach benefits from the spatiotemporal features and ELM. Our strategy encompasses temporal, spatial, personal preference, social and historical factors which is very comprehensive. And ELM is an outstanding classifier which improves the accuracy greatly.

6.4 Summary

In this section, we firstly test the effectiveness of our feature extraction strategy. The experimental results show that the model performs better with more features grouped together and the features extracted in our model are effective. Secondly, we test the effectiveness and efficiency of ELM; the results show that ELM trains much faster than other neural networks and the accuracy is better. At last, we compare our model with two existing models and the performance of our model is also better at most datasets.

7 Conclusions

In this paper, we propose an event recommendation model based on ELM to solve the event recommendation problem in EBSNs, where event recommendation is regarded as a binary classification problem. In the proposed model, we make full use of the information of EBSN network and extract several features, including spatial feature, temporal feature, semantic feature, social feature and historical feature. Based on the features, we train ELM as out classifier in the model. Experiments show that our approach has a better performance on the real data than other methods.