Introduction to Information Retrieval

Similar documents
Introduction to Information Retrieval

CSE 7/5337: Information Retrieval and Web Search Document clustering I (IIR 16)

Flat Clustering. Slides are mostly from Hinrich Schütze. March 27, 2017

PV211: Introduction to Information Retrieval

Introduction to Information Retrieval

MI example for poultry/export in Reuters. Overview. Introduction to Information Retrieval. Outline.

Information Retrieval and Organisation

Cluster Evaluation and Expectation Maximization! adapted from: Doug Downey and Bryan Pardo, Northwestern University

Clustering CE-324: Modern Information Retrieval Sharif University of Technology

INF4820, Algorithms for AI and NLP: Evaluating Classifiers Clustering

Expectation Maximization!

Information Retrieval and Web Search Engines


Information Retrieval and Web Search Engines

Administrative. Machine learning code. Supervised learning (e.g. classification) Machine learning: Unsupervised learning" BANANAS APPLES

CS490W. Text Clustering. Luo Si. Department of Computer Science Purdue University

Clustering Results. Result List Example. Clustering Results. Information Retrieval

Clustering: Overview and K-means algorithm

INF4820 Algorithms for AI and NLP. Evaluating Classifiers Clustering

Clustering: Overview and K-means algorithm

INF4820 Algorithms for AI and NLP. Evaluating Classifiers Clustering

Text Documents clustering using K Means Algorithm

Chapter 9. Classification and Clustering

Clustering. Informal goal. General types of clustering. Applications: Clustering in information search and analysis. Example applications in search

CS47300: Web Information Search and Management

Clustering (COSC 416) Nazli Goharian. Document Clustering.

INF4820. Clustering. Erik Velldal. Nov. 17, University of Oslo. Erik Velldal INF / 22

CLUSTERING. Quiz information. today 11/14/13% ! The second midterm quiz is on Thursday (11/21) ! In-class (75 minutes!)

Clustering (COSC 488) Nazli Goharian. Document Clustering.

DD2475 Information Retrieval Lecture 10: Clustering. Document Clustering. Recap: Classification. Today

Data Clustering. Danushka Bollegala

Based on Raymond J. Mooney s slides

Today s topic CS347. Results list clustering example. Why cluster documents. Clustering documents. Lecture 8 May 7, 2001 Prabhakar Raghavan

Clustering. CE-717: Machine Learning Sharif University of Technology Spring Soleymani

What to come. There will be a few more topics we will cover on supervised learning

Data Informatics. Seon Ho Kim, Ph.D.

Lecture on Modeling Tools for Clustering & Regression

Big Data Analytics! Special Topics for Computer Science CSE CSE Feb 9

Search Engines. Information Retrieval in Practice

Informa(on Retrieval

Unsupervised Learning. Presenter: Anil Sharma, PhD Scholar, IIIT-Delhi

CSE 158. Web Mining and Recommender Systems. Midterm recap

Gene Clustering & Classification

Lecture 8 May 7, Prabhakar Raghavan

INF 4300 Classification III Anne Solberg The agenda today:

Informa(on Retrieval

Using Machine Learning to Optimize Storage Systems

Clustering Algorithms for general similarity measures

Natural Language Processing

Clustering. Partition unlabeled examples into disjoint subsets of clusters, such that:

ECLT 5810 Clustering

Basic Tokenizing, Indexing, and Implementation of Vector-Space Retrieval

Artificial Intelligence. Programming Styles

Hierarchical Clustering 4/5/17

Clustering CS 550: Machine Learning

Text classification II CE-324: Modern Information Retrieval Sharif University of Technology

ECLT 5810 Clustering

Exploratory Analysis: Clustering

Evaluation. Evaluate what? For really large amounts of data... A: Use a validation set.

Pattern Recognition. Kjell Elenius. Speech, Music and Hearing KTH. March 29, 2007 Speech recognition

Information Retrieval

Unsupervised Learning Partitioning Methods

Ranking and Learning. Table of Content. Weighted scoring for ranking Learning to rank: A simple example Learning to ranking as classification.

Clustering. Bruno Martins. 1 st Semester 2012/2013

Unsupervised Learning

Unsupervised Data Mining: Clustering. Izabela Moise, Evangelos Pournaras, Dirk Helbing

Search Engines and Learning to Rank

Lecture 7: Clustering

Introduction to Machine Learning CMU-10701

Unsupervised Learning and Clustering

CSE 494/598 Lecture-11: Clustering & Classification

COMP 551 Applied Machine Learning Lecture 13: Unsupervised learning

SOCIAL MEDIA MINING. Data Mining Essentials

CSE 494 Project C. Garrett Wolf

CS145: INTRODUCTION TO DATA MINING

Clustering and Visualisation of Data

Network Traffic Measurements and Analysis

Information Retrieval. Lecture 7

Document Clustering: Comparison of Similarity Measures

Web Information Retrieval. Exercises Evaluation in information retrieval

Machine Learning. Unsupervised Learning. Manfred Huber

Multivariate Analysis (slides 9)

Chapter 4: Text Clustering

Classification and Clustering

CHAPTER 4: CLUSTER ANALYSIS

CSE 5243 INTRO. TO DATA MINING

Problem 1: Complexity of Update Rules for Logistic Regression

Evaluation Measures. Sebastian Pölsterl. April 28, Computer Aided Medical Procedures Technische Universität München

Clustering. CS294 Practical Machine Learning Junming Yin 10/09/06

Administrative. Machine learning code. Machine learning: Unsupervised learning

Cluster Analysis. Mu-Chun Su. Department of Computer Science and Information Engineering National Central University 2003/3/11 1

Contents Machine Learning concepts 4 Learning Algorithm 4 Predictive Model (Model) 4 Model, Classification 4 Model, Regression 4 Representation

CS249: ADVANCED DATA MINING

CSE 5243 INTRO. TO DATA MINING

CS 8520: Artificial Intelligence. Machine Learning 2. Paula Matuszek Fall, CSC 8520 Fall Paula Matuszek

CS535 Big Data Fall 2017 Colorado State University 10/10/2017 Sangmi Lee Pallickara Week 8- A.

Unsupervised Learning and Clustering

CCRMA MIR Workshop 2014 Evaluating Information Retrieval Systems. Leigh M. Smith Humtap Inc.

Chapter 8. Evaluating Search Engine

CSE494 Information Retrieval Project C Report

Transcription:

Introduction to Information Retrieval http://informationretrieval.org IIR 6: Flat Clustering Hinrich Schütze Center for Information and Language Processing, University of Munich 04-06- /86

Overview Recap Clustering: Introduction 3 Clustering in IR 4 K-means 5 Evaluation 6 How many clusters? /86

Outline Recap Clustering: Introduction 3 Clustering in IR 4 K-means 5 Evaluation 6 How many clusters? 3/86

Learning to rank for zone scoring Given query q and document d, weighted zone scoring assigns to the pair (q,d) a score in the interval [0,] by computing a linear combination of document zone scores, where each zone contributes a value. Consider a set of documents, which have l zones Let g,...,g l [0,], such that l i= g i = For i l, let s i be the Boolean score denoting a match (or non-match) between q and the i th zone s i = if a query term occurs in zone i, 0 otherwise Weighted zone scoring aka ranked Boolean retrieval Rank documents according to l i= g is i Learning to rank approach: learn the weights g i from training data 4/86

Training set for learning to rank Φ j d j q j s T s B r(d j,q j ) Φ 37 linux Relevant Φ 37 penguin 0 Nonrelevant Φ 3 38 system 0 Relevant Φ 4 38 penguin 0 0 Nonrelevant Φ 5 74 kernel Relevant Φ 6 094 driver 0 Relevant Φ 7 394 driver 0 Nonrelevant 5/86

Summary of learning to rank approach The problem of making a binary relevant/nonrelevant judgment is cast as a classification or regression problem, based on a training set of query-document pairs and associated relevance judgments. In principle, any method learning a classifier (including least squares regression) can be used to find this line. Big advantage of learning to rank: we can avoid hand-tuning scoring functions and simply learn them from training data. Bottleneck of learning to rank: the cost of maintaining a representative set of training examples whose relevance assessments must be made by humans. 6/86

LTR features used by Microsoft Research () Zones: body, anchor, title, url, whole document Features derived from standard IR models: query term number, query term ratio, length, idf, sum of term frequency, min of term frequency, max of term frequency, mean of term frequency, variance of term frequency, sum of length normalized term frequency, min of length normalized term frequency, max of length normalized term frequency, mean of length normalized term frequency, variance of length normalized term frequency, sum of tf-idf, min of tf-idf, max of tf-idf, mean of tf-idf, variance of tf-idf, boolean model, BM5 7/86

LTR features used by Microsoft Research () Language model features: LMIR.ABS, LMIR.DIR, LMIR.JM Web-specific features: number of slashes in url, length of url, inlink number, outlink number, PageRank, SiteRank Spam features: QualityScore Usage-based features: query-url click count, url click count, url dwell time 8/86

Ranking SVMs Vector of feature differences: Φ(d i,d j,q) = ψ(d i,q) ψ(d j,q) By hypothesis, one of d i and d j has been judged more relevant. Notation: We write d i d j for d i precedes d j in the results ordering. If d i is judged more relevant than d j, then we will assign the vector Φ(d i,d j,q) the class y ijq = +; otherwise. This gives us a training set of pairs of vectors and precedence indicators. Each of the vectors is computed as the difference of two document-query vectors. We can then train an SVM on this training set with the goal of obtaining a classifier that returns w T Φ(d i,d j,q) > 0 iff d i d j 9/86

Take-away today What is clustering? Applications of clustering in information retrieval K-means algorithm Evaluation of clustering How many clusters? 0/86

Outline Recap Clustering: Introduction 3 Clustering in IR 4 K-means 5 Evaluation 6 How many clusters? /86

Clustering: Definition (Document) clustering is the process of grouping a set of documents into clusters of similar documents. Documents within a cluster should be similar. Documents from different clusters should be dissimilar. Clustering is the most common form of unsupervised learning. Unsupervised = there are no labeled or annotated data. /86

Data set with clear cluster structure 0.0 0.5.0.5.0.5 Propose algorithm for finding the cluster structure in this example 0.0 0.5.0.5.0 3/86

Classification vs. Clustering Classification: supervised learning Clustering: unsupervised learning Classification: Classes are human-defined and part of the input to the learning algorithm. Clustering: Clusters are inferred from the data without human input. However, there are many ways of influencing the outcome of clustering: number of clusters, similarity measure, representation of documents,... 4/86

Outline Recap Clustering: Introduction 3 Clustering in IR 4 K-means 5 Evaluation 6 How many clusters? 5/86

The cluster hypothesis Cluster hypothesis. Documents in the same cluster behave similarly with respect to relevance to information needs. All applications of clustering in IR are based (directly or indirectly) on the cluster hypothesis. Van Rijsbergen s original wording (979): closely associated documents tend to be relevant to the same requests. 6/86

Applications of clustering in IR application what is benefit clustered? search result clustering search results Scatter-Gather (subsets of) collection more effective information presentation to user alternative user interface: search without typing collection clustering collection effective information presentation for exploratory browsing cluster-based retrieval collection higher efficiency: faster search 7/86

Search result clustering for better navigation 8/86

Scatter-Gather 9/86

Global navigation: Yahoo 0/86

Global navigation: MESH (upper level) /86

Global navigation: MESH (lower level) /86

Navigational hierarchies: Manual vs. automatic creation Note: Yahoo/MESH are not examples of clustering. But they are well known examples for using a global hierarchy for navigation. Some examples for global navigation/exploration based on clustering: Cartia Themescapes Google News 3/86

Global navigation combined with visualization () 4/86

Global navigation combined with visualization () 5/86

Global clustering for navigation: Google News http://news.google.com 6/86

Clustering for improving recall To improve search recall: Cluster docs in collection a priori When a query matches a doc d, also return other docs in the cluster containing d Hope: if we do this: the query car will also return docs containing automobile Because the clustering algorithm groups together docs containing car with those containing automobile. Both types of documents contain words like parts, dealer, mercedes, road trip. 7/86

Data set with clear cluster structure 0.0 0.5.0.5.0.5 Propose algorithm for finding the cluster structure in this example 0.0 0.5.0.5.0 8/86

Desiderata for clustering General goal: put related docs in the same cluster, put unrelated docs in different clusters. We ll see different ways of formalizing this. The number of clusters should be appropriate for the data set we are clustering. Initially, we will assume the number of clusters K is given. Later: Semiautomatic methods for determining K Secondary goals in clustering Avoid very small and very large clusters Define clusters that are easy to explain to the user Many others... 9/86

Flat vs. Hierarchical clustering Flat algorithms Usually start with a random (partial) partitioning of docs into groups Refine iteratively Main algorithm: K-means Hierarchical algorithms Create a hierarchy Bottom-up, agglomerative Top-down, divisive 30/86

Hard vs. Soft clustering Hard clustering: Each document belongs to exactly one cluster. More common and easier to do Soft clustering: A document can belong to more than one cluster. Makes more sense for applications like creating browsable hierarchies You may want to put sneakers in two clusters: sports apparel shoes You can only do that with a soft clustering approach. This class: flat, hard clustering Next time: hierarchical, hard clustering Next week: latent semantic indexing, a form of soft clustering 3/86

Flat algorithms Flat algorithms compute a partition of N documents into a set of K clusters. Given: a set of documents and the number K Find: a partition into K clusters that optimizes the chosen partitioning criterion Global optimization: exhaustively enumerate partitions, pick optimal one Not tractable Effective heuristic method: K-means algorithm 3/86

Outline Recap Clustering: Introduction 3 Clustering in IR 4 K-means 5 Evaluation 6 How many clusters? 33/86

K-means Perhaps the best known clustering algorithm Simple, works well in many cases Use as default / baseline for clustering documents 34/86

Document representations in clustering Vector space model As in vector space classification, we measure relatedness between vectors by Euclidean distance......which is almost equivalent to cosine similarity. Almost: centroids are not length-normalized. 35/86

K-means: Basic idea Each cluster in K-means is defined by a centroid. Objective/partitioning criterion: minimize the average squared difference from the centroid Recall definition of centroid: µ(ω) = ω x x ω where we use ω to denote a cluster. We try to find the minimum average squared difference by iterating two steps: reassignment: assign each vector to its closest centroid recomputation: recompute each centroid as the average of the vectors that were assigned to it in reassignment 36/86

K-means pseudocode (µ k is centroid of ω k ) K-means({ x,..., x N },K) ( s, s,..., s K ) SelectRandomSeeds({ x,..., x N },K) for k to K 3 do µ k s k 4 while stopping criterion has not been met 5 do for k to K 6 do ω k {} 7 for n to N 8 do j argmin j µ j x n 9 ω j ω j { x n } (reassignment of vectors) 0 for k to K do µ k ω k return { µ,..., µ K } x ω k x (recomputation of centroids) 37/86

Worked Example : Set of points to be clustered Exercise: (i) Guess what the optimal clustering into two clusters is in this case; (ii) compute the centroids of the clusters 38/86

Worked Example: Random selection of initial centroids 39/86

Worked Example: Assign points to closest center 40/86

Worked Example: Assignment 4/86

Worked Example: Recompute cluster centroids 4/86

Worked Example: Assign points to closest centroid 43/86

Worked Example: Assignment 44/86

Worked Example: Recompute cluster centroids 45/86

Worked Example: Assign points to closest centroid 46/86

Worked Example: Assignment 47/86

Worked Example: Recompute cluster centroids 48/86

Worked Example: Assign points to closest centroid 49/86

Worked Example: Assignment 50/86

Worked Example: Recompute cluster centroids 5/86

Worked Example: Assign points to closest centroid 5/86

Worked Example: Assignment 53/86

Worked Example: Recompute cluster centroids 54/86

Worked Example: Assign points to closest centroid 55/86

Worked Example: Assignment 56/86

Worked Example: Recompute cluster centroids 57/86

Worked Example: Assign points to closest centroid 58/86

Worked Example: Assignment 59/86

Worked Example: Recompute cluster centroids 60/86

Worked Ex.: Centroids and assignments after convergence 6/86

K-means is guaranteed to converge: Proof RSS = sum of all squared distances between document vector and closest centroid RSS decreases during each reassignment step. because each vector is moved to a closer centroid RSS decreases during each recomputation step. see next slide There is only a finite number of clusterings. Thus: We must reach a fixed point. Assumption: Ties are broken consistently. Finite set & monotonically decreasing convergence 6/86

Recomputation decreases average distance RSS = K k= RSS k the residual sum of squares (the goodness measure) RSS k ( v) = v x = x ω k x ω k RSS k ( v) = (v m x m ) = 0 v m x ω k v m = ω k x ω k x m M (v m x m ) m= The last line is the componentwise definition of the centroid! We minimize RSS k when the old centroid is replaced with the new centroid. RSS, the sum of the RSS k, must then also decrease during recomputation. 63/86

K-means is guaranteed to converge But we don t know how long convergence will take! If we don t care about a few docs switching back and forth, then convergence is usually fast (< 0-0 iterations). However, complete convergence can take many more iterations. 64/86

Optimality of K-means Convergence optimality Convergence does not mean that we converge to the optimal clustering! This is the great weakness of K-means. If we start with a bad set of seeds, the resulting clustering can be horrible. 65/86

Exercise: Suboptimal clustering 3 0 d d d 3 0 3 4 d 4 d 5 d 6 What is the optimal clustering for K =? Do we converge on this clustering for arbitrary seeds d i,d j? 66/86

Initialization of K-means Random seed selection is just one of many ways K-means can be initialized. Random seed selection is not very robust: It s easy to get a suboptimal clustering. Better ways of computing initial centroids: Select seeds not randomly, but using some heuristic (e.g., filter out outliers or find a set of seeds that has good coverage of the document space) Use hierarchical clustering to find good seeds Select i (e.g., i = 0) different random sets of seeds, do a K-means clustering for each, select the clustering with lowest RSS 67/86

Time complexity of K-means Computing one distance of two vectors is O(M). Reassignment step: O(KNM) (we need to compute KN document-centroid distances) Recomputation step: O(NM) (we need to add each of the document s < M values to one of the centroids) Assume number of iterations bounded by I Overall complexity: O(IKNM) linear in all important dimensions However: This is not a real worst-case analysis. In pathological cases, complexity can be worse than linear. 68/86

Outline Recap Clustering: Introduction 3 Clustering in IR 4 K-means 5 Evaluation 6 How many clusters? 69/86

What is a good clustering? Internal criteria Example of an internal criterion: RSS in K-means But an internal criterion often does not evaluate the actual utility of a clustering in the application. Alternative: External criteria Evaluate with respect to a human-defined classification 70/86

External criteria for clustering quality Based on a gold standard data set, e.g., the Reuters collection we also used for the evaluation of classification Goal: Clustering should reproduce the classes in the gold standard (But we only want to reproduce how documents are divided into groups, not the class labels.) First measure for how well we were able to reproduce the classes: purity 7/86

External criterion: Purity purity(ω,c) = N k max ω k c j j Ω = {ω,ω,...,ω K } is the set of clusters and C = {c,c,...,c J } is the set of classes. For each cluster ω k : find class c j with most members n kj in ω k Sum all n kj and divide by total number of points 7/86

Example for computing purity cluster cluster cluster 3 x o x x x x x o o o o x x To compute purity: 5 = max j ω c j (class x, cluster ); 4 = max j ω c j (class o, cluster ); and 3 = max j ω 3 c j (class, cluster 3). Purity is (/7) (5+4+3) 0.7. 73/86

Another external criterion: Rand index Purity can be increased easily by increasing K a measure that does not have this problem: Rand index. Definition: RI = TP+TN TP+FP+FN+TN Based on x contingency table of all pairs of documents: same cluster different clusters same class true positives (TP) false negatives (FN) different classes false positives (FP) true negatives (TN) TP+FN+FP+TN is the total number of pairs. TP+FN+FP+TN = ( N ) for N documents. Example: ( 7 ) = 36 in o/ /x example Each pair is either positive or negative (the clustering puts the two documents in the same or in different clusters)...... and either true (correct) or false (incorrect): the clustering decision is correct or incorrect. 74/86

Rand Index: Example As an example, we compute RI for the o/ /x example. We first compute TP+FP. The three clusters contain 6, 6, and 5 points, respectively, so the total number of positives or pairs of documents that are in the same cluster is: TP+FP = ( 6 ) + ( 6 ) + ( 5 ) = 40 Of these, the x pairs in cluster, the o pairs in cluster, the pairs in cluster 3, and the x pair in cluster 3 are true positives: ( ) ( ) ( ) ( ) 5 4 3 TP = + + + = 0 Thus, FP = 40 0 = 0. FN and TN are computed similarly. 75/86

Rand measure for the o/ /x example same cluster different clusters same class TP = 0 FN = 4 different classes FP = 0 TN = 7 RI is then (0+7)/(0+0+4+7) 0.68. 76/86

Two other external evaluation measures Two other measures Normalized mutual information (NMI) How much information does the clustering contain about the classification? Singleton clusters (number of clusters = number of docs) have maximum MI Therefore: normalize by entropy of clusters and classes F measure Like Rand, but precision and recall can be weighted 77/86

Evaluation results for the o/ /x example purity NMI RI F 5 lower bound 0.0 0.0 0.0 0.0 maximum.0.0.0.0 value for example 0.7 0.36 0.68 0.46 All four measures range from 0 (really bad clustering) to (perfect clustering). 78/86

Outline Recap Clustering: Introduction 3 Clustering in IR 4 K-means 5 Evaluation 6 How many clusters? 79/86

How many clusters? Number of clusters K is given in many applications. E.g., there may be an external constraint on K. Example: In the case of Scatter-Gather, it was hard to show more than 0 0 clusters on a monitor in the 90s. What if there is no external constraint? Is there a right number of clusters? One way to go: define an optimization criterion Given docs, find K for which the optimum is reached. What optimization criterion can we use? We can t use RSS or average squared distance from centroid as criterion: always chooses K = N clusters. 80/86

Exercise Your job is to develop the clustering algorithms for a competitor to news.google.com You want to use K-means clustering. How would you determine K? 8/86

Simple objective function for K: Basic idea Start with cluster (K = ) Keep adding clusters (= keep increasing K) Add a penalty for each new cluster Then trade off cluster penalties against average squared distance from centroid Choose the value of K with the best tradeoff 8/86

Simple objective function for K: Formalization Given a clustering, define the cost for a document as (squared) distance to centroid Define total distortion RSS(K) as sum of all individual document costs (corresponds to average distance) Then: penalize each cluster with a cost λ Thus for a clustering with K clusters, total cluster penalty is Kλ Define the total cost of a clustering as distortion plus total cluster penalty: RSS(K) + Kλ Select K that minimizes (RSS(K) + Kλ) Still need to determine good value for λ... 83/86

Finding the knee in the curve residual sum of squares 750 800 850 900 950 4 6 8 0 number of clusters curve flattens. Here: 4 or 9. Pick the number of clusters where 84/86

Take-away today What is clustering? Applications of clustering in information retrieval K-means algorithm Evaluation of clustering How many clusters? 85/86

Resources Chapter 6 of IIR Resources at http://cislmu.org Keith van Rijsbergen on the cluster hypothesis (he was one of the originators) Bing/Carrot/Clusty: search result clustering systems Stirling number: the number of distinct k-clusterings of n items 86/86