Francesco Osborne, Enrico Motta KMi, The Open University, United Kingdom November 2014 Inferring Seman,c Rela,ons by User Feedback
Francesco Osborne, Enrico Motta
KMi, The Open University, United Kingdom
November 2014
Inferring(Seman,c(Rela,ons(by(User(Feedback((
Two$categories$with$common$problems…$
Ontology$Engineers$$$Recommender$System$experts$
Ontology$cra;ing$is$<me=consuming$and$calling$for$specialist$exper<se$
ontology'engineer' recommender'system'expert'
Ontologies$are$the$best.$ Wow,$let$me$play$with$them!$
Once(upon(a(,me…(
Content=based/hybrid$Recommender$Systems$
$
Feedback$
Recommenda<ons$
Background$Knowledge$
Algorithm$
Content=based/hybrid$Recommender$Systems$
$
Feedback$
Recommenda<ons$
Domain$Ontology$
Algorithm$
Easier$to$share$and$reuse$system$knowledge$
Two$categories$with$common$problems…$
Ontology$Engineers$$$Recommender$System$experts$
Ontology$cra;ing$is$<me=consuming$and$calling$for$specialist$exper<se$
ontology'engineer' recommender'system'expert'
Actually$ontology$cra;ing$is$a$long$process$and$we$need$domain$experts.$
And$a;er$all$this$$work$your$experts$do$not$even$agree$with$our$users.$We$need$to$do$it$again!$
But(soon(problems(arose…(
Two$categories$with$common$problems…$
Ontology$Engineers$$$Recommender$System$experts$
Ontology$cra;ing$is$<me=consuming$and$calling$for$specialist$exper<se$
ontology'engineer' recommender'system'expert'
Well$we$can$run$different$tests$and$use$the$version$that$maximize$accuracy….$
Also$we$just$added$400$new$items,$make$sure$they$are$described$in$the$ontology$by$tomorrow.$
But(soon(problems(arose…(
Two$categories$with$common$problems…$
Ontology$Engineers$$$Recommender$System$experts$
Ontology$cra;ing$is$<me=consuming$and$calling$for$specialist$exper<se$
ontology'engineer' recommender'system'expert'
I$quit!$ Ontologies$do$not$understand$us!$
But(soon(problems(arose…(
Problems$
1. Ontology$cra;ing$is$<me=consuming$and$calling$for$specialist$exper<se;$
2. A$domain$ontology$may$not$represent$accurately$the$viewpoint$of$the$targeted$user$community;$
3. Ontologies$tend$to$provide$rather$sta<c$models,$which$fail$to$keep$track$of$evolving$user$perspec<ves.$$
Solu<on$
Feedback$
Recommenda<ons$
Tailored$Domain$Ontology$
Algorithm$
Let’s$learn(and(enrich(the(ontology((from(user(feedbacks$
$
Advantages$• It$makes$the$crea<on/enrichment$of$ontologies$quicker(and(easier;$
• It$provides$a$useful(feedback(to$ontology$engineers;$
• The$ontologies$learnt/corrected$by$user$feedback$are$Personal$Ontology$Views,$tailored(on(a(specific(community;(
• The$ontology$will$be$able$to$evolve,$keeping$track$of$shi;ing$user$perspec<ves.$
$
Klink$
Klink$is$an$algorithm$designed$to$mine(seman,c(rela,onships(between(keywords.$It$was$developed$for$Rexplore,$a$tool$for$exploring$scholarly$data$and$can$be$used$to$augment$seman<cally$a$variety$of$data$mining$algorithm.$
(
A(Hybrid(Seman,c(Approach(to(Building(Dynamic(Maps(of(Research(Communi,es(
Francesco'Osborne,'Giuseppe'Scavo'and'Enrico'Mo<a'11:40,$Session$3,$EKAW$2014$
$
Klink$UM$It$uses$sta<s<cal$and$machine$learning$techniques$for$finding$rela,onships(between(keywords(associated(with(rated(items$for:$
1. building$a$conceptual$taxonomy$from$scratch;$
2. enriching$and$correc<ng$an$exis<ng$ontology$a) automa<cally,$
b) sugges<ng$poten<al$connec<ons$between$classes$to$be$addressed$by$ontology$engineers;$
3. providing$a$numerical$es<mate$of$the$intensity$of$the$seman<c$rela<onships$according$to$a$group$of$users.$
From$Ra<ngs$to$Condi<onal$Probability$
• Klink$infers$subsump<on$rela<onships$by$compu<ng$the$condi<onal$probability$that$a$document$tagged$with$term$x$will$be$also$associated$with$term$y.$
• Klink$UM$computes$the$condi<onal$probability$that$a$user$who$has$a$posi,ve(or(nega,ve(opinion(of$x$will$have$the$same$opinion$of$y.$
$Classic(subsump,on:(P(x|y)$≥$α$and$P(y|x)$<'1''Klink(improved(subsump,on:((.(((((
xy$
K-Link UM
STATISTICAL INFERENCES
FILTER KEYWORD CLUSTERING
Hierarchical clustering
User Ratings ontags/keywords
Pre-existentontology
TAXONOMY GENERATION
Candidate ontology
PROPOSED MODIFICATIONS
EVALUATION
Final ontology
Parameters estimation withNelder-Mead algorithm
RS ALGORITHM
Recommendations
Evalua<on$
We$aimed$to$prove$that:$
• Klink$UM$can$generate(conceptual(taxonomies(similar$enough$to$the$ones$cra;ed$by$human$experts$(e.g.,$Klink$UM$is$useful$for$OE)$
• the$ontologies$generated$or$enriched$by$Klink$UM$are$tailored$to$a$par<cular$group$of$users,$and$useful(for(recommenda,on(purposes.$(e.g.,$Klink$UM$is$useful$for$RS)$
Ontology$learning$
Tested$on$two$ontologies$in$the$gastronomic$domain:$1) Cold'Cuts,$a$three$level$ontology$with$19$
classes,$describing$different$cuts$of$meat;$2) Drinks,$a$three$level$ontology$with$33$classes,$
describing$different$drinks.$
Recommender$performance$We$used$spreading(ac,va,on((as$in$Cena$et$al.$2013)$to$generate$sugges<ons.$$
We$compared$the$accuracy$of$three$approaches:$• Spreading$ac<va<on$on$an$expert(craMed(ontology((labelled$S)$
• Spreading$ac<va<on$on$an$expert$cra;ed$ontology,$corrected(and(enriched(by$accep<ng$by$default$Klink$UM$sugges<ons$(labelled$SE)$$
• Spreading$ac<va<on$on$a$conceptual$taxonomy$generated(from(scratch(by$Klink$UM$(labelled$SG)$$
Future$Work$
• Cluster$groups$of$people$with$different$views$of$the$domain$in$order$to$build$tailored$versions$of$the$domain$ontology.$
• Novel$heuris<cs$for$detec<ng$a$higher$number$of$seman<c$rela<onships.$$