Keywords

1 Introduction

With the expansion of network and information technology, the amount of data generated from human activities is rapidly growing. “Information Overload” problem is becoming serious [2]. Therefore, a recommender system might be an important tool to help users find the interested items and solve the problem of information overload. More and more e-commerce service providers, such as Amazon, Half. Com, CDNOW, Netflix, and Yahoo!, are using recommendation systems for their own customers with “tailored” buying advice [19]. A recommended algorithm as the most core and key part of these types of systems, determines their performance quality to a great extent [1]. Due to a simple operation, a reliable explanation, easiness of realization in the technical level, and collaborative filtering (CF), a recommendation algorithm is becoming one of the most widely used recommendation algorithm [4], which mainly makes uses of the ratings of the user to calculate the similarity to give recommendation. However, studies have shown that in big e-commerce systems, items rated by users generally will not exceed 1% in total number, so user rating inevitably has problems such as data sparseness, a cold start etc., which affect the precision and quality of the recommendation [21]. On the one hand, introducing a user trust relationship in a recommender system can solve a cold start problem. On the other hand, adding user interest can alleviate the problem of data sparseness.

In recent years, the number of Internet users has exponentially grown and as a result social network also has developed. The 38th China Internet development statistics report issued by China Internet Network Information Center (CNNIC) on August 3rd 2016 in Beijing shows that, the scale of Internet users in China has reached 710 million up to June 2016, whereas the Internet penetration rate reached 51.7%. Nielsen research agency examined factors that influence users’ trust in recommendations. The investigation showed that nearly ninety percent of users can believe the recommendation given by their friends [17].

According to the facts presented above, we established an implicit trust relationship between users and potential interest tags from the perspective of user rating. Next, we combined users trust relationship and user interest tag information into a probability matrix factorization (PMF) model. Finally, on the basis of PMF model, we proposed a probability matrix factorization model (STUIPMF) by integrating social trust and user interest.

2 Related Works

In a traditional CF recommendation algorithm there are problems with data sparseness and a cold start, which affect the precision and quality of a recommendation algorithm based on social trust [4, 6, 10, 11, 18]. In order to improve the performance of a recommender system, it ought to be roughly divided into two categories. One is a recommended approach, which examines a trust relationship based on a neighborhood model. Here we can distinguish a Mole Trust model, which utilizes a depth-first strategy to search users and predicts the trust value to target user B by considering the passing of the trust on the side of user A’s social network [18]. Similarly, Golbeck proposed a Tidal Trust model that improves a breadth-first strategy to forecast a user trust value [4], whereas Jamali proposed a Trust Walker model, which combines a recommender system based on an item with a recommender system based on trust [6]. However, these methods only consider a trust relationship between the neighboring users, but also neglect an implicit trust relationship between users, and the influence user ratings exerted to the result of recommendation.

The second category is a recommended approach, which fuses a trust relationship among users with rating data based on MF model. Take for example a recommendation method that adds a social regularization term to a loss function, which measures the difference between the latent feature vector of a user and those of their friends [16]. On the other hand, referring to Social MF model, it integrates all user trust information, which introduces a concept of trust propagation. Moreover, the model considers information about direct trustable users and “two-steps” users to generate recommendation. However, computing complexity is high, and it does not adopt different trust metrics [7]. Another example is a MF recommendation method that predicts the variation of ratings with time [13]. Next proposal is a stratified stochastic gradient descent (SSGD) algorithm to solve general MF problem. It provides sufficient conditions for convergence [3]. Finally, we can also find an incremental CF recommendation method based on regularized MF [14] and a Social Recommendation method, which connects users rating information and social information for research by sharing user implicit feature vector space [15]. All the methods described above focus on direct trust network, however they ignore mining implicit trust relationships between users.

When analyzing research referring to MF models, it is worth to notice that a recommendation algorithm based on MF uses latent factors. Thus, it is difficult to give an accurate and reasonable explanation to recommended results. Hence, Salakhutdinov described a matrix factorization problem from the perspective of probability, and put forward PMF model, which obtained the prior distribution of the user-recommended item’s characteristic matrix, and maximized the posterior probability of the forecast evaluation to make recommendations [20]. This model achieved very good prediction results on Netflix data sets. It is worth to mention that Koenigstein integrated some characteristic information of the items in the process of probability matrix factorization, and carried out experiments on the Xbox movie recommendation system, which verified the effectiveness of the proposed model [9].

Research also has shown that we take into account user interests, such as tags, categories and user profiles, there is a huge opportunity to improve the accuracy of recommendation. Considering the user interest model, it is conducive to make more accurate personalized recommendation. Lee combined user’s preference information with a trust propagation of social networking, and improved the quality of recommendation [5], while Tao proposed a CF algorithm based on user interest classification adapting to the user’s interests diversity. After that the improved fuzzy clustering algorithm was used to search the nearest neighbor [22]. What is more, Ji put forward a similarity measure method based on user interest degree. This way the combination of a degree of user interest in the different item category and user ratings were utilized to calculate the similarity between them [18]. However, most of these methods focus on the user’s rating value of the item. They do not consider user preferences and influence on the relationship between the user ratings and the item properties that affect the accuracy of recommendation. Furthermore, they also ignored the user trust relationships.

Therefore, in this paper, we have a comprehensive consideration of user rating and implicit trust relationship between users. Moreover, users trust relationship and user interest tag information on the basis of PMF model are introduced. And then we identify latent user characteristics hidden behind a trust relationship and user ratings. As a result, a STUIPMF model is proposed. According to the experimental results, this method comprehensively utilizes various information, which can enhance recommended accuracy.

3 Probability Matrix Factorization Recommendation Algorithm Combining User Trust and Interests

3.1 Probability Matrix Factorization Model (PMF)

The principle of PMF model is to predict user ratings for an item from the perspective of probability. To make the notation clearer, the symbols that we will use are shown in Table 1. The calculation process of PMF is as follows.

Assume that latent factors of users and items are subject to Gaussian prior distribution,

$$\begin{aligned}&P\left( {U\left| {\sigma _{U}^{2} } \right. } \right) =\mathop {\prod }\limits _{i=1}^{M} \mathrm{N}\left( {U_{i} \left| {0, \sigma _{U}^{2} I} \right. } \right) \end{aligned}$$
(1)
$$\begin{aligned}&P\left( {V\left| {\sigma _{V}^{2} } \right. } \right) =\mathop {\prod }\limits _{j=1}^{N} \mathrm{N}\left( {V_{j} \left| {0, \sigma _{V}^{2} I} \right. } \right) \end{aligned}$$
(2)
Table 1. Notation

Moreover, let’s assume that conditional probability of user ratings data obtained are subject to Gaussian prior distribution,

$$\begin{aligned} P\left( {R\,\left| \, {U, V, \sigma _{R}^{2} } \right. } \right) =\mathop {\prod }\limits _{i=1}^{M} \mathop {\prod }\limits _{j=1}^{N} \left[ {\mathrm{N}\left( {R_{ij} \,\left| \, {g\left( {U_{i}^{T} V_{j} } \right) , \sigma _{R}^{2} } \right. } \right) } \right] ^{I_{ij}^{R} } \end{aligned}$$
(3)

\( I_{ij}^{R} \) is an indicator function, if user \( U_{i} \) has rated \( V_{j} \), \( I_{ij}^{R} =1 \), otherwise 0. \( g\left( x \right) \) maps the value of \( U_{i}^{T} V_{j} \) to the interval, in this paper \( g\left( x \right) =1/\left( {1+e^{-x}} \right) \).

Through the Bayesian inference, we can gain posterior probability of users and items’ implicit characteristics.

$$\begin{aligned} P\left( {U, V\,\left| \, {R, \sigma _{R}^{2}, \sigma _{U}^{2}, \sigma _{V}^{2} } \right. } \right) \propto P\left( {R\,\left| \, {U, V, \sigma _{R}^{2} } \right. } \right) \times P\left( {U\,\left| \, {\sigma _{U}^{2} } \right. } \right) \times P\left( {V\,\left| \, {\sigma _{V}^{2} } \right. } \right) \end{aligned}$$
(4)

This way, we can learn about latent factors of users and items through rating matrix, and then get the most similar user rating by means of inner product formulated as follows:

$$\begin{aligned} \tilde{{R}}\approx U_{i}^{T} V_{j} \end{aligned}$$
(5)

The corresponding probability graph model is presented in Fig. 1.

Fig. 1.
figure 1

Probability matrix factorization graph model

3.2 Mining User Implicit Trust Relationships

Most existing algorithms only consider a direct trust network, namely the dominant trust relationship between users [6, 10, 18]. They have less attention to mining user implicit trust relationship. Therefore, a user behavior coefficient and a user trust function are introduced to improve the measurement of user trust relationships.

After a trust inference based on user rating and calculation of rating accuracy, a user behavior coefficient will be determined. Next, user implicit trust relationships will be established on the basis of user rating similarity. Accuracy of rating is denoted by the difference of the item rating between a target user and all the users. In general, whether user ratings are accurate or not will directly affect the degree of other users’ trust. A user behavior coefficient is expressed with \( \varphi _{u} \) symbol and it is depended on accuracy of rating.

$$\begin{aligned} \varphi _{u} =\frac{1}{1+\sum \limits _{i=1}^N {\left( {R_{ui} -\bar{{R}}_{i} } \right) \cdot I_{ui} } } \end{aligned}$$
(6)

\( R_{ui} \) expresses rating of user u to the item i. \( \bar{{R}}_{i} \) expresses an average rating of all users to the item i if user u has rated the item i, \( I_{ui} =1 \), otherwise \( I_{ui} =0 \).

Rating similarity \( sim_{i, j} \) is measured by a popular Pearson correlation coefficient. The computational formula is as follows:

$$\begin{aligned} sim_{i, j} =\frac{\sum \limits _{c\in U} {\left( {r_{i, c} -\bar{r}_i } \right) \times \left( {r_{j, c} -\bar{r}_j } \right) } }{\sqrt{\sum \limits _{c\in U} {\left( {r_{i, c} -\bar{r}_i } \right) ^{2}} \times \sum \limits _{c\in U} {\left( {r_{j, c} -\bar{r}_j } \right) ^{2}} }} \end{aligned}$$
(7)

\( r_{i, c} \) and \( r_{j, c} \) express ratings of user i and user j to the item c respectively, and \( \bar{r}_i \) and \( \bar{r}_j \) express the average.

User implicit trust relationships are denoted by TI, between user i and user j:

$$\begin{aligned} TI_{ij} =\varphi _{i} \cdot sim_{ij} \end{aligned}$$
(8)

Use \( t_{ij} \) to denote the explicit trust relationships between user i and user j, when user i trusts user j, \( t_{ij} =1 \), otherwise 0. Due to the asymmetry of trust, \( t_{ij} \) cannot reflect a dominant trust relationship between users accurately, which should be related to the number of users’ trust and trustable users. For example, when user \( t_{i} \) trusts many users, a trust value \( t_{ij} \) between user \( t_{i} \) and user \( t_{j} \) will be reduced. On the contrary, when many users trust user \( t_{i} \), the trust value between user \( t_{i} \) and user \( t_{j} \) should increase. Therefore, the dominant trust value between users is upgraded on the basis of user influence \( TE_{ij} \), which expresses the improved dominant trust value.

$$\begin{aligned} TE_{ij} =\sqrt{\frac{d^{-}\left( {u_{i} } \right) }{d^{+}\left( {u_{j} } \right) +d^{-}\left( {u_{i} } \right) }}\cdot t_{ij} \end{aligned}$$
(9)

\( d^{-}\left( {u_{i} } \right) \) points out the number of users \( u_{i} \) by a user who is trusted, \( d^{+}\left( {u_{j} } \right) \) is the number of users by user \( u_{j} \) trust.

A user trust function is denoted by \( T_{ij} \), which is calculated after determining the weight coefficient of a dominant trust and implicit trust combined with a dominant trust relationship stated in trust network. \( \alpha \) expresses a weight coefficient.

$$\begin{aligned} T_{ij} =\alpha \cdot TE_{ij} +\left( {1-\alpha } \right) \cdot TI_{ij} \end{aligned}$$
(10)

A user trust relationship matrix is denoted by T. \( T_{il} \) expresses the trust degree of user \( U_{i} \) and a friend \( F_{l} \). A conditional probability distribution function of a user’s trust is known as:

$$\begin{aligned} P\left( {T\,\left| \, {U, F, \sigma _{T}^{2} } \right. } \right) =\mathop {\prod }\limits _{i=1}^{M} \mathop {\prod }\limits _{l=1}^{M} \left[ {\mathrm{N}\left( {T_{il} \,\left| \, {g\left( {U_{i}^{T} F_{l} } \right) , \sigma _{T}^{2} } \right. } \right) } \right] ^{I_{il}^{T} } \end{aligned}$$
(11)

\( I_{il}^{T} \) is an indicator function if user \( U_{i} \) and user \( F_{l} \) are friends, \( I_{il}^{T} =1 \), otherwise 0.

The probability distribution of U and F is as follows:

$$\begin{aligned} P\left( {U\,\left| \, {\sigma _{U}^{2} } \right. } \right) =\mathop {\prod }\limits _{i=1}^{M} \mathrm{N}\left( {U_{i} \,\left| \, {0, \sigma _{U}^{2} I} \right. } \right) , P\left( {F\,\left| \, {\sigma _{F}^{2} } \right. } \right) =\mathop {\prod }\limits _{l=1}^{M} \mathrm{N}\left( {F_{l} \,\left| \, {0, \sigma _{F}^{2} I} \right. } \right) \end{aligned}$$
(12)

Through the Bayesian inference, we achieve:

$$\begin{aligned} P\left( {U, F\,\left| \, {T, \sigma _{T}^{2}, \sigma _{U}^{2}, \sigma _{F}^{2} } \right. } \right) \propto P\left( {T\,\left| \, {U, F, \sigma _{T}^{2} } \right. } \right) \times P\left( {U\,\left| \, {\sigma _{U}^{2} } \right. } \right) \times P\left( {F\,\left| \, {\sigma _{F}^{2} } \right. } \right) \end{aligned}$$
(13)

The corresponding probability graph model based on a user trust relationship is demonstrated in Fig. 2.

Fig. 2.
figure 2

Probability graph model based on user trust relationship

3.3 Mining the User Interest Similarity Relationship

A current recommendation algorithm based on user interest classification pays less attention to the influence, which user preference and the relationship between user ratings and item properties have, on recommended results [8, 9, 12, 23]. Thus, it is legitimated to combine the item information with user threshold based on the user-item rating matrix, and mining user implicit tag. As a result, a user-interest tag matrix is received and it is useful to fill user information and solve the problem of data sparseness.

The corresponding median rating threshold set to user rating set of all the items is \( A=\left\{ {A_{1}, A_{2}, \cdots , A_{m} } \right\} \), the attribute set of items is \( L=\left\{ {L_{1}, L_{2}, \cdots , L_{k} } \right\} \). When \( R_{ui} \ge A_{i} \), we regard that user u likes the item i. The attribute tag \( L_{c} \) of the item i is signed as an interest tag of the user u. We can extract the user’s interest tag according to the item’s attributes and the user’s rating threshold. A user may be signed with the same interest tags repeatedly, and when the times are accumulated, we can get the user interest tag matrix \( L_{me} =\{ {L_{uy} } \} \). \( L_{uy} \) expresses the times of the interest tag user u signed to the item attributes L. Then, we make the rating which is below the user ratings threshold 0 to get a user-item median rating matrix. Combined with the item-attribute matrix, if the item belongs to some attribute, it is signed 1, otherwise 0. Therefore, when a link is established between the user and the item-attribute, we will get the user-interest tag matrix P.

The user-interest tag matrix is denoted by P, \( P_{ik} \) expresses the signed times of user \( U_{i} \) signed on the interest tag \( L_{k} \). The probability distribution function of a user interest tag is known as follows:

$$\begin{aligned} P\left( {P\,\left| \, {U, L, \sigma _{P}^{2} } \right. } \right) =\mathop {\prod }\limits _{i=1}^{M} \mathop {\prod }\limits _{k=1}^{Q} \left[ {\mathrm{N}\left( {P_{ik} \,\left| \, {g\left( {U_{i}^{T} L_{k} } \right) , \sigma _{P}^{2} } \right. } \right) } \right] ^{I_{ik}^{P} } \end{aligned}$$
(14)

\( I_{ik}^{P} \) expresses an indicator function, if the user \( U_{i} \) has signed on the interest tag \( L_{k} \) at least one time, otherwise 0.

The probability distribution of \( U_{i} \) and L is the following way:

$$\begin{aligned} P\left( {U\,\left| \, {\sigma _{U}^{2} } \right. } \right) =\mathop {\prod }\limits _{i=1}^{M} \mathrm{N}\left( {U_{i} \,\left| \, {0, \sigma _{U}^{2} I} \right. } \right) , ~~ P\left( {L\,\left| \, {\sigma _{L}^{2} } \right. } \right) =\mathop {\prod }\limits _{k=1}^{Q} \mathrm{N}\left( {L_{k} \,\left| \, {0, \sigma _{L}^{2} I} \right. } \right) \end{aligned}$$
(15)

According to the Bayesian inference, we achieve:

$$\begin{aligned} P\left( {U, L\,\left| \, {P, \sigma _{P}^{2}, \sigma _{U}^{2}, \sigma _{L}^{2} } \right. } \right) \propto P\left( {P\,\left| \, {U, L, \sigma _{P}^{2} } \right. } \right) \times P\left( {U\,\left| \, {\sigma _{U}^{2} } \right. } \right) \times P\left( {L\,\left| \, {\sigma _{L}^{2} } \right. } \right) \end{aligned}$$
(16)

The corresponding probability graph model based on a user interest tag is shown in Fig. 3.

Fig. 3.
figure 3

Probability graph model based on user interest tag

Fig. 4.
figure 4

STUIPMF probability graph model

4 STUIPMF Model Application

PMF algorithm is merely based on a user-item rating matrix and it studies the corresponding feature factor. However, it does not consider the trust relationship between the user and the user’s interest on the result of recommendation. In order to reflect the effect, the model was improved by integrating the factorizations of three matrixes, which are a user trust relationship matrix, a user-interest tag matrix, and a user rating matrix respectively, and connected by a user latent feature factor matrix. Therefore, STUIPMF model is put forward, as it is demonstrated in Fig. 4.

The logarithm of posterior probability, after the conjunction, comes down to the Eq. (17).

In this research, a stochastic gradient descent method is used to study a corresponding latent feature factor matrix. Assuming that \( \lambda _{U} =\lambda _{V} =\lambda _{T} =\lambda _{L} =\lambda \), a computational complexity is reduced. The values of \( \lambda _{P} \) and \( \lambda _{F} \) will be discussed in the latter part.

\( \lambda _{P} =\sigma _{R}^{2}/\sigma _{P}^{2}\), \( \lambda _{T} =\sigma _{R}^{2}/\sigma _{T}^{2}\), \( \lambda _{U} =\sigma _{R}^{2}/\sigma _{U}^{2}\), \( \lambda _{V} =\sigma _{R}^{2}/\sigma _{V}^{2}\), \( \lambda _{L} =\sigma _{R}^{2}/\sigma _{L}^{2} \lambda _{F} =\sigma _{R}^{2}/\sigma _{F}^{2} \) are all fixed regularization parameters, \( \Vert \cdot \Vert _{F} \) expresses the Frobernius of the matrix.

$$\begin{aligned} \nonumber&\quad ~ \ln P\left( {U, V, L, F\,\left| \, {R, P, T, \sigma _{R}^{2}, \sigma _{P}^{2}, \sigma _{T}^{2}, \sigma _{U}^{2}, \sigma _{V}^{2}, \sigma _{L}^{2}, \sigma _{F}^{2} } \right. } \right) \\ \nonumber&=-\frac{1}{2\sigma _{R}^{2} }\sum \limits _{i=1}^M {\sum \limits _{j=1}^N {I_{ij}^{R} } } \left( {R_{ij} -g\left( {U_{i}^{T} V_{j} } \right) } \right) ^{2} -\frac{1}{2\sigma _{P}^{2} }\sum \limits _{i=1}^M {\sum \limits _{k=1}^Q {I_{ik}^{P} } } \left( {P_{ik} -g\left( {U_{i}^{T} L_{k} } \right) } \right) ^{2} \\ \nonumber&\quad ~ -\frac{1}{2\sigma _{T}^{2} }\sum \limits _{i=1}^M {\sum \limits _{l=1}^M {I_{il}^{T} } } \left( {T_{il} -g\left( {U_{i}^{T} F_{l} } \right) } \right) ^{2} -\frac{1}{2\sigma _{U}^{2} }\sum \limits _{i=1}^M {U_{i}^{T} U_{i} } -\frac{1}{2\sigma _{V}^{2} }\sum \limits _{j=1}^N {V_{j}^{T} V_{j} } \\ \nonumber&\quad ~-\frac{1}{2\sigma _{L}^{2} }\sum \limits _{k=1}^Q {L_{k}^{T} L_{k} } -\frac{1}{2\sigma _{F}^{2} }\sum \limits _{l=1}^M {F_{l}^{T} F_{l} } -\frac{1}{2}\left( {\sum \limits _{i=1}^M {\sum \limits _{j=1}^N {I_{ij}^{R} } } } \right) \ln \sigma _{R}^{2} \\ \nonumber&\quad ~-\frac{1}{2}\left( {\left( {\sum \limits _{i=1}^M {\sum \limits _{k=1}^Q {I_{ik}^{P} } } } \right) \ln \sigma _{P}^{2} +\left( {\sum \limits _{i=1}^M {\sum \limits _{l=1}^M {I_{il}^{T} } } } \right) \ln \sigma _{T}^{2} } \right) -\frac{1}{2}( \left( {M\times K} \right) \ln \sigma _{U}^{2} \\&\quad ~+\left( {N\times K} \right) \ln \sigma _{V}^{2} ) -\frac{1}{2}\left( {\left( {M\times K} \right) \ln \sigma _{F}^{2} +\left( {Q\times K} \right) \ln \sigma _{L}^{2} } \right) +C \end{aligned}$$
(17)
$$\begin{aligned} \nonumber&\quad ~S\left( {U, V, L, F, R, P, T} \right) \\ \nonumber&=\frac{1}{2}\sum \limits _{i=1}^M {\sum \limits _{j=1}^N {I_{ij}^{R} } } \left( {R_{ij} -g\left( {U_{i}^{T} V_{j} } \right) } \right) ^{2}+ \frac{\lambda _{P} }{2}\sum \limits _{i=1}^M {\sum \limits _{k=1}^Q {I_{ik}^{P} } } \left( {P_{ik} -g\left( {U_{i}^{T} L_{k} } \right) } \right) ^{2}+ \\ \nonumber&\quad ~\frac{\lambda _{T} }{2}\sum \limits _{i=1}^M {\sum \limits _{l=1}^M {I_{il}^{T} } } \left( {T_{il} -g\left( {U_{i}^{T} F_{l} } \right) } \right) ^{2}+ \frac{\lambda _{U} }{2}\sum \limits _{i=1}^M {\left\| U \right\| }_{F}^{2} +\frac{\lambda _{V} }{2}\sum \limits _{j=1}^N {\left\| V \right\| }_{F}^{2} \\&\quad ~+\frac{\lambda _{L} }{2}\sum \limits _{k=1}^Q {\left\| L \right\| }_{F}^{2} +\frac{\lambda _{F} }{2}\sum \limits _{l=1}^M {\left\| F \right\| }_{F}^{2} \end{aligned}$$
(18)
$$\begin{aligned} \nonumber \frac{\partial S}{\partial U_{i} }&=\sum \limits _{j=1}^N {I_{ij}^{P} } g'\left( {U_{i}^{T} V_{j} } \right) \left( {g\left( {U_{i}^{T} V_{j} } \right) -R_{ij} } \right) V_{j} \\ \nonumber&\quad ~+\lambda _{P} \sum \limits _{k=1}^Q {I_{ik}^{P} } g'\left( {U_{i}^{T} L_{k} } \right) \left( {g\left( {U_{i}^{T} L_{k} } \right) -P_{ik} } \right) L_{k} \\&\quad ~+\lambda _{T} \sum \limits _{l=1}^M {I_{il}^{T} } g'\left( {U_{i}^{T} F_{l} } \right) \left( {g\left( {U_{i}^{T} F_{l} } \right) -T_{il} } \right) F_{l} +\lambda _{U} U_{i} \end{aligned}$$
(19)
$$\begin{aligned} \frac{\partial S}{\partial V_{j}}&= \sum \limits _{i=1}^M {I_{ij}^{R} } g'\left( {U_{i}^{T} V_{j} } \right) \left( {g\left( {U_{i}^{T} V_{j} } \right) -R_{ij} } \right) U_{i} +\lambda _{V} V_{j} \end{aligned}$$
(20)
$$\begin{aligned} \frac{\partial S}{\partial L_{k} }&=\lambda _{P} \sum \limits _{k=1}^Q {I_{ik}^{P} } g'\left( {U_{i}^{T} L_{k} } \right) \left( {g\left( {U_{i}^{T} L_{k} } \right) -P_{ik} } \right) U_{i} +\lambda _{L} L_{k} \end{aligned}$$
(21)
$$\begin{aligned} \frac{\partial S}{\partial F_{l} }&=\lambda _{T} \sum \limits _{l=1}^M {I_{il}^{T} } g'\left( {U_{i}^{T} F_{l} } \right) \left( {g\left( {U_{i}^{T} F_{l} } \right) -T_{il} } \right) U_{i} +\lambda _{F} F_{l} \end{aligned}$$
(22)

\( U_{i}, V_{j}, L_{k}, F_{l} \) are adjusted in each iteration as follows: \( U_{i} \buildrel \over \leftarrow U_{i} -\gamma \cdot \frac{\partial S}{\partial U_{i} } \), \( V_{j} \buildrel \over \leftarrow V_{j} -\gamma \cdot \frac{\partial S}{\partial V_{j} } \), \( L_{k} \buildrel \over \leftarrow L_{k} -\gamma \cdot \frac{\partial S}{\partial L_{k} } \), \( F_{l} \buildrel \over \leftarrow F_{l} -\gamma \cdot \frac{\partial S}{\partial F_{l} } \). \( \gamma \) is a predefined step length.

A repeated training process, after each iteration, calculates and validates an average absolute error. When the change of the objective function S value is smaller than a predefined small constant iterative process is terminated. After obtaining a terminated iteration \( U_{i} \), \( V_{j} \), \( L_{k} \), \( F_{l} \), we can predict the user \( U_{i} \) unknown rating to the item \( V_{j} \). To each target user, a proposed commodity is sorted from high to low according to a calculated predicting rating, and then Top-N recommended list is produced.

5 Experiment and the Analysis of the Results

Dataset in this research is provided from the studies conducted by Massa and Avesani [18] and “Epinions.com” website, since it is among the most often-used datasets for evaluating trust inference performance. Due to the fact that a trust system was built, it expresses the trust relationship between the users and helps the users determine whether to trust the comments of the item [5, 10, 11]. Statistics concerning this dataset is presented in Table 2.

Table 2. Characteristics of dataset

Commonly used evaluation indexes, namely MAE (Mean Absolute Error) and RMSE (Root Mean Squared Error) were adopted to evaluate the accuracy of the prediction, and then compare the effect of our proposed algorithm with models proposed in literature i.e. PMF model [20], SocialMF model [7], and SoReg [15].

The assignments of \( \lambda _{P} \), \( \lambda _{F} \) are crucial in the proposed method, which plays the role of balance. When we assign \( \lambda _{P} = \) 0, the system only considers the user rating matrix and an implicit interest tag. When it recommends something, it does not consider the trust relationship between users. If we assign high values to \( \lambda _{P} \), the system only recognizes the trust relationships between users, but when recommending, it does not analyze other factors. Similarly, when \( \lambda _{F} = \) 0, the system only examines the user rating matrix and the trust relationship between users, however, when recommending, it does not deal with an implicit interest tag of users. When \( \lambda _{F} \) is enormous, the system only studies the implicit interest tag of users when recommending, not considering other factors.

Figure 5 shows the influence of a parameter \( \lambda _{P} \) on MAE and RMSE when the number of latent factors are 5, 10 and 30, and other parameters set constant. With the increase of \( \lambda _{P} \), MAE and RMSE decrease, namely the accuracy of the prediction is improved. When \( \lambda _{P} \) reaches a certain threshold with the increase of \( \lambda _{P} \), MAE and RMSE increase, namely the accuracy of the prediction is reduced. In conclusion, when \( \lambda _{P} \in [0.01, 0.1] \), the accuracy of recommendation is higher. In latter experiments, we adopt the interval average \( \lambda _{P} =\lambda _{F} = 0.005 \) as the approximate optimal value to conduct an experiment. Figure 6 shows that the influence of a parameter \( \lambda _{F} \) has similarly more details.

Fig. 5.
figure 5

The influence of parameter \(\lambda _{P}\) on MAE and RMSE

Fig. 6.
figure 6

The influence of parameter \(\lambda _{F}\) on MAE and RMSE

In order to verify the experimental effect, we choose 80% of the whole data as the training set and the remaining 20% of the data constitutes the test set. Recommendations are generated on the basis of known information in the training set. Subsequently, the test set is used to evaluate the performance of recommendation algorithms [1, 5, 12]. Respectively, 90% of the whole data is the training set, and 10% of the remaining data is the test set for experiments.

In the experimental process, relevant parameters are selected mainly according to the experimental results for the optimal choice. The parameters’ settings in STUIPMF are as follows: \( \lambda _{U} =\lambda _{V} =\lambda _{T} =\lambda _{L} =\lambda =0.001 \), \( \lambda _{P} =\lambda _{F} = \) 0.005. The numbers of latent factors are 5, 10 and 30 respectively.

The parameters’ settings in other methods are as follows: in PMF model \( \lambda _{U} =\lambda _{V} =0.001 \), in Social MF model \( \lambda _{U} =\lambda _{V} =0.001 \), \( \lambda _{T} =0.5 \), in SoReg model \( \lambda _{U} =\lambda _{V} =0.001\alpha =0.1 \). The comparison of experimental results of a STUIPMF method with other methods is presented in Figs. 7 and 8.

Fig. 7.
figure 7

Comparison of STUIPMF method and other methods under 80% training set

Fig. 8.
figure 8

Comparison of STUIPMF method and other methods under 90% training set

According to Figs. 7 and 8, we can come up with the following conclusions, namely

  1. (1)

    STUIPMF model, we proposed, comprehensively considers the user rating information, user’s trust and interest in the case of all experimental parameters chosen optimally. When 80% is the training set, 20% is the test set, then compared with PMF, Social MF, and SoReg, MAE has reduced 17%, 5.8%, 5.3% respectively and RMSE has reduced 21%, 13%, 4% respectively. When 90% is the training set, 10% is the test set, then compared with PMF, Social MF, and SoReg, MAE has reduced 16.2%, 4.1%, 3.7% respectively and RMSE has reduced 20.8%, 13.5%, 4.1% respectively. Therefore, taking into account the analyzed data, the proposed method has improved the recommendation accuracy.

  2. (2)

    With the increase of latent factors’ dimensions, the accuracy of recommendation has improved, but on the other hand, there may be fitting problems. Moreover, computational complexity has increased.

  3. (3)

    The probability matrix factorization of a user’s trust relationship matrix and an interest tag matrix can increase the prior information of user characteristics, so as to solve the problems of a cold start and new users in recommender systems to a large extent.

6 Conclusions and Further Works

With the status and importance of the personalized service in modern economics and social life, it is increasingly prominent to accurately grasp the user’s real interests and requirements through user’s behavior. What is more, providing high quality personalized recommendation has become the current necessity. Taking into consideration a cold start and data sparseness problems in traditional CF method, we proposed STUIPMF model by integrating a social trust and user interest. We studied an implicit trust relationship between users and potential interest tags from the perspective of user rating. Next, we used PMF model to conduct MF of user ratings information, users trust relationship, and user interest tag information. In result, we analyzed the user characteristics to use data and generate more accurate recommendations. Our proposed method was verified with the use of an experiment based on representative data. The results showed that STUIPMF can improve the recommendation accuracy, make a cold-start easier and solve new user problems to some extent. Meanwhile, it occurred that the STUIPMF approach also has good scalability.

However, our research has revealed many challenges for further study. Take for example, the value \( \lambda \) we used in the model is the approximate optimal value, thus we will determine the optimal value \( \lambda \) and dynamic value changes to improve accuracy of recommendation. In the further research, we are going to verify the effects of the proposed algorithm for new users and for new items in detail. In addition, we will consider adding more information into the proposed model, e.g. text information, location information, time, etc., and pay more attention to the update of the user trust and interest. What is more, we will recognize a conjunction of the distrust relationship between users into the proposed model.