Which Recommender System Can Best 
Fit Social Learning Platforms? 
Soude Fazeli, PhD candidate, OUNL 
Babak Loni, TU Delft 
Dr. Hendrik Drachsler, OUNL 
Prof. dr. Peter Sloep, OUNL
Which Recommender System Can 
Best Fit Social Learning 
Platforms? 
Open Discovery Space (ODS) 
A socially-powered, multilingual 
open learning infrastructure 
in Europe 
Pagina 2 
Recommendations! 
Which recommender approach best fits ODS platform?
Recommender algorithms 
1. Content-based 2. Collaborative filtering 
Pagina 3 
✓
Pagina 4 
Sparsity! 
Similarity
Learning domain has its own data, limitations, and 
expectations 
• Too sparse data 
• Too few 5-star ratings 
• Often no proper tags and annotations 
• Can not use only popular reference datasets like MovieLens, Netflix, etc. 
Pagina 5 
Dataset 
Users 
Learning 
objects 
Transactions 
Sparsity 
(%) 
MACE 105 5,696 23,032 99.71 
OpenScout 331 1,568 2,560 99.51 
MovieLens 
941 1,512 96,719 93.69 
100k
RQ: How to generate more accurate and thus 
more relevant recommendations for the users in 
social learning platforms by employing graph-based 
Pagina 6 
methods?
A graph-based recommender system 
• Implicit networks: a graph 
– Nodes: users 
– Edges: similarity relationships 
– Weights: similarity values 
• Improve the process of finding nearest 
neighbors 
– Social Index (S-index) for each user 
– H-index: the impact of publications of an 
Pagina 7 
author
Creating the graph 
Pagina 8 
Algorithm 1 Computing S-index for user u 
upon event (COMPUTE S-INDEX| u, NeighborsList) 
SortedNeighborsList SortDescendingBySimilarityScore(NeighborsList); 
FinalNeighborsList Normalize(SortedNeighborsList,MaximumSindex); 
Sindex 0; 
for ( similarityScore(u,n); n in FinalNeighborsList) do 
if Sindex <= similairtyScore then 
Sindex= Sindex+1; 
else 
Break; 
end if 
end for 
updateSindex(Sindex); 
end event
Indegree (ua) = 7 
Indegree (ub) = 5 
S-index (ua ) = 2 
S-index (ub ) = 4 
Onderwerp via >Beeld >Koptekst en voettekst 
Pagina 9
Collecting recommendations 
Pagina 10 
G(V,E) = CreateSocialGraph(); // V contains users 
// E contains similarity relations between users 
for all uV do 
ComputeSindex(u, N); // N contains users who have user u as their neighbor 
G(V,E′) BFS(u, G(V,E)); // E  E′ where E′ contains: 
// 1. explicit similarity relations (u,n) E and 
// 2. new inferred relations (u, n′) 
TopItems CollectRecommendations(u, G(V, E′)); 
UpdateSindex(u,N’); // N’ contains new neighbors found 
UpdateSocialGraph(); 
end for
Experimental study 
1. The method 
Pagina 11 
First$step$ Third$step$ 
Memory'based, 
CFs, 
Model'based,CFs, 
User'based, 
Item'based, 
Jaccard,kNN, 
Loglikelihood, 
kNN, 
Euclidean,kNN, 
MostPopular, 
BPRMF,, 
BPRSLIM, 
Best'performing, 
memory'based, 
CF, 
Graph'based,CF, 
Best'performing, 
model'based,CF, 
UB1$ 
UB2$ 
UB3$ 
IB1$ 
IB2$ 
IB3$ 
Final$comparison$ 
Second$step$
Experimental study 
2. Data 
1. The datasets contain social data of users such as ratings, tags, reviews, etc. on 
Pagina 12 
learning resources. So, their structure, content and target users are quite similar 
to the ODS dataset. 
2. Running recommender algorithms on these datasets enables us to conduct an 
offline experiment for studying the recommender algorithms before going online 
with the actual users of the ODS. 
3. Both MACE and OpenScout datasets comply with the CAM (Context Automated 
Metadata) format. CAM is also applied in the ODS project for storing the social 
data. 
Dataset Users Learning 
objects 
Transactions 
Sparsity 
(%) 
MACE 105 5,696 23,032 99.71 
OpenScout 331 1,568 2,560 99.51 
MovieLens 941 1,512 96,719 93.69
Experimental study 
3. Results 
3.1. Memory-based CFs 
X-axis: Size of neighbors 
Y-axis: F1@10 
Pagina 13 
OpenScout MACE MovieLens
Experimental study 
3. Results 
3.2. Model-based CFs 
0.2 
0.18 
0.16 
0.14 
0.12 
0.1 
0.08 
0.06 
0.04 
0.02 
0 
MACE OpenScout MovieLens 
F1@10% 
Datasets% 
BPRMF 
BPRSLIM 
MostPopular 
Pagina 14
Experimental study 
3. Results 
3.3. Final step 
Pagina 15 
0.3 
0.25 
0.2 
10% 
F1@0.15 
0.1 
0.05 
0 
MACE OpenScout MovieLens Datasets% 
Memorybased 
Modelbased 
Graphbased
Conclusion 
• The aim is to support users of social learning 
platforms in finding relevant resources 
• Graph-based recommender systems can help to 
deal with sparsity problem in educational domain 
Pagina 16
Ongoing and Further work 
• The graph-based recommender already has been integrated with 
ODS platform 
• Using trust relationships 
– Explicit vs implicit trust relations (accepted paper at 
Pagina 17 
#RecSys2015 in Silicon Valley, US, Oct. 2014) 
• User study (November- December 2014) to evaluate user 
satisfaction 
– Novelty, serendipity, diversity: very important for learning 
domain
Many thanks to the FIT Fraunhofer Institute, especially Dr. Martin 
Wolpers and Katja Niemann, for providing us with both the MACE 
and OpenScout datasets on a short notice. Without their support, 
this study would not have been possible. 
Onderwerp via Beeld Koptekst en voettekst 
Pagina 18
soude.fazeli[at]ou[dot]nl 
Pagina 19 
@SoudeFazeli

Presentation on "Recommenders in Social Learning Platforms" at #iknow2014 & #ECTEL2014 in Graz, Sep. 2014

  • 1.
    Which Recommender SystemCan Best Fit Social Learning Platforms? Soude Fazeli, PhD candidate, OUNL Babak Loni, TU Delft Dr. Hendrik Drachsler, OUNL Prof. dr. Peter Sloep, OUNL
  • 2.
    Which Recommender SystemCan Best Fit Social Learning Platforms? Open Discovery Space (ODS) A socially-powered, multilingual open learning infrastructure in Europe Pagina 2 Recommendations! Which recommender approach best fits ODS platform?
  • 3.
    Recommender algorithms 1.Content-based 2. Collaborative filtering Pagina 3 ✓
  • 4.
    Pagina 4 Sparsity! Similarity
  • 5.
    Learning domain hasits own data, limitations, and expectations • Too sparse data • Too few 5-star ratings • Often no proper tags and annotations • Can not use only popular reference datasets like MovieLens, Netflix, etc. Pagina 5 Dataset Users Learning objects Transactions Sparsity (%) MACE 105 5,696 23,032 99.71 OpenScout 331 1,568 2,560 99.51 MovieLens 941 1,512 96,719 93.69 100k
  • 6.
    RQ: How togenerate more accurate and thus more relevant recommendations for the users in social learning platforms by employing graph-based Pagina 6 methods?
  • 7.
    A graph-based recommendersystem • Implicit networks: a graph – Nodes: users – Edges: similarity relationships – Weights: similarity values • Improve the process of finding nearest neighbors – Social Index (S-index) for each user – H-index: the impact of publications of an Pagina 7 author
  • 8.
    Creating the graph Pagina 8 Algorithm 1 Computing S-index for user u upon event (COMPUTE S-INDEX| u, NeighborsList) SortedNeighborsList SortDescendingBySimilarityScore(NeighborsList); FinalNeighborsList Normalize(SortedNeighborsList,MaximumSindex); Sindex 0; for ( similarityScore(u,n); n in FinalNeighborsList) do if Sindex <= similairtyScore then Sindex= Sindex+1; else Break; end if end for updateSindex(Sindex); end event
  • 9.
    Indegree (ua) =7 Indegree (ub) = 5 S-index (ua ) = 2 S-index (ub ) = 4 Onderwerp via >Beeld >Koptekst en voettekst Pagina 9
  • 10.
    Collecting recommendations Pagina10 G(V,E) = CreateSocialGraph(); // V contains users // E contains similarity relations between users for all uV do ComputeSindex(u, N); // N contains users who have user u as their neighbor G(V,E′) BFS(u, G(V,E)); // E E′ where E′ contains: // 1. explicit similarity relations (u,n) E and // 2. new inferred relations (u, n′) TopItems CollectRecommendations(u, G(V, E′)); UpdateSindex(u,N’); // N’ contains new neighbors found UpdateSocialGraph(); end for
  • 11.
    Experimental study 1.The method Pagina 11 First$step$ Third$step$ Memory'based, CFs, Model'based,CFs, User'based, Item'based, Jaccard,kNN, Loglikelihood, kNN, Euclidean,kNN, MostPopular, BPRMF,, BPRSLIM, Best'performing, memory'based, CF, Graph'based,CF, Best'performing, model'based,CF, UB1$ UB2$ UB3$ IB1$ IB2$ IB3$ Final$comparison$ Second$step$
  • 12.
    Experimental study 2.Data 1. The datasets contain social data of users such as ratings, tags, reviews, etc. on Pagina 12 learning resources. So, their structure, content and target users are quite similar to the ODS dataset. 2. Running recommender algorithms on these datasets enables us to conduct an offline experiment for studying the recommender algorithms before going online with the actual users of the ODS. 3. Both MACE and OpenScout datasets comply with the CAM (Context Automated Metadata) format. CAM is also applied in the ODS project for storing the social data. Dataset Users Learning objects Transactions Sparsity (%) MACE 105 5,696 23,032 99.71 OpenScout 331 1,568 2,560 99.51 MovieLens 941 1,512 96,719 93.69
  • 13.
    Experimental study 3.Results 3.1. Memory-based CFs X-axis: Size of neighbors Y-axis: F1@10 Pagina 13 OpenScout MACE MovieLens
  • 14.
    Experimental study 3.Results 3.2. Model-based CFs 0.2 0.18 0.16 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 MACE OpenScout MovieLens F1@10% Datasets% BPRMF BPRSLIM MostPopular Pagina 14
  • 15.
    Experimental study 3.Results 3.3. Final step Pagina 15 0.3 0.25 0.2 10% F1@0.15 0.1 0.05 0 MACE OpenScout MovieLens Datasets% Memorybased Modelbased Graphbased
  • 16.
    Conclusion • Theaim is to support users of social learning platforms in finding relevant resources • Graph-based recommender systems can help to deal with sparsity problem in educational domain Pagina 16
  • 17.
    Ongoing and Furtherwork • The graph-based recommender already has been integrated with ODS platform • Using trust relationships – Explicit vs implicit trust relations (accepted paper at Pagina 17 #RecSys2015 in Silicon Valley, US, Oct. 2014) • User study (November- December 2014) to evaluate user satisfaction – Novelty, serendipity, diversity: very important for learning domain
  • 18.
    Many thanks tothe FIT Fraunhofer Institute, especially Dr. Martin Wolpers and Katja Niemann, for providing us with both the MACE and OpenScout datasets on a short notice. Without their support, this study would not have been possible. Onderwerp via Beeld Koptekst en voettekst Pagina 18
  • 19.