What is En#ty Resolu#on? Problem of idenBfying and - - PowerPoint PPT Presentation

what is en ty resolu on
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

En#ty ¡Resolu#on ¡

CompSci ¡590.03 ¡ Instructor: ¡Ashwin ¡Machanavajjhala ¡ ¡

1 ¡ Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡

slide-2
SLIDE 2

What ¡is ¡En#ty ¡Resolu#on? ¡

Problem ¡of ¡idenBfying ¡and ¡linking/grouping ¡ ¡different ¡manifestaBons ¡

  • f ¡the ¡same ¡real ¡world ¡object. ¡ ¡

¡ Examples ¡of ¡manifesta#ons ¡and ¡objects: ¡ ¡

  • Different ¡ways ¡of ¡addressing ¡(names, ¡email ¡addresses, ¡FaceBook ¡

accounts) ¡the ¡same ¡person ¡in ¡text. ¡

  • Web ¡pages ¡with ¡differing ¡descrip#ons ¡of ¡the ¡same ¡business. ¡
  • Different ¡photos ¡of ¡the ¡same ¡object. ¡
  • … ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 2 ¡

slide-3
SLIDE 3

Ironically, ¡En#ty ¡Resolu#on ¡has ¡many ¡duplicate ¡names ¡

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 ¡

slide-4
SLIDE 4

Outline ¡

  • Introduc#on ¡

– Driving ¡Applica#ons ¡ – Challenges ¡

  • Problem ¡Formula#on ¡

– Single ¡En#ty ¡ER ¡ – Rela#onal ¡& ¡Mul#-­‑En#ty ¡ER ¡

  • Algorithms ¡for ¡Single ¡En#ty ¡ER ¡

– Compu#ng ¡Pairwise ¡Match ¡scores ¡ – Blocking: ¡Efficiently ¡Iden#fying ¡of ¡Near-­‑Duplicates ¡ – Correla#on ¡Clustering: ¡Enforcing ¡Transi#vity ¡Constraints ¡

  • Algorithms ¡for ¡Rela#onal ¡& ¡Mul#-­‑En#ty ¡ER ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 4 ¡

slide-5
SLIDE 5

Mo#va#on: ¡Census ¡

  • “Overview ¡of ¡Record ¡Linkage ¡and ¡Current ¡Research ¡Direc#ons”, ¡William ¡

E ¡Winkler, ¡2006 ¡

  • The ¡Post ¡Enumera#on ¡Survey ¡(PES) ¡provided ¡an ¡independent ¡re-­‑

enumera#on ¡of ¡a ¡large ¡number ¡of ¡blocks ¡(small ¡Census ¡regions) ¡ that ¡corresponded ¡to ¡approximately ¡70 ¡individuals. ¡The ¡PES ¡was ¡ matched ¡to ¡the ¡Census ¡so ¡that ¡a ¡capture-­‑recapture ¡methodology ¡ could ¡be ¡used ¡to ¡es#mate ¡both ¡undercoverage ¡and ¡overcoverage ¡ to ¡improve ¡Census ¡es#mates. ¡In ¡a ¡very ¡large ¡1990 ¡Decennial ¡ Census ¡applica/on, ¡the ¡computerized ¡procedures ¡were ¡able ¡to ¡ reduce ¡the ¡need ¡for ¡clerks ¡and ¡field ¡follow-­‑up ¡from ¡an ¡ es/mated ¡3000 ¡individuals ¡over ¡3 ¡months ¡to ¡200 ¡individuals ¡

  • ver ¡6 ¡weeks ¡(Winkler ¡1995). ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 5 ¡

slide-6
SLIDE 6

Mo#va#on ¡: ¡Cita#on ¡

  • What ¡is ¡the ¡most ¡recent ¡publica#on ¡of ¡Lei ¡Chen? ¡ ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 6 ¡

slide-7
SLIDE 7

ER ¡and ¡H-­‑Index ¡

¡A ¡scienBst ¡has ¡index ¡h ¡if ¡h ¡of ¡his/her ¡Np ¡papers ¡have ¡at ¡least ¡h ¡ citaBons ¡each, ¡and ¡the ¡other ¡(Np ¡− ¡h) ¡papers ¡have ¡no ¡more ¡than ¡h ¡ citaBons ¡each. ¡ ¡

h1 ¡ h2 ¡ h3 ¡

h1 ¡> ¡h2 ¡and ¡h1 ¡> ¡h3 ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 7 ¡

slide-8
SLIDE 8

Mo#va#on: ¡Data ¡Cleaning ¡

  • [Chaudhuri ¡et ¡al, ¡SIGMOD ¡2003] ¡
  • Reference ¡table ¡contains ¡“clean” ¡records ¡
  • Input ¡table ¡has ¡“noisy” ¡records ¡
  • Applica#ons ¡

– Geocoding ¡incoming ¡queries ¡ – Match ¡new ¡customers ¡to ¡old ¡ones ¡ – Products ¡

¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 8 ¡

slide-9
SLIDE 9

Mo#va#on: ¡Data ¡Cleaning ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 9 ¡

slide-10
SLIDE 10

Mo#va#on ¡: ¡Web ¡Search ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 10 ¡

slide-11
SLIDE 11

Mo#va#on: ¡Web ¡Search ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 11 ¡

slide-12
SLIDE 12

Mo#va#on: ¡Web ¡Search ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 12 ¡

slide-13
SLIDE 13

Mo#va#on: ¡Machine ¡Reading ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 13 ¡

slide-14
SLIDE 14

ER ¡helps ¡improve ¡informa#on ¡extrac#on ¡

  • If ¡we ¡know ¡how ¡to ¡extract ¡from ¡one ¡list, ¡and ¡the ¡same ¡en#ty ¡

appear ¡on ¡another ¡differently ¡formaged ¡list, ¡we ¡can ¡use ¡the ¡

  • verlap ¡for ¡training ¡an ¡extractor ¡on ¡the ¡second ¡list. ¡[Gupta ¡et ¡al ¡

VLDB11, ¡Machanavajjhala ¡et ¡al ¡WSDM11] ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 14 ¡

slide-15
SLIDE 15

Mo#va#on ¡: ¡Network ¡Science ¡

  • Measuring ¡the ¡topology ¡of ¡the ¡internet ¡… ¡using ¡traceroute ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 15 ¡

slide-16
SLIDE 16

IP ¡Aliasing ¡Problem ¡ ¡ ¡[Willinger ¡et ¡al. ¡2009] ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 16 ¡

slide-17
SLIDE 17

IP ¡Aliasing ¡Problem ¡ ¡ ¡[Willinger ¡et ¡al. ¡2009] ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 17 ¡

slide-18
SLIDE 18

Mo#va#on: ¡Privacy ¡in ¡Big-­‑Data ¡Analysis ¡

  • Datasets ¡collected ¡by ¡different ¡organiza#ons ¡can’t ¡be ¡shared ¡as ¡is ¡

due ¡to ¡privacy ¡concerns ¡

  • Individuals ¡are ¡de-­‑iden#fied ¡before ¡publishing ¡the ¡data ¡
  • May ¡want ¡to ¡iden#fy ¡correla#ons ¡between ¡de-­‑iden#fied ¡datasets ¡

– 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 ¡

slide-19
SLIDE 19

Outline ¡

  • Introduc#on ¡

– Driving ¡Applica#ons ¡ – Challenges ¡

  • Problem ¡Formula#on ¡
  • Algorithms ¡for ¡Single ¡En#ty ¡ER ¡
  • Algorithms ¡for ¡Rela#onal ¡& ¡Mul#-­‑En#ty ¡ER ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 19 ¡

slide-20
SLIDE 20

Tradi#onal ¡Challenges ¡in ¡ER ¡

  • Name/Agribute ¡ambiguity ¡

¡

Thomas ¡Cruise ¡ ¡ Michael ¡Jordan ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 20 ¡

slide-21
SLIDE 21

Tradi#onal ¡Challenges ¡in ¡ER ¡

  • Name/Agribute ¡ambiguity ¡
  • Errors ¡due ¡to ¡data ¡entry ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 21 ¡

slide-22
SLIDE 22

Tradi#onal ¡Challenges ¡in ¡ER ¡

  • Name/Agribute ¡ambiguity ¡
  • Errors ¡due ¡to ¡data ¡entry ¡
  • Missing ¡Values ¡

[Gill ¡et ¡al; ¡Univ ¡of ¡Oxford ¡2003] ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 22 ¡

slide-23
SLIDE 23

Tradi#onal ¡Challenges ¡in ¡ER ¡

  • Name/Agribute ¡ambiguity ¡
  • Errors ¡due ¡to ¡data ¡entry ¡
  • Missing ¡Values ¡
  • Changing ¡Agributes ¡
  • Data ¡formaqng ¡
  • Abbrevia#ons ¡/ ¡Data ¡Trunca#on ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 23 ¡

slide-24
SLIDE 24

Big-­‑Data ¡ER ¡Challenges ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 24 ¡

slide-25
SLIDE 25

Big-­‑Data ¡ER ¡Challenges ¡

  • Larger ¡and ¡more ¡Datasets ¡

– Need ¡efficient ¡parallel ¡techniques ¡

  • More ¡Heterogeneity ¡ ¡

– Unstructured, ¡Unclean ¡and ¡Incomplete ¡data. ¡Diverse ¡data ¡types. ¡ – No ¡longer ¡just ¡matching ¡names ¡with ¡names, ¡but ¡Amazon ¡profiles ¡with ¡ browsing ¡history ¡on ¡Google ¡and ¡friends ¡network ¡in ¡Facebook. ¡ ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 25 ¡

slide-26
SLIDE 26

Big-­‑Data ¡ER ¡Challenges ¡

  • Larger ¡and ¡more ¡Datasets ¡

– Need ¡efficient ¡parallel ¡techniques ¡

  • More ¡Heterogeneity ¡ ¡

– Unstructured, ¡Unclean ¡and ¡Incomplete ¡data. ¡Diverse ¡data ¡types. ¡

  • More ¡linked ¡

– Need ¡to ¡infer ¡rela#onships ¡in ¡addi#on ¡to ¡“equality” ¡

  • Mul#-­‑Rela#onal ¡ ¡

– Deal ¡with ¡structure ¡of ¡en##es ¡(Are ¡Walmart ¡and ¡Walmart ¡Pharmacy ¡the ¡ same?) ¡

  • Mul#-­‑domain ¡

– Customizable ¡methods ¡that ¡span ¡across ¡domains ¡

  • Mul#ple ¡applica#ons ¡ ¡(web ¡search ¡versus ¡comparison ¡

shopping) ¡

– Serve ¡diverse ¡applica#on ¡with ¡different ¡accuracy ¡requirements ¡

¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 26 ¡

slide-27
SLIDE 27

ER ¡References ¡

  • Book ¡/ ¡Survey ¡Ar#cles ¡

– 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] ¡

  • Tutorials ¡

– 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 ¡

slide-28
SLIDE 28

Outline ¡

  • Introduc#on ¡
  • Problem ¡Formula#on ¡

– Single ¡En#ty ¡ER ¡ – Rela#onal ¡& ¡Mul#-­‑En#ty ¡ER ¡

  • Algorithms ¡for ¡Single ¡En#ty ¡ER ¡
  • Algorithms ¡for ¡Rela#onal ¡& ¡Mul#-­‑En#ty ¡ER ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 28 ¡

slide-29
SLIDE 29

Single ¡En#ty ¡Problem ¡Statement ¡

Real ¡World ¡ Digital ¡World ¡

Records ¡/ ¡ Men/ons ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 29 ¡

slide-30
SLIDE 30

Deduplica#on ¡Problem ¡Statement ¡

  • Cluster ¡the ¡records/men#ons ¡that ¡correspond ¡to ¡same ¡en#ty ¡ ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 30 ¡

slide-31
SLIDE 31

Deduplica#on ¡Problem ¡Statement ¡

  • Cluster ¡the ¡records/men#ons ¡that ¡correspond ¡to ¡same ¡en#ty ¡ ¡

– Intensional ¡Variant: ¡Compute ¡cluster ¡representa#ve ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 31 ¡

slide-32
SLIDE 32

Record ¡Linkage ¡Problem ¡Statement ¡

  • Link ¡records ¡that ¡match ¡across ¡databases ¡

A ¡ B ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 32 ¡

slide-33
SLIDE 33

Reference ¡Matching ¡Problem ¡

  • Match ¡noisy ¡records ¡to ¡clean ¡records ¡in ¡a ¡reference ¡table ¡

Reference ¡ Table ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 33 ¡

slide-34
SLIDE 34

Rela#onal/Mul#-­‑En#ty ¡Problem ¡Statement ¡

Real ¡World ¡ Digital ¡World ¡

A I M L D B

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 34 ¡

slide-35
SLIDE 35

Deduplica#on ¡Problem ¡Statement ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 35 ¡

slide-36
SLIDE 36

Deduplica#on ¡with ¡Canonicaliza#on ¡

A I

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 36 ¡

slide-37
SLIDE 37

Link ¡Predic#on ¡Problem ¡Statement ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 37 ¡

slide-38
SLIDE 38

Graph ¡Alignment ¡(& ¡mo#f ¡search) ¡

Graph ¡1 ¡ Graph ¡2 ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 38 ¡

slide-39
SLIDE 39

Rela#onships ¡are ¡crucial ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 39 ¡

slide-40
SLIDE 40

Rela#onships ¡are ¡crucial ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 40 ¡

slide-41
SLIDE 41

Nota#on ¡

  • R: ¡set ¡of ¡records ¡/ ¡men#ons ¡(typed) ¡
  • H: ¡set ¡of ¡rela#ons ¡/ ¡hyperedges ¡(typed) ¡
  • M: ¡set ¡of ¡matches ¡(record ¡pairs ¡that ¡correspond ¡to ¡same ¡en#ty ¡) ¡
  • N: ¡set ¡of ¡non-­‑matches ¡(record ¡pairs ¡corresponding ¡to ¡different ¡en##es) ¡
  • E: ¡set ¡of ¡en##es ¡
  • L: ¡set ¡of ¡links ¡
  • True ¡(Mtrue, ¡Ntrue, ¡Etrue, ¡Ltrue): ¡according ¡to ¡real ¡world ¡

vs ¡Predicted ¡(Mpred, ¡Npred, ¡Epred, ¡Lpred ¡): ¡by ¡algorithm ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 41 ¡

slide-42
SLIDE 42

Rela#onship ¡between ¡Mtrue ¡and ¡Mpred ¡

  • Mtrue ¡ ¡(SameAs ¡, ¡Equivalence) ¡
  • Mpred ¡(Similar ¡representa#ons ¡and ¡similar ¡agributes) ¡

Mtrue ¡ RxR ¡ Mpred ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 42 ¡

slide-43
SLIDE 43

Metrics ¡

  • Pairwise ¡metrics ¡

– Precision/Recall, ¡F1 ¡ – # ¡of ¡predicted ¡matching ¡pairs ¡

  • Cluster ¡level ¡metrics ¡

– purity, ¡completeness, ¡complexity ¡ ¡ – Precision/Recall/F1: ¡Cluster-­‑level, ¡closest ¡cluster, ¡MUC, ¡B3 ¡, ¡Rand ¡Index ¡ – Generalized ¡merge ¡distance ¡[Menestrina ¡et ¡al, ¡PVLDB10] ¡

  • Ligle ¡work ¡that ¡evaluates ¡correct ¡predic#on ¡of ¡links ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 43 ¡

slide-44
SLIDE 44

Typical ¡Assump#ons ¡Made ¡

  • Each ¡record/menBon ¡is ¡associated ¡with ¡a ¡single ¡real ¡world ¡enBty. ¡
  • In ¡record ¡linkage, ¡no ¡duplicates ¡in ¡the ¡same ¡source ¡
  • If ¡two ¡records/menBons ¡are ¡idenBcal, ¡then ¡they ¡are ¡true ¡matches ¡

( ¡ ¡ ¡ ¡ ¡, ¡ ¡ ¡ ¡ ¡) ¡ε ¡ ¡Mtrue ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 44 ¡

slide-45
SLIDE 45

ER ¡versus ¡Classifica#on ¡

Finding ¡matches ¡vs ¡non-­‑matches ¡is ¡a ¡classifica#on ¡problem ¡

  • Imbalanced: ¡typically ¡O(R) ¡matches, ¡O(R^2) ¡non-­‑matches ¡
  • Instances ¡are ¡pairs ¡of ¡records. ¡Pairs ¡are ¡not ¡IID ¡

¡

( ¡ ¡ ¡ ¡ ¡, ¡ ¡ ¡ ¡ ¡) ¡ε ¡ ¡Mtrue ¡ ( ¡ ¡ ¡ ¡ ¡, ¡ ¡ ¡ ¡ ¡) ¡ε ¡ ¡Mtrue ¡ ( ¡ ¡ ¡ ¡ ¡, ¡ ¡ ¡ ¡ ¡) ¡ε ¡ ¡Mtrue ¡

AND ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 45 ¡

slide-46
SLIDE 46

ER ¡vs ¡(Mul#-­‑rela#onal) ¡Clustering ¡

Compu#ng ¡en##es ¡from ¡records ¡is ¡a ¡clustering ¡problem ¡ ¡

  • In ¡typical ¡clustering ¡algorithms ¡(k-­‑means, ¡LDA, ¡etc.) ¡number ¡of ¡

clusters ¡is ¡a ¡constant ¡or ¡sub ¡linear ¡in ¡R. ¡

  • In ¡ER: ¡number ¡of ¡clusters ¡is ¡linear ¡in ¡R, ¡and ¡average ¡cluster ¡size ¡is ¡

a ¡constant. ¡Significant ¡fracBon ¡of ¡clusters ¡are ¡singletons. ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 46 ¡

slide-47
SLIDE 47

Outline ¡

  • Introduc#on ¡
  • Problem ¡Formula#on ¡
  • Algorithms ¡for ¡Single ¡En#ty ¡ER ¡

– Compu#ng ¡Pairwise ¡Match ¡scores ¡ – Blocking: ¡Efficiently ¡Iden#fying ¡of ¡Near-­‑Duplicates ¡ – Correla#on ¡Clustering: ¡Enforcing ¡Transi#vity ¡Constraints ¡

  • Algorithms ¡for ¡Rela#onal ¡& ¡Mul#-­‑En#ty ¡ER ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 47 ¡

slide-48
SLIDE 48

Matching ¡Features ¡

  • For ¡two ¡references ¡x ¡and ¡y, ¡compute ¡a ¡“comparison” ¡vector ¡of ¡

similarity ¡scores ¡of ¡component ¡agribute. ¡ ¡

– [ ¡ ¡1st-­‑author-­‑match-­‑score, ¡ ¡ ¡ ¡ ¡paper-­‑match-­‑score, ¡ ¡ ¡ ¡ ¡venue-­‑match-­‑score, ¡ ¡ ¡ ¡ ¡year-­‑match-­‑score, ¡ ¡ ¡ ¡…. ¡ ¡ ¡ ¡] ¡

  • Similarity ¡scores ¡

– Boolean ¡(match ¡or ¡not-­‑match) ¡ – Real ¡values ¡based ¡on ¡distance ¡func#ons ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 48 ¡

slide-49
SLIDE 49

Summary ¡of ¡Matching ¡Features ¡

  • Equality ¡on ¡a ¡boolean ¡predicate ¡
  • Edit ¡distance ¡

– Levenstein, ¡Smith-­‑Waterman, ¡Affine ¡

  • Set ¡similarity ¡

– Jaccard, ¡Dice ¡

  • Vector ¡Based ¡

– Cosine ¡similarity, ¡TFIDF ¡

  • Useful ¡packages: ¡

– SecondString, ¡hgp://secondstring.sourceforge.net/ ¡ – Simmetrics: ¡hgp://sourceforge.net/projects/simmetrics/ ¡ – LingPipe, ¡hgp://alias-­‑i.com/lingpipe/index.html ¡

  • Alignment-­‑based ¡or ¡Two-­‑#ered ¡

– Jaro-­‑Winkler, ¡Soy-­‑TFIDF, ¡Monge-­‑Elkan ¡

  • Phone#c ¡Similarity ¡

– Soundex ¡

  • Transla#on-­‑based ¡
  • Numeric ¡distance ¡between ¡values ¡
  • Domain-­‑specific ¡

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 ¡

slide-50
SLIDE 50

Pairwise ¡Match ¡Score ¡

Problem: ¡Given ¡a ¡vector ¡of ¡component-­‑wise ¡similari#es ¡for ¡a ¡pair ¡of ¡ records ¡(x,y), ¡compute ¡P(x ¡and ¡y ¡match). ¡ ¡ ¡ Solu#ons: ¡

  • 1. Weighted ¡sum ¡or ¡average ¡of ¡component-­‑wise ¡similarity ¡scores. ¡

Threshold ¡determines ¡match ¡or ¡non-­‑match. ¡ ¡

– 0.5*1st-­‑author-­‑match-­‑score ¡+ ¡0.2*venue-­‑match-­‑score ¡+ ¡0.3*paper-­‑match-­‑

  • score. ¡ ¡

– Hard ¡to ¡pick ¡weights. ¡

  • Match ¡on ¡last ¡name ¡match ¡more ¡predicBve ¡than ¡login ¡name. ¡
  • Match ¡on ¡“Smith” ¡less ¡predicBve ¡than ¡match ¡on ¡“Machanavajjhala”. ¡

– Hard ¡to ¡tune ¡a ¡threshold. ¡ ¡

¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 50 ¡

slide-51
SLIDE 51

Pairwise ¡Match ¡Score ¡

Problem: ¡Given ¡a ¡vector ¡of ¡component-­‑wise ¡similari#es ¡for ¡a ¡pair ¡of ¡ records ¡(x,y), ¡compute ¡P(x ¡and ¡y ¡match). ¡ ¡ ¡ Solu#ons: ¡

  • 1. Weighted ¡sum ¡or ¡average ¡of ¡component-­‑wise ¡similarity ¡scores. ¡

Threshold ¡determines ¡match ¡or ¡non-­‑match. ¡ ¡

  • 2. Formulate ¡rules ¡about ¡what ¡cons#tutes ¡a ¡match. ¡

– (1st-­‑author-­‑match-­‑score ¡> ¡0.7 ¡AND ¡venue-­‑match-­‑score ¡> ¡0.8) ¡ ¡ OR ¡(paper-­‑match-­‑score ¡> ¡0.9 ¡AND ¡venue-­‑match-­‑score ¡> ¡0.9) ¡

– Manually ¡formula#ng ¡the ¡right ¡set ¡of ¡rules ¡is ¡hard. ¡ ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 51 ¡

slide-52
SLIDE 52

Basic ¡ML ¡Approach ¡

  • r ¡= ¡(x,y) ¡is ¡record ¡pair, ¡γ ¡is ¡comparison ¡vector, ¡M ¡matches, ¡U ¡non-­‑

matches ¡ ¡

  • Decision ¡rule ¡

) | ( ) | ( U r P M r P R ∈ ∈ = γ γ

Match

  • Non

Match → ⇒ ≤ → ⇒ > r t R r t R

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 52 ¡

slide-53
SLIDE 53

Fellegi ¡& ¡Sunter ¡Model ¡[FS, ¡Science ¡‘69] ¡

  • Record ¡pair: ¡r ¡= ¡(x,y) ¡in ¡A ¡x ¡B ¡
  • γ ¡is ¡comparison ¡vector ¡

– E.g., ¡γ ¡= ¡[“Is ¡x.name ¡= ¡y.name?”, ¡“Is ¡x.address ¡= ¡y.address?” ¡…] ¡ – Assume ¡binary ¡vector ¡for ¡simplicity ¡

  • M ¡: ¡set ¡of ¡matching ¡pairs ¡of ¡records ¡
  • U ¡: ¡set ¡of ¡non-­‑matching ¡pairs ¡of ¡records ¡

¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 53 ¡

slide-54
SLIDE 54

Fellegi ¡& ¡Sunter ¡Model ¡[FS, ¡Science ¡‘69] ¡

  • r ¡= ¡(x,y) ¡is ¡record ¡pair, ¡γ ¡is ¡comparison ¡vector, ¡M ¡matches, ¡U ¡non-­‑

matches ¡ ¡

  • Decision ¡rule ¡
  • Naïve ¡Bayes ¡Assump#on: ¡ ¡ ¡

) | ( ) | ( U r P M r P R ∈ ∈ = γ γ

Match

  • Non

Match Potential Match → ⇒ ≤ → ⇒ < < → ⇒ ≥ r t R r t R t r t R

u u l l

) | ( ) | ( M r P M r P

i i

∈ Π = ∈ γ γ

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 54 ¡

slide-55
SLIDE 55

Quality ¡of ¡a ¡Decision ¡Rule ¡(tl, ¡tu) ¡

  • Consider ¡three ¡sets ¡of ¡record ¡pairs ¡(as ¡classified ¡by ¡the ¡decision ¡rule) ¡

– A1: ¡(x,y) ¡is ¡a ¡match ¡ – A2: ¡(x,y) ¡is ¡a ¡possible ¡match ¡(uncertain) ¡ ¡ – A3: ¡(x,y) ¡is ¡a ¡non-­‑match ¡

  • Given ¡some ¡distribu#on ¡over ¡A ¡x ¡B, ¡ ¡

¡

¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 55 ¡

slide-56
SLIDE 56

Error ¡due ¡to ¡a ¡Linkage ¡Rule ¡

  • Type ¡I ¡Error: ¡(x,y) ¡in ¡U, ¡but ¡the ¡linkage ¡rule ¡calls ¡it ¡a ¡match ¡

¡

  • Type ¡II ¡Error: ¡(x,y) ¡in ¡M, ¡but ¡the ¡linkage ¡rule ¡calls ¡it ¡a ¡non-­‑match ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 56 ¡

slide-57
SLIDE 57

Op#mal ¡Linkage ¡Rule ¡

  • Let ¡μ ¡and ¡λ ¡be ¡bounds ¡on ¡the ¡type ¡I ¡and ¡type ¡II ¡error, ¡resp. ¡ ¡
  • For ¡any ¡decision ¡rule ¡L ¡= ¡(tl, ¡tu), ¡let ¡A1(L), ¡A2(L) ¡and ¡A3(L) ¡denote ¡

the ¡sets ¡of ¡matches, ¡possible ¡matches ¡and ¡non-­‑matches. ¡ ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 57 ¡

slide-58
SLIDE 58

Op#mal ¡Linkage ¡Rule ¡

  • L* ¡= ¡(tl*, ¡tu*) ¡is ¡an ¡op#mal ¡decision ¡rule ¡for ¡comparison ¡space ¡Γ ¡

with ¡error ¡bounds ¡μ ¡and ¡λ, ¡if ¡

– 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 ¡

slide-59
SLIDE 59

Finding ¡the ¡Op#mal ¡Linkage ¡Rule ¡

  • Suppose ¡there ¡are ¡N ¡comparison ¡vectors ¡
  • Sort ¡them ¡in ¡decreasing ¡order ¡of ¡m(γ) ¡/ ¡u(γ) ¡
  • Set ¡A1 ¡to ¡be ¡the ¡first ¡n ¡vectors, ¡and ¡A3 ¡to ¡be ¡the ¡last ¡N ¡– ¡n’ ¡

vectors ¡such ¡that: ¡ ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 59 ¡

slide-60
SLIDE 60

Using ¡Fellegi ¡Sunter ¡in ¡Prac#ce ¡

  • Γ ¡is ¡usually ¡high ¡dimensional ¡(compu#ng ¡m(γ) ¡and ¡u(γ) ¡is ¡

inefficient) ¡ ¡

– Use ¡condi#onal ¡independence ¡of ¡features ¡in ¡γ ¡given ¡match ¡or ¡non-­‑match ¡ – Naïve ¡Bayes ¡assump#on ¡

  • Compu#ng ¡P(γ ¡| ¡r ¡ε ¡M) ¡requires ¡some ¡knowledge ¡of ¡matches. ¡

– 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 ¡

slide-61
SLIDE 61

Supervised ¡Approaches ¡

  • Supervised ¡machine ¡learning ¡algorithms ¡

– Decision ¡trees ¡

  • [Cochinwala ¡et ¡al, ¡IS01] ¡

– Support ¡vector ¡machines ¡

  • [Bilenko ¡& ¡Mooney, ¡KDD03]; ¡[Christen, ¡KDD08] ¡

– Ensembles ¡of ¡classifiers ¡

  • [Chen ¡et ¡al., ¡SIGMOD09] ¡

– Condi#onal ¡Random ¡Fields ¡(CRF) ¡

  • [Gupta ¡& ¡Sarawagi, ¡VLDB09] ¡
  • Issues: ¡

– 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 ¡

slide-62
SLIDE 62

Crea#ng ¡a ¡Training ¡Set ¡is ¡a ¡key ¡issue ¡

  • Construc#ng ¡a ¡training ¡set ¡is ¡hard ¡– ¡since ¡most ¡pairs ¡of ¡records ¡

are ¡“easy ¡non-­‑matches”. ¡ ¡

– 100 ¡records ¡from ¡100 ¡ci#es. ¡ ¡ – Only ¡106 ¡pairs ¡out ¡of ¡total ¡108 ¡(1%) ¡come ¡from ¡the ¡same ¡city ¡

  • Some ¡pairs ¡are ¡hard ¡to ¡judge ¡even ¡by ¡humans ¡

– Inherently ¡ambiguous ¡ ¡

  • E.g., ¡Paris ¡Hilton ¡(person ¡or ¡business) ¡

– Missing ¡agributes ¡ ¡

  • Starbucks, ¡Toronto ¡vs ¡Starbucks, ¡Queen ¡Street ¡,Toronto ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 62 ¡

slide-63
SLIDE 63

Avoiding ¡Training ¡Set ¡Genera#on ¡

  • Unsupervised ¡/ ¡Semi-­‑supervised ¡Techniques ¡

– EM ¡based ¡techniques ¡to ¡learn ¡parameters ¡

  • [Winkler ¡‘06, ¡Herzog ¡et ¡al ¡’07] ¡

– Genera#ve ¡Models ¡

  • [Ravikumar ¡& ¡Cohen, ¡UAI04] ¡
  • Ac#ve ¡Learning ¡

– Commigee ¡of ¡Classifiers ¡

  • [Sarawagi ¡et ¡al ¡KDD ¡’00, ¡Tajeda ¡et ¡al ¡IS ¡‘01] ¡

– Provably ¡op#mizing ¡precision/recall ¡

  • [Arasu ¡et ¡al ¡SIGMOD ¡‘10, ¡Bellare ¡et ¡al ¡KDD ¡‘12] ¡

– Crowdsourcing ¡

  • [Wang ¡et ¡al ¡VLDB ¡‘12, ¡Marcus ¡et ¡al ¡VLDB ¡’12, ¡…] ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 63 ¡

slide-64
SLIDE 64

Next ¡few ¡classes ¡

  • Introduc#on ¡
  • Problem ¡Formula#on ¡
  • Algorithms ¡for ¡Single ¡En#ty ¡ER ¡

– Compu#ng ¡Pairwise ¡Match ¡scores ¡ – Blocking: ¡Efficiently ¡Iden#fying ¡of ¡Near-­‑Duplicates ¡ – Correla#on ¡Clustering: ¡Enforcing ¡Transi#vity ¡Constraints ¡

  • Algorithms ¡for ¡Rela#onal ¡& ¡Mul#-­‑En#ty ¡ER ¡

Lecture ¡18 ¡: ¡590.02 ¡Spring ¡13 ¡ 64 ¡