Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Provenance and Analytics for Social Machines, Trung Dong Huynh

159 views

Published on

SOCIAM all-hands, September, University of Oxford

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Provenance and Analytics for Social Machines, Trung Dong Huynh

  1. 1. Provenance and Analytics for Social Machines Dong Huynh, Luc Moreau, and David De Roure
  2. 2. SOCIAM All-hands – Sep 19, 2017 Provenance as the Foundation for Analytics of Social Machines SOCIALMACHINES INSIGHTS Provenance Capture Provenance Analytics
  3. 3. A Case Study Ingress location-based AR mobile game by Niantic. Gameplay involves capturing portals at places of cultural significance and linking them over geographical areas. Portals are crowdsourced 24+ million submissions 2012- 2015 Social machine observing Pokémon GO Pixelmon A highly observed social machine + radar apps /r/PokemonGO
  4. 4. evolve power up Collecting Earning Teaming Pokéstop Backpack Gym Candy Stardust Poké Ball egg incubator revive SOCIAM All-hands – Sep 19, 2017
  5. 5. SOCIAM All-hands – Sep 19, 2017 Pokemon Go NetLogo Simulation – David De Roure
  6. 6. Provenance Standardization • PROV: standardised vocabulary to describe • flows of data • processes • responsibility • Free tools & libraries • ProvToolbox (Java) • ProvPy (Python) • ProvStore • ProvValidator • Book & Tutorials
  7. 7. Provenance Templating b operation player_before use pokemon_before use type:var:operation_type type: var:player_type label: var:user_before_label team: var:team type: var:pokemon_type label: var:object_before_label species: var:species strength: var:strength der player_after type: var:player_type label:var:user_after_label team: var:team pokemon_after gender der type: var:pokemon_type label: var:object_after_label { "var": { "operation": [ { "@id": "game:capture3861" } ], "operation_type": [ { "@id": "pgo:PokemonCapture" } ], "time": [ { "@value": "3861", "@type": "xsd:int" } ], "player_before": [ { "@id": "game:players-43.9" } ], "player_type": [ { "@id": "pgo:Player" } ], "team": [ { "@id": "pgo:Mystic" } ], "pokemon_before": [ { "@id": "game:pokemons-513.0" } ], "pokemon_type": [ { "@id": "pgo:PokemonWeak" } ], "species": [ { "@value": "142", "@type": "xsd:int" } ], "strength": [ { "@value": "57", "@type": "xsd:int" } ], "player_after": [ { "@id": "game:players-43.10" } ], "pokemon_after": [ { "@id": "game:pokemons-513.1" } ] }, "context": { "game": "http://sociam.org/pokemongo-game#", "pgo": "http://sociam.org/pokemongo#" } } A provenance graph specifying the shape of the provenance to be generated, with variables (in red) acting as placeholders for values. A set of bindings mapping variables (in red) to values (in blue) A Declarative Approach to Provenance Creation SOCIAM All-hands – Sep 19, 2017
  8. 8. Provenance Templating: The Architecture Template( Expansion( PROV( Document( Bindings( PROV( Template( Applica: on( Ontology( Applica: on( 1. Designer specifies template 2. Application logs bindings 3. Template expansion algorithm generates provenance 4. Provenance can be exported in any PROV compatible format Design time Run time SOCIAM All-hands – Sep 19, 2017
  9. 9. Provenance Templating: Expansion details b operation player_before use pokemon_before use type:var:operation_type type: var:player_type label: var:user_before_label team: var:team type: var:pokemon_type label: var:object_before_label species: var:species strength: var:strength der player_after type: var:player_type label:var:user_after_label team: var:team pokemon_after gender der type: var:pokemon_type label: var:object_after_label 3d054c14-b2bd-4857-95ba-65f99e128956 capture3861 players-43.9 use pokemons-513.0 use type:pgo:PokemonCapture type: pgo:Player team: pgo:Mystic type: pgo:PokemonWeak species: 142 strength: 57 players-43.10 gen der der type: pgo:Player team: pgo:Mystic pokemons-513.1 gender der type:pgo:PokemonWeak SOCIAM All-hands – Sep 19, 2017 Paper: Luc Moreau, Belfrit Victor Batlajery, Trung Dong Huynh, Danius Michaelides, and Heather Packer. A templating system to generate provenance. IEEE Transactions on Software Engineering, 2017.
  10. 10. SOCIAM All-hands – Sep 19, 2017
  11. 11. Provenance Summarisation • Essence of Provenance: a provenance summary should capture the essence of the provenance graph that it summarises. • Outliers: It should be possible to detect anomalies or outliers in a provenance summary • Conformance: It should be possible to decide whether a provenance graph is compatible, or conformant, with a provenance summary. SOCIAM All-hands – Sep 19, 2017 Understanding Provenance at Scale
  12. 12. Pokémon GO Provenance Summary pgo:PokemonNormal_6 pgo:Player-pgo:Instinct_7 pgo:PokemonCapture_1 pgo:BallCollection_2 pgo:PokemonStrong_0 pgo:PokemonWeak_4 pgo:Pokestop_5 pgo:Valor-pgo:Player_3 pgo:Player-pgo:Mystic_8 Original Summary Nodes 1488 9 Edges 3384 46 • Clear Narrative • Common Patterns • Outliers Paper: Luc Moreau. Aggregation by provenance types: A technique for summarising provenance graphs. In Graphs as Models 2015 (An ETAPS'15 workshop), Electronic Proceedings in Theoretical Computer Science, pages 129-144, London, UK, April 2015.
  13. 13. pgo:Player-pgo:Mystic_4 pgo:PokemonWeak_2 pgo:PokemonCapture_0 pgo:Pokestop_3 pgo:BallCollection_1 Pokémon GO Team Summaries SOCIAM All-hands – Sep 19, 2017 pgo:PokemonNormal_5 pgo:Player-pgo:Instinct_6 pgo:PokemonCapture_1 pgo:Pokestop_4 pgo:PokemonStrong_0 pgo:BallCollection_2 pgo:PokemonWeak_3 pgo:BallCollection_2 pgo:Pokestop_4 pgo:Valor-pgo:Player_3 pgo:PokemonCapture_1 pgo:PokemonStrong_0
  14. 14. Provenance Network Analytics SOCIAM All-hands – Sep 19, 2017 Paper: Trung Dong Huynh, Mark Ebden, Joel Fischer, Stephen Roberts, and Luc Moreau. Provenance Network Analytics: An approach to data analytics using data provenance. In Data Mining and Knowledge Discovery, (in review).
  15. 15. PNA over Provenance Summaries SOCIAM All-hands – Sep 19, 2017 Initial results on Pokémon GO provenance: • Identifying correctly Yellow team (100%) • Cannot distinguish the summaries of Blue and Red
  16. 16. Summary SOCIAM All-hands – Sep 19, 2017 b operation player_before use pokemon_before use type:var:operation_type type: var:player_type label: var:user_before_label team: var:team type: var:pokemon_type label: var:object_before_label species: var:species strength: var:strength der player_after type: var:player_type label:var:user_after_label team: var:team pokemon_after gender der type: var:pokemon_type label: var:object_after_label pgo:PokemonNormal_5 pgo:Player-pgo:Instinct_6 pgo:PokemonCapture_1 pgo:Pokestop_4 pgo:PokemonStrong_0 pgo:BallCollection_2 pgo:PokemonWeak_3 pgo:Player-pgo:Mystic_4 pgo:PokemonWeak_2 pgo:PokemonCapture_0 pgo:Pokestop_3 pgo:BallCollection_1 pgo:BallCollection_2 pgo:Pokestop_4 pgo:Valor-pgo:Player_3 pgo:PokemonCapture_1 pgo:PokemonStrong_0 A Social Machine Insights Provenance Templating Summarisation Network Analytics
  17. 17. Where’s next… • Pokémon Go • Extending provenance network metrics for provenance summaries • Enriching the simulator with more player behaviours • StarGazing Live Datasets • Planet 9: 5m classifications • Exoplanet Explorers: 6m classifications • Discovery of a new 4-planet system • Data: classifications & forum interactions (between contributors & researchers) SOCIAM All-hands – Sep 19, 2017 pgo:BallCollection_2 pgo:Pokestop_4 pgo:Valor-pgo:Player_3 pgo:PokemonCapture_1 pgo:PokemonStrong_0 pgo:Player-pgo:Mystic_4 pgo:PokemonWeak_2 pgo:PokemonCapture_0 pgo:Pokestop_3 pgo:BallCollection_1

×