Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Network Science: explaining and understanding our connected world!

Mário Cordeiro
December 04, 2020

Network Science: explaining and understanding our connected world!

Agenda:
- background and history: how the seven bridges of Königsberg, Google and 9/11 attacks are related?
- new problems require new solutions: solving complex problems with Network Science
- one dataset, but many networks
- Network Science -> Network Analysis -> Social Network Analysis
- fundamentals in graph theory, models and common network metrics
- sub-graph mining, community discovery, information cascades and the challenges of large scale network analysis
- techniques and tools for visualization and interpret large networks
- next level: what about networks that evolve over time?

What is not:
- a complete course on Network Analysis. If you insist in get one, just go for Jure Leskovec, Lada Adamic, etc.
- a Python evangelistic session: tools and algorithms presented are just my own recommendations for this session exercises
- definitive solutions for the presented exercises, network problems can get hard to solve when scaling and adding the temporal dimension

What you should have:
- your favourite browser: we will use mainly colab.research.google.com for the exercises
- basic Python and JavaScript skills
- paper and pencil, drawing and sketching basic skills: nothing better to understand network problems than starting drawing and paying with small network toy examples
- motivation to learn new stuff

Mário Cordeiro

December 04, 2020
Tweet

More Decks by Mário Cordeiro

Other Decks in Science

Transcript

  1. NETWORK SCIENCE: EXPLAINING AND UNDERSTANDING OUR CONNECTED WORLD! Agenda: •

    background and history: how the seven bridges of Königsberg, Google and 9/11 attacks are related? • new problems require new solutions: solving complex problems with Network Science • one dataset, but many networks • Network Science -> Network Analysis -> Social Network Analysis • fundamentals in graph theory, models and common network metrics • sub-graph mining, community discovery, information cascades and the challenges of large scale network analysis • techniques and tools for visualization and interpret large networks • next level: what about networks that evolve over time? • conclusions and final discussion What is not: • a complete course on Network Analysis. If you insist in get one, just go for Jure Leskovec, Lada Adamic, etc. • a Python evangelistic session: tools and algorithms presented are just my own recommendations for this session exercises • definitive solutions for the presented exercises, network problems can get hard to solve when scaling and adding the temporal dimension What you should have: • your favourite browser: we will use mainly colab.research.google.com for the exercises • basic Python and JavaScript skills • paper and pencil, drawing and sketching basic skills: nothing better to understand network problems than starting drawing and paying with small network toy examples • motivation to learn new stuff 2
  2. 3

  3. Background and history • How the seven bridges of Königsberg,

    Google and 9/11 attacks are related? • The year is 1735. City of Koenigsberg (today Kaliningrado) has a funny layout of 7 bridges across the river • Citizens of Koenigsberg are wondering if it’s possible to walk across each bridge exactly once and return to same starting point? • They think that it’s impossible, but no one can prove it Source: The City of Königsberg, Historic Cities Research Project
  4. • How the seven bridges of Königsberg, Google and 9/11

    attacks are related? • The year is 1959, paper by Paul Erdős and Alfréd Rényi published a paper on Random Graphs. • P . Erdős and A. Rényi. On random graphs. Publicationes Mathematicae, 6: 290, 1959 • Later in 1973 paper by Mark Granovetter researched about the strength of weak ties in Graphs. • M. S. Granovetter. The strength of weak ties. American Journal of Sociology, 78: 1360, 1973 Background and history Citations per year of the two papers
  5. • How the seven bridges of Königsberg, Google and 9/11

    attacks are related? • The year is 1998. Stanford University. Sergey Brin and Lawrence Page published a seminal paper that would change the way internet is searched and queried: • Page, L., & Brin, S. (1998). The anatomy of a large-scale hypertextual Web search engine. Computer Networks. https://doi.org/10.1016/s0169-7552(98)00110-x • The core system feature was PageRank an algorithm that they claim will start Bringing Order to the Web Background and history Source: High Level Google Architecture
  6. Background and history • How the seven bridges of Königsberg,

    Google and 9/11 attacks are related? • The year is 2001. On the 11th September, the world assisted to a series of four coordinated terrorist attacks by the Islamist terrorist group Al-Qaeda to the United States. Why it was not possible to detect and prevent such terrorist attacks? • In that same month Coles, • draws attention to the failure by criminologists to adopt Social Network Analysis techniques and concepts in the investigation of criminal networks, particularly in the study of organized crime: Coles, N. (2001). It’s not what you know - It’s who you know that counts: Analysing serious crime groups as social networks. British Journal of Criminology. https://doi.org/10.1093/bjc/41.4.580 Source: September 11 attacks, britannica
  7. 8

  8. New problems require new solutions • Solving complex problems with

    Network Science • Seven bridges of Königsberg and the Euler circuit: Source: Seven Bridges of Königsberg and the Origin of Network Graphs Leonhard Euler
  9. New problems require new solutions • Solving complex problems with

    Network Science • Seven bridges of Königsberg and the Euler circuit: • Euler proved: • An undirected and connected graph has an Euler Cycle iff all the vertices have an even degree • A directed and strongly connected graph has an Euler Cycle iff din(V) = dout(V) for each vertex V Source: Eulerian Path and Cycle Detector Leonhard Euler
  10. New problems require new solutions • Solving complex problems with

    Network Science • the 1959 paper by Paul Erdős and Alfréd Rényi that marks the beginning of the study of random networks in graph theory (P . Erdős and A. Rényi. On random graphs. Publicationes Mathematicae, 6: 290, 1959.) • In 1973 paper by Mark Granovetter, the most cited social network paper (M. S. Granovetter. The strength of weak ties. American Journal of Sociology, 78: 1360, 1973) Mark Granovetter (1973) wrote his landmark paper studying how people get jobs through their personal networks. Contrary to expectations, Mark found that people typically get new jobs through their weak ties (acquaintances) rather than their strong ties (close family and friends). Building weak ties into your network introduces you to more diverse partners, ideas and opportunities, while reducing the time it takes to manage and maintain relationships. (source) Classical random graph: The commonly studied network is called Erdős–Rényi (ER) model Gnm, in which there are n nodes and m edges that connect any two nodes randomly Each link between each pair has a given probability p to connect with each other. It is one of the earliest graph theory describing the global connection between nodes. Analysis one this network is relatively easy compared with other since nodes can be considered uncorrelated. (source) Paul Erdős Alfréd Rényi Mark Granovetter
  11. New problems require new solutions • Solving complex problems with

    Network Science • Google Page Rank Source: Page Rank (Wikipedia) Lawrence Page Sergey Brin
  12. New problems require new solutions • Solving complex problems with

    Network Science • Random Walk and Personalized PageRank: • Allow drunk to teleport with some probability • Random websurfer follows links for a while, but with some probability teleports to a “random” page • Teleport avoid being trapped in a loop or dead end Source: Network Centrality Lada Adamic and James Moody
  13. New problems require new solutions • Solving complex problems with

    Network Science • Social Network Analysis (SNA) applied to criminal networks: Source: Connecting the Dots Tracking Two Identified Terrorists Key conclusions: All 19 hijackers were within 2 steps of the two original suspects uncovered in 2000! Social network metrics reveal Mohammed Atta emerging as the local leader ???
  14. New problems require new solutions • Solving complex problems with

    Network Science • Social Network Analysis (SNA) applied to criminal networks: • Community Detection via Louvain Algorithm • Identifying Community Leader via Laplacian Centrality • 9/11 Hijackers dataset Source: Cordeiro, et al. (2020). Identifying, Ranking and Tracking Community Leaders in Evolving Social Networks. Full 9/11 Hijackers Network Community Structure Hierarchy
  15. New problems require new solutions • Solving complex problems with

    Network Science • Social Network Analysis (SNA) applied to criminal networks: • Community Detection via Louvain Algorithm • Identifying Community Leader via Laplacian Centrality • Jemaah Islamiyah Koschade Source: Cordeiro, et al. (2020). Identifying, Ranking and Tracking Community Leaders in Evolving Social Networks. Full Jemaah Islamiyah Koschade Network Community Structure Hierarchy From the investigation: Samudra was the attack strategy, Idris was the logistics commander and Imron was the team's gofer
  16. New problems require new solutions • Solving complex problems with

    Network Science • Brewery Road Trip, Optimized With Genetic Algorithm: • Visit the best American breweries of 2018 while minimizing travel time and distance • RateBeer published their list of top 100 breweries in the world Source: Brewery Road Trip, Optimized With Genetic Algorithm, FlowingData. Solution for Brewery Road Trip: Randal Olson’s implementation to figure out the routes using a genetic algorithm. The Google Maps API provides the travel times and distances. The algorithm then starts with a random route and then tries to improve with each iteration. Problem: The travelling salesman problem (TSP) asks the following question: "Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city?" NP-hard problem in combinatorial optimization! Movie: Travelling Salesman (2012), Four mathematicians are hired by the US government to solve the most powerful problem in computer science history
  17. New problems require new solutions • Solving complex problems with

    Network Science • Soccer Passing Networks: • The organization of football teams and their performance have been unveiled using metrics coming from Network Science • Buldú, J. M., Busquets, J., Echegoyen, I., & Seirul.lo, F. (2019). Defining a historic football team: Using Network Science to analyze Guardiola’s F.C. Barcelona. Scientific Reports. https://doi.org/10.1038/s41598-019-49969-2 Source: Defining a historic football team: Using Network Science to analyze Guardiola’s F.C. Barcelona Passing Networks: Schematic illustration of a football passing network. In the plot, players are represented by circular nodes, whose size is proportional to their eigenvector centrality, a measure of importance in the network structure. The position of each player is given by the average of the positions of all passes made by the player along the match. The width of the links is proportional to their weights, which account for the number of passes between players. Note that links are unidirectional. In this example, we plot the average passing network of the match between F.C. Barcelona and Real Madrid, played during the season 2009/2010 at Santiago Bernabeu Stadium. Datasets leading to the passing network were provided by Opta
  18. New problems require new solutions • Solving complex problems with

    Network Science • Soccer Passing Networks: • Portugal 1 x 0 France | Group F | Stade de France | 10-07-2016 Source: https://grafos-da-bola.netlify.app/#european_championship_portugal_france_1_0_1694440 About this project: Football Passing Networks is an interactive web application to explore data visualizations on soccer passing networks. https://github.com/rodmoioliveira/football-graphs
  19. 20

  20. One dataset, but many networks • Building many networks from

    one data source • Twitter friendship network visualization Source: How to Visualize Your Twitter Network
  21. One dataset, but many networks • Building many networks from

    one data source • Kevin Bacon and Six Degrees of Separation Source: Kevin Bacon and Six Degrees of Separation Facebook Social Network: Facebook did a study to measure it more recently and found that it was 3.5 for its users.
  22. One dataset, but many networks • Building many networks from

    one data source • Twitter hashtag relation network visualization Source: A network analysis of wartime slogans on Twitter
  23. One dataset, but many networks • Building many networks from

    one data source • #MeToo hashtag network visualization Source: #MeToo hashtag network visualization
  24. One dataset, but many networks • Building many networks from

    one data source • Retweet network visualization Source: Tweeting for and Against Public Health Policy: Response to the Chicago Department of Public Health's Electronic Cigarette Twitter Campaign
  25. 26

  26. Network Science • Network Analysis -> Social Network Analysis •

    Network science is an academic field which studies complex networks • such as telecommunication networks, computer networks, biological networks, cognitive and semantic networks, and social networks, • considering distinct elements or actors represented by nodes (or vertices) and the connections between the elements or actors as links (or edges). • The field draws on theories and methods including: • graph theory from mathematics • statistical mechanics from physics • data mining and information visualization from computer science • inferential modeling from statistics • and social structure from sociology • Network Science by Albert-László Barabási • Other important stuff: • http://www.network-science.org/ Source: Network Science (Wikipedia) The explosive interest in networks: well documented by the citation pattern of two classic papers, the 1959 paper by Paul Erdős and Alfréd Rényi that marks the beginning of the study of random networks in graph theory (P. Erdős and A. Rényi. On random graphs. Publicationes Mathematicae, 6: 290, 1959.) and the 1973 paper by Mark Granovetter, the most cited social network paper (M. S. Granovetter. The strength of weak ties. American Journal of Sociology, 78: 1360, 1973) Total: 58947 December 2020 Total: 19620 December 2020
  27. 28

  28. Fundamentals in graph theory • Formal Definition • A graph

    is a pair (V, E) where: • V is a collection of nodes, called Vertices • E is a collection of edges, called Edges • To each graph edge (e) there is associated a pair of graph vertices (u, v): • Informal definition • Graphs represent general relationships or connections • Each node may have many predecessors and many successors • There may be multiple paths (or no path) from one node to another • Can have cycles or loops • Graphs: Vertices and Edges • A graph is composed of vertices and edges • Vertices (nodes): • Represent objects, states, positions, place holders • Set {v 1 , v 2 , ..., v n } • Each vertex is unique: no two vertices represent the same object/state • Edges (arcs): • Can be directed or undirected • Can be weighted (or labeled) or unweighted Adapted from: Graphs, Estruturas de Informação, ISEP-DEI, Fátima Rodrigues
  29. Fundamentals in graph theory • Types of Graphs • An

    undirected edge e = (v i , v j ) indicates that the relationship, connection, etc. is bi-direction: • Can go from vi to vj and vice-versa • A directed edge e = (v i , v j ) specifies a one-directional relationship or connection: • Can only go from vi to v • Unweighted and weighted: edges have a associated value. i.e.: valorised graph • Types of Edges • their representation according to an Adjacency Matrix or an Adjacency List: Adjacency Matrix Adjacency List Adapted from: Graphs, Estruturas de Informação, ISEP-DEI, Fátima Rodrigues
  30. Fundamentals in graph theory • Graph Terminology • End vertices

    (or endpoints) of an edge • u and v are the endpoints of a • Edges incident on a vertex • a, d, and b are incident on v • Adjacent vertices • u and v are adjacent • Degree of a vertex • x has degree 5 • Parallel edges • h and i are parallel edges • Self-loop • j is a self-loop Adapted from: Graphs, Estruturas de Informação, ISEP-DEI, Fátima Rodrigues
  31. Fundamentals in graph theory • How to read graphs using

    The Empire Strikes Back Source: How to read graphs using The Empire Strikes Back
  32. Fundamentals in graph theory • Graph Metrics • Density: •

    The density of a graph is a measure of how many edges between nodes exist compared to how many edges between nodes are possible with , • Centrality: • Centrality measures address the question: "Who is the most important or central person in this network?“ • Vast number of different centrality measures: • Node Degree • Closeness • Betweenness • Laplacian Centrality • PageRank Centrality • Diameter: • The diameter of G (G) is the longest shortest path between any two nodes in a network • The diameter indicates how long it will take at most to reach any node in a connected network • A) for unweighted networks, B) for weighted networks Degree Centrality: blue node has the maximum degree Closeness Centrality: blue node is the closest to all nodes (only two steps) Betweenness Centrality: connects the left with the right sub-graph (bridge) The resulting index is π = mT/mδ, where mT is the total mileage of the network and mδ is the total mileage of the network's diameter. The higher π is, the denser the network. Adapted from: Graphs, Estruturas de Informação, ISEP-DEI, Fátima Rodrigues
  33. Fundamentals in graph theory • Using Krackhardt’s Kite to explain

    centrality Source: Using Krackhardt’s Kite to explain centrality
  34. Fundamentals in graph theory • Algorithms • Graph Traversals •

    Breadth-First Search (BFS) Networkx • Depth-First Search (DFS) Networkx • Connected Components • Compute all connected components via BFS, check if the network is disconnected, graph visualization, clustering • Strongly Connected Components • A strongly connected component (SCC) of a directed graph G = (V, E) is the largest subset of vertices C V such that for every pair of vertices v, w C there is a path from v to w and from w to v • Kosaraju’s Algorithm Networkx • All-Pairs Reachability • Floyd-Warshall algorithm: Transitive Closure Networkx • Shortest Paths • Given a directed graph G(V,E) find the shortest path from a given start vertex S to all other vertices (Single Source Shortest Paths) where the length of a path is the sum of its edge weights • Dijkstra’s algorithm Networkx • Constrained Shortest Path • Given a set of N nodes and distances dij ≥ 0 it is intended to determine the shortest path between the nodes 1..N passing through K nodes where k is 2, 3, ..., k ≤ N-1 intermediate nodes • Force brute solution: • Generate all permutations • Find a path with minimum cost Problem: NP-hard problem in combinatorial optimization! In fact this is the travelling salesman problem (TSP) Adapted from: Graphs, Estruturas de Informação, ISEP-DEI, Fátima Rodrigues
  35. Fundamentals in graph theory • Algorithms • Minimum Spanning Trees

    • Minimum Spanning Tree: Given an undirected, connected graph G=(V,E) with positive edge weights, a minimum spanning tree T=(V,E’) is a tree that connects all the vertices of the graph G with the minimum cost (weights) Networkx • Planar graph: • In graph theory, a planar graph is a graph that can be embedded in the plane. Networkx • Graph / Map Coloring: • Graph coloring Networkx • A proper vertex coloring of the Petersen graph with 3 colors: • Planar graph coloring: Four color theorem, the four color map theorem, states that, given any separation of a plane into contiguous regions, producing a figure called a map, no more than four colors are required to color the regions of the map so that no two adjacent regions have the same color. Adapted from: Graphs, Estruturas de Informação, ISEP-DEI, Fátima Rodrigues
  36. 37

  37. Sub-graph mining and community discovery • Sub-graph • A subgraph

    S of a graph G is a graph such as: • The vertices of S are a subset of the vertices of G, The edges of S are a subset of the edges of G Networkx • A spanning subgraph of G is a subgraph that contains all vertices of G • Sub-graph mining • Frequent Subgraph Mining (FSM) • Discovery of graph structures that occur a significant number of times across a set of graphs (gSpan algorithm) Graphlets. All 30 possible graphlets of node size 2–5. These are undirected subgraphs featuring every valid combination of edges between a given number of nodes Source: Grasping frequent subgraph mining for bioinformatics applications
  38. Sub-graph mining and community discovery • Community discovery / Community

    Detection • Discovering communities in complex networks means grouping nodes similar to each other, to uncover latent information about them. Source: Discovering Communities of Community Discovery
  39. Sub-graph mining and community discovery • Community discovery / Community

    Detection • Louvain algorithm • The Louvain method for community detection is a method to extract communities from large networks created by Blondel et al. Networkx • Modularity optimization: • Modularity is one measure of the structure of networks or graphs. It was designed to measure the strength of division of a network into modules. • Networks with high modularity have dense connections between the nodes within modules but sparse connections between nodes in different modules Source: From Louvain to Leiden: guaranteeing well-connected communities Louvain algorithm. The Louvain algorithm starts from a singleton partition in which each node is in its own community (a). The algorithm moves individual nodes from one community to another to find a partition (b). Based on this partition, an aggregate network is created (c). The algorithm then moves individual nodes in the aggregate network (d). These steps are repeated until the quality cannot be increased further. Modularity is defined as: where: • represents the edge weight between nodes and ; • and are the sum of the weights of the edges attached to nodes nodes and ; • is the sum of all of the edge weights in the graph; • and are the communities of the nodes; and • is Kronecker delta function ( if , 0 otherwise).
  40. Sub-graph mining and community discovery • Community discovery / Community

    Detection • Louvain algorithm + Laplacian Centrality • The Louvain method for community • The Laplacian centrality for elect the community representative node Laplacian Louvain algorithm. The Louvain algorithm starts from a singleton partition in which each node is in its own community (a). The algorithm moves individual nodes from one community to another to find a partition (b). Each node has it’s own Laplacian centrality computed. Based on this partition, an aggregate network is created (c). The node that is chosen to represent the community is the most central in its community. The algorithm then moves individual nodes in the aggregate network (d). These steps are repeated until the quality cannot be increased further. Source: Cordeiro, et al. (2020). Identifying, Ranking and Tracking Community Leaders in Evolving Social Networks.
  41. Sub-graph mining and community discovery • Community discovery / Community

    Detection • Louvain algorithm + Laplacian Centrality • The Louvain method for community • The Laplacian centrality for elect the community representative node Source: Cordeiro, et al. (2020). Identifying, Ranking and Tracking Community Leaders in Evolving Social Networks. Zachary karate club community detection. Node 33 represent “John A” group and Node 0 “Mr. Hi” group: Classical (a) vs Hierarchical (b)→ (c)→ (d).
  42. Sub-graph mining and community discovery • Community discovery / Community

    Detection • Louvain algorithm + Laplacian Centrality • The Louvain method for community • The Laplacian centrality for elect the community representative node Source: Cordeiro, et al. (2020). Identifying, Ranking and Tracking Community Leaders in Evolving Social Networks. Jemaah Islamiyah Bali bombings cell. Strategy (Samudra), logistics commander (Idris) and team’s gofer (Imron): Classical (a) vs Hierarchical (b)→ (c)
  43. 44

  44. Techniques and tools for visualization • What is a good

    layout? 1. Minimum edges intersection 2. Adjacent vertices are closer to each other than not adjacent 3. Communities are grouped into clusters 4. Minimum overlapping edges and nodes d3-force testing ground Force-Directed and Energy-Based Dimension reduction layouts examples
  45. Techniques and tools for visualization • Techniques • Clustering •

    Clustering is the act of dividing a graph up into groups of nodes, which are referred to as clusters, based on their position within the overall topology of the graph. • Edge Reduction • In some graphs the number of edges can be exceptionally large. Not only can these be difficult to render, they may add little to the overall structure and can actually obscure higher level groupings. • Filters • allows a user to remove nodes or edges based on their attributes (i.e.: Remove Nodes where the Node Degree is less than 5) • Metrics and Statistics • metrics for analysing a graphs structure (Density, Average Degree, etc) Edge Reduction Filters Metrics and Statistics Source: Graphia Transforms.
  46. Techniques and tools for visualization • Tools for Large Graph

    Visualization • GraphViz • Gephi • Igraph • Neworkx • Network Repository graphvis Gephi: 137K movies recommendation graph from iMDB Gephi: A few million is already too much for Gephi
  47. Techniques and tools for visualization • Tools for Large Graph

    Visualization • GraphViz • Gephi • Igraph • Neworkx • Network Repository graphvis • linkurio.us (commercial) • Programming: • Sigma.js • JSNetworkx • D3js (igraph) Last.fm music recommendation graph. Source, description and interactive version are here (sigma.js) Visualization of followers at @OIITwitter here
  48. 49

  49. The next level: Evolving Networks • Dealing with time add

    a new degree of complexity • Manageable: • Small size, slow change over time • Communities in Apple’s Internal Innovation Network Unraveled – Part 1 – Evolving Networks • Not manageable: • Very large size, very fast change over time • Generating A Twitter Ego-Network & Detecting Communities Source: Cordeiro, et al. (2020). Identifying, Ranking and Tracking Community Leaders in Evolving Social Networks.
  50. The next level: Evolving Networks • Dealing with time add

    a new degree of complexity • Example of contact evolving network: • (a) shows a labeled aggregate network where the labels denote the times of contact, and (b) shows a time-line plot, where each of the lines corresponds to one vertex and time runs from left to right. • Example of interval evolving network: • (a) shows the labeled aggregate network where the labels denote the time interval of the relation, and (b) shows a time-line plot, where each of the lines corresponds to one vertex and gray zones the time duration between two edges. • Types of data windows: • Landmark window (a) non-overlapping sliding window (b) and overlapping sliding window (c).
  51. The next level: Evolving Networks • Dealing with time add

    a new degree of complexity • In order to keep efficiency, existing methods and algorithms shall be adapted: • Holme, P ., & Saramäki, J. (2011). Temporal Networks. https://doi.org/10.1016/j.physrep.2012.03.001 • Cordeiro, M., Sarmento, R. P ., Brazdil, P ., & Gama, J. (2018). Evolving Networks and Social Network Analysis Methods and Techniques. In Social Media and Journalism - Trends, Connections, Implications. https://doi.org/10.5772/intechopen.79041
  52. Examples • Google Colaboratory + Networkx + matplotlib • Open

    each link in browser, save to your gdrive and start coding. • CMF/LearningBreaks/0. Fundamentals.ipynb • CMF/LearningBreaks/1. Fundamentals (Quakers example).ipynb • CMF/LearningBreaks/2. EulerianCircuit.ipynb • CMF/LearningBreaks/3. PageRank.ipynb • CMF/LearningBreaks/4. 9_11.ipynb • CMF/LearningBreaks/5. floyd_warshall.ipynb • CMF/LearningBreaks/6. PassingNetworks.ipynb
  53. TRAINER Mário Cordeiro Mário Cordeiro Senior Software Engineer | CMF

    2020 Joined Critical Manufacturing (Critical Software since 2005)  EBS Program, OptiCM5, CassaMobile, SemI40  Product Implementation (Panasonic, Philips, Fraunhofer)  Data Platform Lecturer  Data Structures (ESINF, ISEP)  Computer Networks (RCOMP, ISEP)  Computing Theory (TCOM, FEUP)  Computers Laboratory (LCOM, FEUP)  Big Data, Intelligent Analytics (BDIA, PBS) 2000 04 2009 2010 Degree in Electrical and Computer Engineering (1995-2000)  Production and Archives for Digital Television Master in Sciences in Informatics Engineering (2004-2008)  Reuse of Video Annotations Based on Low-level Descriptor Similarity Doctoral Program in Informatics Engineering (2011-)  Real-time Event Detection in Social Network Data Streams Published papers: https://scholar.google.pt/citations?user=qwQtih8AAAAJ&hl=en 54