Download presentation
Presentation is loading. Please wait.
2
Improving Similarity Join Algorithms using Vertical Clustering Techniques Lisa Tan Department of Computer Science Computing & Information Technology Wayne State University Sept. 15, 2009
3
Reason using Similarity Join Correlate data from different data sources (e.g., data integration) Data is often dirty (e.g. typing mistakes) Abbreviated, incomplete or missing information Differences in information “formatting” due to the lack of standard conventions (e.g. for addresses)
4
Example NameAddrPhone Jack LemmonMaple St.430-871-8294 Harrison FordCulver Blvd292-918-2913 Tom HanksMain St.2340762- 1234 …… Table RTable S NameAddrPhone Ton HanksMain Street234-162-1234 Kevin SpaceyFrost Blvd928-184-2813 Jack LemonMaple Street430-817-8294 …… Find records from different datasets that could be the same entity.
5
Experimental Results – Natural Join
6
Experimental Results – Similarity Join
7
Problem Statement for Similarity Join Given a string S called the source and another string T called the target. Allowing a defined number of errors to be presented in the joins, the similarity join is to verify whether or not two strings represent the same real-world entity based on certain methods.
8
Sample Applications 1. Finding matching DNA subsequences even after mutations have occurred. 2. Signal recovery for transmissions over noisy lines. 3. Searching for spelling/typing errors and finding possible corrections. 4. Handwriting recognition, virus and intrusion detection.
9
General Approaches Attracting different research communities: statistics, artificial intelligence and database. Statistics refers similarity join as probabilistic record linkage armed at minimizing the probability of misclassification. Artificial intelligence uses supervised learning to learn the parameters of string edit distance metrics Database uses knowledge intensive approach, edit distance as a general record match scheme.
10
General Algorithms on Database Area All the algorithms focus on Edit Distance Dynamic Programming Algorithms Automata Algorithms Bit – Parallelism Algorithms Filtering Algorithms
11
Comments on Existing Methods All above proposed algorithms are based on the generic edit distance function. Some improve the speed of the dynamic programming method. Some apply filtering techniques that avoid expensive comparisons in large parts of the queried sequence. Current similarity algorithms are under the assumption that join conditions are known and do not consider relevant field in their join conditions Although there have been many efforts for efficient string similarity join, there is still room for improvement.
12
Outlines Motivation Pre-experimental Results Proposed Approach Identify Clustered Join Attributes Experimental Results Conclusion
13
Research Goal Identifying the same real-world entities from multiple heterogeneous databases
14
Motivation of Clustering Concept Current similarity algorithms do not consider relevant field concepts. Clustering concept fits well on relevant field concepts.
15
Pre-experimental Results
16
Proposed Approach Our proposed approach takes consideration of clustered related attributes Question: how to identify clustered join attributes?
17
Clustering Algorithm The rationale behind the clustering is to produce fragments, groups of attribute columns that are closely related.
18
Identify Clustered Related Attributes Pre-knowledge of Applications on Data Attributes Usage Information Calculate Attribute Affinities Calculate Clustered Affinities Use Bond Energy Bond (BEA) approach to regroup affinity value Apply split approach to find clustered related attributes
19
Clustered Approach - Diagram Computation of Affinities Clustering Logical Accesses Attribute Affinity Matrix Clustered attribute affinity matrix Group of Clustered related attributes Split Approach
20
Clustered Approach – Con’t Attribute Usage 1 if attribute Aj is referenced by application qk 0 otherwise Attribute Affinity Cluster Affinity permutation to maximize the global affinity measure and results in the grouping of large affinity values with large affinity attributes and small affinity values with small affinity attributes.
21
Clustered Approach - Example
22
Split Approach Split based on access model where af(Vfi) stands for the access frequency for vertical fragment and af(VFi,VFj) stands for the access frequency for queries having at least one attribute in vertical fragment 2 2121 ),()(*)(VF afVFafVFafSQ
23
Split Approach – con’t on Table 3, for the first possible split {Address} and {Birthday, Name, phone}, SQ=25*35; for the second possible split {Address, Birthday} and {Name, Phone}, SQ=-(30+35) ; for the third possible split {Address, Birthday, Name} and {Phone}, SQ=-(35+35).
24
Existing Similarity Join Techniques Edit Distance Q-gram
25
Similarity Join – Edit Distance A widely used metric to define string similarity ED(s1, s2)= minimum # of operations (insertion, deletion, substitution) to change s1 to s2 Example: s1: surgery s2: survey ED(s1, s2) = 2
26
Programming Algorithm This is the oldest algorithm. Answers the question, how do we compute ed(x,y). Take a matrix C 0..|x|,0..|y| where C i,j is the minimum number of operations to match x i to y j. This is calculated as follows: C i,0 = i C 0,j = j if (x i = y j ) then C i,j = C i-1,j-1 Otherwise, C i,j = 1 + min(C i-1,j, C i,j-1, C i-1,j-1 ) O(mn) complexity.
27
Matrix Example Edit Distance
28
Similarity Join - Qgram Qgram Roadmap: - break strings into substrings of length q - perform an exact join on the q-grams - find candidate string pairs based on the results - check only candidate pairs with a UDF to obtain final answer
29
Similarity Join – Q-gram Q-gram is a pair of substrings having the properties: Slide a window of length q over the string s Add new characters # and % Generate |s| + q -1 substrings
30
Q-gram Technique (cont’d) R ationale : when two strings s and t are within a small edit distance of each other, they share a large number of q-grams in common. Advantage: build on the top of relational databases with an augmented table created on the fly.
31
Similarity Join - Qgram Issue with Qgram: don’t work on the large dataset Resolution to the issue: - clear the data by using exact join - create a table to hold the dismatching data - apply the Qgram on the new temp table
32
Similarity Join – Q-gram (continued) For a string john smith: { (1,##j), (2,#jo), (3,joh), (4,ohn), (5,hn ), (6,n s), (7, sm), (8,smi), (9,mit), (10,ith), (11,th%), (12,h%)} with q=3 For a string john a smith: {(1,##j), (2,#jo), (3,joh), (4,ohn), (5,hn ), (6,n a), (7, a ), (8,a s), (9, sm), (10,smi), (11,mit), (12,ith), (13,th%), (14,h%)} with q=3
33
Sample SQL Expression SELECT R 1.A 0,, R 2.A 0, R 2.A i, R 2.A j FROMR 1, R 1 A i Q, R 2, R 2 A j Q WHERE R 1 A 0 = R 1 A i Q.A 0 AND R 2 A 0 = R 2 A j Q.A 0 AND R 1 A i Q.Qgram = R 2 A j Q.Qgram AND |R 1 A i Q.Pos – R 2 A j Q.Pos| <= k AND |strlen(R 1.A i ) – strlen(R 2.A j )| <= k GROUP BY R 1.A 0, R 2.A 0, R 2.A i, R 2.A j HAVINGCOUNT(*) >= strlen(R 1.A i ) – 1 – (k-1)*q AND COUNT(*) >= strlen(R 2.A j ) – 1 – (k-1)*q AND Edit_distance(R 1.A i, R 2.A j, k)
34
Precision, Recall and F-measure Precision is defined as the number of true positives divided by the sum of true positives and false positives (TP/(TP + FP) Recall is defined as the number of true positives divided by the sum of true positives and false negatives (TP/(TP + FN) F-measure is defined as the weighted harmonic mean of precision and recall: F = 2 * (precision * recall) / (precision + recall)
35
Experimental Results Known join attributes vs clustered join attributes on Precision
36
Experimental Results Known join attributes vs clustered join attributes on Recall
37
Experimental Results ED vs. Qgram
38
Experimental Results ED vs Qgram on Recall
39
Experimental Results ED vs Qgram on F-measure
40
Conclusion Proposed a pre-processing approach to improve existing similarity join techniques Experimental results showed improvement of ED by about 5% and Q-gram by about 15%
41
Future Work Potential further works: work on alternative clustering method increase the datasets add some pre and post filter abilities …
42
Publications Lisa Tan, Farshad Fotouhi and William Grosky "Improving Similarity Join Algorithms using Vertical Clustering Techniques", ICADIWT 2009, Page 491 - 496. Improving Similarity Join Algorithm Using Fuzzy Clustering Techniques has been accepted by ICDM-09 Workshop on Mining Multiple Information Sources (MMIS)
43
Thank You! Lisa Tan – lisatan@wayne.edu Co-Authors Dr. Farshad Fotouhi – fotouhi@wayne.edu Dr. William Grosky – wgrosky@umich.eduwgrosky@umich.edu Acknowledgement Dr. Farshad Fotouhi, Dr. William Grosky, and Computing & Information Technology
44
Question
45
Wayne State University - Facts 30 th largest university in nation Top 50 in NSF public rankings Over 33,300 students Over 350 undergraduate/graduate degree programs in 12 Schools and Colleges
46
Comments on Existing Methods All above proposed algorithms are based on the generic edit distance function. Some improve the speed of the dynamic programming method. Some apply filtering techniques that avoid expensive comparisons in large parts of the queried sequence. Although there have been many efforts for efficient string similarity join, there is still room for improvement.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.