ABCPRec: Adaptively Bridging Consumer and Producer Roles
for User-Generated Content Recommendation
Kosetsu Tsukuda, Satoru Fukayama, Masataka Goto
National Institute of Advanced Industrial Science and Technology (AIST), Japan{k.tsukuda,s.fukayama,m.goto}@aist.go.jp

ABSTRACTIn Web services dealing with user-generated content (UGC), a user
can have two roles: a role of a consumer and that of a producer.
Since most item recommendation models have only considered
the role of a user as a consumer, how to leverage the two roles toimprove UGC recommendation accuracy has been underexplored.
In this paper, based on the state-of-the-art UGC recommendation
method called CPRec (consumer and producer based recommendation), we propose ABCPRec (adaptively bridging CPRec). Unlike
CPRec, which assumes that the two roles of a user are always related to each other, ABCPRec adaptively bridges the two roles according to the similarity between her nature as a consumer andthat as a producer. This enables the model to learn each user’s
characteristics as both a consumer and a producer and to recommend items to each user more accurately. By using two real-world
datasets, we showed that our proposed method significantly outperformed comparative methods in terms of AUC.

1

INTRODUCTION

User-generated content (UGC) is content created or produced byordinary people rather than by professionals and distributed on
the Web. Various types of UGC (videos, photos, discussion forums,etc.) exist on various Web services such as YouTube, Flickr, andReddit. One characteristic of UGC is its fast content production
rate compared to that of non-UGC [3]. Hence, item recommendation in UGC services is critical for helping users find their desired
content in a large amount of available content. Another characteristic is the role of a user in UGC services. Unlike with traditional
non-UGC services, a user can have two roles: a consumer and a
producer. Users not only consume content but are also willing to
produce content because, for example, they want to show theircontent to other users by sharing it on UGC services [10].
In consideration of such characteristics, Kang and McAuley [6]have recently proposed a UGC recommendation method called
CPRec (consumer and producer based recommendation), whichuses matrix factorization. In CPRec, each user has two vectors corresponding to two roles: consumer and producer. These vectors are
created by linearly converting the user’s core vector, which represents a kind of personality. The preference of the user toward an

item is computed based on the affinity between her and the item
and the affinity between her and the producer of the item (see Section 2.2 for more details). Using UGC datasets, it has been shownthat CPRec outperforms state-of-the-art methods [6].
Despite the effectiveness of CPRec, the user’s consumer vector and producer vector are always bridged to the user’s core vector; this decreases model’s flexibility. For example, in CPRec, users
who have same consumer vectors also have same producer vectors.
However, in reality, even if two users are similar as consumers,
they are not always similar as producers. More details of the problem will be described in Section 2.3.
In this paper, to overcome the limitations of CPRec, we propose
ABCPRec (adaptively bridging CPRec). In ABCPRec, the user also
has two vectors: a vector for the consumer role and that for the
producer role. To make the model flexible, these vectors are notcreated from the core vector (i.e., the user does not have a core vector). Instead, we put the following constraint between two vectors:
if the user’s nature as a consumer is similar to that as a producer,
the two vectors should be close. The more similar these natures are,the closer the vectors should be. If the user’s nature as a consumer
is completely different from that as a producer, the two vectors canhave values independently of each other. That is, unlike CPRec,
which always bridges the user’s two vectors via her core vector, in
ABCPRec, the two vectors are adaptively bridged according to thesimilarities between the consumer and the producer roles.
We evaluated ABCPRec on two publicly available datasets. The
experimental results showed that ABCPRec could improve UGC
recommendation performance compared to the state-of-the-art
methods. More specifically, we showed that it was effective (1)to increase model’s flexibility by eliminating the core vector from
CPRec and (2) to adaptively add a constraint according to the similarity between the user’s consumer and producer roles, which iscomputed based on the items produced and consumed by the user.

2 MODELIn this section, we first introduce CPRec [6], which is the state-ofthe-art method for UGC recommendations. We then describe thelimitations of CPRec and propose our model to overcome them.

2.1
Permission to make digital or hard copies of all or part of this work for personal orclassroom use is granted without fee provided that copies are not made or distributedfor profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than
the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specificpermission and/or a fee. Request permissions from permissions@acm.org.
SIGIR ’19, July 21–25, 2019, Paris, France© 2019 Copyright held by the owner/author(s). Publication rights licensed to ACM.
ACM ISBN 978-1-4503-6172-9/19/07. . . $15.00
https://doi.org/10.1145/3331184.3331335

Problem Description and Notation

Let U and I denote sets of users and items, respectively. Iu+ represents a set of items consumed by user u ∈ U. In addition, let
C ⊆ U denotea set of consumers} who consumed at least one item{
(i.e., C = u | u ∈ U ∧ Iu+ > 0 ). In UGC services, all items are
created by users; therefore, a set of producers who have produced
at least one item can be defined as P ⊆ U. Using the above data,
our goal is to generate a personalized ranked list of items for eachuser u from I \Iu+ , which is a set of items that u has not consumed.

2.2

CPRec

To achieve this goal, Kang and McAuley [6] proposed a method
called CPRec. In CPRec, each user has a K-dimensional core latentp
vector γu . Each user also has latent vectors γuc and γu that represent u’s roles as a consumer and a producer, respectively. These
vectors are created based on γu as follows:
γuc = W c γu ,p

γu = W p γu ,(1)where W c and W p are K × K matrices; they are used to project u’spcore vector to γuc and γu . Note that both W c and W p are shared
among all users. The preference of user u toward item i is thencomputed as follows.
p

xbui = α + βu + βi + ⟨γuc , γi ⟩ + ⟨γuc , γpi ⟩,(2)where α is the global offset, βu and βi are the user/item bias terms,
γi is a K-dimensional latent vector of i, and pi is a producer of i.
Unlike most of the non-UGC recommendation models that consider users’ role as consumers only [2], CPRec predicts the preference based on the affinity between the consumer and the prop
ducer of the item (⟨γuc , γpi ⟩) in addition to the affinity between
the consumer and the item (⟨γuc , γi ⟩). The parameters are learned
based on Bayesian Personalized Ranking (BPR) [9], which is a pairwise ranking optimization framework and is designed to deal withusers’ implicit consumption behaviors such as giving a “like” andposting a comment rather than explicit ones such as rating.

2.3

ABCPRec

In CPRec, due to the assumption that each user has a core vector,pγuc and γu are always bridged to γu via W c and W p ; this leads
to drawbacks in terms of flexibility. In their model, as the valuesof W c and W p are determined through parameter learning, bothmatrices have their inverse matrices with overwhelming probap
bility. This means that γuc almost always converts linearly to γup(i.e., γu = W p (W c )−1 γuc ). In addition, because W c and W p areshared among all users, those users who have the same consumer
vectors also have the same producer vectors. However, it is lessreasonable because, in reality, even if two users are similar as consumers, they are not always similar as producers. The same can besaid when they have the same producer vectors. Because of such
limitations, vectors may not have appropriate values through parameter learning. To overcome such drawbacks, we propose a new
preference prediction method called ABCPRec (adaptively bridging CPRec).
2.3.1 Score Prediction. In ABCPRec, user u also has Kp
dimensional latent vectors νuc and νu that correspond to u’s
two roles (consumer and producer). Unlike CPRec, u does nothave a core vector, and there is no linear relationship between νucpand νu ; this guarantees flexibility of the model. The preference
score xbui is computed as follows:p

xbui = α + βu + βi + ⟨νuc , γi ⟩ + ⟨νuc , νpi ⟩,(3)which is almost identical to Eq. 2 except for the vector representation.
2.3.2 Prameter Learning with Adaptive Bridging. We adopt a BPR
framework [9] to learn parameters. In BPR, the training set D used
for optimizing parameters is defined as follows:
D = {(u, i, j) | u ∈ U ∧ i ∈ Iu+ ∧ j ∈ I \ Iu+ }.

(4)

That is, a triad (u, i, j) means that user u prefers item i to item j. In
BPR, the optimization criterion for D is given by:∑
ln σ (bxui j ) − λ Θ ∥Θ∥ 2,(5)(u,i,j)∈ D
pwhere σ is the sigmoid function, Θ = {βi , γi , νuc , νu } represents
all model parameters, and λ Θ is a regularization hyperparameter.
The xbui j represents the difference between u’s preference for i andthat for j, which is defined as xbui j = xbui − xbu j . In Eq. 5, there ispno constraint between νuc and νu . In general, with the increase of
the model complexity (i.e., the number of parameters), the risk ofmodel over-fitting also increases. Hence, it may not be effective
enough to increase model’s complexity just by eliminating core
vectors from CPRec. In order for our model to learn parameters
more appropriately, we add more realistic constraints. To this end,
we assume that if u’s nature as a consumer is similar to that aspa producer, νuc and νu should also be close. In other words, thepmore similar u’s two natures are, the closer νuc and νu should be.
That is, a constraint should be adaptively added between νuc andpνu according to the similarity. Based on this idea, we revise Eq. 5
and propose a new optimization criterion as follows:∑∑p
ln σ (bxui j ) − λ Θ ∥Θ∥ 2 − λssim(u)∥νuc − νu ∥ 2, (6)(u,i,j)∈ D

u ∈U

where λs is a regularization hyperparameter and sim(u) is the similarity function. A large value of sim(u) indicates that the distancep
between νuc and νu should be smaller; this guarantees the adaptivity of the model.
2.3.3 Similarity Function. To compute sim(u), we propose the following two hypotheses:
Hypothesis 1 (H1): if users who like items consumed by u alsopconsume items produced by u, νuc and νu should be similar.
Hypothesis 2 (H2): if users who like items produced by u alsopconsume items consumed by u, νuc and νu should be similar.
The first hypothesis focuses more on u’s consumed items while thepsecond one focuses more on u’s produced items. Let Uuc and Uu
denote the users who consumed at least one item consumed andproduced by u, respectively. We assume Uuc represents the set ofpusers who like items consumed by u and Uu represents the set ofusers who like items produced by u. Hence, the similarity function
reflecting H1 is given by:psim(u) = |Uuc ∩ Uu |/|Uuc |,(7)

while the similarity function based on H2 is given by:ppsim(u) = |Uuc ∩ Uu |/|Uu |.

3(8)

EXPERIMENTS

In this section, we answer the following three research questions
through our experiments:
RQ1 To improve the model, is it appropriate to eliminate users’core vectors in CPRec that cause the loss of model flexibility?
RQ2 Is it effective to adaptively add constraints between νuc andpνu according to the similarity between the user’s two roles?
RQ3 If RQ2 is true, which hypothesis introduced in Section 2.3.3
is more effective for computing the similarity?

• CPRec [6]: this is the state-of-the-art method for UGC recommendations. The details can be seen in Section 2.2.
• NBCPRec: this method does not put a constraint between νucpand νu . That is, the preference score is computed by Eq. 3 andthe optimization criterion is given by Eq. 5. NBCPRec meansno-bridging CPRec.
Regarding our proposed model, models computing similarity with
Eq. 7 and 8 are called ABCPRecH1 and ABCPRecH2 , respectively.

Table 1: Dataset statistics.
#users (|U|)#items (|I|)∑
Sum of consumed items ( u |Iu+ |)Consumer ratio (|C|/|U|)
Producer ratio (|P |/|U|)
Prosumer ratio (|C ∩ P |/|U|)

Flickr
99,060557,286
11,256,457
99.83%
40.82%
40.65%

Reddit52,654
336,743
1,786,032
99.60%
87.24%
86.85%

3.1 Dataset

3.3

We used two publicly available datasets of UGC services.
• Flickr is a photo sharing service where users can share theirpersonal photos. Users can mark other users’ photos as “favorite.” We use the dataset released by Cha et al. [4], which was
crawled in 2006 and 2007. We regard the “favorite” action as
consumption. Each photo is produced by a single user.
• Reddit is an online community where users can discuss various
things using a bulletin board style interface. Users can submit
textual content or links to the web content such as news articles.
Users can also post comments on submitted content. We use thedataset released by Reddit1 , which consists of all submissions
and comments in March 2017. We regard each submission andcommenting action as an item and consumption, respectively.
Each submission is produced by a single user.
Following Kang and McAuley [6], users who consumed or produced fewer than 10 items and items consumed by fewer than 10
users are discarded. Table 1 shows the dataset statistics. In thetable, a “prosumer” means a user who produced and consumed
items. As can be seen, although the consumer ratios are almost thesame in both datasets, the producer ratio and the prosumer ratioon Flickr are much lower than those on Reddit.

For each user, we split Iu+ into training/validation/test sets. To thisend, we randomly select one consumed item (i.e., i ∈ Iu+ ) for validation Vu and another for testing Tu . All the remaining items areused for training Ru . We carry out this random selection independently five times and report the average results in Section 3.4. Fora fair comparison, the same five training/validation/test sets areused for all methods. The recommendation performance is evaluated by the AUC (Area Under the ROC Curve):
∑
(
)
1 ∑ 1
δ xbui > xbu j ,
(12)
AUC =
|U|
|Du |

3.2

Comparisons

As is the case with Kang and McAuley [6], we use the following
baseline methods2 .
• PopRec: this method is not personalized and ranks items according to their popularity.
• BPR [9]: this method considers only the consumer-item preference. The preference score is computed by:
xbui = α + βu + βi + ⟨νuc , γi ⟩.

(9)• Vista [5]: in this method, each user has two latent vectors νuc
and φu . The xbui is then given by:
xbui = ⟨νuc , γi ⟩ + ⟨φu , φpi ⟩.

(10)

That is, this method uses different vectors for computing u’s
affinity with i and u’s affinity with pi .
• Factorization Machines (FMs) [8]: this method can deal withinteractions between consumers, producers, and items. We use
the second-order estimator of FMs as follows:pp

xbui = α + βu + βi + βpi + ⟨νuc , γi ⟩ + ⟨νuc , νpi ⟩ + ⟨γi , νpi ⟩. (11)Note that in these baselines, there is no constraint between vectors.
We also use the following comparative methods.
1 https://www.reddit.com/comments/6607j2
2 As mentioned by Kang and McAuley [6], since social network of users is not al-ways available on UGC services, we also do not use socially-aware methods suchas SBPR [11] for comparison. Rather, in our experiments, we focus more on how toleverage users’ two roles to improve UGC recommendations.

Evaluation Methodologyu ∈U(i,j)∈ Du

where Du = {(i, j) | i ∈ Tu ∧ j ∈ I \ Iu+ }, and δ (a) is 1 when a istrue and 0 otherwise. For all methods, we use Tensorflow [1] with
Adam optimizer [7] to learn model parameters. The regularization
hyperparameters are tuned on a validation set in terms of the AUC,
where the hyperparameters are selected from {0.0001, 0.001, 0.01,
0.1, 1}. We set the learning rate to 0.01.

3.4

Experimental Results

Table 2 shows the comparative results for latent dimensionality
K = 20, 50, and 80 with the results of Tukey’s HSD test. It canbe observed that even NBCPRec, which has no constraint betweenpνuc and νu , significantly outperforms CPRec in both datasets. According to these results, the answer to RQ1 is that eliminating core
vectors from CPRec is certainly effective for improving UGC recommendation performance. We can also see that ABCPRecH1 and
ABCPRecH2 demonstrated better performance than CPRec and
NBCPRec. These results confirm the effectiveness of adaptivelypbridging νuc and νu rather than always bridging roles (CPRec) andnot bridging roles at all (NBCPRec); this is the answer to our RQ2.
Because ABCPRecH2 outperforms ABCPRecH1 in both datasetsat all Ks, the following answer to our RQ3 can be given: when
we compute similarities between the user’s nature as a consumer
and that as a producer, H2 (which focuses more on the user’s produced items) is more effective. To analyze why H2 is better thanH1, we show in Table 3 the distribution of similarity scores computed by each hypothesis. In both datasets, the ratio of users whophave no constraints between νuc and νu (i.e., sim(u) = 0) is almost
the same in both hypotheses. However, in H1, most of the remaining users have 0 < sim(u) ≤ 0.1; while in H2, they are moderately dispersed in 0 < sim(u) ≤ 1.0 on Flickr, and most of them
have 0.9 < sim(u) ≤ 1.0 on Reddit. Hence, stronger constraintsp
between νuc and νu were appropriately added in H2, which led tobetter performance. We also analyze similarities in users’ tastes forpitems in Uuc and Uu . To this end, for arbitrary user pairs in Uuc ,we count the number of items consumed by both users. Higher values indicate that both users have similar tastes for the consumed

Table 2: Performance comparison in terms of the AUC for latent dimensionality K = 20, 50, and 80. Significant differences(α = 0.01) with PopRec, BPR, Vista, FMs, CPRec, NBCPRec, and ABCPRecH1 are indicated by †, ‡, ∗, ⋆, ♣, ♢, and ♠, respectively.
DatasetFlickrReddit

K
20
50
80
20
50
80

PopRec0.67370.67370.67370.63920.63920.6392BPR
0.86980.87720.87770.87130.87210.8709Vista
0.8436
0.84350.83940.88290.89180.8946

FMs
0.87640.88220.88100.89600.89990.9001CPRec
0.85630.86640.87120.91380.92010.9211

Table 3: Distribution of sim(u).

sim(u) = 0
0 < sim(u) ≤ 0.1
0.1 < sim(u) ≤ 0.2
0.2 < sim(u) ≤ 0.3
0.3 < sim(u) ≤ 0.4
0.4 < sim(u) ≤ 0.5
0.5 < sim(u) ≤ 0.6
0.6 < sim(u) ≤ 0.7
0.7 < sim(u) ≤ 0.8
0.8 < sim(u) ≤ 0.9
0.9 < sim(u) ≤ 1.0

H1
Flickr Reddit
62.70% 13.77%
36.46% 47.34%
0.54% 10.68%
0.08%
6.54%
0.02%
4.39%
0.01%
2.93%
0.0%
2.93%
0.0%
2.2%
0.0%
1.63%
0.0%
1.33%
0.17%
6.25%

H2
Flickr Reddit
62.87% 14.17%
2.93%
0.82%
4.92%
1.79%
5.25%
2.67%
4.78%
2.97%
4.53%
2.76%
4.71%
5.56%
4.07%
6.21%
3.21%
6.79%
2.02%
9.68%
0.72% 46.59%

items. We did this process for all users’ Uuc . The same goes forp
Uu . Fig. 1 shows the distribution of the user pair ratio on Reddit. In Uuc , almost half of the user pairs do not consume the samepitems at all. In Uu , the ratios of user pairs with ≥ 2 (which meansthat both users have relatively high similarity in taste) are always
higher than those in Uuc , and as many as 14.06% of the user pairs
consumed more than 10 of the same items. A similar tendency was
found on Flickr. These results indicate that users in Uuc are more dip
verse in terms of item tastes while users in Uu have similar tastes.
pThat is why H2, which focuses more on Uu , was able to add morereliable constraints and outperform H1.
Finally, Fig. 2 plots the transition of the AUC for all methods except PopRec. It can be observed that ABCPRecH2 achieved the best
performance for any K in both datasets. Its performance is almost
saturated when K is 80 on Flickr and 60 on Reddit. FMs is similar to
NBCPRec in that FMs also considers the affinity between the consumer and the item and the affinity between the consumer and thepitem’s producer without bridging νuc and νu . However, NBCPRec
always outperforms FMs. This result indicates that it is not effective to consider the affinity between an item and its producerp(⟨γi , νpi ⟩ in Eq. 11) for UGC recommendations. As mentioned in
Section 3.1, the producer ratio and prosumer ratio on Flickr are relatively low. In such a dataset, the performance of CPRec is below
the baselines (BPR and FMs). On the other hand, our model works
well in both datasets; this shows the versatility of our model.

4

CONCLUSION

This paper proposed a method that considers two user roles andadaptively bridges them according to the similarity between theuser’s nature as a consumer and that as a producer. The experimental results showed the effectiveness of our method, especiallywhen the user’s similarity was computed with a focus on users

NBCPRec
0.8839 †‡∗⋆♣
0.8937 †‡∗⋆♣
0.8955 †‡∗⋆♣
0.9209 †‡∗⋆♣
0.9302 †‡∗⋆♣
0.9322 †‡∗⋆♣ABCPRecH1
0.8861 †‡∗⋆♣
0.8949 †‡∗⋆♣
0.8988 †‡∗⋆♣
0.9296 †‡∗⋆♣♢
0.9346 †‡∗⋆♣♢
0.9376 †‡∗⋆♣♢

50%

ABCPRecH2
0.8900 †‡∗⋆♣♢
0.8992 †‡∗⋆♣♢♠
0.9028 †‡∗⋆♣♢
0.9340 †‡∗⋆♣♢♠
0.9391 †‡∗⋆♣♢♠
0.9408 †‡∗⋆♣♢♠

1

40%

2

30%
20%
10%
0%

0

1

2

3

4

5

6

7

8

9

10

> 10

Figure 1: Distribution of user pair ratio in Reddit. (x-axis:
the number of items consumed by both users in a user pair)
BPR

Vista

FMs

CPRec

NBCPRec

Flickr

0.905

ABCPRecH2

Reddit

0.945

0.895

0.925

0.885

0.905

0.875
0.865

0.885

0.855
0.845

ABCPRecH1

10

20

30

40

50

60

70

80

90

100

0.865

10

20

30

40

50

60

70

80

90

100

Figure 2: Transition of the AUC associated with latent dimensionality K. (x-axis: K, y-axis: AUC)
who like items produced by the user. As future work, using visualfeatures (e.g., colors) and textual features (e.g., tags) of items produced and consumed by the same user is another possible approachto compute similarity between the user’s two roles. We also plan
to extend our method by adding constraints, for example, on thesimilarity between two users in terms of their producer roles.
[Acknowledgments] This work was supported by JSPS KAKENHI Grant
Number 17K12688 and JST ACCEL Grant Number JPMJAC1602, Japan.

REFERENCES[1] M. Abadi et al. Tensorflow: A system for large-scale machine learning. In OSDI,
pages 265–283, 2016.
[2] J. Bobadilla et al. Recommender systems survey. Knowledge-Based Systems,
46:109–132, 2013.
[3] M. Cha et al. I tube, you tube, everybody tubes: analyzing the world’s largest
user generated content video system. In IMC, pages 1–14, 2007.
[4] M. Cha et al. A measurement-driven analysis of information propagation in the
flickr social network. In WWW, pages 721–730, 2009.
[5] R. He et al. Vista: A visually, socially, and temporally-aware model for artistic
recommendation. In RecSys, pages 309–316, 2016.
[6] W. C. Kang and J. McAuley. Learning consumer and producer embeddings foruser-generated content recommendation. In RecSys, pages 407–411, 2018.
[7] D. P. Kingma and J. Ba. Adam: A method for stochastic optimization. In ICLR,
2015.
[8] S. Rendle. Factorization machines. In ICDM, pages 995–1000, 2010.
[9] S. Rendle et al. BPR: Bayesian personalized ranking from implicit feedback. In
UAI, pages 452–461, 2009.
[10] A. Wilson et al. Hospitality and travel: The nature and implications of usergenerated content. Cornell Hospitality Quarterly, 53(3):220–228, 2012.
[11] T. Zhao et al. Leveraging social connections to improve personalized ranking
for collaborative filtering. In CIKM, pages 261–270, 2014.