Mining Minds Interpreter Service Curation Layer MMV-2.5 Overview - - PowerPoint PPT Presentation

mining minds
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Mining Minds

Recommendation Interpreter

Service Curation Layer MMV-2.5

slide-2
SLIDE 2

/

Overview

2

  • Personalization is a key element in

Recommender Systems

  • Personalization consists of tailoring a service or a

product to accommodate specific needs of individuals

  • Contextual Information combined with User

Preferences enable Personalization

  • Recommendation Interpreter performs

interpretation according to the contextual information and preferences of the user in order to deliver the appropriate recommendations at right time

http://www.quora.com/What-is-the-definition-of-personalization

slide-3
SLIDE 3

/

Goal and Objectives

  • Goal
  • Providing context-aware and

personalized wellbeing recommendations

  • Objectives
  • Interpreting recommendations to address
  • Receptiveness of the user for

recommendation

  • Preferences of the user for

recommendation

  • User friendly explanation of the

recommendation

3

Time Schedule Preferences Profile Health Condition

Personalized Recommendations

Physical Activities

slide-4
SLIDE 4

/

Motivation

4

To deliver recommendation at appropriate time based on user current context To filter out unnecessary recommendations based

  • n user preferences

To explain recommendation according to situation for user engagement

slide-5
SLIDE 5

/

Challenges and Solutions

5

Explaining recommendation according to situation

 User Receptivity Evaluation (When to deliver?)  Exploiting user preferences (What, whom and how to deliver?)

Motivations Challenges Solutions

 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

  • n user current context

S1 S2 S3

slide-6
SLIDE 6

/

Conceptual View

6

Deliver the recommendation according to present context and preferences

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?

slide-7
SLIDE 7

/

Recommendation Interpreter

Component Architecture

7

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

slide-8
SLIDE 8

/

Complete Communication Workflow of Interpreter

8

Recommendation Builder

Orchestrator DCL SL (UI/UX)

Recommendation Interpreter

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

slide-9
SLIDE 9

/ Service Curation Layer

Service Orchestrato r

Input/outpu t Adapter

SCL Services

Recommendation Interpreter

Context Interpreter Content Interpreter Context Selector Context Interpreter

  • EP. 1
  • EP. 2

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

  • Recv. Desc
  • Eval. Desc

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

Execution Flow

slide-10
SLIDE 10

/

Execution Flow

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

  • Recv. Desc
  • Eval. Desc

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

  • EP. 1
  • EP. 2

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

slide-11
SLIDE 11

/

Execution Flow

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

slide-12
SLIDE 12

/ 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

  • Recv. Desc
  • Eval. Desc

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

  • EP. 1
  • EP. 2

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

Execution Flow

slide-13
SLIDE 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 Templat e

Explanation Manager Moderator

  • Recv. Desc
  • Eval. Desc

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

  • EP. 1
  • EP. 2

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

Execution Flow

slide-14
SLIDE 14

/

Recommendation Interpreter– Main Components

14

Context Interpreter 2.0

Content Interpreter 2.0 Explanation Manager 2.0 SNS Trend Identifier 2.5

slide-15
SLIDE 15

/ Recommendation Interpreter

Solution 1: User availability rule interpretation

15

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

slide-16
SLIDE 16

/

Recommendation Interpreter

Solution 2: Contextual Aggregate matrix generation

16

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

  • Evaluate Cardinality
  • If cardinality == 1 then forward the recommendation

Context Interpreter

Rec Cardinality Select Alternative

Cardinality == 1 Cardinality > 1

Filter Recommendations

Recommendations

Explanation Generation Blocking Rules Template Global Preferences

S2

slide-17
SLIDE 17

/

Recommendation Interpreter

Solution 2: Contextual aggregate matrix generation

17

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

  • Receive Original Rec
  • Check suitability of the rec against current context
  • If “unsuitable” find out alternative from “Contextual Matrix”
  • If alternative recommendations more than 1 check user preferences
  • Forward the final recommendation(s) to “Explanation Generation”

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

slide-18
SLIDE 18

/

Recommendation Interpreter

Solution 2: Contextual aggregate matrix generation

18

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

  • Receive list of recommendations
  • Check suitability of each recommendation against the current context
  • Store the applicable recommendations in AR_List
  • Check user preferences
  • Forward the final recommendation(s) to “Explanation Generation”

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

slide-19
SLIDE 19

/

Recommendation Interpreter

Solution 2: SNS Trend Identifier

19

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

  • Receiver nutrient category recommendation and user preferences
  • Receiver latest food item trends from SNS
  • Combine both aforementioned information
  • Check user preferences
  • Forward recommended food items to Result Preparer and Explanation

Generation

Blocking Rules Template Global Preferences

slide-20
SLIDE 20

/

Recommendation Interpreter

Solution 3: Template-based explanation

20

Explanation Manager explains the recommendation according to the situation

  • Receive context
  • Evaluate explanation requirement
  • Select template
  • Get recommendation specific URL
  • Attached the link to resources
  • Prepare the results

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”

slide-21
SLIDE 21

/

Uniqueness and Contributions

21

  • The ability to make context-aware recommendations
  • Context-aware user Interruptibility
  • Situation based recommendation adaptability
  • SNS-based nutritious food recommendation
  • Recommendation enrichment by embedding explanatory

and educational nuggets

  • Explanatory note embedding with the recommendation
  • Audio-visual aids for recommendation adaptability
slide-22
SLIDE 22

/

Evaluation Environment

22

  • Evaluation Matrix
  • Reasoner Evaluation

Data Input cases

Criteria Explanation Execution Time

  • Average execution time of the knowledge-

base reasoning Accuracy

  • Accuracy of the knowledge-base reasoning
  • Accuracy of the recommendation interpreter

Questionnaire Snapshot

  • Recommendation Interpreter Evaluation

Questionnaire

slide-23
SLIDE 23

/

Accuracy Evaluation for Recommendation Interpreter

  • Experimental Setup
  • Standalone system for RI
  • Questionnaire items: 40
  • Number of participants: 40

23

  • Survey conducted with the following

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

slide-24
SLIDE 24

/

Summary

  • RI performs contextual information processing for situation-aware recommendation by

deciding on factors such as user’s interruptibility and contextual suitability of the recommendation

  • RI enriches the contents of the generated recommendation by embedding audio-visual aids

and relevant nuggets of contextual information in terms of current weather conditions, food trends and user’s emotional state

  • RI provides following features:
  • Delivering recommendation at right time – intelligent user interruptibility << Context Interpreter>>
  • Delivering preference-in-context personalized recommendation << Content Interpreter>>
  • Delivering contextually explained recommendation <<Explanation Manager>>

24

slide-25
SLIDE 25

Questions

Thank You!

For comments: imran.ali@oslab.khu.ac.kr

25

Recommendation Interpreter