A Bipartite Graph-Based Recommender for Crowdfunding with Sparse Data

It is a common problem facing recommender to sparse data dealing, especially for crowdfunding recommendations. The collaborative filtering (CF) tends to recommend a user those items only connecting to similar users directly but fails to recommend the items with indirect actions to similar users. Therefore, CF performs poorly in the case of sparse data like Kickstarter. We propose a method of enabling indirect crowdfunding campaign recommendation based on bipartite graph. PersonalRank is applicable to calculate global similarity; as opposed to local similarity, for any node of the network, we use PersonalRank in an iterative manner to produce recommendation list where CF is invalid. Furthermore, we propose a bipartite graph-based CF model by combining CF and PersonalRank. The new model classifies nodes into one of the following two types: user nodes and campaign nodes. For any two types of nodes, the global similarity between them is calculated by PersonalRank. Finally, a recommendation list is generated for any node through CF algorithm. Experimental results show that the bipartite graph-based CF achieves better performance in recommendation for the extremely sparse data from crowdfunding campaigns.


Introduction
As the largest crowdfunding platform in the world, Kickstarter has attracted 8,604,863 users who participated in 230,850 campaigns with 22,525,091 investment behaviors (www.kickstarter.com). However, about 60% of the campaigns are unsuccessfully financed. The main reason is that many campaigns failed to find enough investors, rather than the ideas were not good enough [1]. Therefore, a recommender for crowdfunding is the key to solving this problem.
A survey has shown that the sparseness of user behaviors in Kickstarter is about 99.99%, leading to the commonly used recommendation algorithms inefficient. For example, collaborative filtering (CF) algorithm based on cosine similarity aims to find users who have the same preference, then calculates interest similarity, and produces recommendation list. However, it is difficult for the algorithm to find similar users on a sparse data, which is one of the main problems faced by recommender systems [2]. subsequent research has shown the upper and lower bounds of bipartite approximations [19]. On this basis, combined with hierarchical subgraphs, Hausdorff edit distance is proposed that can improve calculation accuracy and reduce computational complexity [20]. Visualization methods are also suggested [21]. In practice, the bipartite graph is applied to image segmentation [22]. In terms of recommender system, researcher uses aggregated bipartite graph model to reduce computational complexity of graph models, while recommendation accuracy is decreased [23].

Collaborative filtering
Collaborative filtering (CF) techniques are widely used in recommender systems [24]. Relaying on historical behaviors of users, similarity between users is calculated, and then products purchased by similar users are recommended. CF techniques are classified into item-based CF and user-based CF. User-based CF algorithm firstly identifies the user preference profile [25], next calculates the similarity based on the user preference profile, and finally applies the distance of user similarity to recommendation algorithms [26]. Since most users only have purchase behaviors for a few products, sparse data problem hinders the efficiency of recommendation [27,28]. One solution is data clustering, which solves the problem to some extent.
How to evaluate the performance of recommender systems is a complex topic. In general, recommender systems more tend to provide a narrow recommendation list. Inspired by the Gini index, directed weighted conduction (DWC) is proposed. DWC is an evaluation metric based on bipartite graph model, which can effectively avoid recommendation congestion and greatly improve the novelty and diversity of recommendation [29].

Research gaps and problem definitions
Take Figure 1 as an example, where black nodes A, B, C, and D denote users and gray nodes e, f, g and h denote items. If using the user-based cosine similarity CF algorithm, user A has adjacent users C and B. Item f is impossibly recommended to user A, because the adjacent users of A have no direct link to f. Similarly, f is also impossibly recommended to A in the item-based CF algorithm. Cosine similarity algorithm is a local algorithm, which cannot calculate the similarities of global nodes in a sparse network structure. The recommendation accuracy should be guaranteed using local similarity with dense data, but it is hard to get ideal performance in the case of sparse data. In bipartite graph algorithms, such as PersonalRank, the distance between items and users can be obtained directly. Therefore, the direct recommendation results can be obtained by transforming the distance into the similarity. For instance, the network in Figure 1 is transformed into a bipartite graph as shown in Figure 2.
PersonalRank is used to calculate the bipartite graph in Figure 2. If a recommendation is provided to user A, iterative calculation starts at A. After 62 iterations, the calculation result converges, and the similarities between A and each item are obtained: Except the node h with direct action to A, the recommended order of the remaining three items is g ranks firstly, e followed, and f lastly. In fact, in the calculation process, PersonalRank also repeatedly iterates to generate user similarities, but explicit output does not exist. In Figure 2, the implicit similarities between A and other users are: The above similarities are different from the similarities based on cosine function or Pearson function. Local similarity between users is obtained by cosine or Pearson function (i.e., only the nodes directly adjacent to the user are calculated), while global similarity between users is obtained by bipartite graph algorithm. Taking Figure 2 as an example, since A and D have no common actions, their similarity cannot be calculated by cosine or Pearson similarity function, or s (A, D) = 0. It is effective with dense data, since there are enough users with common actions and a neighborhood with a sufficient width is able to be obtained. However, in the case of sparse data, globally calculating user similarity is apparently more effective.
The research progress related to this paper is summarized in Table 1. For the personalized recommender for crowdfunding campaigns, although graph models have been used in present research, bipartite graph model is rarely used, especially focusing on solving the problem of sparse data in crowdfunding communities.
Crowdfunding platforms represented by Kickstarter use an all-or-nothing funding model, and the funding success rate is about 40%. Founders spend a lot in energy maintaining campaigns. A survey found that during the preparation period, it took an average of 30 minutes a day and 11 hours on weekends; during the fundraising period, it took 2-11 hours a day lasting 0.5-2 months [34]. Once the funding failed, the founder would get nothing. The reasons for failure might be the quality of the campaigns was poor or right investors had not been found. In the latter case, designing a reasonable personalized recommender system will increase the funding success rate. Therefore, taking advantages of PersonalRank in computing of bipartite graphs, combined with advantages of CF algorithms, the following research questions are proposed to investigate the recommender for crowdfunding campaigns: 1. In view of the extremely sparse data in crowdfunding communities, we extract user behaviors into the bipartite graph structure and calculate the global similarity between nodes in the graph model.

2.
Depending on the node similarity matrix in bipartite graph model, we propose a bipartite graph-based CF model combined with CF algorithm to generate recommendation list for crowdfunding campaigns.
3. We conduct experiments on the dataset from Kickstarter to evaluate the effectiveness of the bipartite graph-based recommender algorithm, comparing differences between algorithms and suggesting feasible solutions.

Authors Year Conclusions Comments
Rakesh and Choo [30] 2015 • VC and crowdfunding have similarities and also many differences • There are differences between KNN and the method used in this paper Zhou et al. [33] 2010 • Global recommendation algorithm overcomes some shortcomings of local recommendation algorithm • Nodes of "weak ties" have value in identifying user preference • Bipartite graph model can improve the diversity of recommendation • The goal of the study is to achieve the balance between diversity and accuracy of recommendation, without considering the processing of sparse data Table 1.
The main research progress related to this paper.

Model overview
PageRank is an algorithm that measures the weight of a specific web page relative to other web pages, which is often used in page ranking. PageRank assumes that a user randomly selects a page to visit from all pages and then jumps to other pages through hyperlinks. After reaching each page, the user has two options: end here, or continue visiting by selecting a link randomly. Let d be the probability of continuing visiting. The user selects a hyperlink at random with the same probability from the current page to continue visiting, which is a random walk process. After many rounds of walks, the probability of visiting each page will converge to a stable value. This value is the weight of a web page. The algorithm is shown in Eq. (3): PR(i) is the probability of visiting page i, d is the probability of continuing visiting pages (i.e., the damping coefficient), N is the total number of pages, in (i) is the page set pointing to page i (i.e., in-links), and out (j) is the page set pointed by page j (i.e., out-links).
PageRank is a global algorithm, which does not distinguish the types of nodes. However, the recommender system for crowdfunding campaigns is faced with both user nodes and campaign nodes. We can only obtain the weight of nodes themselves by PageRank, rather than the similarity between nodes. Based on PageRank, the improved algorithm PersonalRank is a bipartite graph algorithm [6], which can generate personalized item list for users, as shown in the Eq. (4): The difference between Eqs. (3) and (4) is that 1/N is replaced by r i . In other words, initial probabilities vary in different nodes. In bipartite graph model, u is the target user, and Eq. (4) actually calculates the similarity of all nodes relative to node u.
Specifically, unlike PageRank randomly selecting a node to walk, PersonalRank starts from the special node u and can only walk to different types of nodes. Taking crowdfunding as an example, user nodes can only walk to campaign nodes, while campaign nodes can only walk to user nodes. After reaching a new node, the walk stops and restarts from u with a probability of 1-d or continues walking to a node in the other type with a probability of d. After many rounds of walk, the probabilities of visiting each node tend to be stable. Therefore, before running PersonalRank algorithm, an initial probability must be set for each node. In PageRank, if u is the user, let the initial probability of visiting node u be 1 and other nodes be 0. But in PageRank, initial probability of visiting each node is equal, and the initial probability is 1/N.
A bipartite graph is a graph model composed of two groups of nodes with different properties, and the nodes in the same group are not connected. A bipartite graph can be defined as a network structure G = <U, I, E>, where U denotes the user set; I denotes the item set; and E denotes the edges of bipartite graph model. Figure 2 is a typical bipartite graph structure, containing four users and four items. The actions between users and items are mapped as edges in the graph. For simplicity, the weights of edges are assumed the same. Take crowdfunding as an example, where U denotes investors; I denotes crowdfunding campaigns; and the edges denote users' investment behaviors in campaigns. G is actually a matrix structure, which can be calculated to obtain the global similarity by PersonalRank.
The core idea of CF is the calculation of similarity between users (user-based) or between items (item-based). The similarity algorithm commonly used is cosine function, as shown in Eq. (5): In bipartite graph model, the similarities between all nodes are calculated, which can be integrated with CF algorithm, and may achieve better performance than directly recommendation by bipartite graphs.

Experimental data
The research data was collected from Kickstarter, which contains 32,226 investment behaviors from 14,506 users which invest on 787 campaigns. This paper used an offline evaluation method to evaluate the recommender system, dividing the dataset into a training set and a test set. If a user has only one investment behavior, the recommendation list cannot be produced because if the behavior is classified into the training set, the accuracy of the recommendation list cannot be evaluated; if classified into the test set, preference similarity cannot be obtained through the user's behavior.
Data sparseness is defined as the probability of matrix elements without data, which is calculated by Eq. (6). The sparseness of the experimental data is 96-99%, that is, about 96-99% of the matrix elements in the users' behavior matrix lack values: In the dataset, most users support less than five campaigns, also leading to the extremely sparseness of the dataset. Many campaigns have a small number of supporters, while popular campaigns have won a large number of supporters. Statistics show that campaigns in the dataset have one supporter at least, 9046 supporters at most, and 41 supporters on average.

Experimental settings
Firstly, the parameters are setting. PersonalRank has two parameters: 1. Convergence coefficient. According to the present research, it is set to 0.85.

Number of iterations.
There is no fixed value, and it needs to be set depending on the data by following two methods: (a) specify the number of iterations forcibly; and (2) judge whether the global computing result has converged, and stop iteration if converged. We integrate these two methods and use the following method for iteration setting. For I in G.nodes(): 7.
End For 9.

12.
previous_iteration = Pr; 13. End For 14. Output Pr; The time complexity of Algorithm 1 is O(max_iteration*|item|), where max_iteration is the predefined number of iterations and |item| is the number of nodes of items. The complexity of the algorithm means the complexity of the number of iterations, not the complexity of the complete algorithm. We tried to calculate the network, showing that the PersonalRank converges after 100 iterations.
All of the CF in experiments use item-based algorithm, for the following reasons: (1) The number of items is much smaller than the number of users so that the computing cost of the similarity between items is much lower than between users.
(2) Item-based methods are used more often in practical applications due to computing convenience, such as Amazon recommender system.
The compared algorithms in this study are summarized in Table 2. The contentbased recommender is based on the similarity of items. For instance, if a user has supported a "music" campaign, the content-based recommender algorithm assumes that the user has a greater preference for "music" campaigns. In the compared experiments, we chose six indicators to measure the similarity of campaigns: campaign category, social network of founders, funding status, number of pledge levels, minimum pledge money, and average funding amount.
Popularity-based recommender means the most popular items are directly recommended to users (user-based) or the most popular users are recommended to items (item-based). Popularity-based recommender is independent of neighbor nodes, which means the recommendation lists are the same for any users.
Two parameters need to be set in CF algorithms: 1. The number of neighbors K. K similar users (items) are selected as the source for producing recommendation lists, and the items which the users are interested in are recommended to target users.
2. The list length N. N items are recommended to target users (or N users are recommended to target items). Generally, N is set to 5 or 10, which is widely used in present studies.
In addition to cosine similarity function, other similarity functions have also been tried. The results show that cosine similarity function performs best in the recommender for crowdfunding campaigns. Therefore, cosine-based CF is used as one of the benchmarks for comparing.

Experimental result
The sparseness of user behaviors is larger than 99%, and many users cannot find similar users. As a local similarity method, cosine function hardly produces recommendation lists in this situation. Thus, the similarity between any users without intersection is set to 0. Tables 3 and 4 show the recommendation performance of CF algorithm based on cosine similarity.
From Tables 3 and 4, when K = 40 and K = 55, the best performances are achieved, respectively. However, on the whole, the accuracy is extremely low, which has large room for improvement. The reason is that on the extremely sparse dataset, users have few intersections, which makes it difficult to find users with similar interests, resulting in the low accuracy of recommendation. Table 5 shows the performance of using PersonalRank to produce recommendation lists. Compared to cosine similarity CF algorithm, the accuracy of recommendation by PersonalRank has at least doubled, which indicates that on sparse data network, the global similarity algorithm can effectively solve the computing problem of node similarity and improve the recommendation accuracy.
Then we use bipartite graph-based CF algorithm. The recommendation result for N = 5 is shown in Table 6, where the algorithm achieves the best performance when K = 30. The recommendation result for N = 10 is shown in Table 7, where the algorithm achieves the best performance when K = 30. However, compared to the result of recommendation directly by bipartite graph model, bipartite graph-based CF algorithm does not perform better. It indicates that on this dataset, the accuracy of recommendation calculated by bipartite graph model is higher.
Comparing Tables 5-7, we can get the conclusion that the result of recommendation by bipartite graph model is superior to bipartite graph-based CF algorithm. The possible reasons are as follows. (1) Although bipartite graph-based CF algorithm can obtain the similarity between items (users) and generate neighbor items (users), which cannot be done by cosine similarity algorithm, the CF algorithm cannot extract enough items from the neighborhood for recommendation due to the extremely sparse data (e.g., A and B are very similar, but if B has few actions, the accuracy of the recommendation list is still quite low). Therefore, the recommender performance of CF algorithm is poor. (2) Local algorithms only produce local optimal solutions, also resulting in the poor performance of bipartite graph-based CF algorithm, whereas recommendation directly by bipartite graph model is a global recommendation algorithm, which can overcome the shortage of sparse matrix.
The results of content-based recommender are shown in Tables 8 and 9, where the best performances are achieved when K = 90 and K = 100, respectively. The accuracy of content-based recommender is the lowest, which might be determined by the investment preference of investors on crowdfunding campaigns. For example, many investors have participated in multiple categories of campaigns, rather than focusing on one or several categories.
The comprehensive comparison result of various algorithms is summarized in Table 10. On this dataset, PersonalRank is the most effective in computing the node distance of bipartite graph model and converting it into similarity, followed by CF algorithm using global similarity distance, while content-based recommender has the worst performance. Popularity-based recommender algorithm is superior to cosine-based CF and content-based recommender in precision, but its coverages are too low (0.035 and 0.069), since popularity-based algorithm always recommends those most popular users to the target campaign.

Conclusion and prospects
The sparseness in crowdfunding platform Kickstarter is more than 99% [35]. With such a high sparseness, cosine-based CF obtains poor recommendation performance. Therefore, we use the bipartite graph-based network structure to describe users' behaviors and use PersonalRank to calculate the distance between campaigns and users to directly produce recommendation lists. Next, we integrate bipartite graph model and CF algorithm, and the correlation among the items set (the users set) is obtained by PersonalRank as the measurement of interest similarity. Experimental results show that recommender based on bipartite graph model achieves better performance on a sparse dataset. This paper proposes a method to solve the problem of sparse data, providing a new idea for generating recommendation list in crowdfunding platforms.
Directions for future works are as follows. (1) Table 9.
applicable to calculate the node similarity, such as SimRank [36]. Other graph models could be applied to recommendation for crowdfunding campaigns in the future.
(2) Due to computing complexity, all of CF algorithms used in this paper are item-based, rather than user-based. However, we have to use user-based recommender in some cases. For example, when a new user enters the system, user-based method is more suitable in recommendation. Future research could make a comparison with user-based recommender algorithms. (3) The datasets are all from Kickstarter, but there are other crowdfunding platforms, such as Indiegogo [37].
Research could use other crowdfunding platforms to verify the applicability of bipartite graph model. (4) Based on the data from the crowdfunding platform, we have verified the usefulness of bipartite graph model. However, not all the information in crowdfunding communities is used. For example, some research found the home bias is a common phenomenon in investment [38], that is, offline relationships between founders and investors may have already been established, such as friends, classmates, acquaintances, colleagues, etc. Consequently, there is a psychological and cultural convergence between founders and investors, and the physical distance is relatively close. Therefore, in personalized recommender, the physical distance in graph model could be considered, and the physical distance between users could be modeled into binary graph model to improve the performance of recommender. and recommender systems. Applied Mathematics and Computation. 2014; 243:578-584