Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Hector: Current Interests
• Information Integration• Information Privacy & Security• Web Information• Peer-to-Peer/Distributed Systems• Managing Bio-Diversity Information• Social Networks
CourseRank
• The System• The Research
2
3
CourseRankResearch
Hector Garcia-Molinawith Benjamin Bercovitz, Filip Kaliszan,
Georgia Koutrika, Robert Ikeda, Henry Liou
Stanford University
4
CourseRank Features
• Rich data• Collaboration with University• User identities, closed system• We can modify & experiment!
5
CourseRank Challenges
• “Rich” Recommendations• Academic requirements• Question/answer forums• Social issues• Privacy• ...
Focus on Two Components
• Course Requirements• Flexible Recommendations
Course Requirements
• Checking Requirements• Recommendations Under Requirements
7
Example
• R1: Take 1 from {a, p}• R2: Take 2 from {p, d, i}• R3: Take 1 from {i,o}
8
Example
• R1: Take 1 from {a, p}• R2: Take 2 from {p, d, i}• R3: Take 1 from {i,o}
9
• Alice has taken: {a, p, i, o}• Bob has taken {p, d, o}
Example
• R1: Take 1 from {a, p}• R2: Take 2 from {p, d, i}• R3: Take 1 from {i,o}
10
• Alice has taken: {a, p, i, o}• Bob has taken {p, d, o}
Satisfied!
Example
• R1: Take 1 from {a, p}• R2: Take 2 from {p, d, i}• R3: Take 1 from {i,o}
11
• Alice has taken: {a, p, i, o}• Bob has taken {p, d, o} NOT Satisfied!
??
Checking
12
a
p
i
o
R1
R2
R3
12
1
1
11
11
1
11
11
• Alice has taken: {a, p, i, o}
Checking
13
a
p
i
o
R1
R2
R3
12
1
1
11
11
1
11
11
• Alice has taken: {a, p, i, o}
total flow =4,success!
Checking
14
p
d
o
R1
R2
R3
12
1
1
11
1
1
11
• Bob has taken: {p, d, o}
Checking
15
p
d
o
R1
R2
R3
12
1
1
11
1
1
11
• Bob has taken: {p, d, o}
total flow =3,failure!
Recommendations
16
p
d
o
R1
R2
R3
12
1
1
11
1
1
11
a
i
11
1 11
classes takenby Bob
classes NOTtaken by Bob
Recommendations
17
p
d
o
R1
R2
R3
12
1
1
11
1
1
11
a
i
11[1]
1[1] 11
classes takenby Bob
classes NOTtaken by Bob
Recommendations
18
p
d
o
R1
R2
R3
12
1
1
11
1
1
11
a
i
111
classes takenby Bob
classes NOTtaken by Bob
Course i recommended to Bob
1[1]
1[1]
Recommendations
19
p
d
o
R1
R2
R3
12
1
1
11
1
1
11
a
i
111
classes takenby Bob
classes NOTtaken by Bob
Course i recommended to Bob
1[0.9]
1[0.5]costs can beinverse“desirability”
Additional Features
• Preference scores for courses• Units requirements• Forbidden pairs
– Example: Take 3 from {a, b, c, d, e, f, g};forbidden: {(a,c), (d,e), (d,g)}
• and many more...
20
21
What and How to Recommend?
Courses
Students
Majors
Grades
History
Friends
Departments
Quarter
22
Interface: Meld Search/Recommend
• What are you looking for?• Recommend based on what?• Order results how?• Constraints?
23
Interface: Meld Search/Recommend
course
studentinstructor
major
Target:
quarter
24
Interface: Meld Search/Recommend
course
Target: Recommend based on:
Courses in Dept:
Course Keywords:
students (similar grades)students (similar tastes)
students (similar courses)course history
-
25
Interface: Meld Search/Recommend
course
Target: Recommend based on:
Courses in Dept:
Course Keywords:
students (similar tastes)
Students in Dept:
Students in Class:
26
Goalusers
recommendation engine
front end
data
admin
workflow
workflow
workflow
27
Goal: Recommendation Workflow
R R
students
me
courses
similarstudents
recommendedcourses
condition
parameters
parameters
condition
F
F
28
FlexRecs
identify[CID, History, Rating], weight_ave[Score]
inv_euclidean[History, CID, Rating]
suID ≠ Joeσ suID = Joeσ
Courses
ε
Students
History
{SuID, CID, Rating} π
29
Compare Example: Jaccard
11 C010 Art11 C020 Comp
EStudents
11 Joe
12 Sally
13 Fred
12 C010 Art12 C020 Comp12 C030 Bio
13 C010 Art13 C030 Bio
SueStudents
11 Sue11 C010 Art11 C020 Comp
Cjaccard[Courses]
SStudents11 Joe 1.0012 Sally 0.6613 Fred 0.33...
...
...
Courses
Score
30
Systems Issues
• How expensive• Impact of comparison functions• Scalability• Optimization
31
Experiments: Generation, Execution
• same workflow as in our running example
size of Students relation
32
Summary• CourseRank• Recommendations with Constraints• FlexRecs
33