Transcript shilpa

DUPLICATE RECORD DETECTION
AHMED K. ELMAGARMID
PURDUE UNIVERSITY, WEST LAFAYETTE, IN
Senior member, IEEE
PANAGIOTIS G. IPEIROTIS
LEONARD N. STERN SCHOOL OF BUSINESS, NEW YORK, NY
Member, IEEE computer security
VASSILIOS S. VERYKIOS
UNIVERSITY OF THESSALY, VOLOS, GREECE
Member ,IEEE computer security.
PRESENTED BY
SHILPA MURTHY
INTRODUCTION TO THE PROBLEM
Databases play an important role in today’s IT
based economy
 Many businesses and organizations depend on the
quality of data(or the lack thereof) stored in the
databases.
 Any discrepancies in the data can have
significant cost implications to a system that
relies on information to function.

DATA QUALITY
Data are not carefully controlled for quality nor
defined in a consistent way across different data
sources, thus data quality is compromised due to
many factors .//examples
 Data errors.Ex: Microsft instead of Microsoft
 Integrity errors. Ex: EmployeeAge=567
 Multiple conventions for information.Ex: 44 W.4th
street and 44 west fourth street.

DATA HETEROGENEITY
While integrating data from different sources
into a warehouse , organizations become aware
potential systematic differences and these
problems and conflicts fall under a umbrella term
called as “DATA HETEROGENEITY”.
 Two types of heterogeneity can be distinguished:
Structural heterogeneity and lexical
heterogeneity.

DATA QUALITY
Data cleaning refers to the process of resolving
identification problems in the data.
 Structural heterogeneity

Different record structure
 Addr versus City, State, and Zip code [1]


Lexical heterogeneity
Identical record structure, but data is different
th St. versus 44 West Fourth Street [1]
 44 W. 4

TERMINOLOGY
Record
linkage
Identity
uncertainty
Record
matching
Coreference
resolution
Data
deduplication
Duplicate
Record
Detection
Name
matching
Merge
purge
Database
hardening
Instance
identification
DATA PREPARATION
Step before the duplicate record detection.
 Improves the quality of the data
 Makes data more comparable and more usable.
 Data preparation stage includes three steps.

STEPS IN DATA PREPARATION
Parsing
 Data transformation
 Standardization

PARSING
Locates, identifies and isolates individual data
elements
 Makes it easier to correct, standardize and match
data
 Comparison of individual components rather
than complex strings
 For example, the appropriate parsing of the name
and address components into consistent packets
is a very important step.

DATA TRANSFORMATION
Simple conversions of data type
 Field renaming
 Decoding field values
 Range checking: involves examining data in a
field to ensure that it falls within the expected
range ,usually a numeric or date range
 Dependency checking: is slightly more complex
kind of data transformation where we check the
values in a particular field to the values in
another field to ensure minimal level of
consistency in data

DATA STANDARDIZATION

Represent certain fields in a standard format

Addresses

US Postal Service Address Verification tool
Date and time formatting
 Names (first, last, middle, prefix, suffix)
 Titles

LAST STEP IN DATA PREPARATION
Store data in tables having comparable fields.
 Identify fields suitable for comparison
 Not foolproof
 Data may still contain inconsistencies due to
misspellings and different conventions to
represent data

FIELD MATCHING TECHNIQUES
o
o
o
o
o
o
Most common sources of mismatches in database
entries is due to typographical errors
The field matching metrics that have been
designed to overcome this problem are :
Character –based similarity metrics
Token based similarity metrics
Phonetic similarity metrics
Numeric similarity metrics
CHARACTER BASED SIMILARITY
Works best on typographical errors
 Edit distance







Shortest sequence of edit commands that can
transform a string s into t
Three types of edit operations . If (cost =1) this
version of edit distance is referred to as the
“Levenshein” distance.
Insert, delete, replace operations.
Example. S1=“tin” s2= “tan”
We need to replace “I” to “A” to convert string s1 to
s2.
The edit distance here is 1. because we needed only
one operation to convert s1 to s2.
CHARACTER BASED SIMILARITY
•
Affine gap distance
Strings that have been truncated
John R. Smith versus Jonathan Richard Smith
•
Smith-Waterman distance
Substring matching which ignores the prefix and
suffix
Example: Prof. John.R.Smith and John.R.Smith,Prof
•
Jaro distance
Compares first and last name
•
Q-Grams
Divides string into a series of substrings of length q.
E.g.: NELSON and NELSEN are phonetically similar
but spelled differently. The q-grams for these words
are NE LS ON and NE LS EN .
TOKEN BASED SIMILARITY

Works best when word (tokens) are transposed
Atomic Strings

Computational average
WHIRL
Weights words based on frequency to determine similarity
 The words in the database have a weight associated with it,
which is calculated using a cosine similarity metric.
 Example: in a database of company names the words
“AT&T” and “IBM” are less frequent than the word “inc.”
 Similarity of John Smith and Mr.John Smith is close to 1.
 But the similarity of comptr department and deprtment of
computer is zero since it doesn’t take care of misspelled
words.

Q-Grams with weighting

Extends WHIRL to handle spelling errors
PHONETIC SIMILARITY

Comparison based on how words sound
NUMERIC SIMILARITY

Considers only numbers
Convert numbers to text data
 Simple range queries


Authors provided no insight in this area
SUMMARY OF METRICS
Edit
Distance
(Levenshtein)
Numeric
Affine Gap
Double
Metaphone
Smith
Waterman
Jaro
Distance
Metaphone
Comparison
Metrics
Oxford
Name
Compression
Atomic
Strings
NYSIIS
WHIRL
Soundex
Q-Grams
DUPLICATE RECORD DETECTION
The methods described till now have been
describing about similarity checking in single
fields.
 The real life situations consist of multiple fields
which have to be checked for duplicate records.

CATEGORIZING METHODS
•
•
Probabilistic approaches and supervised
machine learning techniques
Approaches that rely on domain knowledge
or Generic distance metrics
PROBABILISTIC MATCHINGMODELS

Models derived from Bayes theorem
Use prior knowledge to make decision about current
data set
 A tuple pair is assigned to one of the two classes M or
U. M class represents(match) same entity, and the U
class represents(non-match) different entity.
 This can be determined by calculating the probability
distribution.


Rule-based decision tree

If-then-else traversal
SUPERVISED LEARNING
Relies on the existence of trained data.
 The trained data is in the form of record pairs.
 These record pairs are labeled matching or not.
 SVM approach out performs all the simpler
approaches.
 The post processing step is to create a graph for
all the records linking the matching records.
 Records are considered identical using the
transitivity relation applied on the connected
components.

ACTIVE LEARNING
DISTANCE BASED TECHNIQUES
o
o
This method can be used when there is absence of
training data or human effort to create matching
models.
Treat a record as a one long field
Use a distance metric
 Best matches are ranked using a weighting algorithm
 Alternatively, use a single field


Must be highly discriminating
RULE BASED TECHNIQUES

Relies on business rules to derive key
Must determine functional dependencies
 Requires subject matter expert to build matching
rules

RULE BASED TECHNIQUES
This figure depicts the equation theory that
dictates the logic of domain equivalence.
 It specifies an inference about the similarity of
the records.

UNSUPERVISED LEARNING
Classify data as matched or unmatched without a
training set.
 The comparison vector generally depicts which
category it belongs to. If it does not then it has to
be done manually.
 One way to avoid manual labeling is to use the
clustering algorithms.
 Group together similar comparison vectors.
 Each cluster contains vectors with similar
characteristics.
 By knowing the real class of only few vectors we
can infer the class of all the vectors.

TECHNIQUES TO IMPROVE EFFICIENCY
Reduce the number of record comparisons
 Improve the efficiency of record comparison

COMPARATIVE METRICS

Elementary nested loop
Compare every record in one table to another table
 Requires A*B comparisons (Cartesian product) which
is very expensive


Cost required for a single comparison

Must consider number of fields/record
REDUCE RECORD COMPARISONS
Blocking
 Sorted Neighborhood
 Clustering and Canopies
 Set Joins

BLOCKING
 Basic:
record

Compute a hash value for each
Only compare records in the same bucket
 Subdivide

files into subsets (blocks)
Soundex, NYSIIS, or Metaphone
 Drawback
Increases in speed may increase number of
false mismatches
 Compromise is multiple runs using different
blocking fields

SORTED NEIGHBORHOOD
 Create
composite key, sort data, merge
 Assumption


Duplicate records will be close in sorted
system
Highly dependent upon the comparison key
CLUSTERING AND CANOPIES
Clustering: Duplicate records are kept in a
cluster and only the representative of a cluster is
kept for future comparisons.
 This reduces the total number of record
comparisons without compromising the accuracy.
 Canopies: The records are grouped into
overlapping clusters called as “canopies” and
then the records are compared which lead to
better qualitative results.

SOFTWARE TOOLS

Open Architecture





Freely Extensible Biomedical Record Linkage
(FEBRL) - Python
TAILOR – MLC++, DBGen
WHIRL – C++
Flamingo Project - C
BigMatch - C
DATABASE TOOLS

Commercial RDBMS
SQL Server 2005 implements “fuzzy matches”
 Oracle 11g implements these techniques in its
utl_match package




Levenshtein Distance
Soundex
Jaro Winkler
CONCLUSIONS
Lack of a standardized, large-scale benchmarking
data set
 Training data is needed to produce matching
models
 Research diversion





Databases emphasize simple, fast, and efficient
techniques
Machine learning and statistics rely on sophisticated
techniques and probabilistic models
More synergy is needed among various communities
Detection systems need to be adaptive over time