En#ty ¡Resolu#on ¡
CompSci ¡590.03 ¡ Instructor: ¡Ashwin ¡Machanavajjhala ¡ ¡
1 ¡ Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡
What is En#ty Resolu#on? Problem of idenBfying and - - PowerPoint PPT Presentation
En#ty Resolu#on CompSci 590.03 Instructor: Ashwin Machanavajjhala Lecture 18 : 590.02 Spring 13 1 What is En#ty Resolu#on? Problem of idenBfying and
1 ¡ Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 2 ¡
Doubles ¡ Duplicate ¡detec/on ¡ Record ¡linkage ¡ Deduplica/on ¡ Object ¡iden/fica/on ¡ Object ¡consolida/on ¡ En/ty ¡resolu/on ¡ En/ty ¡clustering ¡ Reference ¡reconcilia/on ¡ Reference ¡matching ¡ Householding ¡ Household ¡matching ¡ Match ¡ Fuzzy ¡match ¡ Approximate ¡match ¡ Merge/purge ¡ Hardening ¡soD ¡databases ¡ Iden/ty ¡uncertainty ¡ Mixed ¡and ¡split ¡cita/on ¡problem ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 3 ¡
– Driving ¡Applica#ons ¡ – Challenges ¡
– Single ¡En#ty ¡ER ¡ – Rela#onal ¡& ¡Mul#-‑En#ty ¡ER ¡
– Compu#ng ¡Pairwise ¡Match ¡scores ¡ – Blocking: ¡Efficiently ¡Iden#fying ¡of ¡Near-‑Duplicates ¡ – Correla#on ¡Clustering: ¡Enforcing ¡Transi#vity ¡Constraints ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 4 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 5 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 6 ¡
h1 ¡ h2 ¡ h3 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 7 ¡
– Geocoding ¡incoming ¡queries ¡ – Match ¡new ¡customers ¡to ¡old ¡ones ¡ – Products ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 8 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 9 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 10 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 11 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 12 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 13 ¡
VLDB11, ¡Machanavajjhala ¡et ¡al ¡WSDM11] ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 14 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 15 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 16 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 17 ¡
– Join ¡medical ¡records ¡from ¡a ¡hospital ¡with ¡loca#ons ¡tracked ¡by ¡a ¡cell ¡phone ¡ provider ¡to ¡iden#fy ¡correla#ons ¡between ¡ac#vity ¡and ¡health. ¡ – Google ¡Flu: ¡correla#on ¡search ¡logs ¡with ¡flu ¡incidence. ¡ – … ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 18 ¡
– Driving ¡Applica#ons ¡ – Challenges ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 19 ¡
Thomas ¡Cruise ¡ ¡ Michael ¡Jordan ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 20 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 21 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 22 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 23 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 24 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 25 ¡
– Need ¡efficient ¡parallel ¡techniques ¡
– Unstructured, ¡Unclean ¡and ¡Incomplete ¡data. ¡Diverse ¡data ¡types. ¡
– Need ¡to ¡infer ¡rela#onships ¡in ¡addi#on ¡to ¡“equality” ¡
– Deal ¡with ¡structure ¡of ¡en##es ¡(Are ¡Walmart ¡and ¡Walmart ¡Pharmacy ¡the ¡ same?) ¡
– Customizable ¡methods ¡that ¡span ¡across ¡domains ¡
– Serve ¡diverse ¡applica#on ¡with ¡different ¡accuracy ¡requirements ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 26 ¡
– Data ¡Quality ¡and ¡Record ¡Linkage ¡Techniques ¡ [T. ¡Herzog, ¡F. ¡Scheuren, ¡W. ¡Winkler, ¡Springer, ¡’07] ¡ – Duplicate ¡Record ¡Detec#on ¡[A. ¡Elmagrid, ¡P. ¡Ipeiro#s, ¡V. ¡Verykios, ¡TKDE ¡‘07] ¡ – An ¡Introduc#on ¡to ¡Duplicate ¡Detec#on ¡[F. ¡Naumann, ¡M. ¡Herschel, ¡M&P ¡ synthesis ¡lectures ¡2010] ¡ – Evalua#on ¡of ¡En#ty ¡Resolu#on ¡Approached ¡on ¡Real-‑world ¡Match ¡Problems ¡ ¡ [H. ¡Kopke, ¡A. ¡Thor, ¡E. ¡Rahm, ¡PVLDB ¡2010] ¡ – Data ¡Matching ¡[P. ¡Christen, ¡Springer ¡2012] ¡
– Record ¡Linkage: ¡Similarity ¡measures ¡and ¡Algorithms ¡ [N. ¡Koudas, ¡S. ¡Sarawagi, ¡D. ¡Srivatsava ¡SIGMOD ¡‘06] ¡ – Data ¡fusion-‑-‑Resolving ¡data ¡conflicts ¡for ¡integra#on ¡ ¡ [X. ¡Dong, ¡F. ¡Naumann ¡VLDB ¡‘09] ¡ – En#ty ¡Resolu#on: ¡Theory, ¡Prac#ce ¡and ¡Open ¡Challenges ¡ ¡hgp://goo.gl/Ui38o ¡[L. ¡Getoor, ¡A. ¡Machanavajjhala ¡AAAI ¡‘12] ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 27 ¡
– Single ¡En#ty ¡ER ¡ – Rela#onal ¡& ¡Mul#-‑En#ty ¡ER ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 28 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 29 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 30 ¡
– Intensional ¡Variant: ¡Compute ¡cluster ¡representa#ve ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 31 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 32 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 33 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 34 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 35 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 36 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 37 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 38 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 39 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 40 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 41 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 42 ¡
– Precision/Recall, ¡F1 ¡ – # ¡of ¡predicted ¡matching ¡pairs ¡
– purity, ¡completeness, ¡complexity ¡ ¡ – Precision/Recall/F1: ¡Cluster-‑level, ¡closest ¡cluster, ¡MUC, ¡B3 ¡, ¡Rand ¡Index ¡ – Generalized ¡merge ¡distance ¡[Menestrina ¡et ¡al, ¡PVLDB10] ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 43 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 44 ¡
¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 45 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 46 ¡
– Compu#ng ¡Pairwise ¡Match ¡scores ¡ – Blocking: ¡Efficiently ¡Iden#fying ¡of ¡Near-‑Duplicates ¡ – Correla#on ¡Clustering: ¡Enforcing ¡Transi#vity ¡Constraints ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 47 ¡
– [ ¡ ¡1st-‑author-‑match-‑score, ¡ ¡ ¡ ¡ ¡paper-‑match-‑score, ¡ ¡ ¡ ¡ ¡venue-‑match-‑score, ¡ ¡ ¡ ¡ ¡year-‑match-‑score, ¡ ¡ ¡ ¡…. ¡ ¡ ¡ ¡] ¡
– Boolean ¡(match ¡or ¡not-‑match) ¡ – Real ¡values ¡based ¡on ¡distance ¡func#ons ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 48 ¡
– Levenstein, ¡Smith-‑Waterman, ¡Affine ¡
– Jaccard, ¡Dice ¡
– Cosine ¡similarity, ¡TFIDF ¡
– SecondString, ¡hgp://secondstring.sourceforge.net/ ¡ – Simmetrics: ¡hgp://sourceforge.net/projects/simmetrics/ ¡ – LingPipe, ¡hgp://alias-‑i.com/lingpipe/index.html ¡
– Jaro-‑Winkler, ¡Soy-‑TFIDF, ¡Monge-‑Elkan ¡
– Soundex ¡
Good ¡for ¡Names ¡ Good ¡for ¡Text ¡like ¡ reviews/ ¡tweets ¡ Useful ¡for ¡ abbrevia/ons, ¡ alternate ¡names. ¡ Handle ¡ Typographical ¡ errors ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 49 ¡
– 0.5*1st-‑author-‑match-‑score ¡+ ¡0.2*venue-‑match-‑score ¡+ ¡0.3*paper-‑match-‑
¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 50 ¡
– (1st-‑author-‑match-‑score ¡> ¡0.7 ¡AND ¡venue-‑match-‑score ¡> ¡0.8) ¡ ¡ OR ¡(paper-‑match-‑score ¡> ¡0.9 ¡AND ¡venue-‑match-‑score ¡> ¡0.9) ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 51 ¡
) | ( ) | ( U r P M r P R ∈ ∈ = γ γ
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 52 ¡
– E.g., ¡γ ¡= ¡[“Is ¡x.name ¡= ¡y.name?”, ¡“Is ¡x.address ¡= ¡y.address?” ¡…] ¡ – Assume ¡binary ¡vector ¡for ¡simplicity ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 53 ¡
) | ( ) | ( U r P M r P R ∈ ∈ = γ γ
u u l l
) | ( ) | ( M r P M r P
i i
∈ Π = ∈ γ γ
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 54 ¡
– A1: ¡(x,y) ¡is ¡a ¡match ¡ – A2: ¡(x,y) ¡is ¡a ¡possible ¡match ¡(uncertain) ¡ ¡ – A3: ¡(x,y) ¡is ¡a ¡non-‑match ¡
¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 55 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 56 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 57 ¡
– L* ¡meets ¡the ¡type ¡I ¡and ¡type ¡II ¡requirements ¡ – L* ¡has ¡the ¡least ¡ ¡condi#onal ¡probabili#es ¡of ¡not ¡making ¡a ¡decision. ¡ ¡ That ¡is ¡for ¡all ¡other ¡decision ¡rules ¡L ¡(with ¡error ¡bounds ¡μ ¡and ¡λ), ¡ ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 58 ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 59 ¡
– Use ¡condi#onal ¡independence ¡of ¡features ¡in ¡γ ¡given ¡match ¡or ¡non-‑match ¡ – Naïve ¡Bayes ¡assump#on ¡
– Supervised ¡learning ¡(assume ¡a ¡training ¡set ¡is ¡provided) ¡ – ¡EM-‑based ¡techniques ¡can ¡used ¡to ¡learn ¡the ¡parameters ¡jointly ¡while ¡ iden#fying ¡matches. ¡ ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 60 ¡
– Decision ¡trees ¡
– Support ¡vector ¡machines ¡
– Ensembles ¡of ¡classifiers ¡
– Condi#onal ¡Random ¡Fields ¡(CRF) ¡
– Training ¡set ¡genera/on ¡ – Imbalanced ¡classes ¡– ¡many ¡more ¡nega#ves ¡than ¡posi#ves ¡(even ¡ayer ¡ elimina#ng ¡obvious ¡non-‑matches ¡… ¡using ¡Blocking) ¡ – Misclassifica#on ¡cost ¡ ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 61 ¡
– 100 ¡records ¡from ¡100 ¡ci#es. ¡ ¡ – Only ¡106 ¡pairs ¡out ¡of ¡total ¡108 ¡(1%) ¡come ¡from ¡the ¡same ¡city ¡
– Inherently ¡ambiguous ¡ ¡
– Missing ¡agributes ¡ ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 62 ¡
– EM ¡based ¡techniques ¡to ¡learn ¡parameters ¡
– Genera#ve ¡Models ¡
– Commigee ¡of ¡Classifiers ¡
– Provably ¡op#mizing ¡precision/recall ¡
– Crowdsourcing ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 63 ¡
– Compu#ng ¡Pairwise ¡Match ¡scores ¡ – Blocking: ¡Efficiently ¡Iden#fying ¡of ¡Near-‑Duplicates ¡ – Correla#on ¡Clustering: ¡Enforcing ¡Transi#vity ¡Constraints ¡
Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 64 ¡