Streaming Predictions of User Behavior in Real- Time Ethan DereszynskiEthan Dereszynski (Webtrends) Eric ButlerEric Butler (Cedexis) OSCON 2014.

Slides:



Advertisements
Similar presentations
Web Usage Mining Web Usage Mining (Clickstream Analysis) Mark Levene (Follow the links to learn more!)
Advertisements

Monitoring a web sites health. Web Analytics - Definition Measurement of the behavior of visitors to a website Which aspects of the website work towards.
Google News Personalization: Scalable Online Collaborative Filtering
Google News Personalization Scalable Online Collaborative Filtering
Hierarchical Dirichlet Process (HDP)
Mining User Similarity Based on Location History Yu Zheng, Quannan Li, Xing Xie Microsoft Research Asia.
MWD1001 Website Production Using JavaScript with Forms.
Probabilistic Skyline Operator over Sliding Windows Wenjie Zhang University of New South Wales & NICTA, Australia Joint work: Xuemin Lin, Ying Zhang, Wei.
Hierarchical Dirichlet Processes
HTML 5 and CSS 3, Illustrated Complete Unit L: Programming Web Pages with JavaScript.
Statistical Topic Modeling part 1
1 Learning User Interaction Models for Predicting Web Search Result Preferences Eugene Agichtein Eric Brill Susan Dumais Robert Ragno Microsoft Research.
 CpG is a pair of nucleotides C and G, appearing successively, in this order, along one DNA strand.  CpG islands are particular short subsequences in.
Hidden Markov Model based 2D Shape Classification Ninad Thakoor 1 and Jean Gao 2 1 Electrical Engineering, University of Texas at Arlington, TX-76013,
GS 540 week 6. HMM basics Given a sequence, and state parameters: – Each possible path through the states has a certain probability of emitting the sequence.
Overview Full Bayesian Learning MAP learning
Information Retrieval in Practice
Chapter 12: Web Usage Mining - An introduction
Report on Intrusion Detection and Data Fusion By Ganesh Godavari.
Lecture 5: Learning models using EM
Chapter 20 Thinking Big: Functions. Copyright © 2006 Pearson Addison-Wesley. All rights reserved Anatomy of a Function Functions are packages for.
Probabilistic Model of Sequences Bob Durrant School of Computer Science University of Birmingham (Slides: Dr Ata Kabán)
Learning HMM parameters Sushmita Roy BMI/CS 576 Oct 21 st, 2014.
Overview of Search Engines
Query Log Analysis Naama Kraus Slides are based on the papers: Andrei Broder, A taxonomy of web search Ricardo Baeza-Yates, Graphs from Search Engine Queries.
Query session guided multi- document summarization THESIS PRESENTATION BY TAL BAUMEL ADVISOR: PROF. MICHAEL ELHADAD.
WEB ANALYTICS Prof Sunil Wattal. Business questions How are people finding your website? What pages are the customers most interested in? Is your website.
FALL 2012 DSCI5240 Graduate Presentation By Xxxxxxx.
«Tag-based Social Interest Discovery» Proceedings of the 17th International World Wide Web Conference (WWW2008) Xin Li, Lei Guo, Yihong Zhao Yahoo! Inc.,
Chapter 16 The World Wide Web. 2 The Web An infrastructure of information combined and the network software used to access it Web page A document that.
IT533 Lectures Session Management in ASP.NET. Session Tracking 2 Personalization Personalization makes it possible for e-businesses to communicate effectively.
Topic Models in Text Processing IR Group Meeting Presented by Qiaozhu Mei.
CONCLUSION & FUTURE WORK Normally, users perform triage tasks using multiple applications in concert: a search engine interface presents lists of potentially.
What are the main differences and commonalities between the IS and DA systems? How information is transferred between tasks: (i) IS it may be often achieved.
Tutorial 8 Programming with ActionScript 3.0. XP Objectives Review the basics of ActionScript programming Compare ActionScript 2.0 and ActionScript 3.0.
Topic Modelling: Beyond Bag of Words By Hanna M. Wallach ICML 2006 Presented by Eric Wang, April 25 th 2008.
Professor Michael J. Losacco CIS 1110 – Using Computers Database Management Chapter 9.
Google News Personalization: Scalable Online Collaborative Filtering
Log files presented to : Sir Adnan presented by: SHAH RUKH.
Chapter 12: Web Usage Mining - An introduction Chapter written by Bamshad Mobasher Many slides are from a tutorial given by B. Berendt, B. Mobasher, M.
Using Inactivity to Detect Unusual behavior Presenter : Siang Wang Advisor : Dr. Yen - Ting Chen Date : Motion and video Computing, WMVC.
Srivastava J., Cooley R., Deshpande M, Tan P.N.
Analysis of Topic Dynamics in Web Search Xuehua Shen (University of Illinois) Susan Dumais (Microsoft Research) Eric Horvitz (Microsoft Research) WWW 2005.
Latent Dirichlet Allocation D. Blei, A. Ng, and M. Jordan. Journal of Machine Learning Research, 3: , January Jonathan Huang
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology Mining Logs Files for Data-Driven System Management Advisor.
Analysing Clickstream Data: From Anomaly Detection to Visitor Profiling Peter I. Hofgesang Wojtek Kowalczyk ECML/PKDD Discovery.
Hidden Markovian Model. Some Definitions Finite automation is defined by a set of states, and a set of transitions between states that are taken based.
Context-Aware Query Classification Huanhuan Cao, Derek Hao Hu, Dou Shen, Daxin Jiang, Jian-Tao Sun, Enhong Chen, Qiang Yang Microsoft Research Asia SIGIR.
Identifying “Best Bet” Web Search Results by Mining Past User Behavior Author: Eugene Agichtein, Zijian Zheng (Microsoft Research) Source: KDD2006 Reporter:
A Framework to Predict the Quality of Answers with Non-Textual Features Jiwoon Jeon, W. Bruce Croft(University of Massachusetts-Amherst) Joon Ho Lee (Soongsil.
Why Decision Engine Bing Demos Search Interaction model Data-driven Research Problems Q & A.
2005/09/13 A Probabilistic Model for Retrospective News Event Detection Zhiwei Li, Bin Wang*, Mingjing Li, Wei-Ying Ma University of Science and Technology.
1 Random Walks on the Click Graph Nick Craswell and Martin Szummer Microsoft Research Cambridge SIGIR 2007.
Hidden Markov Model Parameter Estimation BMI/CS 576 Colin Dewey Fall 2015.
Hidden Markov Models. A Hidden Markov Model consists of 1.A sequence of states {X t |t  T } = {X 1, X 2,..., X T }, and 2.A sequence of observations.
N-Gram Model Formulas Word sequences Chain rule of probability Bigram approximation N-gram approximation.
Copyright The Asian Banker All rights reserved Channel Mgmt/Distribution Copyright The Asian Banker All rights reserved 1/8 Asian Banker.
SUPERVISED AND UNSUPERVISED LEARNING Presentation by Ege Saygıner CENG 784.
Graphical Models for Segmenting and Labeling Sequence Data Manoj Kumar Chinnakotla NLP-AI Seminar.
Web Programming Java Script-Introduction. What is Javascript? JavaScript is a scripting language using for the Web. JavaScript is a programming language.
TOPSpro Special Topics VI:TOPSpro for Instructors.
Information Retrieval in Practice
Hidden Markov Models BMI/CS 576
Search Engine Architecture
Online Multiscale Dynamic Topic Models
Digital Analytics Best Practices for Financial Services Environments
TOP DM 10 Algorithms C4.5 C 4.5 Research Issue:
Stochastic Optimization Maximization for Latent Variable Models
PROJECTS SUMMARY PRESNETED BY HARISH KUMAR JANUARY 10,2018.
Presentation transcript:

Streaming Predictions of User Behavior in Real- Time Ethan DereszynskiEthan Dereszynski (Webtrends) Eric ButlerEric Butler (Cedexis) OSCON 2014

How come you never see a headline like "Psychic Wins Lottery"? Jay Leno

Enabling Interesting Predictions: Leverage Streaming Data

Streams Data websockets

Streams Data websockets 1 second

Streams

The best way to predict the future is to invent it. Alan Kay

Session Data  Each user “click” triggers a event  Event information captured by embedded tag

Session Data  A session is a string of events that all correspond to a single “visit” to a web site. Event 1Event 2

Session Data  A session end when a visitor leaves the site, closes the browser, or goes idle for 30 minutes Event 1Event 2Event 3

Learning from Streaming Data  Sessions provide examples of visit behavior  Not all sessions are equally likely -Many paths are rarely, if ever, taken -Frequent paths suggest common ways visitors behave on a given site  Learning Models of Visitor Behavior -Predict future actions -Provides a rich, new feature to identify/segment users -Identify users who have a common trajectory, or subtrajectory, through the web site -More than just a label -Behavior tells us something about how users achieve a goal on a web site

Event Data  JSON containing parameter/value pairs  Describes content of page (triggered by event)  Contains geo, device, referrer, etc.  parameters per page (event)

Challenges of Real Data  How do we describe each event? -Number of parameters per event can be large -Space of possible “events” is massive  Not all parameters are relevant to the user’s actions Client 1 Client 2 Number of events

About Topics Models  Each topic is a distribution over all words in the dictionary  Each document is generated by a mixture of topics D. Blei. Probabilistic topic models. Communications of the ACM, 55(4):77–84, 2012.

Abstraction Layer: Global/Local Topic – Latent Dirichlet Allocation (GLT-LDA)  Topic modeling technique for document clustering -Documents assigned to a single topic (instead of a mixture) -Global “Noise” topic explains redundant parameters  Clusters parameters into topics Distribution over parameter for topic k Distribution over noise parameters j th parameter in event i Noise-indicator for j th parameter in event i Topic distribution Noise rate for document i Topic label for document i

The Dataset  Collection of visitor traces, varying length … Event 1Event 2 Event t Visitor 1 Visitor 2 … Visitor n

Representing Behavior: Two Approaches  Enumerate the space of all possible paths and count -This is would require a very big table. -Most of the entries would be 0. -Not clear how to handle variable length visits  Hidden Markov Model (HMM) -Encodes visitor behavior in a probabilistic model -Calculates likelihood (or probability) of specific trajectories -Enables prediction of future actions a visitor may take on the site

The Hidden Markov Model  Site visit (emission) probabilities:  Stochastic state transitions: … ObservedHidden

The Hidden Markov Model Viewing Products Product Comparison Make Purchase.6.4  Visitors arrive at a site with an intention -The current intention specifies the probability they will take some action (trigger an event) -After the page is selected, the intention transitions to a new value (could be the same as the previous intention).7.3

The Hidden Markov Model Viewing Products Product Comparison  Visitors arrive at a site with an intention -The current intention specifies the probability they will take some action (trigger an event) -After the page is selected, the intention transitions to a new value (could be the same as the previous intention) Make Purchase

Predictive Model: Learning and Runtime  Offline: -Session data is recorded into batch file for training -Trained with expectation maximization (EM) algorithm  Online : -The model used to predict specific visitor actions -CartAdd (add an item to the shopping cart) -Purchase (complete the purchase funnel) -Conditions predictions on observed actions the visitor has taken so far -Update predictions each time a new action is taken by the visitor. -Can be generalized to other predictive queries

Online Inference  Goal: Compute the probability that actions t+1 to t+5 contain at least a single purchase / cartAdd. t t+1t+2t+3t+4t+5 act. state

Online Inference  Goal: Compute the probability that actions t+1 to t+5 contain at least a single purchase / cartAdd. t t+1t+2t+3t+4t+5 act. state Prediction window

SequenceTimeAction t = 0 ? t = 1 ? t = 2 ? t = 3 ? t = 4 ?

SequenceTimeAction t = 019:38:47.182Z Landing: Clicked Ad t = 119:38:52.571Z ListView t = 219:39:01.941Z ProductView t = 3 ? t = 4 ? t = 5 ? t = 6 ? t = 7 ?

SequenceTimeAction t = 019:38:47.182Z Landing: Clicked Ad t = 119:38:52.571Z ListView t = 219:39:01.941Z ProductView t = 319:39:15.467Z Link t = 419:43:08.296Z Link t = 519:50:23.952Z ProductView t = 6 ? t = 7 ? t = 8 ? t = 9 ? t = 10 ?

SequenceTimeAction t = 019:38:47.182Z Landing: Clicked Ad t = 119:38:52.571Z ListView t = 219:39:01.941Z ProductView t = 319:39:15.467Z Link t = 419:43:08.296Z Link t = 519:50:23.952Z ProductView t = 619:50:47.646Z AddedToCart t = 7 ? t = 8 ? t = 9 ? t = 10 ? t = 11 ?

SequenceTimeAction t = 019:38:47.182Z Landing: Clicked Ad t = 119:38:52.571Z ListView t = 219:39:01.941Z ProductView t = 319:39:15.467Z Link t = 419:43:08.296Z Link t = 519:50:23.952Z ProductView t = 619:50:47.646Z AddedToCart t = 719:51:01.273Z ProductView t = 819:51:11.691Z Link t = 919:51:20.499Z Link t = 10 ? t = 11 ? t = 12 ? t = 13 ? t = 14 ?

SequenceTimeAction t = 019:38:47.182Z Landing: Clicked Ad t = 119:38:52.571Z ListView t = 219:39:01.941Z ProductView t = 319:39:15.467Z Link t = 419:43:08.296Z Link t = 519:50:23.952Z ProductView t = 619:50:47.646Z AddedToCart t = 719:51:01.273Z ProductView t = 819:51:11.691Z Link t = 919:51:20.499Z Link t = 1019:51:27.320Z ListView t = 1119:51:47.992Z ProductView t = 1219:52:04.216Z ListView t = 1319:52:11.398Z ProductView t = 1419:52:20.873Z Link t = 15 ? t = 16 ? t = 17 ? t = 18 ? t = 19 ?

SequenceTimeAction t = 019:38:47.182Z Landing: Clicked Ad t = 119:38:52.571Z ListView t = 219:39:01.941Z ProductView t = 319:39:15.467Z Link t = 419:43:08.296Z Link t = 519:50:23.952Z ProductView t = 619:50:47.646Z AddedToCart t = 719:51:01.273Z ProductView t = 819:51:11.691Z Link t = 919:51:20.499Z Link t = 1019:51:27.320Z ListView t = 1119:51:47.992Z ProductView t = 1219:52:04.216Z ListView t = 1319:52:11.398Z ProductView t = 1419:52:20.873Z Link t = 1519:54:18.080Z ViewedCart t = 1619:55:32.557Z StartCheckout t = 1719:57:13.246Z CompletedPurchase t = 1819:57:39.698Z ConfirmCheckout t = 19-24?

Streams Data websockets

Prediction Bolt Prediction Architecture: Validation Bolt Validates raw events from Kafka Augments events with prediction values and confidence labels

Prediction Bolt Event Stream Bolt Session Stream Bolt Prediction Architecture: Validation Bolt Validates raw events from Kafka Augments events with prediction values and confidence labels Dispatches individual events to Streams Dispatches full sessions to Streams websockets

Prediction BoltROC Bolt Event Stream Bolt Session Stream Bolt Prediction Architecture: Validation Bolt Validates raw events from Kafka Augments events with prediction values and confidence labels Dispatches individual events to Streams Dispatches full sessions to Streams Completed sessions are used to scored predictive model’s accuracy Model receives new thresholds for confidence labels websockets

Streams Demo

Results

Next Steps  Integrating visitor information across multiple visits  Automated re-training of predictive model -Adjust to seasonal and trend effects  Generative models for Anomaly Detection -What does a Likely/Unlikely session look like?  Richer models of visitor behavior -Hierarchical models for behavior

Questions? Thank you!