Gepersonaliseerde en contextafhankelijke profielen op Android mobiele toestellen
description
Transcript of Gepersonaliseerde en contextafhankelijke profielen op Android mobiele toestellen
Vakgroep Informatietechnologie – IBCN
Gepersonaliseerde en contextafhankelijke profielen op Android mobiele toestellen
Pieter Van Lysebetten, Sam Govaert
Promotor: prof. dr. ir. Filip De TurckBegeleiders: Philip Leroux, Klaas Roobroeck
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 2
Overzicht
Situering Probleemstelling Doelstelling
Methodologie Raamwerk Evaluatie Demo Conclusie
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 3
Overzicht
Situering Probleemstelling Doelstelling
Methodologie Raamwerk Evaluatie Demo Conclusie
Probleemstelling
Groot aantal applicaties Breed gamma aan applicaties op Android OS
Gebruikers kunnen zelf applicaties downloaden
Web 2.0 zelf apps ontwikkelen en verdelen duizenden apps beschikbaar op het net
Thesisbespreking – Sam Govaert, Pieter Van LysebettenVakgroep Informatietechnologie – Onderzoeksgroep (naam)
p. 4
Probleemstelling
Vaak contextafhankelijk Plaatsafhankelijk
AlarmClock slaapkamer Mappy auto, trein
Tijdsafhankelijk QuickOffice tijdens werkuren Youtube avond, weekend
Persoonsafhankelijk Mail, QuickOffice zakenman Facebook, Youtube student
Thesisbespreking – Sam Govaert, Pieter Van LysebettenVakgroep Informatietechnologie – Onderzoeksgroep (naam)
p. 5
Probleemstelling
Thesisbespreking – Sam Govaert, Pieter Van LysebettenVakgroep Informatietechnologie – Onderzoeksgroep (naam)
p. 6
Contacten ook contextafhankelijk Plaatsafhankelijk
Collega’s en klanten op het werk Familie en vrienden thuis, op cafe
Tijdsafhankelijk Collega’s en klanten tijdens de werkuren Familie en vrienden avond, weekend
“Profiel”-afhankelijk Collega’s en klanten werk Familie en vrienden thuis, op kot
Probleemstelling
Data bevat meer semantiek dan we denken Verschillende relaties tussen attributen (applicatie,
plaats, tijd, snelheid, enz.)
Doelstelling Voorstellen van een raamwerk voor
gepersonaliseerde en contextafhankelijke profielen
1. Ontdekken van profielen2. Ontdekken van structuren, patronen en verbanden
in het gebruik van applicaties en contacten
Thesisbespreking – Sam Govaert, Pieter Van LysebettenVakgroep Informatietechnologie – Onderzoeksgroep (naam)
p. 7
Doelstelling
(1) Ontdekken van profielen Gepersonaliseerd en automatisch herkend
Bvb voor een kotstudent: thuis, kot, school, trein
Op basis van contextuele parameters Thuis: vaste locatie, lage verplaatsingssnelheid, ... Trein: eerder een bewegingsfunctie, hoge snelheid, ...
Herkennen van profieleigenschappen Bvb typische locatie, gemiddelde snelheid, ...
Instellen van profielopties Bvb geluidsmodus (normaal, stil, enkel trillen, ...)
p. 8
Doelstelling
(2) Ontdekken van patronen en verbanden Applicaties die vaak samen gebruikt worden
Bvb Twitter en Facebook, GPS en Weer
Patronen in het applicatiegebruik: Tijdspatronen, plaatspatronen, snelheidspatronen, ...
– Vb tijdspatroon: vaak rond 20u op Facebook Patronen afhankelijk van meerdere parameters
– Bvb: zetten van de alarmklok voor slapengaan» Tijdsafhankelijk? Plaatsafhankelijk? ... Combinatie van tijd, plaats, snelheid, ...
Verbanden: na applicatie X vaak applicatie Y
p. 9
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 10
Overzicht
Situering Probleemstelling Doelstelling
Methodologie Raamwerk Evaluatie Demo Conclusie
Methodologie
Onderzoeksdomeinen Data Mining
Clustering / Custer Analysis Neurale Netwerken Support Vector Machines Association Rules Decision Trees Adaptive Resonance Theory (ART) Feature Discovery (Competitive Learning)
Artificial Intelligence (AI) Rule based systems
Thesisbespreking – Sam Govaert, Pieter Van LysebettenVakgroep Informatietechnologie – Onderzoeksgroep (naam)
p. 11
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 12
Methodologie: technieken
Evaluatie van Clustering-algoritmes Zoeken van locatieclusters, snelheidsclusters, … 2 overwegingen
1. Dient te werken voor verschillende topologieën
2. Aantal clusters vooraf niet bekend (gepersonaliseerd)
– K-Means Clustering vereist aantal (=K)
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 13
Methodologie: technieken Evaluatie van Clustering-algoritmes
Competitive Networks Niet in staat aantal clusters zelf te bepalen
ART Networks Wel in staat aantal clusters zelf te bepalen ART1 vrij primitief en niet geschikt voor ons doel Weinig info over andere ART-modellen
Expectation-Maxization Algoritme Meer geschikt voor onze doelstelling
1. Aantal profielen vooraf niet bekend (gepersonaliseerd)– K-Means Clustering vereist aantal (=K)
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 14
Methodologie: technieken
Expectation-Maximization Algoritme Gaussiaanse distributie (normaalverdeling)
In kansrekening vaak gebruikt als eerste benadering Parameters van normaalverdeling worden geschat
– op basis van maximum likelihood Clusters van zeer uiteenlopende vormen ontdekken
Aantal clusters wordt automatisch gezocht Dient niet vooraf opgegeven te worden
Verschillende Java frameworks te vinden Weka, OpenRDS, Shoal Gekozen voor Weka (meest gebruikt)
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 15
Methodologie: technieken
Expectation-Maximization Algoritme Voorbeeld
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 16
Methodologie: technieken
Expectation-Maximization Algoritme Voorbeeld
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 17
Methodologie: technieken
Verwantschapsanalyse (associatieregels) Zoeken van allerlei correlaties tussen variabelen
Vb supermarkt: {boter, brood} melk
Zoeken van zoveel mogelijk verbanden in data {Werk, Maandag, 15u} QuickOffice
Probleem: werkt met discrete waarden Tijd: 13u55 ≈ 14u00 ≈ 14u05 ... Lengtegraad, breedtegraad en snelheid ook continu Oplossing: clustering als voorbewerking
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 18
Methodologie: aanpak
A. Ontdekken van clusters en profielen Eerste voorbewerking op data Enige structuur vinden in ongestructureerde data Doel
1. Voorbewerking voor het zoeken van patronen in het gebruik van applicaties en contacten
2. Levert de persoonlijke profielen op
B. Ontdekken van patronen en verbanden Op basis van de gevonden clusters en profielen Dmv 3 classificatie-algoritmes
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 19
A. Clustering en profielgeneratie
Eerste-niveau clustering: attributen
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 20
A. Clustering en profielgeneratie
Eerste-niveau clustering: attributen
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 21
A. Clustering en profielgeneratie
Eerste-niveau clustering: attributen
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 22
A. Clustering en profielgeneratie
Eerste-niveau clustering: attributen
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 23
A. Clustering en profielgeneratie
Eerste-niveau clustering: attribuut locatie
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 24
A. Clustering en profielgeneratie
Eerste-niveau clustering: attribuut locatie
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 25
A. Clustering en profielgeneratie
Eerste-niveau clustering: attribuut locatie
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 26
A. Clustering en profielgeneratie
Eerste-niveau clustering: attribuut locatie
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 27
A. Clustering en profielgeneratie
Eerste-niveau clustering: attribuut locatie
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 28
A. Clustering en profielgeneratie
Eerste-niveau clustering: weekdag, snelheid
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 29
A. Clustering en profielgeneratie
Eerste-niveau clustering: tijd
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 30
A. Clustering en profielgeneratie
Eerste-niveau clustering: attributen combineren
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 31
A. Clustering en profielgeneratie
Eerste-niveau clustering: attributen combineren
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 32
A. Clustering en profielgeneratie
Eerste-niveau clustering: profielen
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 33
A. Clustering en profielgeneratie
Eerste-niveau clustering: attributen Tweede-niveau clustering: applicaties
We beschouwen applicaties tussen tweestandby-operaties als een cluster
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 34
B. Ontdekken van patronen
Classificatie “Training” op basis van ‘getransformeerde’ data
1. Clusters– Attribuutclusters en applicatieclusters
2. Profielen– Clusters over alle attributen samen
3. Recent geopende applicaties
“Testing” ahv 3 classificatie-algoritmes Elk algoritme levert een rangorde van applicaties
op basis van huidige gegevens op Android-toestel– Tijdstip, weekdag, plaats, actieve applicaties,...
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 35
B. Ontdekken van patronen
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 36
B. Ontdekken van patronen
ASSOCIATIE-REGELS
GRAFEN-ALGORITME
STATISTISCHALGORITME
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 37
B. Ontdekken van patronen
ASSOCIATIE-REGELS
GRAFEN-ALGORITME
STATISTISCHALGORITME
applicatiekansen
applicatiekansen
applicatiekansen
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 38
B. Ontdekken van patronen
ASSOCIATIE-REGELS
Classificatie-functie
f()
GRAFEN-ALGORITME
STATISTISCHALGORITME
applicatiekansen
applicatiekansen
applicatiekansen
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 39
B. Ontdekken van patronen
ASSOCIATIE-REGELS
Classificatie-functie
f()
GRAFEN-ALGORITME
STATISTISCHALGORITME
applicatiekansen
applicatiekansen
applicatiekansen
bvb: max of gewogen som
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 40
B. Ontdekken van patronen
ASSOCIATIE-REGELS
Classificatie-functie
f()
GRAFEN-ALGORITME
STATISTISCHALGORITME
applicatiekansen
applicatiekansen
applicatiekansen
totaleapplicatiekansen
bvb: max of gewogen som
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 41
Overzicht
Situering Probleemstelling Doelstelling
Methodologie Raamwerk Evaluatie Demo Conclusie
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 42
Raamwerk
Evaluatie performantie van de technieken Clustering (Expectation-Maximization via Weka)
Zeer veel data te analyseren– Eerst een tweetal weken trainingsdata verzamelen
Meerdere attributen (tijd, plaats, ...) Meerdimensionale attributen
– Locatie is tweedimensionaal– Profiel is vijfdimensionaal!
Sommige attributen bevatten weinig structuur– Bvb tijdstipVertraging van het clusteralgoritme
Algoritmes veel te zwaar voor het mobiel toestel Client-Server Architectuur
Raamwerk
Onderzoek op Android Weka-library initieel geporteerd voor Android
Problemen met externe libraries op Android– Android heeft eigen virtuele machine (Dalvik)– Vooral problemen met GUI-elementenWeka-library geporteerd
Web services Vergelijking tussen REST en SOAP
– REST flexibeler en performanter– Google heeft gebruik van SOAP stopgezet Gekozen voor REST
Thesisbespreking – Sam Govaert, Pieter Van LysebettenVakgroep Informatietechnologie – Onderzoeksgroep (naam)
p. 43
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 44
Raamwerk
Client-Server Architectuur Android Client
Service– Monitoren van gegevens op toestel– (Intern) opslaan van de getrackte gegevens– Communicatie met de server– Events (bvb aanbevelingen) naar widget sturen
Widget– Visualiseren van informatie
» Applicaties, contacten, profieleigenschappen– Profieleigenschappen opgeslagen op SD-kaart
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 45
Raamwerk
Client-Server Architectuur Server
Clustering Classificatie
– Associatieregels– Profielvenster (grafenalgoritme)– Kortetermijngeheugen
Communicatie tussen client en server REST web services
– Spring Android REST Template
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 46
Overzicht
Situering Probleemstelling Doelstelling
Methodologie Raamwerk Evaluatie Demo Conclusie
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 47
Evaluatie
Testopstelling Modelling Tool
Modelleren van het applicatiegebruik van een persoon– Bouwblokken met verschillende eigenschappen
» Coördinaten» Applicatieprobabiliteiten» Patronen in het applicatiegebruik» Realistische afwijkingen (random-factor)
Model wordt dan vertaald naar ARFF-dataformaat Eigen metriek (NIP)
Ahv true positives en false negatives Geoptimaliseerd zodat een random recommender
altijd een metriek van 0% oplevert
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 48
Evaluatie
Resultaten Vergelijking tussen recommendersRecommender NIP
Random Recommender 0 %
Simple Recommender 10.57 %
Associatieregels 84.41 %
Gewogen Classificatie 83.49 %
Max Classificatie 84.66 %
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 49
Evaluatie
Resultaten Vergelijking tussen recommenders
Associatieregels op zich reeds goede resultaten– Meeste patronen uit Profielvenster zullen hier ook
gevonden worden– Profielvenster wel zeer bruikbaar voor de profielen
Recommender NIP
Random Recommender 0 %
Simple Recommender 10.57 %
Associatieregels 84.41 %
Gewogen Classificatie 83.49 %
Max Classificatie 84.66 %
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 50
Evaluatie Overige uitgevoerde testen
Korte evaluatie van de profielherkenning Enkele eenvoudige case studies
Performantie van de serverdiensten Performantie van de Android client
Vertragingen op GUI-niveau Batterijverbruik
Netwerkbelasting tussen client en server
Associatieregels op zich reeds goede resultaten– Meeste patronen uit Profielvenster zullen hier ook gevonden worden– Profielvenster wel zeer bruikbaar voor de profielen
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 51
Overzicht
Situering Probleemstelling Doelstelling
Methodologie Raamwerk Evaluatie Demo Conclusie
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 52
Demo
Databestand Persoon met 9-to-5-job
Thuis Trein naar werk Werk Trein naar huis Thuis
Patronen Bij slapengaan
– Alarmklok zetten Bij opstaan
– Alarmklok wijzigen– Agenda nakijken
Applicaties vaak tesamen– Email en Facebook
...
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 53
Demo
Databestand Persoon met 9-to-5-job
Thuis Trein naar werk Werk Trein naar huis Thuis
Patronen Bij slapengaan
– Alarmklok zetten Bij opstaan
– Alarmklok wijzigen– Agenda nakijken
Applicaties vaak tesamen– Email en Facebook
...
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 54
Demo
Databestand Persoon met 9-to-5-job
Thuis Trein naar werk Werk Trein naar huis Thuis
Patronen Bij slapengaan
– Alarmklok zetten Bij opstaan
– Alarmklok wijzigen– Agenda nakijken
Applicaties vaak tesamen– Email en Facebook
...
id engegevens
overprofiel
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 55
Demo
Databestand Persoon met 9-to-5-job
Thuis Trein naar werk Werk Trein naar huis Thuis
Patronen Bij slapengaan
– Alarmklok zetten Bij opstaan
– Alarmklok wijzigen– Agenda nakijken
Applicaties vaak tesamen– Email en Facebook
...
id engegevens
overprofiel
laatst gebeld in profiel
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 56
Demo
Databestand Persoon met 9-to-5-job
Thuis Trein naar werk Werk Trein naar huis Thuis
Patronen Bij slapengaan
– Alarmklok zetten Bij opstaan
– Alarmklok wijzigen– Agenda nakijken
Applicaties vaak tesamen– Email en Facebook
...
id engegevens
overprofiel
laatst gebeld in profiel
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 57
Demo
Databestand Persoon met 9-to-5-job
Thuis Trein naar werk Werk Trein naar huis Thuis
Patronen Bij slapengaan
– Alarmklok zetten Bij opstaan
– Alarmklok wijzigen– Agenda nakijken
Applicaties vaak tesamen– Email en Facebook
...
id engegevens
overprofiel
laatst gebeld in profiel
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 58
Demo
Databestand Persoon met 9-to-5-job
Thuis Trein naar werk Werk Trein naar huis Thuis
Patronen Bij slapengaan
– Alarmklok zetten Bij opstaan
– Alarmklok wijzigen– Agenda nakijken
Applicaties vaak tesamen– Email en Facebook
...
id engegevens
overprofiel
laatst gebeld in profiel
applicaties
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 59
Overzicht
Situering Probleemstelling Doelstelling
Methodologie Raamwerk Evaluatie Demo Conclusie
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 60
Conclusie
Raamwerk voorgesteld Gepersonaliseerde en contextafhankelijke profielen Aanbevelingen van applicaties en contacten
Technieken Clustering: Expectation-Maximization-algoritme Patroonherkenning: associatieregels leveren beste
resultaten Performantie en architectuur
Technieken te zwaar voor Android client POC via Client-Server architectuur
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 61
Conclusie
Onderwerpen voor verder onderzoek Dynamisch evalueren van profielen
Eventueel door verschillende schalen te gebruiken Hier kan ART wel geschikt zijn
Optimalisatie van de recommendatie Complexere classificatiefuncties
Thesisverdediging– Pieter Van Lysebetten, Sam GovaertVakgroep Informatietechnologie – IBCN
p. 62
Vragen