a context and user aware smart notification system

68
A Context and User Aware Smart Notification System Fulvio Corno Luigi De Russis Teodoro Montanaro* http://jol.telecomitalia.com/j olswarm/ http://elite.polito.it/

Upload: teodoro-montanaro

Post on 14-Apr-2017

702 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: A Context and User Aware Smart Notification System

A Context and User Aware

Smart Notification

System

Fulvio Corno

Luigi De Russis

Teodoro Montanaro*

http://jol.telecomitalia.com/j

olswarm/

http://elite.polito.it/

Page 2: A Context and User Aware Smart Notification System

2

Outline

1. Context and Motivation

2. Goal

3. Architecture

4. Prototype

5. Preliminary results

6. Conclusion

7. Future work

Page 3: A Context and User Aware Smart Notification System

3

Context

Context

Infographic from "The Connectivist": growing of IoT connected devices

(http://www.theconnectivist.com/2014/05/infographic-the-growth-of-the-internet-of-things/)

Page 4: A Context and User Aware Smart Notification System

4

Motivation

Motivation

Page 5: A Context and User Aware Smart Notification System

5

Motivation

Motivation

IoT devices can generate, receive and show different kinds of notifications

Page 6: A Context and User Aware Smart Notification System

6

Motivation

Motivation

IoT devices can generate, receive and show different kinds of notifications

Page 7: A Context and User Aware Smart Notification System

7

Motivation

Motivation

IoT devices can generate, receive and show different kinds of notifications

Page 8: A Context and User Aware Smart Notification System

8

Motivation

Motivation

IoT devices can generate, receive and show different kinds of notifications

The number of notifications is growing

Page 9: A Context and User Aware Smart Notification System

9

Motivation

Motivation

IoT devices can generate, receive and show different kinds of notifications

The number of notifications is growing

Page 10: A Context and User Aware Smart Notification System

10

Motivation

Motivation

IoT devices can generate, receive and show different kinds of notifications

Nowadays the same notification is replicated on all available devices

The number of notifications is growing

Page 11: A Context and User Aware Smart Notification System

11

Motivation

Motivation

IoT devices can generate, receive and show different kinds of notifications

Nowadays the same notification is replicated on all available devices

The number of notifications is growing

Page 12: A Context and User Aware Smart Notification System

12

Motivation

Motivation

IoT devices can generate, receive and show different kinds of notifications

Nowadays the same notification is replicated on all available devices

The number of notifications is growing

The benefit of displaying the same

notification on all available devices

could put user patience to a hard test

Page 13: A Context and User Aware Smart Notification System

13

Analyze how machine learning approach can improve

IoT notification user experience

Goal

Goal

Page 14: A Context and User Aware Smart Notification System

14

Analyze how machine learning approach can improve

IoT notification user experience

Goal

Goal

Page 15: A Context and User Aware Smart Notification System

15

Analyze how machine learning approach can improve

IoT notification user experience

Goal

Goal

Develop a system able to filter incoming notifications

depending on:

• Notification information

• Environment status

• User context

• User habits

Page 16: A Context and User Aware Smart Notification System

16

Analyze how machine learning approach can improve

IoT notification user experience

Goal

Goal

Develop a system able to filter incoming notifications

depending on:

• Notification information

• Environment status

• User context

• User habits

Page 17: A Context and User Aware Smart Notification System

17

Analyze how machine learning approach can improve

IoT notification user experience

Goal

Goal

Develop a system able to filter incoming notifications

depending on:

• Notification information

• Environment status

• User context

• User habits

Evaluate machine learning approach

Page 18: A Context and User Aware Smart Notification System

18

We propose:

Architecture

Architecture

Page 19: A Context and User Aware Smart Notification System

19

We propose: A modular architecture

Architecture

Architecture

Page 20: A Context and User Aware Smart Notification System

20

We propose: A modular architecture

Architecture

Architecture

Page 21: A Context and User Aware Smart Notification System

21

We propose: A modular architecture

Architecture

Architecture

Page 22: A Context and User Aware Smart Notification System

22

We propose: A modular architecture aware of

Architecture

Architecture

Page 23: A Context and User Aware Smart Notification System

23

We propose:

Environment status

(e.g., weather information,

current date and time)

A modular architecture aware of

Architecture

Architecture

Page 24: A Context and User Aware Smart Notification System

24

We propose:

Environment status

(e.g., weather information,

current date and time)

User context (e.g.,

location, status, current

activity),

A modular architecture aware of

Architecture

Architecture

Page 25: A Context and User Aware Smart Notification System

25

We propose:

Environment status

(e.g., weather information,

current date and time)

User context (e.g.,

location, status, current

activity),

User habits

A modular architecture aware of

Architecture

Architecture

Page 26: A Context and User Aware Smart Notification System

26

We propose: A modular architecture

Architecture

Architecture

Page 27: A Context and User Aware Smart Notification System

27

We propose:

Decision maker: Machine Learning

algorithm makes decisions (best devices

+ best modes + best moment).

Architecture

Architecture

Page 28: A Context and User Aware Smart Notification System

28

Architecture: example

Architecture

Page 29: A Context and User Aware Smart Notification System

29

Architecture: example

Architecture

Mario is in a

meeting

Page 30: A Context and User Aware Smart Notification System

30

Architecture: example

Architecture

Mario is in a

meeting

Page 31: A Context and User Aware Smart Notification System

31

Architecture: example

Architecture

Every meeting lasts at least 2

hours

Mario is in a

meeting

Page 32: A Context and User Aware Smart Notification System

32

Architecture: example

Architecture

Every meeting lasts at least 2

hours

Mario is in a

meeting

Page 33: A Context and User Aware Smart Notification System

33

Architecture: example

Architecture

Time: 17:00

Meeting started at

16:00

Wife is at home

Every meeting lasts at least 2

hours

Mario is in a

meeting

Page 34: A Context and User Aware Smart Notification System

34

Architecture: example

Architecture

Time: 17:00

Meeting started at

16:00

Wife is at home

Every meeting lasts at least 2

hours

Mario is in a

meeting

Page 35: A Context and User Aware Smart Notification System

35

Architecture: example

Architecture

Notification: the toilet

paper has just finished

Time: 17:00

Meeting started at

16:00

Wife is at home

Every meeting lasts at least 2

hours

Mario is in a

meeting

Page 36: A Context and User Aware Smart Notification System

36

Architecture: example

Architecture

Notification: the toilet

paper has just finished

Time: 17:00

Meeting started at

16:00

Wife is at home

Every meeting lasts at least 2

hours

Mario is in a

meeting

Page 37: A Context and User Aware Smart Notification System

37

Architecture: example

Architecture

Notification: the toilet

paper has just finished

Time: 17:00

Meeting started at

16:00

Wife is at home

Every meeting lasts at least 2

hours

Mario is in a

meeting

Page 38: A Context and User Aware Smart Notification System

38

Architecture: example

Architecture

Notification: the toilet

paper has just finished

Notify:

• At 18:10

• on his personal

smartphone

• Sound

Time: 17:00

Meeting started at

16:00

Wife is at home

Every meeting lasts at least 2

hours

Mario is in a

meeting

Page 39: A Context and User Aware Smart Notification System

39

Architecture: example

Architecture

Notification: the toilet

paper has just finished

Notify:

• At 18:10

• on his personal

smartphone

• Sound

Time: 17:00

Meeting started at

16:00

Wife is at home

Every meeting lasts at least 2

hours

Mario is in a

meeting

Page 40: A Context and User Aware Smart Notification System

40

Architecture: example

Architecture

Notification: the toilet

paper has just finished

Notify:

• At 18:10

• on his personal

smartphone

• Sound

Time: 17:00

Meeting started at

16:00

Wife is at home

Every meeting lasts at least 2

hours

Mario is in a

meeting

Page 41: A Context and User Aware Smart Notification System

41 Prototype

Prototype implementation

Page 42: A Context and User Aware Smart Notification System

42 Prototype

Prototype implementation Aim: evaluate machine learning approach to decide

• who should receive an incoming notification;

• the best moment to show the notification;

• the best device(s)

• the best mode to notify the incoming notification

Page 43: A Context and User Aware Smart Notification System

43 Prototype

Prototype implementation Aim: evaluate machine learning approach to decide

• who should receive an incoming notification;

• the best moment to show the notification;

• the best device(s)

• the best mode to notify the incoming notification

Page 44: A Context and User Aware Smart Notification System

44 Prototype

Prototype implementation

Preliminary version of

Aim: evaluate machine learning approach to decide

• who should receive an incoming notification;

• the best moment to show the notification;

• the best device(s)

• the best mode to notify the incoming notification

Page 45: A Context and User Aware Smart Notification System

45 Prototype

Prototype implementation

Preliminary version of

Aim: evaluate machine learning approach to decide

• who should receive an incoming notification;

• the best moment to show the notification;

• the best device(s)

• the best mode to notify the incoming notification

Page 46: A Context and User Aware Smart Notification System

46 Prototype

Prototype implementation

Page 47: A Context and User Aware Smart Notification System

47 Prototype

Prototype implementation

Preliminary version of

Page 48: A Context and User Aware Smart Notification System

48 Prototype

Prototype implementation

Preliminary version of

Dataset

Page 49: A Context and User Aware Smart Notification System

49 Prototype

Prototype implementation

Preliminary version of

Dataset Algorithms

Page 50: A Context and User Aware Smart Notification System

50

Prototype implementation

Prototype

Dataset

Page 51: A Context and User Aware Smart Notification System

51

Prototype implementation

Prototype

94 people over 9 months

monitored through

smartphones in 2004:

• Sender

• Receiver

• Type of notification

• Timestamp of receipt

• User current location

Dataset

Page 52: A Context and User Aware Smart Notification System

52

Prototype implementation

Prototype

94 people over 9 months

monitored through

smartphones in 2004:

• Sender

• Receiver

• Type of notification

• Timestamp of receipt

• User current location

Dataset

Synthetic data:

• User current

activity

• Available devices

for the user

• Target device.

Page 53: A Context and User Aware Smart Notification System

53

Prototype implementation

Prototype

94 people over 9 months

monitored through

smartphones in 2004:

• Sender

• Receiver

• Type of notification

• Timestamp of receipt

• User current location

Dataset

Synthetic data:

• User current

activity

• Available devices

for the user

• Target device.

Real + synthetic dataset:

165,289 samples, almost one per

each hour of the day

(the missing samples are related

to hours in which users turned

off their smartphones)

Page 54: A Context and User Aware Smart Notification System

54

Prototype implementation

Prototype

94 people over 9 months

monitored through

smartphones in 2004:

• Sender

• Receiver

• Type of notification

• Timestamp of receipt

• User current location

Dataset

Synthetic data:

• User current

activity

• Available devices

for the user

• Target device.

Real + synthetic dataset:

165,289 samples, almost one per

each hour of the day

(the missing samples are related

to hours in which users turned

off their smartphones)

Information collected by Decision Maker in previous example

{

“notification“:{

“senderName“:“mySmartHome“,

“type“:“smart Home Notification“,

“receiptTimestamp“:“1447347600“

},

“userStatus“: {

“senderId“: “359“,

“currentActivity“:“STILL“,

“currentActivityConfidence“:“50%“,

“availableDevices”:[“deviceId”:”23”]

},

“deviceStatus“:{

“deviceId“:”23”,

“category“:”Smartphone”,

“currentStatus“:”On”,

“currentMode“:”Ring”,

“wifiStatus“:” Connected through MOBILE”,

“batteryLevel“:” 57%”,

“batteryStatus“:”BATTERY_STATUS_NOT_CHARGING”

}

}

Page 55: A Context and User Aware Smart Notification System

55

Prototype implementation

Prototype

Machine learning algorithms

Dataset

Real + synthetic data (165,289

samples)

Page 56: A Context and User Aware Smart Notification System

56

Prototype implementation

Prototype

Machine learning algorithms

Dataset

Real + synthetic data (165,289

samples)

Page 57: A Context and User Aware Smart Notification System

57

Prototype implementation

Prototype

Machine learning algorithms

Dataset

Real + synthetic data (165,289

samples)

Page 58: A Context and User Aware Smart Notification System

58

Prototype implementation

Prototype

Machine learning algorithms

Dataset

Real + synthetic data (165,289

samples)

Training dataset: 80% of data

Tests dataset: 20% of data

Page 59: A Context and User Aware Smart Notification System

59

Prototype implementation

Prototype

Simplified version of the Decision

maker:

• only one device as receiver;

• only one available mode for each

device;

• no decision about the best time

to deliver the notification;

• not aware of environment

context

Machine learning algorithms

Dataset

Real + synthetic data (165,289

samples)

Training dataset: 80% of data

Tests dataset: 20% of data

Page 60: A Context and User Aware Smart Notification System

60

Prototype implementation

Prototype

Machine learning algorithms

Dataset

Real + synthetic data (165,289

samples)

Training dataset: 80% of data

Tests dataset: 20% of data

Page 61: A Context and User Aware Smart Notification System

61

Prototype implementation

Prototype

Machine learning algorithms

Dataset

Real + synthetic data (165,289

samples)

Training dataset: 80% of data

Tests dataset: 20% of data

Page 62: A Context and User Aware Smart Notification System

62

Prototype implementation

Prototype

Three machine learning

algorithms:

1. Support Vector Machine

2. Gaussian Naïve Bayes

3. Decision Trees.

Machine learning algorithms

Dataset

Real + synthetic data (165,289

samples)

Training dataset: 80% of data

Tests dataset: 20% of data

Page 63: A Context and User Aware Smart Notification System

63

Preliminary results

Preliminary results

Page 64: A Context and User Aware Smart Notification System

64

Preliminary results

Preliminary results

96,10%

83,40%

93,90%

0,00%

20,00%

40,00%

60,00%

80,00%

100,00%

Support

Vector

Machine

Gaussian

Naive Bayes

Decision Trees

Percentage of corrected predictions obtained

with used algorithms

Page 65: A Context and User Aware Smart Notification System

65

Preliminary results

Preliminary results

CPU time (in seconds) for a training phase with

33058 samples

96,10%

83,40%

93,90%

0,00%

20,00%

40,00%

60,00%

80,00%

100,00%

Support

Vector

Machine

Gaussian

Naive Bayes

Decision Trees

5801,1

12,9 13,9

1

10

100

1000

10000

Support

Vector

Machine

Gaussian

Naive Bayes

Decision Trees

Percentage of corrected predictions obtained

with used algorithms

Page 66: A Context and User Aware Smart Notification System

66

Preliminary results

Preliminary results

Average CPU time (in milliseconds) for each

notification classification

Support Vector Machine 40,22 ms

Gaussian Naive Bayes 0,31 ms

Decision Trees 0,001 ms

96,10%

83,40%

93,90%

0,00%

20,00%

40,00%

60,00%

80,00%

100,00%

Support

Vector

Machine

Gaussian

Naive Bayes

Decision Trees

Percentage of corrected predictions obtained

with used algorithms

CPU time (in seconds) for a training phase with

33058 samples

5801,1

12,9 13,9

1

10

100

1000

10000

Support

Vector

Machine

Gaussian

Naive Bayes

Decision Trees

Page 67: A Context and User Aware Smart Notification System

67

Conclusion Obtained results demonstrated that our system uses a promising technique to

manage the problem of overwhelming notifications.

Specifically, the machine learning approach was tested through 3 different

algorithms and SVM and DT seem to be the most promising one.

Conclusion

Future work:

Define a new dataset to include all the needed real information

Development of a system to collect real data and real notifications

Careful evaluation of the machine learning algorithms

Enhancement of prototype to include unconsidered blocks

Page 68: A Context and User Aware Smart Notification System

68

Thank you

Future work

Notification Collector (beta):

Android app to collect real data

https://goo.gl/pLMWSG

To contribute: download it! Requirement: Android 5 (Lollipop)

We collect (anonymously):

• Incoming notification info (no

content)

• User current activity

• User current location

• Device status

• User feedback