Vakgroep Informatietechnologie – IBCN Gepersonaliseerde en contextafhankelijke profielen op Android mobiele toestellen Pieter Van Lysebetten, Sam Govaert Promotor: prof. dr. ir. Filip De Turck Begeleiders: Philip Leroux, Klaas Roobroeck
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 2 Overzicht Situering Probleemstelling Doelstelling Methodologie Raamwerk Evaluatie Demo Conclusie
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 Lysebetten Vakgroep 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 Lysebetten Vakgroep Informatietechnologie – Onderzoeksgroep (naam) p. 5
Probleemstelling Thesisbespreking – Sam Govaert, Pieter Van Lysebetten Vakgroep 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 profielen 2. Ontdekken van structuren, patronen en verbanden in het gebruik van applicaties en contacten Thesisbespreking – Sam Govaert, Pieter Van Lysebetten Vakgroep 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 Govaert Vakgroep 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 Lysebetten Vakgroep Informatietechnologie – Onderzoeksgroep (naam) p. 11
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 Govaert Vakgroep 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 Govaert Vakgroep 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 Govaert Vakgroep Informatietechnologie – IBCN p. 15 Methodologie: technieken Expectation-Maximization Algoritme Voorbeeld
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 16 Methodologie: technieken Expectation-Maximization Algoritme Voorbeeld
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 Govaert Vakgroep 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 Govaert Vakgroep Informatietechnologie – IBCN p. 19 A. Clustering en profielgeneratie Eerste-niveau clustering: attributen
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 20 A. Clustering en profielgeneratie Eerste-niveau clustering: attributen
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 21 A. Clustering en profielgeneratie Eerste-niveau clustering: attributen
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 22 A. Clustering en profielgeneratie Eerste-niveau clustering: attributen
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 23 A. Clustering en profielgeneratie Eerste-niveau clustering: attribuut locatie
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 24 A. Clustering en profielgeneratie Eerste-niveau clustering: attribuut locatie
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 25 A. Clustering en profielgeneratie Eerste-niveau clustering: attribuut locatie
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 26 A. Clustering en profielgeneratie Eerste-niveau clustering: attribuut locatie
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 27 A. Clustering en profielgeneratie Eerste-niveau clustering: attribuut locatie
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 28 A. Clustering en profielgeneratie Eerste-niveau clustering: weekdag, snelheid
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 29 A. Clustering en profielgeneratie Eerste-niveau clustering: tijd
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 30 A. Clustering en profielgeneratie Eerste-niveau clustering: attributen combineren
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 31 A. Clustering en profielgeneratie Eerste-niveau clustering: attributen combineren
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 32 A. Clustering en profielgeneratie Eerste-niveau clustering: profielen
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 33 A. Clustering en profielgeneratie Eerste-niveau clustering: attributen Tweede-niveau clustering: applicaties We beschouwen applicaties tussen twee standby-operaties als een cluster
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 Govaert Vakgroep Informatietechnologie – IBCN p. 35 B. Ontdekken van patronen ASSOCIATIE- REGELS INTRACLUSTER- CORRELATIE GRAFEN- ALGORITME PROFIELAFHANKELIJKE PATRONEN + profieleigenschappen (gemiddelde snelheid,...) STATISTISCH ALGORITME KORTETERMIJN- GEHEUGEN
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 36 B. Ontdekken van patronen ASSOCIATIE- REGELS GRAFEN- ALGORITME STATISTISCH ALGORITME
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 37 B. Ontdekken van patronen ASSOCIATIE- REGELS GRAFEN- ALGORITME STATISTISCH ALGORITME applicatiekansen
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 38 B. Ontdekken van patronen ASSOCIATIE- REGELS Classificatie- functie f() GRAFEN- ALGORITME STATISTISCH ALGORITME applicatiekansen
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 39 B. Ontdekken van patronen ASSOCIATIE- REGELS Classificatie- functie f() GRAFEN- ALGORITME STATISTISCH ALGORITME applicatiekansen bvb: max of gewogen som
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 40 B. Ontdekken van patronen ASSOCIATIE- REGELS Classificatie- functie f() GRAFEN- ALGORITME STATISTISCH ALGORITME applicatiekansen totale applicatiekansen bvb: max of gewogen som
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 41 Overzicht Situering Probleemstelling Doelstelling Methodologie Raamwerk Evaluatie Demo Conclusie
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 tijdstip Vertraging 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-elementen Weka-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 Lysebetten Vakgroep Informatietechnologie – Onderzoeksgroep (naam) p. 43
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 Govaert Vakgroep 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 Govaert Vakgroep Informatietechnologie – IBCN p. 46 Overzicht Situering Probleemstelling Doelstelling Methodologie Raamwerk Evaluatie Demo Conclusie
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 Govaert Vakgroep Informatietechnologie – IBCN p. 48 Evaluatie Resultaten Vergelijking tussen recommenders RecommenderNIP Random Recommender0 % Simple Recommender10.57 % Associatieregels84.41 % Gewogen Classificatie83.49 % Max Classificatie84.66 %
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 RecommenderNIP Random Recommender0 % Simple Recommender10.57 % Associatieregels84.41 % Gewogen Classificatie83.49 % Max Classificatie84.66 %
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 Govaert Vakgroep Informatietechnologie – IBCN p. 51 Overzicht Situering Probleemstelling Doelstelling Methodologie Raamwerk Evaluatie Demo Conclusie
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 – en Facebook ...
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 – en Facebook ...
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 – en Facebook ... id en gegevens over profiel
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 – en Facebook ... id en gegevens over profiel laatst gebeld in profiel
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 – en Facebook ... id en gegevens over profiel laatst gebeld in profiel
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 – en Facebook ... id en gegevens over profiel laatst gebeld in profiel
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 – en Facebook ... id en gegevens over profiel laatst gebeld in profiel applicaties
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep Informatietechnologie – IBCN p. 59 Overzicht Situering Probleemstelling Doelstelling Methodologie Raamwerk Evaluatie Demo Conclusie
Thesisverdediging– Pieter Van Lysebetten, Sam Govaert Vakgroep 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 Govaert Vakgroep 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 Govaert Vakgroep Informatietechnologie – IBCN p. 62 Vragen