Post on 22-May-2015
Context-based Just-in-Time Retrieval of Cultural Resources
on Mobile Android DevicesWolfgang Lutz, Student M.Sc. Informatik
Betreuer: Prof.Dr. Michael Granitzer, Dr. Christin Seifert
1
ImagineBeing in front of this: When your phone tells you
10 interesting entries found near your location
But only if you are not…… in a hurry… listening to music… talking to your friend
2
What is context?• Context is any information that can be used to
characterize the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves.
[from Towards a Better Understanding of Context and Context-Awareness by Dey/Abowd, 1999]
3
Basic Idea
• Collect information about the user’s context on the device to proactively retrieve information, that could be of interest/use for the user, and – at an appropriate time – present it.
4
Basic Idea
• Collect information about the user’s context on the device to proactively retrieve information, that could be of interest/use for the user, and – at an appropriate time – present it.
Collection
4
Basic Idea
• Collect information about the user’s context on the device to proactively retrieve information, that could be of interest/use for the user, and – at an appropriate time – present it.
PerceptionCollection
4
Basic Idea
• Collect information about the user’s context on the device to proactively retrieve information, that could be of interest/use for the user, and – at an appropriate time – present it.
Query PerceptionCollection
4
Basic Idea
• Collect information about the user’s context on the device to proactively retrieve information, that could be of interest/use for the user, and – at an appropriate time – present it.
Presentation Query PerceptionCollection
4
Basic Idea
5
Basic Idea
Collection
Sensor Data
5
Basic Idea
Perception
Trigger
When to present results?
What terms to use in query?
Collection
Sensor Data
5
Database
Query
Retrieve Information
Basic Idea
Perception
Trigger
When to present results?
What terms to use in query?
Collection
Sensor Data
5
Presentation
Present Results
Database
Query
Retrieve Information
Basic Idea
Perception
Trigger
When to present results?
What terms to use in query?
Collection
Sensor Data
5
Thesis Questions
• How can context be used in mobile devices to detect what to query from the Database?
• How can context be used in mobile devices to detect when to query from the Database and present the results?
6
Technical Implementation
Presentation Query PerceptionCollection
Term Processing
Implementation for Android
Trigger Processing
Modified Europena4J
Library Notification,!App shows
query results
Abs
trac
tion
Laye
r
AWARE!Framework!+ custom!Plugins
7
Technical Implementation
Presentation Query PerceptionCollection
Term Processing
Implementation for Android
Trigger Processing
Modified Europena4J
Library Notification,!App shows
query results
Abs
trac
tion
Laye
r
AWARE!Framework!+ custom!Plugins
7
Europeana
• European Union project (europeana.eu)
• Portal for books, movies, paintings and music
• Goal: Collection of Europe's cultural and scientific heritage
8
AWARE Framework• Android Framework for harvesting context
information
• Good collection of default sensors
• Plugin mechanism for extensions
• Interface between plugins: context provider (i.e. SQLITE Database)
9
ArchitectureAWARE/Android
Sensors
AWARELocation
ContextophelesSensors
GeonameResolver
OSMPoiResolver
ClipboardCatcher
NotificationCatcher
UIContent
SMSReceiver
ImageReceiver
AndroidClipBoardManager
AndroidAccessibilityServices
AndroidMediaStore
AndroidTelephonyProvider
ContextophelesSensor
Processing
TermCollector
ContextophelesApplication
Layer
Automatic Query
Figure 1: Description:
1. Step 1.
1
10
ArchitectureAWARE/Android
Sensors
AWARELocation
ContextophelesSensors
GeonameResolver
OSMPoiResolver
ClipboardCatcher
NotificationCatcher
UIContent
SMSReceiver
ImageReceiver
AndroidClipBoardManager
AndroidAccessibilityServices
AndroidMediaStore
AndroidTelephonyProvider
ContextophelesSensor
Processing
TermCollector
ContextophelesApplication
Layer
Automatic Query
Figure 1: Description:
1. Step 1.
1
10
Text Processing
11
Text ProcessingJohann Sebastian Bach (geboren 31. März 1685 in Eisenach; gestorben 28. Juli 1750 in Leipzig) war ein deutscher Komponist des Barock. Er gilt heute als einer der bekanntesten und bedeutendsten Musiker, vor allem für Berufsmusiker ist er oft der größte Komponist aller Zeiten. Seine Werke beeinflussten nachfolgende Komponistengenerationen.Zu Lebzeiten wurde Bach als Virtuose, Organist und Orgelinspektor hoch geschätzt, allerdings waren seine Kompositionen nur einem relativ kleinen Kreis von Musikkennern bekannt. Nach Bachs Tod gerieten seine Werke jahrzehntelang in Vergessenheit und wurden kaum noch öffentlich aufgeführt. Nachdem die Komponisten der Wiener Klassik sich mit Teilen von Bachs Werk auseinandergesetzt hatten, begann mit der Wiederaufführung der Matthäus-Passion unter Leitung von Felix Mendelssohn Bartholdy im Jahre 1829 die Bach-Renaissance in der breiten Öffentlichkeit.
11
Text ProcessingJohann Sebastian Bach (geboren 31. März 1685 in Eisenach; gestorben 28. Juli 1750 in Leipzig) war ein deutscher Komponist des Barock. Er gilt heute als einer der bekanntesten und bedeutendsten Musiker, vor allem für Berufsmusiker ist er oft der größte Komponist aller Zeiten. Seine Werke beeinflussten nachfolgende Komponistengenerationen.Zu Lebzeiten wurde Bach als Virtuose, Organist und Orgelinspektor hoch geschätzt, allerdings waren seine Kompositionen nur einem relativ kleinen Kreis von Musikkennern bekannt. Nach Bachs Tod gerieten seine Werke jahrzehntelang in Vergessenheit und wurden kaum noch öffentlich aufgeführt. Nachdem die Komponisten der Wiener Klassik sich mit Teilen von Bachs Werk auseinandergesetzt hatten, begann mit der Wiederaufführung der Matthäus-Passion unter Leitung von Felix Mendelssohn Bartholdy im Jahre 1829 die Bach-Renaissance in der breiten Öffentlichkeit.
1. Split
11
Text ProcessingJohann Sebastian Bach (geboren 31. Marz 1685 in Eisenach; gestorben 28. Juli
1750 in Leipzig) war ein deutscher Komponist des Barock. Er gilt heute als
einer der bekanntesten und bedeutendsten Musiker, vor allem fur Berufsmusiker
ist er oft der großte Komponist aller Zeiten. Seine Werke beeinflussten nachfolgende
Komponistengenerationen. Zu Lebzeiten wurde Bach als Virtuose, Organist und
Orgelinspektor hoch geschatzt, allerdings waren seine Kompositionen nur einem
relativ kleinen Kreis von Musikkennern bekannt. Nach Bachs Tod gerieten seine
Werke jahrzehntelang in Vergessenheit und wurden kaum noch o↵entlich aufgefuhrt.
Nachdem die Komponisten der Wiener Klassik sich mit Teilen von Bachs Werk
auseinandergesetzt hatten, begann mit der Wiederau↵uhrung der Matthaus-Passion
unter Leitung von Felix Mendelssohn Bartholdy im Jahre 1829 die Bach-Renaissance
in der breiten O↵entlichkeit. Johann Sebastian Sebastian Bach Organist und Orgelinspektor
Bachs Tod Komponisten der Wiener Wiener Klassik Bachs Werk Felix Mendelssohn
Mendelssohn Bartholdy Bartholdy im Jahre
1
1. Split
11
Text ProcessingJohann Sebastian Bach (geboren 31. Marz 1685 in Eisenach; gestorben 28. Juli
1750 in Leipzig) war ein deutscher Komponist des Barock. Er gilt heute als
einer der bekanntesten und bedeutendsten Musiker, vor allem fur Berufsmusiker
ist er oft der großte Komponist aller Zeiten. Seine Werke beeinflussten nachfolgende
Komponistengenerationen. Zu Lebzeiten wurde Bach als Virtuose, Organist und
Orgelinspektor hoch geschatzt, allerdings waren seine Kompositionen nur einem
relativ kleinen Kreis von Musikkennern bekannt. Nach Bachs Tod gerieten seine
Werke jahrzehntelang in Vergessenheit und wurden kaum noch o↵entlich aufgefuhrt.
Nachdem die Komponisten der Wiener Klassik sich mit Teilen von Bachs Werk
auseinandergesetzt hatten, begann mit der Wiederau↵uhrung der Matthaus-Passion
unter Leitung von Felix Mendelssohn Bartholdy im Jahre 1829 die Bach-Renaissance
in der breiten O↵entlichkeit. Johann Sebastian Sebastian Bach Organist und Orgelinspektor
Bachs Tod Komponisten der Wiener Wiener Klassik Bachs Werk Felix Mendelssohn
Mendelssohn Bartholdy Bartholdy im Jahre
1
1. Split2. Filter
11
Text ProcessingJohann Sebastian Bach (geboren 31. Marz 1685 in Eisenach; gestorben 28. Juli
1750 in Leipzig) war ein deutscher Komponist des Barock. Er gilt heute als
einer der bekanntesten und bedeutendsten Musiker, vor allem fur Berufsmusiker
ist er oft der großte Komponist aller Zeiten. Seine Werke beeinflussten nachfolgende
Komponistengenerationen. Zu Lebzeiten wurde Bach als Virtuose, Organist und
Orgelinspektor hoch geschatzt, allerdings waren seine Kompositionen nur einem
relativ kleinen Kreis von Musikkennern bekannt. Nach Bachs Tod gerieten seine
Werke jahrzehntelang in Vergessenheit und wurden kaum noch o↵entlich aufgefuhrt.
Nachdem die Komponisten der Wiener Klassik sich mit Teilen von Bachs Werk
auseinandergesetzt hatten, begann mit der Wiederau↵uhrung der Matthaus-Passion
unter Leitung von Felix Mendelssohn Bartholdy im Jahre 1829 die Bach-Renaissance
in der breiten O↵entlichkeit. Johann Sebastian Sebastian Bach Organist und Orgelinspektor
Bachs Tod Komponisten der Wiener Wiener Klassik Bachs Werk Felix Mendelssohn
Mendelssohn Bartholdy Bartholdy im Jahre
2
1. Split2. Filter
11
Text ProcessingJohann Sebastian Bach (geboren 31. Marz 1685 in Eisenach; gestorben 28. Juli
1750 in Leipzig) war ein deutscher Komponist des Barock. Er gilt heute als
einer der bekanntesten und bedeutendsten Musiker, vor allem fur Berufsmusiker
ist er oft der großte Komponist aller Zeiten. Seine Werke beeinflussten nachfolgende
Komponistengenerationen. Zu Lebzeiten wurde Bach als Virtuose, Organist und
Orgelinspektor hoch geschatzt, allerdings waren seine Kompositionen nur einem
relativ kleinen Kreis von Musikkennern bekannt. Nach Bachs Tod gerieten seine
Werke jahrzehntelang in Vergessenheit und wurden kaum noch o↵entlich aufgefuhrt.
Nachdem die Komponisten der Wiener Klassik sich mit Teilen von Bachs Werk
auseinandergesetzt hatten, begann mit der Wiederau↵uhrung der Matthaus-Passion
unter Leitung von Felix Mendelssohn Bartholdy im Jahre 1829 die Bach-Renaissance
in der breiten O↵entlichkeit. Johann Sebastian Sebastian Bach Organist und Orgelinspektor
Bachs Tod Komponisten der Wiener Wiener Klassik Bachs Werk Felix Mendelssohn
Mendelssohn Bartholdy Bartholdy im Jahre
2
1. Split2. Filter3. Reformulate
11
Text ProcessingJohann Sebastian Bach (geboren 31. Marz 1685 in Eisenach; gestorben 28. Juli
1750 in Leipzig) war ein deutscher Komponist des Barock. Er gilt heute als
einer der bekanntesten und bedeutendsten Musiker, vor allem fur Berufsmusiker
ist er oft der großte Komponist aller Zeiten. Seine Werke beeinflussten nachfolgende
Komponistengenerationen. Zu Lebzeiten wurde Bach als Virtuose, Organist und
Orgelinspektor hoch geschatzt, allerdings waren seine Kompositionen nur einem
relativ kleinen Kreis von Musikkennern bekannt. Nach Bachs Tod gerieten seine
Werke jahrzehntelang in Vergessenheit und wurden kaum noch o↵entlich aufgefuhrt.
Nachdem die Komponisten der Wiener Klassik sich mit Teilen von Bachs Werk
auseinandergesetzt hatten, begann mit der Wiederau↵uhrung der Matthaus-Passion
unter Leitung von Felix Mendelssohn Bartholdy im Jahre 1829 die Bach-Renaissance
in der breiten O↵entlichkeit. Johann Sebastian Sebastian Bach Organist und Orgelinspektor
Bachs Tod Komponisten der Wiener Wiener Klassik Bachs Werk Felix Mendelssohn
Mendelssohn Bartholdy Bartholdy im Jahre
3
1. Split2. Filter3. Reformulate
11
Text ProcessingJohann Sebastian Bach (geboren 31. Marz 1685 in Eisenach; gestorben 28. Juli
1750 in Leipzig) war ein deutscher Komponist des Barock. Er gilt heute als
einer der bekanntesten und bedeutendsten Musiker, vor allem fur Berufsmusiker
ist er oft der großte Komponist aller Zeiten. Seine Werke beeinflussten nachfolgende
Komponistengenerationen. Zu Lebzeiten wurde Bach als Virtuose, Organist und
Orgelinspektor hoch geschatzt, allerdings waren seine Kompositionen nur einem
relativ kleinen Kreis von Musikkennern bekannt. Nach Bachs Tod gerieten seine
Werke jahrzehntelang in Vergessenheit und wurden kaum noch o↵entlich aufgefuhrt.
Nachdem die Komponisten der Wiener Klassik sich mit Teilen von Bachs Werk
auseinandergesetzt hatten, begann mit der Wiederau↵uhrung der Matthaus-Passion
unter Leitung von Felix Mendelssohn Bartholdy im Jahre 1829 die Bach-Renaissance
in der breiten O↵entlichkeit. Johann Sebastian Sebastian Bach Organist und Orgelinspektor
Bachs Tod Komponisten der Wiener Wiener Klassik Bachs Werk Felix Mendelssohn
Mendelssohn Bartholdy Bartholdy im Jahre
3
1. Split2. Filter3. Reformulate4. Clean
11
Text ProcessingJohann Sebastian Bach (geboren 31. Marz 1685 in Eisenach gestorben 28. Juli
1750 in Leipzig war ein deutscher Komponist des Barock Er gilt heute als einer
der bekanntesten und bedeutendsten Musiker vor allem fur Berufsmusiker ist er
oft der großte Komponist aller Zeiten Seine Werke beeinflussten nachfolgende
Komponistengenerationen Zu Lebzeiten wurde Bach als Virtuose Organist und
Orgelinspektor hoch geschatzt allerdings waren seine Kompositionen nur einem
relativ kleinen Kreis von Musikkennern bekannt. Nach Bachs Tod gerieten seine
Werke jahrzehntelang in Vergessenheit und wurden kaum noch o↵entlich aufgefuhrt.
Nachdem die Komponisten der Wiener Klassik sich mit Teilen von Bachs Werk
auseinandergesetzt hatten, begann mit der Wiederau↵uhrung der Matthaus-Passion
unter Leitung von Felix Mendelssohn Bartholdy im Jahre 1829 die Bach-Renaissance
in der breiten O↵entlichkeit Johann Sebastian Sebastian Bach Organist und Orgelinspektor
Bachs Tod Komponisten der Wiener Wiener Klassik Bachs Werk Felix Mendelssohn
Mendelssohn Bartholdy Bartholdy im Jahre
4
1. Split2. Filter3. Reformulate4. Clean
11
Text Processing Results
Johann Johann Sebastian Sebastian Sebastian Bach Bach Eisenach Leipzig Komponist
Barock Musiker Berufsmusiker Zeiten Werke Komponistengenerationen Lebzeiten
Virtuose Virtuose Organist Organist Organist und Orgelinspektor Orgelinspektor Kompositionen
Kreis Musikkennern Bachs Bachs Tod Tod Vergessenheit Komponisten Komponisten der Wiener
Wiener Wiener Klassik Klassik Bachs Werk Werk Wiederau↵uhrung Leitung Felix
Felix Mendelssohn Mendelssohn Mendelssohn Bartholdy Bartholdy Bartholdy im Jahre
Jahre O↵entlichkeit
5
Sebastian Bach Eisenach Leipzig
6
TermData
GeoData
12
ArchitectureAWARE/Android
Sensors
AWARELocation
ContextophelesSensors
GeonameResolver
OSMPoiResolver
ClipboardCatcher
NotificationCatcher
UIContent
SMSReceiver
ImageReceiver
AndroidClipBoardManager
AndroidAccessibilityServices
AndroidMediaStore
AndroidTelephonyProvider
ContextophelesSensor
Processing
TermCollector
ContextophelesApplication
Layer
Automatic Query
Figure 1: Description:
1. Step 1.
1
13
ArchitectureAWARE/Android
Sensors
AWARELocation
ContextophelesSensors
GeonameResolver
OSMPoiResolver
ClipboardCatcher
NotificationCatcher
UIContent
SMSReceiver
ImageReceiver
AndroidClipBoardManager
AndroidAccessibilityServices
AndroidMediaStore
AndroidTelephonyProvider
ContextophelesSensor
Processing
TermCollector
ContextophelesApplication
Layer
Automatic Query
Figure 1: Description:
1. Step 1.
1
13
Europeana Mapping
proxy dc contributor
EDMFields
(selection)
ag skos prefLabel
proxy dc creator
edm UGC
provider aggregation edm dataProvider
provider aggregation edm provider
proxy dc type
proxy dc format
cc skos broaderLabel
cc skos prefLabel
proxy dcterms created
ts skos prefLabel
proxy dc date
proxy dc coverage
proxy dcterms temporal
pl skos prefLabel
proxy dcterms spatial
proxy dcterms alternative
proxy dc title
europeana completeness
europeana aggregation edm country
proxy dc identifier
europeana aggregation edm language
provider aggregation edm rights
proxy edm year
proxy dc description
proxy dcterms tableOfContents
who
EDMAggregated
Fields
UGC
DATA PROVIDER
PROVIDER
what
date
when
subject
where
location
title
COMPLETENESS
COUNTRY
identifier
LANGUAGE
RIGHTS
YEAR
description
A
TermCollector
ContextophelesContext
Integration
ClipboardCatcher
NotificationCatcher
UIContent
SMSReceiver
ContextophelesContextSources
OSMPoiResolver
GeonameResolver
Mapping in the Europeana Data Model
Information Flow in Contextopheles
Mapping in AutomaticQuery Plugin
Figure 1: Overview over the system
1
14
Query GenerationWhatObjects
WhereObjects
Que
ryO
bjec
ts
From Term
Collector
15
Query Generation
What? Bach
WhatObjects
WhereObjects
Que
ryO
bjec
ts
From Term
Collector
15
Query Generation
What? Bach
WhatObjects
WhereObjects
Que
ryO
bjec
ts
What? Bach
From Term
Collector
15
Query Generation
What? Bach
WhatObjects
WhereObjects
Que
ryO
bjec
ts
Where? Leipzig
What? Bach
Where? Leipzig
Where? Leipzig What? Bach
From Term
Collector
15
Query Generation
What? Bach
WhatObjects
WhereObjects
Que
ryO
bjec
ts
What? Werk
Where? Leipzig
What? Bach
Where? Leipzig
Where? Leipzig What? Bach
From Term
Collector
15
Query Generation
What? Bach
WhatObjects
WhereObjects
Que
ryO
bjec
ts
What? Werk
Where? Leipzig
What? Bach
Where? Leipzig
Where? Leipzig What? Bach
What? Werk Where? Leipzig
What? WerkFrom Term
Collector
15
Query Generation
What? Bach
WhatObjects
WhereObjects
Que
ryO
bjec
ts
What? Werk
Where? Leipzig
Where? Wien
What? Bach
Where? Leipzig
Where? Leipzig What? Bach
What? Werk Where? Leipzig
What? WerkFrom Term
Collector
15
Query Generation
What? Bach
WhatObjects
WhereObjects
Que
ryO
bjec
ts
What? Werk
Where? Leipzig
What? Bach
Where? Leipzig
Where? Leipzig What? Bach
What? Werk Where? Leipzig
What? Werk
. . .
From Term
Collector
15
DEMO(or videos, if things start to explode)
Improvements and Future WorkAWARE/Android
Sensors
AWARELocation
ContextophelesSensors
GeonameResolver
OSMPoiResolver
ClipboardCatcher
NotificationCatcher
UIContent
SMSReceiver
ImageReceiver
AndroidClipBoardManager
AndroidAccessibilityServices
AndroidMediaStore
AndroidTelephonyProvider
ContextophelesSensor
Processing
TermCollector
ContextophelesApplication
Layer
Automatic Query
Figure 1: Description:
1. Step 1.
1
17
Improvements and Future WorkAWARE/Android
Sensors
AWARELocation
ContextophelesSensors
GeonameResolver
OSMPoiResolver
ClipboardCatcher
NotificationCatcher
UIContent
SMSReceiver
ImageReceiver
AndroidClipBoardManager
AndroidAccessibilityServices
AndroidMediaStore
AndroidTelephonyProvider
ContextophelesSensor
Processing
TermCollector
ContextophelesApplication
Layer
Automatic Query
Figure 1: Description:
1. Step 1.
1
Improve Location Resolvers
17
Improvements and Future WorkAWARE/Android
Sensors
AWARELocation
ContextophelesSensors
GeonameResolver
OSMPoiResolver
ClipboardCatcher
NotificationCatcher
UIContent
SMSReceiver
ImageReceiver
AndroidClipBoardManager
AndroidAccessibilityServices
AndroidMediaStore
AndroidTelephonyProvider
ContextophelesSensor
Processing
TermCollector
ContextophelesApplication
Layer
Automatic Query
Figure 1: Description:
1. Step 1.
1
Improve Term Heuristics
Improve Location Resolvers
17
Improvements and Future WorkAWARE/Android
Sensors
AWARELocation
ContextophelesSensors
GeonameResolver
OSMPoiResolver
ClipboardCatcher
NotificationCatcher
UIContent
SMSReceiver
ImageReceiver
AndroidClipBoardManager
AndroidAccessibilityServices
AndroidMediaStore
AndroidTelephonyProvider
ContextophelesSensor
Processing
TermCollector
ContextophelesApplication
Layer
Automatic Query
Figure 1: Description:
1. Step 1.
1
Improve Term Heuristics
Improve Location Resolvers
Extend and fixUser Interface, extend Situation
detection
17
Improvements and Future WorkAWARE/Android
Sensors
AWARELocation
ContextophelesSensors
GeonameResolver
OSMPoiResolver
ClipboardCatcher
NotificationCatcher
UIContent
SMSReceiver
ImageReceiver
AndroidClipBoardManager
AndroidAccessibilityServices
AndroidMediaStore
AndroidTelephonyProvider
ContextophelesSensor
Processing
TermCollector
ContextophelesApplication
Layer
Automatic Query
Figure 1: Description:
1. Step 1.
1
Improve Term Heuristics
Improve Location Resolvers
Extend and fixUser Interface, extend Situation
detection
and more
17
Example Extension
18
Todo• Evaluation: Expert review soon, more sophisticated
evaluation later (including quality of queries and results)
• Stability Improvements
• More Plugins (e.g. LocationProjector)
• More sophisticated situation detection (when to query and notify)
• Reduce Energy Consumption
• Comfort features (e.g. history of queries)
19
At a glance
• We built a prototype to proof the concept
• Still a lot of work to do to use it in „real life“
• Current performance of the app is very promising
• Building it was fun (most of the time 😃 )
20
Thank you very much