data matching -- an overview, recent advances, and research...

66
Data Matching – An Overview, Recent Advances, and Research at the ANU Peter Christen School of Computer Science, ANU College of Engineering and Computer Science, The Australian National University, Canberra, ACT 0200 Contact: [email protected] Peter Christen, August 2009 – p.1/66

Upload: others

Post on 21-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Data Matching – An Overview, RecentAdvances, and Research at the ANU

Peter Christen

School of Computer Science,ANU College of Engineering and Computer Science,

The Australian National University,Canberra, ACT 0200

Contact: [email protected]

Peter Christen, August 2009 – p.1/66

Page 2: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Outline

Overview of data matchingApplications and challenges

The matching process and matching techniques

Recent advances in data matching research

Data matching research at the ANUThe Febrl project

Matching historical census data

Matching bibliographic data

Outlook

Additional material (probabilistic data cleaning, privacy-

preserving matching, geocoding, measuring quality andcomplexity) Peter Christen, August 2009 – p.2/66

Page 3: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Short introduction to data matching

The process of linking/matching records from oneor more data sources that represent the sameentity (such as a patient, customer, publication, etc.)

Also called record or data linkage, entity resolution,

data scrubbing, object identification, merge-purge, etc.

Challenging if no unique entity identifiers availableFor example, which of these three records refer to

the same person?

Dr Smith, Peter 42 Miller Street 2602 O’Connor

Pete Smith 42 Miller St, 2600 Canberra A.C.T.

P. Smithers 24 Mill Street; Canberra ACT 2600

Peter Christen, August 2009 – p.3/66

Page 4: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Recent interest in data matching

Traditionally, data matching has been used inhealth (epidemiology) and statistics (census)

In recent years, increased interest frombusinesses and governments

Increased computing power and storage capacities

A lot of data is being collected by many organisations

Data warehousing and distributed databases

Need for data sharing between organisations

Data mining of large data collections

E-Commerce and Web applications

Geocode matching and spatial data analysisPeter Christen, August 2009 – p.4/66

Page 5: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Applications of data matching

Remove duplicates in one data set (internal linkage)

Merge new records into a larger master data set

Create patient or customer oriented statistics(for example for longitudinal studies)

Clean and enrich data for analysis and mining

Geocode matching (with reference address data)

Widespread use of data matchingImmigration, taxation, social security, census

Fraud, crime and terrorism intelligence

Business mailing lists, exchange of customer data

Social, health and biomedical researchPeter Christen, August 2009 – p.5/66

Page 6: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Data matching challenges

Often no unique entity identifiers are available

Real world data is dirty(typographical errors and variations, missing andout-of-date values, different coding schemes, etc.)

ScalabilityNaïve comparison of all record pairs is O(|A| � |B|)

Some form of blocking, indexing or filtering is required

Privacy and confidentiality(because personal information, like names and addresses,are commonly required for matching)

No training data in many matching applications(no record pairs with known true match status)

Peter Christen, August 2009 – p.6/66

Page 7: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

The data matching process

Cleaning andstandardisation

Cleaning andstandardisation

Database A

Database B

Non−matches matchesMatches

Evaluation

ClericalPossible

Indexing

Weight vector Field

review

comparisonclassification

Blocking /

Peter Christen, August 2009 – p.7/66

Page 8: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Data matching techniques

Deterministic matchingExact matching (if a unique identifier of high quality

is available: precise, robust, stable over time)

Examples: Medicare, ABN or Tax file number (?)

Rules based matching (complex to build and maintain)

Probabilistic linkageUse common attributes for matching (often personal

information, like names, addresses, dates of birth, etc.)

Can be wrong, missing, coded differently, or out-of-date

Modern approaches(based on machine learning, data mining, AI, database, orinformation retrieval techniques)

Peter Christen, August 2009 – p.8/66

Page 9: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Probabilistic data linkage

Computer assisted data linkage goes back as faras the 1950s (based on ad-hoc heuristic methods)

Basic ideas of probabilistic linkage wereintroduced by Newcombe & Kennedy, 1962

Theoretical foundation by Fellegi & Sunter, 1969Compare common record attributes (or fields)

Compute matching weights based on frequency ratios

(global or value specific ratios) and error estimates

Sum of the matching weights is used to classify a pair of

records as match, non-match, or possible match

Problems: Estimating errors, find optimal thresholds,

assumption of independence, and manual clerical reviewPeter Christen, August 2009 – p.9/66

Page 10: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Fellegi and Sunter classification

For each compared record pair a vector containingmatching weights is calculatedRecord A: [‘dr’, ‘peter’, ‘paul’, ‘miller’]

Record B: [‘mr’, ‘john’, ‘’, ‘miller’]

Matching weights: [0.2, -3.2, 0.0, 2.4 ]

Sum weights in vector, then use two thresholds toclassify record pairs as matches, non-matches, orpossiblematches

Many more with

thresholdthresholdLower Upper

lower weights...

0−5 5 10 15 Total matching weightPeter Christen, August 2009 – p.10/66

Page 11: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Weight calculation: Month of birth

Assume two data sets with a 3% error in field month of birth

Probability that two matched records (representing the same

person) have the same month value is 97% (L agreement)

Probability that two matched records do not have the same

month value is 3% (L disagreement)

Probability that two (randomly picked) un-matched records

have the same month value is 1/12 = 8.3% (U agreement)

Probability that two un-matched records do not have the

same month value is 11/12 = 91.7% (U disagreement)

Agreement weight (Lag/ Uag): log2(0.97 / 0.083) = 3.54

Disagreement weight (Ldi/ Udi): log2(0.03 / 0.917) = -4.92

Peter Christen, August 2009 – p.11/66

Page 12: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Blocking / indexing / filtering

Number of record pair comparisons equals theproduct of the sizes of the two data sets(matching two data sets containing 1 and 5 million recordswill result in 1,000,000 � 5,000,000 = 5 � 1012 record pairs)

Performance bottleneck in a data matching systemis usually the (expensive) detailed comparison offield values between record pairs(such as approximate string comparison functions)

Blocking / indexing / filtering techniques are usedto reduce the large amount of comparisons

Aim of blocking: Cheaply remove candidaterecord pairs which are obviously not matches

Peter Christen, August 2009 – p.12/66

Page 13: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Traditional blocking

Traditional blocking works by only comparingrecord pairs that have the same value for ablocking variable (for example, only compare recordsthat have the same postcode value)

Problems with traditional blockingAn erroneous value in a blocking variable results in a

record being inserted into the wrong block (several

passes with different blocking variables can solve this)

Values of blocking variable should be uniformly

distributed (as the most frequent values determine

the size of the largest blocks)

Example: Frequency of ‘Smith’ in NSW: 25,425Peter Christen, August 2009 – p.13/66

Page 14: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Recent indexing approaches (1)

Sorted neighbourhood approachSliding window over sorted blocking variable

Use several passes with different blocking variables

Q-gram based blocking (e.g. 2-grams / bigrams)

Convert values into q-gram lists, then generate sub-lists

‘peter’ ! [‘pe’,‘et’,‘te’,‘er’], [‘pe’,‘et’,‘te’] , [‘pe’,‘et’,‘er’], ...

‘pete’ ! [‘pe’,‘et’,‘te’] , [‘pe’,‘et’], [‘pe’,‘te’], [‘et’,‘te’], ...

Each record will be inserted into several blocks

Overlapping canopy clustering

Based on q-grams and a ‘cheap’ similarity measure,

such as Jaccard or TF-IDF/cosinePeter Christen, August 2009 – p.14/66

Page 15: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Recent indexing approaches (2)

StringMap based blockingMap strings into a multi-dimensional space such that

distances between pairs of strings are preserved

Use similarity join to find similar pairs

Suffix array based blockingGenerate suffix array based inverted index

(suffix array: ‘peter’ ! ‘eter’, ‘ter’, ‘er’)

Post-blocking filtering(for example, string length or q-grams count differences)

US Census Bureau: BigMatch(pre-process ‘smaller’ data set so its values can be directlyaccessed; with all blocking passes in one go)

Peter Christen, August 2009 – p.15/66

Page 16: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

How good are recent approaches?

No experimental comparisons of recent indexingtechniques have so far been published

0

0.2

0.4

0.6

0.8

1

Suffix Array

String Map (NN)

String Map (TH)

Canopy (NN)

Canopy (TH)

Q-Gram

Sorted Neighbour

Standard Block

Pairs completeness for dirty data sets and concatenated blocking key.

Peter Christen, August 2009 – p.16/66

Page 17: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Indexing for real-time matching (1)

Traditional approaches are aimed at matching twostatic databases (only one approach for query-timeentity resolution: 31 sec for matching a query record with831,000 records)

Today, many applications require real-timematching

Identity verification during credit application, government

services and benefits, e-Health, etc.

Crime detection and terrorism prevention systems

Health surveillance systems (disease outbreaks)

A task similar to large-scale Web search (match arecord to a large database, return most similar results)

Peter Christen, August 2009 – p.17/66

Page 18: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Real-time entity resolution (2)

Objectives:Process a stream of incoming query records with

one or several large databases

Match these query records as quickly as possible

Generate a match-score (allows setting a threshold)

Challenges:Large databases with many million records

Dynamic database updates

User constraints (like black-lists, or known name

variations of people who have changed names)

Multiple databases with different information contentPeter Christen, August 2009 – p.18/66

Page 19: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Similarity-aware inverted indexing

peter

smyth smith 0.9

smith smyth 0.9

p360 peter

m460 miller mylermillar

s530 smith smyth

miller 0.9 mylermillar 0.8

miller 0.9millar myler 0.7

miller0.7millar 0.8myler

r2 r5r1

r7

r3r4

r8

r6

millar miller myler peter smith smythRI

SI

BI

Peter Christen, August 2009 – p.19/66

Page 20: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Classification challenges

In many cases there is no training data availablePossible to use results of earlier matching projects?

Or from manual clerical review process?

How confident can we be about correct manual

classification of possible matches?

Often there is no gold standard available(no data sets with true known match status)

No large test data set collection available(like in information retrieval or machine learning)

Recent small repository: RIDDLEhttp://www.cs.utexas.edu/users/ml/riddle/(Repository of Information on Duplicate Detection, Record Linkage,

and Identity Uncertainty)Peter Christen, August 2009 – p.20/66

Page 21: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Improved record pair classification

Fellegi and Sunter summing of weights resultsin loss of information

View record pair classification as a multi-dimensional binary classification problem(use weight vectors to classify record pairs as matches ornon-matches, but not possible matches)

Many machine learning techniques can be usedSupervised: Decision trees, SVMs, neural networks,

learnable string comparisons, active learning, etc.

Un-supervised: Various clustering algorithms

Recently, collective entity resolution techniqueshave been investigated (rather than classifying each

record pair independently) Peter Christen, August 2009 – p.21/66

Page 22: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Collective matching example

Dave White

Don White

Susan Grey

John Black

Paper 2

Paper 1

Paper 3

?

Joe Brown

?

Paper 4

Liz Pink

Paper 6

Paper 5

Intel

CMU

MIT

w1=?

w2=?w4=?

w3=?

(A1, Dave White, Intel) (P1, John Black / Don White)(A2, Don White, CMU) (P2, Sue Grey / D. White )(A3, Susan Grey, MIT) (P3, Dave White)(A4, John Black, MIT) (P4, Don White / Joe Brown)(A5, Joe Brown, unknown) (P5, Joe Brown / Liz Pink)(A6, Liz Pink, unknown) (P6, Liz Pink / D. White )

Adapted from Kalashnikov and Mehrotra, ACM TODS, 31(2), 2006Peter Christen, August 2009 – p.22/66

Page 23: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Collective matching issues

Several approaches have been developed (bymachine learning, data mining and database communities)

Combine graph and clustering based techniques(iteratively refine connection weights)

Generally achieve much improved matchingquality (compared to traditional matching based onlyon attribute similarities between two records)

However, the computational complexity of theseapproaches is generally high

For matching two databases with n records each,

n � n calculation steps (or more) are required

Not scalable to large databasesPeter Christen, August 2009 – p.23/66

Page 24: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Outline

Overview of data matchingApplications and challenges

The matching process and matching techniques

Recent advances in data matching research

Data matching research at the ANUThe Febrl project

Matching historical census data

Matching bibliographic data

Outlook

Additional material (probabilistic data cleaning, privacy-

preserving matching, geocoding, measuring quality andcomplexity) Peter Christen, August 2009 – p.24/66

Page 25: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

The Febrl project

Freely Extensible Biomedical Record Linkage

A collaboration with the NSW Department ofHealth (ARC Linkage Project 2004–2008)

Aim was to develop new and improved techniquesfor parallel large scale data matching

Main research areas

Probabilistic techniques for automated data cleaning and

standardisation (mainly on addresses, using G-NAF )

New and improved blocking and indexing techniques

Improved record pair classification using un-supervised

machine learning techniques (reduce clerical review)

Improved performancePeter Christen, August 2009 – p.25/66

Page 26: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Overview of Febrl software

Is implemented in Python (open source, objectoriented, good for rapid prototype development)

Source code is available (easy to extend and modify)

Includes many recently developed data matchingalgorithms and techniques

A tool to experiment with and learn about datamatching (facilitated by a graphical user interface)

Is a prototype tool, not production software!

Freely available at:https://sourceforge.net/projects/febrl/

Peter Christen, August 2009 – p.26/66

Page 27: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Main Febrl features

Three main functionalitiesCleaning and standardisation (of names,

addresses, dates, and phone numbers)

Deduplication of one data set

Matching of two data sets

A variety of data matching techniquesSeven blocking / indexing methods

Twenty-six similarity functions (mainly for strings)

Six record pair classifiers

Includes a data generator and various testdata sets

Peter Christen, August 2009 – p.27/66

Page 28: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Example Febrl GUI screen-shot

Showing comparison function definitions

Peter Christen, August 2009 – p.28/66

Page 29: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Matching historical census data

Work done with the ANU Australian Demographicand Social Research Institute (CASS)

Aim: Reconstruct families and households acrosshistorical census data sets that were collected atdifferent points in time

We have access to a data collection from the UKmade of six data sets from 1851 to 1901 (around30,000 records each)

Basic idea is to a apply novel backwards-forwardsmatching across time (starting with individual records,then families and households)

We submitted an ARC Discovery Project grantearlier this year

Peter Christen, August 2009 – p.29/66

Page 30: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

ANU Research Office data matching

For ERA (Excellence in Research for Australia),match Thompson ISI / Elsevier Scopus with ANUARIES database

ANU RO has conducted SQL based matching

Different match criteria (‘rule based’)

Author names so far not considered

Successfully matched around 74% of ARIES

publications with ISI

Apply more sophisticated data matchingDeal with cases that have typographical errors and

variations in authors, journals and articles

Combine article and author matchesPeter Christen, August 2009 – p.30/66

Page 31: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Example chemistry article titles

‘Undecacarbonyl(methylcyclopentadienyl)-tetrahedro-triiridiummolybdenum,undecacarbonyl(tetramethylcyclopentadienyl)-tetrahedro-tr iiridiummolybdenum andundecacarbonyl(pentamethylcyclopentadienyl)-tetrahedro-triiridiummolybdenum’

‘Fused supracyclopentadienyl ligand precursors.Synthesis, structure, and some reactions of1,3-diphenylcyclopenta[l]phenanthrene-2-one,1,2,3-triphenylcyclopenta[l]phenanthrene-2-ol, 1-chloro-1,2,3-triphenylcyclopenta[l]phenanthrene,1-bromo-1,2,3-triphenylcyclopenta[l]phenanthrene, and1,2,3-triphenyl-1H-cyclopenta[l] phenanthrene’

Peter Christen, August 2009 – p.31/66

Page 32: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

ANU RO data matching challenges

Only author surnames and initials in both ARIESand ISI (many records with ‘M Smith’ or ‘J Williams’)

Journal abbreviations and name changes

Domain specific article titles (very similar when seenas text strings – such as examples on previous slide)

What relative matching weights to give tojournals, articles and authors?

Different number of authors (have to normalisenumber of matched authors by number of listed authors)

Initial matching using Febrl found all but 7 of theRO matches (and many thousand more new potentialmatches, including many false positives)

Peter Christen, August 2009 – p.32/66

Page 33: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Outlook

Recent interest in data matchingData mining and data warehousing, e-Commerce and

Web applications

Health, census, crime/fraud detection, social security,

immigration, intelligence/surveillance

Main future challengesAutomatic and accurate matching (reduce manual effort)

Higher performance (matching very large data sets)

Secure and privacy-preserving data matching

For more information see our project Web site(publications, talks, software, Web resources / links)

http://datamining.anu.edu.au/linkage.htmlPeter Christen, August 2009 – p.33/66

Page 34: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Why cleaning and standardisation?

Real world data is often dirtyTypographical and other errors

Different coding schemes

Missing values

Data changing over time

Name and addresses are especially prone to dataentry errors

Scanned, hand-written, over telephone, hand-typed

Same person often provides her/his details differently

Different correct spelling variations for proper names

(e.g. ‘Gail’ and ‘Gayle’, or ‘Dixon’ and ‘Dickson’)Peter Christen, August 2009 – p.34/66

Page 35: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Address standardisation tasks

42 main road canberra act 2600

App. 3a/42 Main Rd Canberra A.C.T. 2600

a3apartment

flat_typ

e

flat_number

flat_number_su

ffix

number_first

street_name

street_typ

e

locality

_name

state_abbrev

postcode

Clean inputRemove unwanted characters and words

Expand abbreviations and correct misspellings

Segment address into well defined output fields

Verify if address (or parts of it) exists in reality

Peter Christen, August 2009 – p.35/66

Page 36: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Address standardisation approaches

Traditionally: Rules basedManually developed parsing and transformation rules

Time consuming and complex to develop and maintain

Recently: Probabilistic methodsMainly based on hidden Markov models (HMMs)

More flexible and robust with regard to new unseen data

Drawback: Training data needed for most methods

HMMs are widely used in natural language processing andspeech recognition, as well as for text segmentation and

information extraction.

Peter Christen, August 2009 – p.36/66

Page 37: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

What is a Hidden Markov model?

Number Type Territory

Start End

Name NameLocality

5%

90%

8%

2%

3%

95% 95%

3%

80%

18%

2%

40%

2%

2%

40%10%

20%

95%

codePost−

Street

Street

Street

90%

A HMM is a probabilistic finite state machineMade of a set of states and transition probabilities

between these states

In each state an observation symbol is emitted with a

certain probability

In our approach, the states correspond to output fieldsPeter Christen, August 2009 – p.37/66

Page 38: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Probabilistic address standardisation

Segmentation of Indian and US addresses[Borkar, Deshmukh & Sarawagi, 2001]

Hierarchical features and nested HMMs

Allow the integration of external hierarchical databases

for improved segmentation

Presented results better than rules-based system Rapier

Attribute recognition models [Agichtein & Ganti, 2004]

Automatic system only using an external database

Based on HMMs, capture the characteristics of values in

database

Feature hierarchies are used to learn the HMM topology

and probabilitiesPeter Christen, August 2009 – p.38/66

Page 39: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Our standardisation approach

Based on our previous work [BioMed Central 2002]

Uses lexicon-based tokenisation rather than original

values as HMM observation symbols

Manually compiled look-up tables

Manual preparation of training data needed

Better results than rule-based system AutoStan

More recent contributions [AusDM 2005]

Build initial HMM structure from postal guidelines

Automatically create HMM training data using initial

HMM structure and a national address database

Automatically create look-up tables from address

databasePeter Christen, August 2009 – p.39/66

Page 40: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Address standardisation steps

Three step approach1. Cleaning

– Based on look-up tables and correction lists

– Remove unwanted characters and words

– Correct various misspellings and abbreviations

2. Tagging

– Split input into a list of words, numbers and separators

– Assign one or more tags to each element of this list

(using look-up tables and/or features)

3. Segmenting

– Use a trained HMM to assign list elements to

output fieldsPeter Christen, August 2009 – p.40/66

Page 41: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Tagging step

Tags are based on look-up tables and featuresIf found in look-up tables for street name (SN), street type

(ST), locality name (LN), postcode (PC), etc.

Otherwise according to more general features

Features characterise valuesIf a value contains letters (L), numbers (N), alpha-

numerics (A), or is mixed (M)

The length of a value (1, 2, ... , 6_8, 9_11, 12_15, 16+)

Examples:‘avenue’ will be tagged with ‘ST’ and ‘L6_8’

‘2602’ will be tagged with ‘PC’ and ‘N4’‘12b’ will be tagged with ‘A3’

Peter Christen, August 2009 – p.41/66

Page 42: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Example address standardisation

Raw input address: ‘42 meyer Rd COOMA 2371’

Cleaned into: ‘42 meyer road cooma 2371’

Tagged (both look-up tables and feature tags):

[‘42’,‘meyer’,‘road’, ‘cooma’, ‘2371’ ]

[‘N2’,‘SN/L5’,‘ST/L4’,‘LN/SN/L5’,‘PC/N4’]

Segmented by HMM into output fields:number_first : ‘42’

street_name : ‘meyer’

street_type : ‘road’

locality_name : ‘cooma’

postcode : ‘2371’

Peter Christen, August 2009 – p.42/66

Page 43: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Preparation and training phase

Initial HMM structure is built using national postalguidelines (Australia Post, AS4212-1994, AS4590-1999)

Currently manual, in future XML scheme likely

Records from a comprehensive address databaseare used as HMM training records

We use G-NAF (Geocoded National Address File) with

around 4.5 million addresses from NSW

Contains clean and segmented records (26 attributes)

Missing are postal addresses and many postcodes, as

well as characters like slash ( / ) and hyphen ( – )

Peter Christen, August 2009 – p.43/66

Page 44: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Initial HMM structure (simplified)

Start (hidden)

building_name

number_first

lot_number_prefix

postal_type

flat_type

flat_number

level_type

level_number

number_last

street_name

street_type

street_suffix

locality_name

state_abbrev

End (hidden)

postcode

lot_number

Peter Christen, August 2009 – p.44/66

Page 45: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Automated HMM training

Address records are re-ordered according totopologically sorted initial HMM structure

Various tweaks need to be doneInsert postcodes, postal addresses, slash, hyphen, etc.

HMM observation symbols are tagsEither features only (F), look-ups only (LT) or both look-upsand features (LT&F )

Processed records are then used for HMM trainingSmoothing is used to make HMM more robust towardsunseen data in the standardisation phase

Look-up tables are built for name attributes(and merged into existing tables)

Peter Christen, August 2009 – p.45/66

Page 46: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Final HMM (simplified)

Start (hidden)

building_name

0.059

flat_type

0.007

flat_number

0.112

level_type

0.0002

number_first

0.701

number_last

0.0001

street_name

0.04

locality_name

0.0001

postal_type

0.029

postal_number

0.0510.48

0.004

0.053

0.0002

0.434

0.0001

0.027

1.0

0.005

slash (hidden)

0.095

0.005

level_number

0.0005

0.994

0.0005

0.236

0.764

1.0

0.091

0.053

0.846

0.01

0.979

0.021

0.128

street_type

0.563

street_suffix

0.001

0.3080.006

0.997

0.24

0.24

0.5

state_abbrev

0.02 0.123

0.377

postcode

0.05

End (hidden)

0.450.5

0.5

0.2

0.8

0.3

0.7

0.7

0.3

Peter Christen, August 2009 – p.46/66

Page 47: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Some experiments (AusDM 2005)

Three smaller data setsNSW Midwives data (500 records, randomly selected)

Nursing homes (600 records, randomly selected)

Unusual addresses (150 records, manually selected)

HMMs generated for F, LT, and LT&F

Compared to manually generated HMM usingearlier Febrl approach (BioMed Central 2002)

Measurements

Correctness: Exact and close standardisation accuracy

Number of easy addresses (with simple structure, like

[street num, name, type; loc, state, pc])Peter Christen, August 2009 – p.47/66

Page 48: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Results for Midwives data collection

F LT LT&F Febrl

Easy addresses 89.0% 87.6% 89.2% 82.0%

Accuracy 96.6% 95.4% 97.4% 96.8%

Close accuracy 97.0% 97.4% 98.0% 97.6%

Time per record 6 ms 11 ms 92 ms 7 ms

Peter Christen, August 2009 – p.48/66

Page 49: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Results for Nursing homes data

F LT LT&F Febrl

Easy addresses 90.3% 89.7% 90.3% 88.2%

Accuracy 92.7% 98.5% 96.7% 96.0%

Close accuracy 96.5% 98.5% 97.8% 98.3%

Time per record 7 ms 18 ms 445 ms 9 ms

Peter Christen, August 2009 – p.49/66

Page 50: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Results for unusual addresses

F LT LT&F Febrl

Easy addresses 20.6% 18.0% 20.6% 14.7%

Accuracy 79.3% 72.7% 92.7% 96.0%

Close accuracy 80.7% 80.0% 94.7% 96.0%

Time per record 7 ms 37 ms 720 ms 10 ms

150 manually selected unusual address records(like rural addresses, corner addresses, building andinstitution addresses, etc.)

Peter Christen, August 2009 – p.50/66

Page 51: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Privacy-preserving sharing andmatching approaches

BobAlice

(3)

(2)

(1)(2)

(3)

BobAlice (1)

Carol(3) (3)

(2)(2)

Based on cryptographic techniques(secure multi-party computations – more on next slide)

Assume two data sources, and possibly a third(trusted) party to conduct the matching

Objective: No party learns about the other parties’private data, only matched records are released

Various approaches with different assumptions about

threats, what can be inferred by parties, and what is

being releasedPeter Christen, August 2009 – p.51/66

Page 52: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Secure multi-party computation

Compute a function across several parties, suchthat no party learns the information from the otherparties, but all receive the final results[Yao 1982; Goldreich 1998/2002]

Simple example: Secure summation s =Pix i.Step 1: Z+x1= 1054

Step 4: s = 1169−Z = 170

Party 1

Party 2

Party 3

x1=55

x3=42

x2=73

Step 0:Z=999

Step 2: (Z+x1)+x2 = 1127

Step 3: ((Z+x1)+x2)+x3=1169

Peter Christen, August 2009 – p.52/66

Page 53: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Privacy-preserving matchingtechniques

Pioneered by French researchers for exactmatching [Dusserre et al. 1995; Quantin et al. 1998]

Using one-way hash-encoding (‘tim’ ! ‘51d3a6a70’)

Secure and private sequence comparisons(edit distance) [Atallah et al. WPES’03]

Blindfolded record linkage (details on following slides)[Churches and Christen, BioMed Central 2004]

Secure protocol for computing string distancemetrics (TF-IDF and Euclidean distance)[Ravikumar et al. PSDM’04]

Privacy-preserving blocking [Al-Lawati et al. IQIS’05]

Peter Christen, August 2009 – p.53/66

Page 54: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

What is geocoding?

The process of assigning geographicalcoordinates (longitude and latitude) to addresses

It is estimated that 80% to 90% of governmentaland business data contain address information(US Federal Geographic Data Committee)

Useful in many application areas

GIS, spatial data mining

Health, epidemiology

Business, census, taxation

Various commercial systems available(e.g. MapInfo, www.geocode.com)

Peter Christen, August 2009 – p.54/66

Page 55: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Geocoding techniques

.

.3

1

6

..7

5

.2

.4.

. .

.

.

. 8

9

11

13

12

10 .

Street centreline based (many commercial systems)

Property parcel centre based (our approach)

A recent study found substantial differences(specially in rural areas) [Cayo & Talbot, 2003]

Peter Christen, August 2009 – p.55/66

Page 56: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Geocoded National Address File

Need for a national address file recognised in 1990

32 million source addresses from 13 organisations

5-phase cleaning and integration process

Resulting database consists of 22 files or tables

Hierarchical model (separate geocodes for each)Address sites

Streets

Localities (towns and suburbs)

Aliases and multiple locations possible

Peter Christen, August 2009 – p.56/66

Page 57: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Simplified G-NAF data model

1

1

1 n

n

nn1

1 n

1n

1 n

11

1n

1n

1n

Street

Geocode

AliasLocality

Geocode

Locality

AddressDetail

AddressSite Geocode

Address Site

AddressAlias

Locality Alias

Street Locality

Street Locality

Peter Christen, August 2009 – p.57/66

Page 58: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Febrl geocoding system

G−NAF datafiles

Febrl cleanand

standardise

Build inverteddata files

Inverted index Febrl geocodematch engine

Febrl cleanand

standardise

fileUser data

Geocodeduser data file

Geocoding module

Process−GNAF module

input dataWeb interface

GeocodedWeb data

Web server module

indices

suburb dataPostal code &

Uses Febrl address cleaning and standardisationroutines

Aim: To transform user addresses into the sameformat as G-NAF addresses ! Higher matchingquality

Peter Christen, August 2009 – p.58/66

Page 59: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Processing G-NAF

Two step process1. Do cleaning and standardisation as discussed earlier

(to make user data similar to G-NAF data)

2. Build inverted indices (sets, implemented as keyed hash

tables with field values as keys)

Example (postcode): ’2000’:(60310919,61560124)

Within geocode matching engine, intersections areused to find matching records

Inverted indices are built for 23 G-NAF fields

Peter Christen, August 2009 – p.59/66

Page 60: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Additional data files

Use external Australia Post postcode and suburblook-up tables for correcting and imputing(e.g. if a suburb has a unique postcode this value can beimputed if missing, or corrected if wrong)

Use boundary files for postcodes and suburbs tobuild neighbouring region lists

Idea: People often record neighbouring suburb or

postcode if it has a higher perceived social status

Create lists for direct and indirect neighbours

(neighbouring levels 1 and 2)

Peter Christen, August 2009 – p.60/66

Page 61: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Geocode matching engine

Rules based approach for exact or approximatematching

Start with address and street level matching setintersection

Intersect with locality matching set (start withneighbouring level 0, if no match increase to 1, finally 2)

Refine with postcode, unit, property matches

Return best possible match coordinatesExact / average address

Exact / many street

Exact / many locality / no match

Peter Christen, August 2009 – p.61/66

Page 62: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Some results

Match status Number of records Percentage

Exact address level match 7,288 72.87 %

Average address level match 213 2.13 %

Exact street level match 1,290 12.90 %

Many street level match 154 1.54 %

Exact locality level match 917 9.17 %

Many locality level match 135 1.35 %

No match 3 0.03 %

10,000 NSW Land and Property Information records

Average 143 milliseconds for geocoding one record on a

480 MHz UltraSPARC II

Peter Christen, August 2009 – p.62/66

Page 63: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Geocoding examples

Red dots: Febrl geocoding (G-NAF based)

Blue dots: Street centreline based geocoding

Peter Christen, August 2009 – p.63/66

Page 64: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Measuring data matching quality

Classifying record pairs results in four outcomes1. True matches classified as matches (True Pos)

2. True matches classified as non-matches (False Neg)

3. True non-matches classified as matches (False Pos)

4. True non-matches classified as non-matches (True Neg)

Various quality measures (j � j = number of )

Accuracy: jTP j+jTN jjTP j+jFP j+jTN j+jFN jPrecision (or positive predictor value): jTP jjTP j+jFP j

Recall (or sensitivity): jTP jjTP j+jFN j

Specificity (or true negative rate): jTN jjTN j+jFP j

Peter Christen, August 2009 – p.64/66

Page 65: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Measuring quality issues

Big question: What to count?Actually compared record pairs (after blocking)?

All possible record pairs (full comparison space)?

Matched and non-matched entities?

When counting record pairs, the number of TNwill be increased quadratically(but not the numbers of TP, FN and FP)

Quality measures which include the number of TN can

produce deceptive accuracy results

Blocking also affects quality measures(aim of blocking is to remove as many TN and FP aspossible, without removing any TP and FN)

Peter Christen, August 2009 – p.65/66

Page 66: Data Matching -- An Overview, Recent Advances, and Research …cs.anu.edu.au/~Peter.Christen/publications/veda2009... · 2009. 8. 17. · Data Matching – An Overview, Recent Advances,

Measuring data matching complexity

Recently proposed measures on blockingperformance

Reduction ratio: 1� NbjAj�jBj(with Nb � jAj � jBj being the number of record pairs

produced by a blocking algorithm)

Pairs completeness: NmjM j(with Nm being the number of correctly classified true

matched record pairs (TP) in the blocked comparison

space, and jM j total number of true matches)

There is a trade-off between the reduction ratioand pairs completeness

For more on this topic: Christen & Goiser, 2007Peter Christen, August 2009 – p.66/66