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.

group: highflyers


Published on

  • Be the first to comment

  • Be the first to like this

group: highflyers

  1. 1. Data Mining for Web Personalization Presented by the Highflyers group
  2. 2. Who are the Highflyers? <ul><li>Irfan Butt – Introduction and Traditional approaches to Web Personalization </li></ul><ul><li>Joel Gascoigne – Data Collection, Preprocessing and Modelling </li></ul><ul><li>James Silver – Pattern Discovery Predictive Web User Modelling Part 1 </li></ul><ul><li>Aaron John-Baptiste – Pattern Discovery Predictive Web User Modelling Part 2 </li></ul><ul><li>Asad Qazi – Evaluating Personalized Models and Conclusion </li></ul>
  3. 3. Introduction <ul><li>Paper titled: Data Mining for Web Personalization </li></ul><ul><li>Author: Bamshad Mobasher </li></ul>
  4. 4. <ul><li>Irfan Butt </li></ul><ul><li>Introduction and Traditional approaches to Web Personalization </li></ul>
  5. 5. Introduction to Web Personalization <ul><li>Personalization </li></ul><ul><ul><li>Delivery of content tailored to a particular user </li></ul></ul><ul><li>Web Personalization </li></ul><ul><ul><li>Delivery of dynamic content, such as text, links tailored to a particular user or segments of user </li></ul></ul>
  6. 6. Automatic Personalization Vs Customization <ul><li>Similarity: Both refer to delivery of content </li></ul><ul><li>Difference: Creation and updating of user profile </li></ul><ul><li>Examples </li></ul><ul><ul><li>Customization: My Yahoo, Dell Website </li></ul></ul><ul><ul><li>Automatic Personalization: Amazon </li></ul></ul>
  7. 7. Personalization in Traditional Approaches <ul><li>Two phases in the process of personalization </li></ul><ul><li>1) Data Collection Phase 2) Learning Phase </li></ul><ul><li>Classification based on learning from data </li></ul><ul><li>Memory Based Learning (Lazy) </li></ul><ul><ul><li>Examples: User-based collaborative system, Content-based filtering system </li></ul></ul><ul><li>Model Based Learning (Eager) </li></ul><ul><ul><li>Examples: Item-based System </li></ul></ul>
  8. 8. Memory Based Learning VS Model Based Learning <ul><li>Memory Based Learning (Lazy) </li></ul><ul><ul><li>Huge memory required </li></ul></ul><ul><ul><li>Scalability issue </li></ul></ul><ul><ul><li>Adaptable to changes </li></ul></ul><ul><li>Model Based Learning (Eager) </li></ul><ul><ul><li>Limited memory required </li></ul></ul><ul><ul><li>Easily scalable </li></ul></ul><ul><ul><li>Learning phase offline </li></ul></ul><ul><ul><li>Not adaptable to changes </li></ul></ul>
  9. 9. Traditional Approaches to Web Personalization <ul><li>Rule Based Personalization Systems </li></ul><ul><ul><li>Rules are used to recommend item </li></ul></ul><ul><ul><li>Rules based on personal characteristics of user </li></ul></ul><ul><ul><li>Static profiles result in degradation of system </li></ul></ul>
  10. 10. Traditional Approaches to Web Personalization <ul><li>Content-based Filtering Systems </li></ul><ul><ul><li>User profile built on content descriptions of items </li></ul></ul><ul><ul><li>Profile based on previous rating of items </li></ul></ul>
  11. 11. Traditional Approaches to Web Personalization <ul><li>Collaborative Filtering Systems </li></ul><ul><ul><li>Single profile is built in the same way i.e. content-based filtering Systems </li></ul></ul><ul><ul><li>Items from more than one profile is used to recommend new item or content </li></ul></ul><ul><ul><li>These profiles are K Nearest Neighbors based on previous ratings of items of each profile </li></ul></ul><ul><ul><li>Poor results as the system grows </li></ul></ul>
  12. 12. Data Mining Approach to Personalization <ul><li>Data Mining (or Web Usage Mining) </li></ul><ul><ul><li>The automatic discovery and analysis of patterns in click stream and associated data collected or generated as a result of user interactions with Web resources on one or more Web sites </li></ul></ul><ul><li>Data Mining Cycle: </li></ul><ul><ul><li>Data preparation and transformation phase. </li></ul></ul><ul><ul><li>Pattern discovery phase </li></ul></ul><ul><ul><li>Recommendation phase </li></ul></ul>
  13. 13. <ul><li>Joel Gascoigne </li></ul><ul><li>Data Collection, Preprocessing and Modelling </li></ul>
  14. 14. Data Modelling and Representation <ul><li>Assume the existence of a set of m users: </li></ul><ul><ul><li>U = {u 1, u 2, …, u m } </li></ul></ul><ul><li>Set of n items: </li></ul><ul><ul><li>I = {i n , i n , …, i n } </li></ul></ul>
  15. 15. Data Modelling and Representation <ul><li>The profile for a user u є U is an n-dimensional vector of ordered pairs: </li></ul><ul><ul><li>u (n) = {(i 1 , s u (i 1 )), (i 2 , s u (i 2 )), …, (i n , s u (i n ))} </li></ul></ul><ul><li>Typically, such profiles are collected over time and stored </li></ul><ul><ul><li>Can be represented as an n x m matrix, UP </li></ul></ul>
  16. 16. Data Modelling and Representation <ul><li>A Personalisation System, PS can be viewed as a mapping of user profiles and items to obtain a rating of interest </li></ul><ul><li>The mapping is not generally defined for the whole domain of user-item pairs </li></ul><ul><ul><li>System must predict interest scores </li></ul></ul>
  17. 17. Data Modelling and Representation <ul><li>This general framework can be used with most approaches to personalisation </li></ul><ul><li>In the data mining approach: </li></ul><ul><ul><li>A variety of machine learning techniques are applied to UP to discover aggregate user models </li></ul></ul><ul><ul><li>These user models are used to make a prediction for the target user </li></ul></ul>
  18. 18. Data Sources for Web Usage Mining <ul><li>Main data sources used in web usage mining are server log files </li></ul><ul><ul><li>Clickstream data </li></ul></ul><ul><li>Other data sources include the site files and meta-data </li></ul>
  19. 19. Data Sources for Web Usage Mining <ul><li>This data needs to be abstracted </li></ul><ul><ul><li>Pageview </li></ul></ul><ul><ul><ul><li>Representation of a collection of web objects </li></ul></ul></ul><ul><ul><li>Session </li></ul></ul><ul><ul><ul><li>A sequence of pageviews by a single user </li></ul></ul></ul><ul><li>All sessions belonging to a user can be aggregated to create the profile for that user </li></ul>
  20. 20. Data Sources for Web Usage Mining <ul><li>Content data </li></ul><ul><ul><li>Collection of objects and relationships conveyed to the user </li></ul></ul><ul><ul><ul><li>Text </li></ul></ul></ul><ul><ul><ul><li>Images </li></ul></ul></ul><ul><ul><li>Also, semantic or structual meta-data embedded within the site </li></ul></ul><ul><ul><ul><li>Domain ontology </li></ul></ul></ul><ul><ul><ul><ul><li>Could use an ontology language such as RDF </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Or a database schema </li></ul></ul></ul></ul>
  21. 21. Data Sources for Web Usage Mining <ul><li>Also, operational databases for the site may include additional information about user and items </li></ul><ul><ul><li>Geographic information </li></ul></ul><ul><ul><li>User ratings </li></ul></ul>
  22. 22. Primary Tasks in Data Preprocessing for Web Usage Mining
  23. 23. Data Preprocessing for Web Usage Mining <ul><li>Goal: </li></ul><ul><ul><li>Transform click-stream data into a set of user profiles </li></ul></ul><ul><li>This “sessionized” data can be used as the input for a variety of data mining algorithms or further abstracted </li></ul>
  24. 24. Data Preprocessing for Web Usage Mining <ul><li>Tasks in usage data preprocessing: </li></ul><ul><ul><li>Data Fusion </li></ul></ul><ul><ul><li>Data Cleaning </li></ul></ul><ul><ul><li>Pageview Identification </li></ul></ul><ul><ul><li>Sessionization </li></ul></ul><ul><ul><li>Episode Identification </li></ul></ul>
  25. 25. Data Preprocessing for Web Usage Mining <ul><li>Data Fusion: </li></ul><ul><ul><li>Merging of log files from web and application servers </li></ul></ul><ul><li>Data Cleaning: </li></ul><ul><ul><li>Tasks such as: </li></ul></ul><ul><ul><ul><li>Removing extraneous references to embedded objects </li></ul></ul></ul><ul><ul><ul><li>Removing references due to spider navigations </li></ul></ul></ul>
  26. 26. Data Preprocessing for Web Usage Mining <ul><li>Pageview Identification: </li></ul><ul><ul><li>Aggregation of collection of objects or pages, which should be considered a unit </li></ul></ul><ul><ul><li>This process is dependent on the linkage structure of the site </li></ul></ul><ul><ul><li>In the simplets case, each HTML file has a one-to-one correlation with a pageview </li></ul></ul><ul><ul><li>Must distinguish between users </li></ul></ul><ul><ul><ul><li>Authentication system or cookies </li></ul></ul></ul>
  27. 27. Data Preprocessing for Web Usage Mining <ul><li>Sessionization: </li></ul><ul><ul><li>Process of segmenting the user activity log of each user into sessions, each representing a single visit to the site </li></ul></ul><ul><li>Episode Identification: </li></ul><ul><ul><li>Episode is a subsequence of a session comprised of related pageviews </li></ul></ul>
  28. 28. Data Preprocessing for Web Usage Mining <ul><li>These tasks ultimately result in a set of n pageviews </li></ul><ul><ul><li>P = {p 1 , p 2 , …, p n } </li></ul></ul><ul><li>A set of v user transactions </li></ul><ul><ul><li>T = {t 1 , t 2 , …, t v } </li></ul></ul><ul><li>A user transaction captures the activity of a user during a particular session </li></ul>
  29. 29. Data Preprocessing for Web Usage Mining <ul><li>Finally, one or more transactions or sessions associated with a given user can be aggregated to form the final profile for that user </li></ul><ul><ul><li>If the profile is generated from a single session, it represents short-term interests </li></ul></ul><ul><ul><li>Aggregation of multiple sessions results in profiles that capture long-term interests </li></ul></ul>
  30. 30. Data Preprocessing for Web Usage Mining <ul><li>The collection of these profiles comprises the m x n matrix UP which can be used to perform various data mining tasks </li></ul><ul><li>After basic clickstream preprocessing steps, data from other sources is integrated: </li></ul><ul><ul><li>Content, structure and user data </li></ul></ul>
  31. 31. <ul><li>James Silver </li></ul><ul><li>Pattern Discovery Predictive Web User Modelling Part 1 </li></ul>
  32. 32. Model-Based Collaborative Techniques <ul><li>Two-stage recommendation process: </li></ul><ul><ul><li>(A) offline model-building (B) Real-time scoring ( Explicit & Implicit user behavioural data used) </li></ul></ul><ul><li>Offline model-building algorithms: (1) Clustering, (2) Association Rule Discovery, (3) Sequential Pattern Discovery, (4) Latent Variable Models (part 2) We also look at hybrid models (part 2) </li></ul>
  33. 33. (1) Clustering <ul><li>Clustering divides data into groups where: </li></ul><ul><ul><li>Inter -cluster similarities are minimised </li></ul></ul><ul><ul><li>Intra -cluster similarities are maximised </li></ul></ul><ul><li>Generalization to Web usage mining </li></ul><ul><ul><li>User-based vs. Item-based clustering </li></ul></ul><ul><ul><li>Efficiency and scalability improvements </li></ul></ul>
  34. 34. (1) Clustering: User-based <ul><li>User profiles </li></ul><ul><li>Partitions Matrix UP </li></ul><ul><ul><li>Clusters represent user segments based on common navigational behaviour </li></ul></ul><ul><li>Recommendations (target user u, target item i) </li></ul><ul><ul><li>Centroid vector vk computed for each cluster Ck </li></ul></ul><ul><ul><li>Neighbourhood: All user segments that have a score for i and whose vk is most similar to u </li></ul></ul>
  35. 35. (1) Clustering: Other <ul><li>Fuzzy Clustering </li></ul><ul><ul><li>Desirable to group users into many categories </li></ul></ul><ul><li>Distance issues </li></ul><ul><ul><li>Consider web-transactions as sequences </li></ul></ul><ul><li>Association Rule Hypergraph Partitioning (ARHP) </li></ul>
  36. 36. (2) Association Rule Discovery <ul><li>Finding groups of pages or items that are commonly accessed or purchased together </li></ul><ul><li>Originally for mining supermarket basket data </li></ul><ul><li>Discovering Association Rules involves: </li></ul><ul><ul><li>Discovering frequent itemsets </li></ul></ul><ul><ul><ul><li>Satisfying a minimum support threshold </li></ul></ul></ul><ul><ul><li>Discovering association rules </li></ul></ul><ul><ul><ul><li>Satisfying a minimum confidence threshold </li></ul></ul></ul>
  37. 37. (2) Association Rules: Concepts <ul><li>Transactions set T </li></ul><ul><li>Itemsets I = {I1,I2,...,Ik} over T </li></ul><ul><li>Association rule r has the form X => Y (sr, cr) </li></ul><ul><ul><li>sr = the support of X U Y (i.e. probability that X and Y occur together in a transaction) </li></ul></ul><ul><ul><li>cr = the confidence of the rule r (i.e. the conditional probability that Y occurs in a transaction, given that X has occurred in that transaction) </li></ul></ul>
  38. 38. (2) Recommendations <ul><li>Matching rule antecedents with target user profiles </li></ul><ul><ul><li>Sliding window solution </li></ul></ul><ul><ul><li>Naive approach </li></ul></ul><ul><ul><li>Frequent Itemset Graph </li></ul></ul><ul><li>Finding Candidate pages: </li></ul><ul><ul><li>Match current user session window with previously discovered frequent itemsets </li></ul></ul><ul><li>Recommendation Value </li></ul><ul><ul><li>Confidence of corresponding association rule </li></ul></ul>
  39. 39. (2) Recommendations
  40. 40. (3) Sequential Models <ul><li>Now we consider the order when discovering frequently occurring itemsets. </li></ul><ul><li>So: given the user transaction {i1,i2,i3} </li></ul><ul><ul><li>Association rules (i1=>i2) and (i2=>i1) are fine </li></ul></ul><ul><ul><li>But sequential pattern (i2=>i1) not supported </li></ul></ul><ul><li>Two types of sequences: i1,i2 => i3 </li></ul><ul><ul><li>Contiguous (closed) sequence {i1,i2,i3} </li></ul></ul><ul><ul><li>Open Sequence {i1,i2,i4,i3} </li></ul></ul><ul><li>Frequent Navigational Paths </li></ul>
  41. 41. (3) Recommendations <ul><li>Trie-structure (aggregate tree) </li></ul><ul><ul><li>Each node is an item, root is the empty sequence </li></ul></ul><ul><li>Recommendation Generation </li></ul><ul><ul><li>Found in O (s) by traversing the tree ‘s’ = the length of the current user transaction deemed to be useful in recommending the next set of items </li></ul></ul><ul><ul><li>Sliding window w </li></ul></ul><ul><ul><ul><li>Maximum depth of tree therefore is |w|+1 </li></ul></ul></ul><ul><ul><li>Controlling the size of the tree </li></ul></ul>
  42. 42. (3) Sequential Models: Contiguous <ul><li>Contiguous sequence patterns are particularly restrictive </li></ul><ul><ul><li>Valuable in page pre-fetching applications </li></ul></ul><ul><ul><li>Rather than in general context of recommendation generation </li></ul></ul>
  43. 43. (3) Sequential Models: Markov <ul><li>Another approach for sequential modelling </li></ul><ul><ul><li>Based on Stochastic methods </li></ul></ul><ul><li>Modelling the navigational activity in the website as a Markov chain </li></ul>
  44. 44. (3) Sequential Models: Markov <ul><li>A Markov model is represented by the 3-tuple <A,S,T> </li></ul><ul><ul><li>A: set of possible actions (items) </li></ul></ul><ul><ul><li>S: set of n states for which the model is built (visitor’s navigation history) </li></ul></ul><ul><ul><li>T=[pi,j]nxn: Transition Probability Matrix </li></ul></ul><ul><ul><ul><li>pi,j: probability of a transition from state si to state sj </li></ul></ul></ul><ul><li>Order : Number of prior events used in predicting each future event </li></ul>
  45. 45. (3) Markov for Web-mining <ul><li>Designed to predict the next user action based on the user’s previous surfing behaviour </li></ul><ul><li>Also used to discover high-probability user navigational paths in a website </li></ul><ul><ul><li>User-prefered trails </li></ul></ul><ul><li>Various optimization methods </li></ul><ul><li>Apart from Markov: Mixture Models </li></ul>
  46. 46. <ul><li>Aaron John-Baptiste </li></ul><ul><li>Pattern Discovery Predictive Web User Modelling Part 2 </li></ul>
  47. 47. (4) Latent Variable Models (LVMs) <ul><li>Latent Variables are variables that haven't been directly observed but have rather been inferred. </li></ul><ul><ul><li>E.g. Morale is not measured directly but inferred </li></ul></ul><ul><li>Have more recently become popular as a modelling approach in web usage mining </li></ul><ul><li>Two commonly used LVMs </li></ul><ul><ul><li>Finite Mixture Models (FMM) </li></ul></ul><ul><ul><li>Factor Analysis (FA) </li></ul></ul>
  48. 48. (4) FA and FMM <ul><li>Factor Analysis </li></ul><ul><ul><li>Aims to summarise and find relationships within observed data (all data) </li></ul></ul><ul><ul><li>Used in pattern recognition, collaborative filtering and personalization based web usage mining </li></ul></ul><ul><li>Finite Mixture Models (FMM) </li></ul><ul><ul><li>Use a finite number of components to model (a page view, or user rating) </li></ul></ul>
  49. 49. (4) Drawbacks to pure usage based models <ul><li>Pure usage based models have drawbacks </li></ul><ul><ul><li>Process relies on user transactions or rating data </li></ul></ul><ul><ul><li>New items or pages are therefore never recommended (“new item problem”) </li></ul></ul><ul><ul><li>Also do not use knowledge from underlying domain and so cannot make more complex recommendations </li></ul></ul>
  50. 50. (5) Hybrid models <ul><li>Uses a combination of user-based and content-based modelling. </li></ul><ul><li>Three main types used in web mining </li></ul><ul><ul><li>Integrating content features </li></ul></ul><ul><ul><li>Integrating semantic knowledge </li></ul></ul><ul><ul><li>Using Linkage structure </li></ul></ul>
  51. 51. (5) Integrating content features with usage-based models <ul><li>Solves “new item problem” </li></ul><ul><ul><li>Use content characteristics of pages with user-based data </li></ul></ul><ul><ul><li>Extract keywords from content to be used to discover patterns </li></ul></ul><ul><ul><li>Not just using user data means new pages with relevant content can be recommended </li></ul></ul><ul><ul><li>Users interests can be mapped to content, (concepts or topics) </li></ul></ul>
  52. 52. (5) Integrating structured semantic knowledge with usage-based models <ul><li>Content feature integration is useful when pages are rich in text and keywords </li></ul><ul><li>However cannot capture more complex relationships where items have underlying properties </li></ul><ul><li>Idea is to take the underlying meanings of objects and add them to the user-based data. Recommendations can then be made to pages or items with similar semantic meanings </li></ul>
  53. 53. (5) Using Linkage structure for model learning and selection <ul><li>Other semantic data can be used such as relational databases and the hyperlink structure on a web page </li></ul><ul><li>Mobasher proposes a hybrid recommendation system that switches between different algorithms based on the degree of connectivity in the site and user </li></ul><ul><li>E.g. in a highly connected website, with short paths, non sequential models performed better </li></ul>
  54. 54. <ul><li>Asad Qazi </li></ul><ul><li>Evaluating Personalized Models and Conclusion </li></ul>
  55. 55. Evaluating Personalization models The Primary Goal of this section is to evaluate the accuracy and effectiveness of web personalization models
  56. 56. Why Evaluate? <ul><li>More complex web-based applications and more complex user interaction requires the selection of more sophisticated models </li></ul><ul><li>Need to further explore the impact of recommended model on user behaviour </li></ul><ul><li>There are several different modelling approaches to web personalization </li></ul><ul><li>Evaluating personalized models is an inherently challenging task firstly, because different models require different evaluation metrics, secondly, the required personalization actions may be quite different depending on the underlying domain, relevant data and intended application </li></ul><ul><li>Finally, there is also a lack of consensus among researchers as to what factors affect quality of service in personalized systems and of what elements contribute to user satisfaction </li></ul>
  57. 57. Common evaluation approaches <ul><li>A number of metrics have been proposed in literature for evaluating the robustness and predictive accuracy of a recommender system: this includes </li></ul><ul><li>Mean Absolute Error (MAE) </li></ul><ul><li>Classification Metrics (Precision and Recall) </li></ul><ul><li>Receiver Operating Characteristic (ROC) </li></ul><ul><li>The use of business metrics to measure the customer loyalty and satisfaction such as Recency Frequency Monetary (RFM) </li></ul><ul><li>The use of other key dimensions along with metrics such as: Accuracy, Coverage, Utility, Explainability, Robustness, Scalability and User Satisfaction </li></ul>
  58. 58. Conclusions <ul><li>Web personalisation is viewed as an application of data mining which dynamically serves customized content (pages, products, recommendations, etc.) to users based on their profiles, preferences, or expected interests of data available to personalization systems, the modelling approaches employed and the current approaches to evaluating these systems </li></ul><ul><li>We have also discussed the various sources of data available to personalization systems, the modelling approaches employed and the current approaches to evaluating these systems </li></ul><ul><li>Recent user studies have found that a number of issues can affect the perceived usefulness of personalization systems including, trust in the system, transparency of the recommendation logic, ability for a user to refine the system generated profile and diversity of recommendations </li></ul><ul><li>Most personalization systems tend to use a static profile of the user. However user interests are not static, changing with time and context. Few systems have attempted to handle the dynamics within the user profile. </li></ul>
  59. 59. <ul><li>Any Questions? </li></ul>