Mining Minds
Recommendation Interpreter
Service Curation Layer MMV-2.5
Mining Minds Interpreter Service Curation Layer MMV-2.5 Overview - - PowerPoint PPT Presentation
Recommendation Mining Minds Interpreter Service Curation Layer MMV-2.5 Overview 2 / Personalization is a key element in Recommender Systems Personalization consists of tailoring a service or a product to accommodate specific needs of
Service Curation Layer MMV-2.5
/
http://www.quora.com/What-is-the-definition-of-personalization
/
recommendation
recommendation
recommendation
Time Schedule Preferences Profile Health Condition
Personalized Recommendations
Physical Activities
/
/
Explaining recommendation according to situation
User Receptivity Evaluation (When to deliver?) Exploiting user preferences (What, whom and how to deliver?)
Context aware recommendations User aware content filtration Situation aware explanations Multidimensional explanations (How to relate user’s surroundings?)
Filtering out unnecessary recommendations based on user preferences To deliver recommendation at appropriate time based
S1 S2 S3
/
Recommendations Builder
Rec
User Status Evaluation Filter and Explain Rec
Yes
IDB
Location HLC
Recommendation Educational Aid
Recommendation Interpreter
User
Is user receptive?
Preferences special condition
Weather Location HLC Emotion
Weather is Rainy
“take umbrella with you”
Explanation Generation
Is Rec suitable?
/
Data Manager Context Interpreter
Recommendation Builder
Context Selection Blocking Rules
Content Interpreter
Template
Content Filterer
Select Alternative
DCL
Lifelog Data Global Preferences Context Interpreter Filter Rec
SNS Trend Identifier
Trend Selector Trend Processor
Explanation Manager
Situation Detection Explanation Generator
Education Support
Resource Selector Resource Linker
Results Preparation
Context Moderator
Supporting Layer
UI/UX
S1 S2 S3
Service Orchestrator
/
Recommendation Builder
Orchestrator DCL SL (UI/UX)
Data Preparer Context Interpreter Content Interpreter Explanation Manager
Blocking Rules Global preferences Template
Uid, Situation Event 1 2 Rec, Context Uid, Rec 3 Uid Uid, Context 5 6 Uid 7 Uid, Context, Preferences 8 8a 10 10a 11 Uid, Situation Event 12 12a 13 Uid, Personalized Recommendation 9 Uid, Rec, Context, Pref 4 13 14 Uid, Personalized Recommendation
/ Service Curation Layer
Service Orchestrato r
Input/outpu t Adapter
SCL Services
Recommendation Interpreter
Context Interpreter Content Interpreter Context Selector Context Interpreter
RB Data Req/Resp. RI Data Req/Resp. Recom. Receive/Sen d Interpretatio n Receive/Sen d Receive Context Fetch Blok Rules
Moderator
Match Rules Recv Context Recv Rec. User Status Eval.
Moderator
Final Rec Select Path
Select Alternative
Process Vect. Context Eval. Pref-based Filter Blocked Rules Global Pref Template
Explanation Manager Moderator
Explanation Generation
Fetch Template Process Template Post Proc.
Education Support
Fetch URL
Filter Recommendation
Filter Recom. Context Eval. Generate Alternatives Pref-based Filter
If loc: “Home” AND HLC= “Sleeping” If HLC= “Having Meal” If HLC = “Commuting” …
6
Moderator sends context to Context Selector for evaluation Context Selector requests for the blocking rules Blocking rules are fetched from the repository
4 5 6 1 3 2 4 5 6
SO receives situation event (SE) from LLM
1
Context request is sent to SO Context is received by Moderator
2 3
/
Service Curation Layer
Recommendation Interpreter
Context Interpreter Content Interpreter
Context Selector Context Interpreter
Receive Context Fetch Block Rules
Moderator
Match Rules Recv Context Recv Rec. User Status Eval.
Moderator
Final Rec. Select Path
Select Alternative
Process Vect. Context Eval. Pref-based Filter
Repositories
Blocked Rules Global Pref Templat e
Explanation Manager Moderator
Explanation Generation
Fetch Template Process Template Post Proc.
Education Support
Fetch URL
Filter Recommendation
Filter Recom. Context Eval. Gen. Alternatives Pref-based Filter
Service Orchestrator
Input/output Adapter SCL Services
RB Data Req/Resp. Interpretation Receive/Send RI Data Req/Resp. Recom. Receive/Send Both context and rules are forwarded to the Context Interpreter Context Interpreter evaluates context against the rules and decides about User availability Status
7 8
return flag Match(rules, context) { flag = -1 rules.add(scanFile.nextLine()); if(rules.contains(context)){ flag=1; break; } return flag; }
8 9
If user is available then Content Interpreter is invoked otherwise recommendation is delayed
9 User_Status_Eavl() { If flag==-1 Delay_Rec() else Content_Interpreter.Select_Path() } 7 8 9
/
Service Curation Layer
Recommendation Interpreter
Content Interpreter
Moderator
Final Rec Select Path
Select Alternative
Process Vect. Context Eval. Pref-based Filter
Repositories
Blocked Rules Global Pref Template
Filter Recommendation
Filter Recom. Context Eval. Gen. Alternatives Pref-based Filter
Prepared Context Matrix
14
Contextual Matrix
Context/Rec Walking Running Stretching Cycling Sitting Out doors
1 1 1 1 1
Amusement
1 1 1
Sunny
1 1 1 1 1
Happiness
1 1 1 1 1
Aggregate 1 1 1 1
11
12
Search Alternative Recommendation is current Recommendation (running) is unsuitable
13
For multiple alternative recommendations, User’s Preferences are weighed in
Walking Stretching 10m 15m
get_pref (user_id); 14
“Walking” is preferred over “Stretching” by the user therefore “Walking” is treated as final recommendation Select “Select Alternative” or “Filter Recommendation” is called for further processing
Select Rec Eval Path
selt_path(Rec) { If (Rec.len == 1) Select_Alternative() Else Filter_Recommendation() } 10 10
Global preferences are fetched
11 12 14 13
/ Service Curation Layer
Recommendation Interpreter
Context Interpreter Content Interpreter
Context Selector Context Interpreter
Receive Context Fetch Block Rules
Moderator
Match Rules Recv Context Recv Rec. User Status Eval.
Moderator
Final Rec Select Path
Select Alternative
Process Vect. Context Eval. Pref-based Filter
Repositories
Blocked Rules Global Pref Template
Explanation Manager Moderator
Explanation Generation
Fetch Template Process Template Post Proc.
Education Support
Fetch URL
Filter Recommendation
Filter Recom. Context Eval. Gen. Alternatives Pref-based Filter
Service Orchestrator
Input/output Adapter SCL Services
RB Data Req/Resp. Interpretation Receive/Send RI Data Req/Resp. Recom. Receive/Send
15
Final Recommendation if forwarded to Explanation Manager
15
Received Description
get_Description() //empty string
16
Forward Description
forward_Descption();
No explanatory sentence received
17
Explanation Generation component is invoked
17
Evaluate Description
Eval_Desc() { if (Descprption.isEmpty()) Explanation_Generation() else Education_Support() } 15 16 17
16
A template is fetched from the local repository and forwarded to further processing
18 19 18 19
/ Service Curation Layer
Recommendation Interpreter
Context Interpreter Content Interpreter
Context Selector Context Interpreter
Receive Context Fetch Block Rules
Moderator
Match Rules Recv Context Recv Rec. User Status Eval.
Moderator
Final Rec Select Path
Select Alternative
Process Vect. Context Eval. Pref-based Filter
Repositories
Blocked Rules Global Pref Templat e
Explanation Manager Moderator
Explanation Generation
Fetch Template Process Template Post Proc.
Education Support
Fetch URL
Filter Recommendation
Filter Recom. Context Eval. Gen. Alternatives Pref-based Filter
Service Orchestrator
Input/output Adapter SCL Services
RB Data Req/Resp. Interpretation Receive/Send RI Data Req/Resp. Recom. Receive/Send
20 21
Process Template
String get_Template(Rec,Duration); // “You are Recommended Walking For 10 mins”
Post Process Template
String post_process(Sentence, Context); // “You are Recommended Walking For 15 mins and it may rain so take umbrella with you”
22
Template processed according to the context
20
Post Processing is applied to reflect additional information e.g. weather
21
A complete recommendation along with education support is forwarded to SO for further processing
22
20 21
SO sends the recommendation to the Supporting Layer and Data Curation Layer for persistence
23 23 23
Data Curation Layer Supporting Layer
/
Context Interpreter 2.0
Content Interpreter 2.0 Explanation Manager 2.0 SNS Trend Identifier 2.5
/ Recommendation Interpreter
Data Manger Context Interpreter
Recommendation Builder
Context Selection Content Interpreter Context Moderator
Recommendations Builder Interpret Context
S1
Yes User is available ?
Context Interpreter ensures to deliver the recommendation at right time
1. selects context one by one from lifelog 2. Interpret the selected context 3. If user is available, the recommendation are forwarded for next component 4. Else it inform the recommendation builder about the reason of not delivering the recommendation
Select Context
No
Interpret Content
Low level Context High Level Context Life Log Recommendations
Context Interpretation Rules: IF <HLC: HavingMeal> THEN: <BLOCK> IF <HLC: Commuting> THEN <BLOCK> IF <HLC: Sleeping> THEN <BLOCK>
Blocking Rules Template Global Preferences
/
Recommendation Interpreter
Data Manager
Content Interpreter
Content Filterer
Select Alternative
Filter Rec
SNS Trend Identifier
Trend Selector Trend Procssor
Content Interpreter ensures to deliver the right recommendation to the right user
Context Interpreter
Rec Cardinality Select Alternative
Cardinality == 1 Cardinality > 1
Filter Recommendations
Recommendations
Explanation Generation Blocking Rules Template Global Preferences
S2
/
Recommendation Interpreter
Data Manager
Content Interpreter
Content Filterer
Select Alternative
Filter Rec
SNS Trend Identifier
Trend Selector Trend Processor
“Select Alternative” evaluates Original Recommendation and suggests alternative based on context, if required
Process Rec
Eval Context
Select Alternative
Cardinality ? Check Preference
Forward List as-is
Check suitability unsuitable Single Multiple At least one matched None matched
Explanation
Generation
Explanation
Generation
Explanation
Generation
Explanation
Generation Blocking Rules Template Global Preferences
S2
/
Recommendation Interpreter
Data Manger
Content Interpreter
S2
Content Filterer
Select Alternative
Filter Rec
SNS Trend Identifier
Trend Selector Trend Processor
“Filter Rec” is evoked when multiple recommendations are received
Check Suitability
List AR
Check Pref ?
Forward List ARP
Next Selection Next Selection List of preferred Recommendations?
=> 1
Process Rec <LIST>
List ARP
Cardin ality? = 0
List of applicable recommendations
Forward List AR
Explanation
Generation
Explanation
Generation Blocking Rules Template Global Preferences
/
Recommendation Interpreter
Data Manger
Content Interpreter
S2
Content Filterer
Select Alternative Filter Rec
SNS Trend Identifier
Trend Selector Trend Processor
Food is recommended based on required nutrition
Generation
Blocking Rules Template Global Preferences
/
Recommendation Interpreter
Explanation Manager explains the recommendation according to the situation
Content Interpreter Generate explanation Receive context Pick URL
String matching
Data Manager Explanation Manager
Situation Detection Explanation Generator
Education Support
Resource Selector Resource Linker
S3
Templates
Result preparation
Weather Emotion Location
URL Repository
Blocking Rules Template Global Preferences
Standard Template = “You are Recommended” + [Recommendation] + “for” + [Duration] + “mins”
/
and educational nuggets
/
Data Input cases
Criteria Explanation Execution Time
base reasoning Accuracy
Questionnaire Snapshot
Questionnaire
/
population characteristics
Conducted Questionnaire
Result Summary Experiment 1 (Participant-Agreement)
Based on meta-accuracy scores the proposed system achieved 87% accuracy
Result Summary Experiment 2 (Item-Participant score)
24 Scenarios (out of 40) achieved favorable results
/
deciding on factors such as user’s interruptibility and contextual suitability of the recommendation
and relevant nuggets of contextual information in terms of current weather conditions, food trends and user’s emotional state
For comments: imran.ali@oslab.khu.ac.kr