Computer Science BI, Analytics and Decision Support - Assignment
Marko Grobelnik, Blaz Fortuna, Dunja Mladenic
Jozef Stefan Institute, Slovenia
Sydney, Oct 22nd 2013
Big-Data in numbers
Big-Data Definitions
Motivation
State of Market
Techniques
Tools
Data Science
Applications ◦ Recommendation, Social networks, Media Monitoring
Concluding remarks
http://www.go-gulf.com/blog/online-time/
http://www.go-gulf.com/blog/online-time/
http://www.go-gulf.com/blog/online-time/
http://www.go-gulf.com/blog/online-time/
„Big-data‟ is similar to „Small-data‟, but bigger
…but having data bigger it requires different approaches: ◦ techniques, tools, architectures
…with an aim to solve new problems ◦ …or old problems in a better way.
Volume – challenging to load and process (how to index, retrieve)
Variety – different data types and degree of structure (how to query semi- structured data)
Velocity – real-time processing influenced by rate of data arrival
From “Understanding Big Data” by IBM
1. Volume (lots of data = “Tonnabytes”) 2. Variety (complexity, curse of
dimensionality) 3. Velocity (rate of data and information flow)
4. Veracity (verifying inference-based models from comprehensive data collections)
5. Variability 6. Venue (location) 7. Vocabulary (semantics)
Comparing volume of “big data” and “data mining” queries
…adding “web 2.0” to “big data” and “data mining” queries volume
Big-Data
Key enablers for the appearance and growth of “Big Data” are:
◦ Increase of storage capacities
◦ Increase of processing power
◦ Availability of data
Source: WikiBon report on “Big Data Vendor Revenue and Market Forecast 2012-2017”, 2013
…when the operations on data are complex: ◦ …e.g. simple counting is not a complex problem
◦ Modeling and reasoning with data of different kinds can get extremely complex
Good news about big-data: ◦ Often, because of vast amount of data, modeling
techniques can get simpler (e.g. smart counting can replace complex model-based analytics)…
◦ …as long as we deal with the scale
Research areas (such as IR, KDD, ML, NLP, Se mWeb, …) are sub- cubes within the data cube
Scalability
Streaming
Context
Quality
Usage
A risk with “Big-Data mining” is that an analyst can “discover” patterns that are meaningless
Statisticians call it Bonferroni‟s principle: ◦ Roughly, if you look in more places for interesting
patterns than your amount of data will support, you are bound to find crap
Example:
We want to find (unrelated) people who at least twice have stayed at the same hotel on the same day ◦ 109 people being tracked. ◦ 1000 days. ◦ Each person stays in a hotel 1% of the time (1 day out of 100) ◦ Hotels hold 100 people (so 105 hotels). ◦ If everyone behaves randomly (i.e., no terrorists) will the data
mining detect anything suspicious?
Expected number of “suspicious” pairs of people: ◦ 250,000 ◦ … too many combinations to check – we need to have some
additional evidence to find “suspicious” pairs of people in some more efficient way
Example taken from: Rajaraman, Ullman: Mining of Massive Datasets
Smart sampling of data ◦ …reducing the original data while not losing the
statistical properties of data
Finding similar items ◦ …efficient multidimensional indexing
Incremental updating of the models ◦ (vs. building models from scratch)
◦ …crucial for streaming data
Distributed linear algebra ◦ …dealing with large sparse matrices
On the top of the previous ops we perform usual data mining/machine learning/statistics operators: ◦ Supervised learning (classification, regression, …)
◦ Non-supervised learning (clustering, different types of decompositions, …)
◦ …
…we are just more careful which algorithms we choose ◦ typically linear or sub-linear versions of the algorithms
An excellent overview of the algorithms covering the above issues is the book “Rajaraman, Leskovec, Ullman: Mining of Massive Datasets”
Downloadable from: http://infolab.stanford.edu/~ullman/mmds.html
Where processing is hosted? ◦ Distributed Servers / Cloud (e.g. Amazon EC2)
Where data is stored? ◦ Distributed Storage (e.g. Amazon S3)
What is the programming model? ◦ Distributed Processing (e.g. MapReduce)
How data is stored & indexed? ◦ High-performance schema-free databases (e.g.
MongoDB)
What operations are performed on data? ◦ Analytic / Semantic Processing
http://www.bigdata-startups.com/open-source-tools/
Computing and storage are typically hosted transparently on cloud infrastructures ◦ …providing scale, flexibility and high fail-safety
Distributed Servers ◦ Amazon-EC2, Google App Engine, Elastic,
Beanstalk, Heroku
Distributed Storage ◦ Amazon-S3, Hadoop Distributed File System
Distributed processing of Big-Data requires non-standard programming models ◦ …beyond single machines or traditional parallel
programming models (like MPI)
◦ …the aim is to simplify complex programming tasks
The most popular programming model is MapReduce approach ◦ …suitable for commodity hardware to reduce costs
The key idea of the MapReduce approach: ◦ A target problem needs to be parallelizable
◦ First, the problem gets split into a set of smaller problems (Map step) ◦ Next, smaller problems are solved in a parallel way ◦ Finally, a set of solutions to the smaller problems get synthesized
into a solution of the original problem (Reduce step)
Google Maps charts new territory into businesses
Google selling new tools for businesses to build their own maps
Google 4
Maps 4
Businesses 4
New 1
Charts 1
Territory 1
Tools 1
…
Google promises consumer experience for businesses with Maps Engine Pro
Google is trying to get its Maps service used by more businesses
Google Maps charts new territory into businesses
Google selling new tools for businesses to build their own maps
Businesses 2
Charts 1
Maps 2
Territory 1
…
Google promises consumer experience for businesses with Maps Engine Pro
Google is trying to get its Maps service used by more businesses
Map 2
Businesses 2
Engine 1
Maps 2
Service 1
…
Map 1
Split according to the hash of a key
In our case: key = word, hash = first character
Businesses 2
Charts 1
Maps 2
Territory 1
…
Businesses 2
Engine 1
Maps 2
Service 1
…
Maps 2
Territory 1
…
Maps 2
Service 1
…
Businesses 2
Charts 1
…
Businesses 2
Engine 1
…
R e d u c e 1
R e d u c e 2
T a s k 1
T a s k 2
Businesses 4
Charts 1
Engine 1
…
Maps 4
Territory 1
Service 1
…
Maps 2
Territory 1
…
Maps 2
Service 1
…
Businesses 2
Charts 1
…
Businesses 2
Engine 1
…
Reduce 2
Reduce 1
We concatenate the outputs into final result
Businesses 4
Charts 1
Engine 1
…
Maps 4
Territory 1
Service 1
…
Businesses 4
Charts 1
Engine 1
…
Maps 4
Territory 1
Service 1
…
R e d
u c e 1
R e d u c e 2
Apache Hadoop [http://hadoop.apache.org/] ◦ Open-source MapReduce implementation
Tools using Hadoop: ◦ Hive: data warehouse infrastructure that provides data
summarization and ad hoc querying (HiveQL) ◦ Pig: high-level data-flow language and execution
framework for parallel computation (Pig Latin) ◦ Mahout: Scalable machine learning and data mining
library ◦ Flume: Flume is a distributed, reliable, and available
service for efficiently collecting, aggregating, and moving large amounts of log data
◦ Many more: Cascading, Cascalog, mrjob, MapR, Azkaban, Oozie, …
http://iggyfernandez.wordpress.com/2013/01/21/dilbert-likes-hadoop-clusters/
Hadoop
Hype on Databases from nineties == Hadoop from now
Hadoop
Hadoop
“[…] need to solve a problem that relational databases are a bad fit for”, Eric Evans
Motives: ◦ Avoidance of Unneeded Complexity – many use-case
require only subset of functionality from RDBMSs (e.g ACID properties)
◦ High Throughput - some NoSQL databases offer significantly higher throughput then RDBMSs
◦ Horizontal Scalability, Running on commodity hardware ◦ Avoidance of Expensive Object-Relational Mapping –
most NoSQL store simple data structures ◦ Compromising Reliability for Better Performance
Based on “NoSQL Databases”, Christof Strauch http://www.christof-strauch.de/nosqldbs.pdf
BASE approach ◦ Availability, graceful degradation, performance
◦ Stands for “Basically available, soft state, eventual consistency”
Continuum of tradeoffs: ◦ Strict – All reads must return data from latest completed
writes
◦ Eventual – System eventually return the last written value
◦ Read Your Own Writes – see your updates immediately
◦ Session – RYOW only within same session
◦ Monotonic – only more recent data in future requests
Consistent hashing ◦ Use same function for
hashing objects and nodes
◦ Assign objects to nearest nodes on the circle
◦ Reassign object when nodes added or removed
◦ Replicate nodes to r nearest nodes
White, Tom: Consistent Hashing. November 2007. – Blog post of 2007-11-27. http://weblogs.java.net/blog/tomwhite/archive/2007/11/consistent_hash.html
Storage Layout ◦ Row-based
◦ Columnar
◦ Columnar with Locality Groups
Query Models ◦ Lookup in key-value stores
Distributed Data Processing via MapReduce
Lipcon, Todd: Design Patterns for Distributed Non-Relational Databases. June 2009. – Presentation of 2009-06-11. http://www.slideshare.net/guestdfd1ec/design-patterns-for-distributed-nonrelationaldatabases
Map or dictionary allowing to add and retrieve values per keys
Favor scalability over consistency ◦ Run on clusters of commodity hardware ◦ Component failure is “standard mode of operation”
Examples: ◦ Amazon Dynamo ◦ Project Voldemort (developed by LinkedIn) ◦ Redis ◦ Memcached (not persistent)
Combine several key-value pairs into documents
Documents represented as JSON
Examples: ◦ Apache CouchDB
◦ MongoDB
" Title " : " CouchDB ",
" Last editor " : "172.5.123.91" ,
" Last modified ": "9/23/2010" ,
" Categories ": [" Database ", " NoSQL ", " Document Database "],
" Body ": " CouchDB is a ..." , " Reviewed ": false
Using columnar storage layout with locality groups (column families)
Examples: ◦ Google Bigtable
◦ Hypertable, HBase
open source implementation of Google Bigtable
◦ Cassandra
combination of Google Bigtable and Amazon Dynamo
Designed for high write throughput
Infrastructure: Kafka [http://kafka.apache.org/]
◦ A high-throughput distributed messaging system
Hadoop [http://hadoop.apache.org/] ◦ Open-source map-reduce implementation
Storm [http://storm-project.net/] ◦ Real-time distributed computation system
Cassandra [http://cassandra.apache.org/] ◦ Hybrid between Key-Value and Row-Oriented DB ◦ Distributed, decentralized, no single point of failure ◦ Optimized for fast writes
Mahout
◦ Machine learning library working on top of Hadoop
◦ http://mahout.apache.org/
MOA
◦ Mining data streams with concept drift
◦ Integrated with Weka
◦ http://moa.cms.waikato.ac.nz/
Mahout currently has:
• Collaborative Filtering
• User and Item based recommenders
• K-Means, Fuzzy K-Means clustering
• Mean Shift clustering
• Dirichlet process clustering
• Latent Dirichlet Allocation
• Singular value decomposition
• Parallel Frequent Pattern mining
• Complementary Naive Bayes
classifier
• Random forest decision tree based
classifier
Interdisciplinary field using techniques and theories from many fields, including math, statistics, data engineering, pattern recognition and learning, advanced computing, visualization, uncertainty modeling, data warehousing, and high performance computing with the goal of extracting meaning from data and creating data products.
Data science is a novel term that is often used interchangeably with competitive intelligence or business analytics, although it is becoming more common.
Data science seeks to use all available and relevant data to effectively tell a story that can be easily understood by non-practitioners.
http://en.wikipedia.org/wiki/Data_science
http://blog.revolutionanalytics.com/data-science/
http://blog.revolutionanalytics.com/data-science/
Analyzing the Analyzers An Introspective Survey of Data Scientists and Their Work By Harlan Harris, Sean Murphy, Marck Vaisman Publisher: O'Reilly Media Released: June 2013
An Introduction to Data Jeffrey Stanton, Syracuse University School of Information Studies Downloadable from http://jsresearch.net/wiki/projects/teachdatascience Released: February 2013
Data Science for Business: What you need to know about data mining and data-analytic thinking by Foster Provost and Tom Fawcett Released: Aug 16, 2013
Recommendation
Social Network Analytics
Media Monitoring
User visit logs ◦ Track each visit using embedded JavaScript
Content ◦ The content and metadata of visited pages
Demographics ◦ Metadata about (registered) users
User ID cookie: 1234567890
IP: 95.87.154.251 (Ljubljana, Slovenia)
Requested URL: http://www.bloomberg.com/news/2012-07- 19/americans-hold-dimmest-view-on- economic-outlook-since-january.html
Referring URL: http://www.bloomberg.com/
Date and time: 2009-08-25 08:12:34
Device: Chrome, Windows, PC
News-source:
◦ www.bloomberg.com
Article URL:
◦ http://www.bloomberg.com/news /2011-01-17/video-gamers- prolonged-play-raises-risk-of- depression-anxiety-phobias.html
Author:
◦ Elizabeth Lopatto
Produced at:
◦ New York
Editor:
◦ Reg Gale
Publish Date:
◦ Jan 17, 2011 6:00 AM
Topics:
◦ U.S., Health Care, Media, Technology, Science
Topics (e.g. DMoz): ◦ Health/Mental Health/…/Depression ◦ Health/Mental Health/Disorders/Mood ◦ Games/Game Studies
Keywords (e.g. DMoz): ◦ Health, Mental Health, Disorders, Mood,
Games, Video Games, Depression, Recreation, Browser Based, Game Studies, Anxiety, Women, Society, Recreation and Sports
Locations: ◦ Singapore (sws.geonames.org/1880252/) ◦ Ames (sws.geonames.org/3037869/)
People: ◦ Duglas A. Gentile
Organizations: ◦ Iowa State University
(dbpediapa.org/resource/ Iowa_State_University)
◦ Pediatrics (journal)
Provided only for registered users ◦ Only some % of unique users typically register
Each registered users described with: ◦ Gender
◦ Year of birth
◦ Household income
Noisy
List of articles based on ◦ Current article
◦ User‟s history
◦ Other Visits
In general, a combination of text stream (news articles) with click stream (website access logs)
The key is a rich context model used to describe user
“Increase in engagement” ◦ Good recommendations can make a difference when
keeping a user on a web site ◦ Measured in number of articles read in a session
“User experience” ◦ Users return to the site ◦ Harder to measure and attribute to recommendation
module
Predominant success metric is the attention span of a user expressed in terms of time spent on site and number of page views.
Cold start ◦ Recent news articles have little usage history
◦ More sever for articles that did not hit homepage or section front, but are still relevant for particular user segment
Recommendation model must be able to generalize well to new articles.
Access logs analysis shows, that half of the articles read are less then ~8 hours old
Weekends are exception
A rt
ic le
a g e [
m in
u te
s ]
History
◦ Time
◦ Article
Current request:
◦ Location
◦ Requested page
◦ Referring page
◦ Local Time
Each article from the time window is described with the following features:
◦ Popularity (user independent)
◦ Content
◦ Meta-data
◦ Co-visits
◦ Users
Features computed by comparing article‟s and user‟s feature vectors
Features computed on- the-fly when preparing recommendations
recommendations
time
training
1 2-10 11-50 51- 21% 24% 32% 37%
Measure how many times one of top 4 recommended article was actually read
Feature space ◦ Extracted from subset of fields ◦ Using vector space model ◦ Vector elements for each field are normalized
Training set ◦ One visit = one vector ◦ One user = a centroid of all his/her visits ◦ Users from the segment form positive class ◦ Sample of other users form negative class
Classification algorithm ◦ Support Vector Machine ◦ Good for dealing with high dimensional data ◦ Linear kernel ◦ Stochastic gradient descent Good for sampling
Real-world dataset from a major news publishing website ◦ 5 million daily users, 1 million registered
Tested prediction of three demographic dimensions: ◦ Gender, Age, Income
Three user groups based on the number of visits: ◦ ≥2, ≥10, ≥50
Evaluation: ◦ Break Even Point (BEP) ◦ 10-fold cross validation
Category Size Category Size Category Size
Male 250,000 21-30 100,000 0-24k 50,000
Female 250,000 31-40 100,000 25k-49k 50,000
41-50 100,000 50k-74k 50,000
51-60 100,000 75k-99k 50,000
61-80 100,000 100k- 149k
50,000
150k- 254k
50,000
50.00%
55.00%
60.00%
65.00%
70.00%
75.00%
80.00%
Male Female
≥2
≥10
20.00%
25.00%
30.00%
35.00%
40.00%
45.00%
21-30 31-40 41-50 51-60 61-80
≥2
≥10
≥50
14.00%
15.00%
16.00%
17.00%
18.00%
19.00%
20.00%
21.00%
22.00%
0-24 50-74 150-254
Text Features
Named Entities
All Meta Data
Observe social and communication phenomena at a planetary scale
Largest social network analyzed till 2010
Research questions:
How does communication change with user demographics (age, sex, language, country)?
How does geography affect communication?
What is the structure of the communication network?
90 “Planetary-Scale Views on a Large Instant-Messaging Network” Leskovec & Horvitz WWW2008
We collected the data for June 2006
Log size:
150Gb/day (compressed)
Total: 1 month of communication data:
4.5Tb of compressed data
Activity over June 2006 (30 days) ◦ 245 million users logged in
◦ 180 million users engaged in conversations
◦ 17,5 million new accounts activated
◦ More than 30 billion conversations
◦ More than 255 billion exchanged messages
91 “Planetary-Scale Views on a Large Instant-Messaging Network” Leskovec & Horvitz WWW2008
92“Planetary-Scale Views on a Large Instant-Messaging Network” Leskovec & Horvitz WWW2008
93“Planetary-Scale Views on a Large Instant-Messaging Network” Leskovec & Horvitz WWW2008
Count the number of users logging in from particular location on the earth
94 “Planetary-Scale Views on a Large Instant-Messaging Network” Leskovec & Horvitz WWW2008
Logins from Europe
95“Planetary-Scale Views on a Large Instant-Messaging Network” Leskovec & Horvitz WWW2008
6 degrees of separation [Milgram ‟60s]
Average distance between two random users is 6.6
90% of nodes can be reached in < 8 hops
Hops Nodes
1 10
2 78
3 396
4 8648
5 3299252
6 28395849
7 79059497
8 52995778
9 10321008
10 1955007
11 518410
12 149945
13 44616
14 13740
15 4476
16 1542
17 536
18 167
19 71
20 29
21 16
22 10
23 3
24 2
25 3“Planetary-Scale Views on a Large Instant-Messaging Network” Leskovec & Horvitz WWW2008
Social-networkSocial-network
The aim of the project is to collect and analyze global main-stream and social media ◦ …documents are crawled from 100 thousands of
sources
◦ …each crawled document gets cleaned, linguistically and semantically enriched
◦ …we connect documents across languages (cross-lingual technology)
◦ …we identify and connect events
http://render-project.eu/ http://www.xlike.org/
The NewsFeed.ijs.si system collects ◦ 40.000 main-stream news
sources ◦ 250.000 blog sources ◦ Twitter stream
…resulting in ~500.000 documents + #N of twits per day
Each document gets cleaned, linguistically and semantically annotated
Plain text
Text Enrichment
Extracted graph of triples from text
“Enrycher” is available as as a web-service generating Semantic Graph, LOD links, Entities, Keywords, Categories, Text Summarization
Reporting has bias – same information is being reported in different ways
DiversiNews system allows exploring news diversity along:
◦ Topicality
◦ Geography
◦ Sentiment
Having stream of news & social media, the task is to structure documents into events
“Event Registry” system allows for: ◦ Identification of events from documents ◦ Connecting documents across many languages ◦ Tracking events and constructing story-lines ◦ Describing events in a (semi)structured way ◦ UI for exploration through Search & Visualization ◦ Export into RDF (Storyline ontology)
Prototype operating at ◦ http://mustang.ijs.si:8060/searchEvents
Big-Data is everywhere, we are just not used to deal with it
The “Big-Data” hype is very recent ◦ …growth seems to be going up ◦ …evident lack of experts to build Big-Data apps
Can we do “Big-Data” without big investment? ◦ …yes – many open source tools, computing machinery is
cheap (to buy or to rent) ◦ …the key is knowledge on how to deal with data ◦ …data is either free (e.g. Wikipedia) or to buy (e.g.
twitter)
http://ailab.ijs.si/~blazf/BigDataTutorial- GrobelnikFortunaMladenic-ISWC2013.pdf