a context and user aware smart notification system

Post on 14-Apr-2017

702 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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/

2

Outline

1. Context and Motivation

2. Goal

3. Architecture

4. Prototype

5. Preliminary results

6. Conclusion

7. Future work

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/)

4

Motivation

Motivation

5

Motivation

Motivation

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

6

Motivation

Motivation

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

7

Motivation

Motivation

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

8

Motivation

Motivation

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

The number of notifications is growing

9

Motivation

Motivation

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

The number of notifications is growing

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

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

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

13

Analyze how machine learning approach can improve

IoT notification user experience

Goal

Goal

14

Analyze how machine learning approach can improve

IoT notification user experience

Goal

Goal

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

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

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

18

We propose:

Architecture

Architecture

19

We propose: A modular architecture

Architecture

Architecture

20

We propose: A modular architecture

Architecture

Architecture

21

We propose: A modular architecture

Architecture

Architecture

22

We propose: A modular architecture aware of

Architecture

Architecture

23

We propose:

Environment status

(e.g., weather information,

current date and time)

A modular architecture aware of

Architecture

Architecture

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

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

26

We propose: A modular architecture

Architecture

Architecture

27

We propose:

Decision maker: Machine Learning

algorithm makes decisions (best devices

+ best modes + best moment).

Architecture

Architecture

28

Architecture: example

Architecture

29

Architecture: example

Architecture

Mario is in a

meeting

30

Architecture: example

Architecture

Mario is in a

meeting

31

Architecture: example

Architecture

Every meeting lasts at least 2

hours

Mario is in a

meeting

32

Architecture: example

Architecture

Every meeting lasts at least 2

hours

Mario is in a

meeting

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

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

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

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

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

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

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

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

41 Prototype

Prototype implementation

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

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

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

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

46 Prototype

Prototype implementation

47 Prototype

Prototype implementation

Preliminary version of

48 Prototype

Prototype implementation

Preliminary version of

Dataset

49 Prototype

Prototype implementation

Preliminary version of

Dataset Algorithms

50

Prototype implementation

Prototype

Dataset

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

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.

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)

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”

}

}

55

Prototype implementation

Prototype

Machine learning algorithms

Dataset

Real + synthetic data (165,289

samples)

56

Prototype implementation

Prototype

Machine learning algorithms

Dataset

Real + synthetic data (165,289

samples)

57

Prototype implementation

Prototype

Machine learning algorithms

Dataset

Real + synthetic data (165,289

samples)

58

Prototype implementation

Prototype

Machine learning algorithms

Dataset

Real + synthetic data (165,289

samples)

Training dataset: 80% of data

Tests dataset: 20% of data

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

60

Prototype implementation

Prototype

Machine learning algorithms

Dataset

Real + synthetic data (165,289

samples)

Training dataset: 80% of data

Tests dataset: 20% of data

61

Prototype implementation

Prototype

Machine learning algorithms

Dataset

Real + synthetic data (165,289

samples)

Training dataset: 80% of data

Tests dataset: 20% of data

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

63

Preliminary results

Preliminary results

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

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

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

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

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

top related