Single Error Analysis of String Comparison Methods

Similar documents
A Comparison of Personal Name Matching: Techniques and Practical Issues

Data Linkage Methods: Overview of Computer Science Research

Towards Scalable Real-Time Entity Resolution using a Similarity-Aware Inverted Index Approach

Assessing Deduplication and Data Linkage Quality: What to Measure?

A Probabilistic Deduplication, Record Linkage and Geocoding System

Performance and scalability of fast blocking techniques for deduplication and data linkage

Automatic training example selection for scalable unsupervised record linkage

Applying Phonetic Hash Functions to Improve Record Linking in Student Enrollment Data

Automatic Record Linkage using Seeded Nearest Neighbour and SVM Classification

SimEval - A Tool for Evaluating the Quality of Similarity Functions

Overview of Record Linkage Techniques

Probabilistic Deduplication, Record Linkage and Geocoding

A Survey on Removal of Duplicate Records in Database

jellyfish Documentation

Adaptive Temporal Entity Resolution on Dynamic Databases

Data Linkage Techniques: Past, Present and Future

Deduplication of Hospital Data using Genetic Programming

Febrl Freely Extensible Biomedical Record Linkage

Authorship Disambiguation and Alias Resolution in Data

Quality and Complexity Measures for Data Linkage and Deduplication

Entity Resolution over Graphs

Private Record linkage: Comparison of selected techniques for name matching

An Ensemble Approach for Record Matching in Data Linkage

Use of Synthetic Data in Testing Administrative Records Systems

Information Integration of Partially Labeled Data

Improving the Efficacy of Approximate Searching by Personal-Name

Privacy-Preserving Data Sharing and Matching

Learning Blocking Schemes for Record Linkage

Evaluating Record Linkage Software Using Representative Synthetic Datasets

Evaluating String Comparator Performance for Record Linkage William E. Yancey Statistical Research Division U.S. Census Bureau

Introduction to blocking techniques and traditional record linkage

Private Record Linkage

Grouping methods for ongoing record linkage

Probabilistic Scoring Methods to Assist Entity Resolution Systems Using Boolean Rules

selection of similarity functions for

Record Linkage using Probabilistic Methods and Data Mining Techniques

Ontology-based Integration and Refinement of Evaluation-Committee Data from Heterogeneous Data Sources

Efficient Record De-Duplication Identifying Using Febrl Framework

Unsupervised Duplicate Detection (UDD) Of Query Results from Multiple Web Databases. A Thesis Presented to

Rule-Based Method for Entity Resolution Using Optimized Root Discovery (ORD)

Matching Entities from Bilingual (Thai/English) Data Sources

Active Blocking Scheme Learning for Entity Resolution

Record Linkage for the American Opportunity Study: Formal Framework and Research Agenda

Privacy Preserving Probabilistic Record Linkage

ResPubliQA 2010

Efficient Entity Matching over Multiple Data Sources with MapReduce

An Iterative Approach to Record Deduplication

Package phonics. February 13, Type Package Title Phonetic Spelling Algorithms Version Date Encoding UTF-8

Dipper: A Data Integration with Privacy Protection Environment

Introduction Entity Match Service. Step-by-Step Description

TRIE BASED METHODS FOR STRING SIMILARTIY JOINS

Parallel computing techniques for high-performance probabilistic record linkage

Outline. Probabilistic Name and Address Cleaning and Standardisation. Record linkage and data integration. Data cleaning and standardisation (I)

DATA POSITION AND PROFILING IN DOMAIN-INDEPENDENT WAREHOUSE CLEANING

A Review on Unsupervised Record Deduplication in Data Warehouse Environment

Learning-based Fusion for Data Deduplication

RLC RLC RLC. Merge ToolBox MTB. Getting Started. German. Record Linkage Software, Version RLC RLC RLC. German. German.

Rank Measures for Ordering

MODELLING DOCUMENT CATEGORIES BY EVOLUTIONARY LEARNING OF TEXT CENTROIDS

Evaluation Measures. Sebastian Pölsterl. April 28, Computer Aided Medical Procedures Technische Universität München

Collaborative Filtering using a Spreading Activation Approach

Record Linkage. BYU ScholarsArchive. Brigham Young University. Stasha Ann Bown Larsen Brigham Young University - Provo. All Theses and Dissertations

Adaptive Windows for Duplicate Detection

Overview of Record Linkage for Name Matching

Record Linkage. with SAS and Link King. Dinu Corbu. Queensland Health Health Statistics Centre Integration and Linkage Unit

RECORD DEDUPLICATION USING GENETIC PROGRAMMING APPROACH

A note on using the F-measure for evaluating data linkage algorithms

The Matching Engine. The Science of Maximising Legitimate Matches, Minimising False Matches and Taking Control of the Matching Process

Proceedings of the Eighth International Conference on Information Quality (ICIQ-03)

Comparison of Online Record Linkage Techniques

Using Real-valued Meta Classifiers to Integrate and Contextualize Binding Site Predictions

A fast approach for parallel deduplication on multicore processors

A Session-based Ontology Alignment Approach for Aligning Large Ontologies

Supplementary text S6 Comparison studies on simulated data

Classification and Information Extraction for Complex and Nested Tabular Structures in Images

Integrating BigMatch into Automated Registry Record Linkage Operations

HANDWRITTEN GURMUKHI CHARACTER RECOGNITION USING WAVELET TRANSFORMS

A Learning Method for Entity Matching

Challenges on Combining Open Web and Dataset Evaluation Results: The Case of the Contextual Suggestion Track

Understanding Clustering Supervising the unsupervised

dtalink Faster probabilistic record linking and deduplication methods in Stata for large data files Keith Kranker

Linking Entities in Chinese Queries to Knowledge Graph

Measuring quality of similarity functions in approximate data matching

Mobile Application with Optical Character Recognition Using Neural Network

Mining Heterogeneous Transformations for Record Linkage

Check off these skills when you feel that you have mastered them.

Clean Living: Eliminating Near-Duplicates in Lifetime Personal Storage

Rishiraj Saha Roy and Niloy Ganguly IIT Kharagpur India. Monojit Choudhury and Srivatsan Laxman Microsoft Research India India

Semi-Supervised Clustering with Partial Background Information

Character Recognition

TERM BASED WEIGHT MEASURE FOR INFORMATION FILTERING IN SEARCH ENGINES

Knowledge Graph Completion. Mayank Kejriwal (USC/ISI)

A Comparative Study of Selected Classification Algorithms of Data Mining

International Journal of Academic Research in Computer Engineering. Algorithms for Approximate String Matching. Zafar Ali 1*

Approximate String Joins

An Intelligent Clustering Algorithm for High Dimensional and Highly Overlapped Photo-Thermal Infrared Imaging Data

Leveraging Set Relations in Exact Set Similarity Join

Classification of Contradiction Patterns

2. On classification and related tasks

Craig Knoblock University of Southern California. These slides are based in part on slides from Sheila Tejada and Misha Bilenko

Transcription:

Single Error Analysis of String Comparison Methods Peter Christen Department of Computer Science, Australian National University, Canberra ACT 2, Australia peter.christen@anu.edu.au Abstract. Comparing similar strings is at the core of many applications, including Web and text mining, information retrieval, bioinformatics, and deduplication and data linkage systems. Due to variations in the data, like typographical errors, missing or swapped words, exact string comparison can often not be used in such applications. Instead, approximate string comparison methods are employed that either return an approximate comparison value or phonetically encode the strings before comparing them exactly. In this paper we present several approximate string comparison methods, and analyse their performance regarding different possible types of single errors, like inserting, deleting, or substituting a character, transposing two adjacent characters, as well as inserting or deleting a whitespace, and swapping of two words. The results show that commonly used approximate string comparison methods perform differently for different error types, and that they are sensitive to user definable thresholds. We also show that swapped words are the hardest type of error to classify correctly for many string comparison methods, and we propose two new methods that deal with this problem. Keywords: approximate string comparisons, similarity measures, typographical errors, phonetic encodings, text mining and data linkage. Introduction Comparing strings is at the core of many applications dealing with text, including Web and text data mining, information retrieval, search engines, spell checkers, name searching, information extraction, and sequence comparisons in bioinformatics. In many cases one is not only interested in exact string comparisons, but rather in an approximate measure of how similar two strings are. In bioinformatics, for example, one is interested in comparing long sequences of protein or genome data in order to find similar sub-sequences. In data linkage and deduplication [2, 5, 7], the application area we are mainly interested in, shorter name strings are being compared in order to find records that belong to the same entity (e.g. a customer, patient or business). As reported in [5], the use of approximate string comparison methods does improve the matching accuracy in these applications.

Variations in strings (and especially names) are due to the fact that most real world data is dirty [6], which means such data can contain noisy, incomplete and incorrectly formatted information. Names and addresses are especially prone to phonetical, typographical and other data entry errors. [9] classifies character level (or non-word) misspellings as () typographical errors, where it is assumed that the person doing the data entry does know the correct spelling of a word but makes a typing error (e.g. sydeny instead of sydney ); (2) cognitive errors, assumed to come from a lack of knowledge or misconceptions; and (3) phonetic errors, coming from substituting a correct spelling with a similar sounding one (for example gail and gayle ). Depending upon the mode of data entry [9], for example manually typed, scanned, or automatic voice recognition, there will be different error characteristics. OCR (optical character recognition) data entry [5, 4] can lead to substitution errors between similar looking characters (e.g. q and g ), while keyboard based data entry can result in wrongly typed neighbouring keys. Data entry over the telephone (for example as part of a survey study) will mostly lead to phonetical errors. While for many regular words there is only one correct spelling, there are often different written forms of proper names as the example above shows, with none of these forms being wrong. Additionally, personal information (like names and addresses) are often reported differently by the same person depending upon the organisation they are in contact with (for example, somebody might give his name as Bill in many day-to-day transactions, but on official documents he will write down his official name William ). This can lead to differently recorded names, omitted parts (missing middle name or only initials given), or sometimes swapped names (given name and surname interchanged). Damerau in a study on spelling errors found in 964 [4] that over 8% of errors were single errors either () a letter was missing, (2) an extra letter has been introduced, (3) a letter has been substituted by another letter, or (4) two adjacent letters have been transposed. Substitutions were the most common errors, followed by deletes, then inserts and finally transpositions, followed by multiple errors. Other studies [5, 9, 4] reported similar results. In the study presented in this paper we analysed and compared different approximate string comparison methods according to their performance on the four types of single errors presented above. We additionally looked at three word level error types, namely (5) inserting a whitespace (splitting a word), (6) deleting a whitespace (merging two words), and (7) swapping two words. Our main interest is how different string comparison methods perform on these seven common types of errors using name strings. 2 Methods All string comparisons methods analysed in this study as well as the data generator used to create the test data set are implemented as part of the Febrl [2] open source data linkage system.

2. String Comparators Many different approximate string comparison methods have been developed [, 3 5,,, 4 9]. Some are generic, others are application specific (e.g. optimised for long genome sequences, or proper names), and some even language dependent. Some comparison methods calculate the distance, others the similarity between two strings. The distance between two strings s and s 2 can be defined as the minimum number of operations that transform s into s 2 []. A similarity measure, on the other hand, usually produces a real number σ(s, s 2 ), with a value of. for identical strings, and ranging down to. for increasingly different strings [5]. In our study we converted string distances into similarity measures as detailed below. In recent years machine learning based string comparators have been developed which use training data to find a model or weights for improved comparison results. These include methods for learning edit distance weights [, 8], or TFIDF (the cosine similarity commonly used in information retrieval) based approaches [3]. Because trained string comparison methods are application and data set dependant, and because training data is often not available within data linkage and deduplication systems, we restrict our study to methods that do not need any training data, nor do have access to the full data set(s) before performing the comparisons (as is needed, for example, by TFIDF to calculate term and document frequencies). Other methods which are often used for interactive string searching (for example within a search engine) include wildcards and regular expressions. As these approaches need to be user specified, they can not be used within a deduplication or data linkage system, where the aim is to automatically find a similarity measure for a large number of pairs of strings. In our study we considered the following string comparisons methods. Truncate This methods simply truncates a string at a certain length and only considers the beginning using exact comparison (returning. if the truncated strings are the same and. otherwise). In our experiments we truncated strings to a lengths of 4 characters. This idea is based on a large study [4] which found that errors often occur towards the end of names, while the beginnings are more likely to be correct. Key-Difference The key-difference comparator counts the number of different characters at each string position. It s start value is the difference in the string lengths, and for each character s [i] s 2 [i], with i < min(len(s ), len(s 2 )), the key difference is increased by one. For example, the difference between peter and pete is, and the difference between peter and petra is 2. We did set the maximum tolerated key difference value k max = 2, and with key difference k ( k k max ), the similarity measure is calculated as KeyDiff(s, s 2 ) =. k k max +

s are two-character sub-strings (i.e. n-grams of length 2) [9, 6] contained in a string. For example, peter contains the bigrams pe, et, te, and er. Assuming bigram set(s) returns the set of bigrams in string s, the comparison method counts the number of common bigrams and divides it by the average number of bigrams to calculate the similarity measure as ( (s, s 2 ) = 2 bigram set(s ) bigram set(s 2 ) len(bigram set(s )) + len(bigram set(s 2 )) Edit-Distance Also known as Levenshtein distance [], the edit distance is defined to be the smallest number of insertions, deletions, and substitutions required to change one string into another. Using a dynamic programming algorithm [8], it is possible to calculate this distance in O(len(s )len(s 2 )). Distances are then mapped into a similarity measure between. and. using EditDist(s, s 2 ) = max(len(s ), len(s 2 )) edit dist(s, s 2 ) max(len(s ), len(s 2 )) with edit dist() being the actual edit distance function. Many variations of the original edit distance method have been proposed [8, ], but we only consider the standard algorithm where all edits do have the same costs. Soundex Soundex [7, ] is a phonetic encoding algorithm based on English language pronunciation. It keeps the first letter in a string and converts all other letters into numbers according to the following rules. aehiouwy bfpv cgjkqsxz 2 dt 3 l 4 mn 5 r 6 It then removes all zeros and replaces duplicates of the same number with one number only (e.g. 333 is replaced with 3 ). If the final code is less then four characters long it is filled up with zeros. As an example, the Soundex code of peter is p36, for christen it is c623. The Soundex string comparison method first encodes both strings and then compares the codes using exact comparison, returning. if they are the same and. if they differ. Phonex Phonex [] is a variation of Soundex which tries to improve the encoding quality by pre-processing names (according to their English pronunciation) before the encoding. For example, leading letter pairs kn are replaced with n, wr with r, and ph with f. Similar to Soundex the code consists of a leading letter followed by numbers. Exact comparison is then applied on the Phonex encodings. NYSIIS The New York State Identification Intelligence System (NYSIIS) encoding returns a code that contains only characters, and is based on rules similar to the Soundex encoding. English words sounding similar will be given similar codes. Exact string comparison is performed between the NYSIIS codes. )

Double-Metaphone The more recently developed Double-Metaphone [3] algorithm attempts to better account for non-english words, like European and Asian names. Similar to NYSIIS, it returns a code only consisting of letters. In general, Double-Metaphone seems to be closer to the correct pronunciation of names than NYSIIS. Again, exact string comparison is performed between the two phonetic codes. Jaro The Jaro [5, 7] string comparator is commonly used in data (or record) linkage systems. It accounts for insertions, deletions and transpositions of letters. It calculates the lengths of both strings, the number of characters in common (the definition of common is that the agreeing character must be within half the length of the shorter string), and the number of transpositions. The approximate similarity measure is then calculated as [7] ( common Jaro(s, s 2 ) = /3 len(s ) + common ) common transpositions + len(s 2 ) common The [5, 7] comparison method is an improvement over the Jaro method, again based on ideas from a large empirical study [4] which found that the fewest errors typically occur at the beginning of names. The comparator therefore increases the comparison value for agreeing initial characters (up to four). Based on the Jaro comparator the approximate similarity measure is calculated as [7] W inkler(s, s 2 ) = Jaro(s, s 2 ) + same (. Jaro(s, s 2 )) with same being the number of agreeing characters at the beginning of the two strings. For example, peter and petra have a same value of 3. As we will see in Section 3 swapped words are the hardest type of single errors to classify correctly by all above string comparison methods. We have therefore combined one of the best performing methods with two methods for dealing with multi-word strings in a hierarchical way, similar to [3]. Sorted- If a string contains more than one word (i.e. it contains at least one whitespace), then the words are first sorted before a standard comparison is applied. The idea is that unless there are errors in the first few letters of a word sorting of swapped words will bring them into the same order, thereby improving the similarity value. Permuted- This is a more complex approach where comparisons are performed over all possible permutations of words, and the maximum of all the comparison values is returned. In order to analyse the performance of all the presented string comparison methods regarding different types of single errors we generated a data set with well defined error characteristics as discussed in the following section.

Table. Example locality name and it s single error duplicates. Modification Identifier Value Original rec-28-org south west rocks Insert character rec-28-dup- south west rocbks Delete character rec-28-dup-2 south wst rocks Substitute character rec-28-dup-3 south west rvcks Transpose characters rec-28-dup-4 south west rcoks Insert whitespace rec-28-dup-5 south we st rocks Delete whitespace rec-28-dup-6 southwest rocks Swap words rec-28-dup-7 west south rocks 2.2 Data Set Generation We used the data generator implemented as part of the Febrl [2] data linkage system to create a data set containing, different values based on Australian locality names (i.e. cities, towns and suburbs). The values were randomly selected from a publicly available telephone directory. Their lengths varied from 3 to 2 characters. They consisted of up to three words, and besides letters and whitespaces they also contained hyphens and apostrophes. For each of the original values we then created corresponding duplicates by introduction the following single errors: () deleting a character, (2) inserting an extra character, (3) substituting a character with another character, (4) transposing two adjacent characters, (5) inserting a whitespace (splitting a word), (6) removing a whitespace (merging two words), and (7) swapping two words. Obviously the last two errors were only created when the original value contained at least two words. Each original and duplicate value was given a unique identifier as shown in Table. In order to simulate real typographical error characteristics, the position of where an error was introduced was calculated using a Gaussian distribution, with the mean being one position behind half of the string length. Errors are therefore less likely introduced at the beginning or the end of a string, which is based on empirical studies [9, 4]. Letter substitution is based on the idea of randomly choosing a letter which is a keyboard neighbour (same row or column) [6]. The final size of the data set was 6,684 values (, originals and 5,684 duplicates). We then split this data set into ten files, each containing original values plus their duplicates. For all string pairs in a file we then calculated the similarity measures for the above presented twelve string comparison methods. Each of the resulting ten files contained around 22, 2-dimensional vectors of similarity measures. This blocking [2] reduced the amount of comparison made by a factor of ten from around 22 millions to 2 millions, resulting in files of manageable size.

Table 2. Correlation coefficients for true duplicate comparisons only (top) and all comparisons (bottom). KeyD Bigr Edit Sndx Phox NYS DMet Jaro Wink PWink SWink Trun..37.45.29.23.59.29.43.48.29.2 KeyD -.25. -.9 -.8 -.2 -. -. -. -.47.4 Bigr.22.2.5.34.4..9.48.3 Edit.36.34.49.32.73.79 -.7 -.22 Sndx.63.54.82.42.4.5 -.6 Phox.48.54.34.34.8 -.4 NYS.5.45.48.22 -.4 DMet.39.38.7 -.4 Jaro.98.22 -.8 Wink.3 -. PWink.2 Trun.38.5.43.65.56.75.63.26.28.26.24 KeyD.28.25.33.3.32.32.5.5.4.4 Bigr.6.45.4.47.44.46.46.49.45 Edit.4.37.42.39.63.64.59.56 Sndx.74.66.86.26.26.25.23 Phox.59.67.23.24.23.2 NYS.63.26.28.26.23 DMet.24.25.23.22 Jaro.99.88.86 Wink.88.86 PWink.88 3 Discussion In this section we discuss the experimental results achieved using the comparison methods presented in Section 2.. Note that the class distribution in the result files was very skewed, with 5,632 true duplicate and 2,9,45 non-duplicate similarity measure vectors, resulting in a ratio of to 389. 3. Correlation Analysis We first performed a correlation analysis between all presented string comparison methods, and the results are shown in Table 2. The highest correlation occurs between the Jaro and methods, as can be expected because is based on Jaro and only increases the similarity measure slightly in cases where two strings have agreeing characters at the beginning. Surprisingly though are the low correlation results, some even negative, between many of the comparison methods for true duplicates. Even for similar methods, for example Soundex, Phonex, NYSIIS and Double-Metaphone, fairly low correlation values occur.

Jaro and comparison methods (all duplicates) and comparison methods (all duplicates) False comparisons True duplicates Jaro Jaro and comparison methods (word swappings) False comparisons True duplicates and comparison methods (word swappings) False comparisons True duplicates Jaro False comparisons True duplicates Fig.. Scatterplots for selected comparison method pairs. Top row shows all error types, bottom row word swappings only. For more detailed results we plotted the actual similarity values of selected comparison methods as scatterplots as shown in Figure. As can be seen, due to the large number of non-duplicate comparisons, none of the methods is capable of efficiently separating true and false comparisons. Surprisingly, Edit-Distance and to a lesser extent have some true duplicates with very low similarity values (some even.), while both Jaro and seem to be fairly consistent with only assigning higher (i.e over.5) similarity values to true duplicates. For Jaro and, one can clearly see the increased similarity values of the method which is due to same, 2, 3 and 4 characters at the beginning. Interesting is the performance of the comparison methods with regard to the word swapping errors (bottom row of Figure ). One can see that most of the true duplicates with low similarity values are such word swappings. For Edit- Distance, most true duplicate word swapping similarity values are below. Only the comparison method returns high values (i.e. larger than ) in this case. We can therefore conclude that swapped words are the hardest type of errors to classify correctly for these comparison methods. The detailed results for the new Sorted- and Permuted- comparison methods are shown in Figure 2. Both new string comparison methods return a similarity measure of. for swapped words errors, with the Permuted- method always returning a larger value than Sorted- for all other error types.

Sort-winkler and Perm-winkler comparison methods (word swappings) Perm-winkler Perm-winkler Sort-winkler and Perm-winkler comparison methods (all duplicates) False comparisons True duplicates False comparisons True duplicates Sort-winkler Sort-winkler Fig. 2. Scatterplots for Sorted- and Permuted-. The left plot shows all error types, the right plot word swappings only. 3.2 Precision and Recall Results For comparison methods that return a similarity value between. and. a threshold needs to be defined, with similarity values above being classified as duplicates and values below as non-duplicates. For all other comparison methods a similarity value of. is classified as duplicate and. as non-duplicate. Due to the skewed class distribution in our study the accuracy measure would not show significant differences in the comparison methods performances. Instead we use precision and recall, which are commonly used metrics in information retrieval [7, 2, 9]. Precision is measured as the number of true positives (true duplicates classified as duplicates) divided by the sum of true and false positives (i.e. all instances classified as duplicates), while recall (the true positive rate) is measured as the ratio of the number of true positives divided by the total number of positives. In Figure 3 and Table 3 we present the f-score (or f-measure), the harmonic mean of precision and recall which is calculated as f-score = 2(precision recall)/(precision + recall). The results in Figure 3 for the different types of single errors introduced show that there are large differences in the performance of the different methods according to the values of the threshold. Key-Difference only performs good for substitutions and transpositions for low threshold values. Both Edit-Distance and perform well for higher thresholds on most error types, except for transpositions where both methods become worse for thresholds over. seems to consistently perform well for higher thresholds. For word swapping errors, only and, a well as the new Sorted- and Permuted comparison methods have significant f-scores. Table 3 shows that phonetic encoding methods do not perform well for any error type, but are especially bad on word swappings. As the results show, the same threshold for the various comparison methods results in different performances, and that the single error characteristics of a data set influence the performance of the different string comparison methods.

for comparison methods (insertions) for comparison methods (deletions) for comparison methods (substitutions) for comparison methods (transpositions) for comparison methods (space insertions) for comparison methods (space deletions) for comparison methods (word swappings) for comparison methods (word swappings) Jaro Sort-winkler Perm-winkler Fig. 3. F-Score results for all single error types. The bottom right plot shows the new Sorted- and Permuted- comparison methods.

Method Table 3. F-Score results. Insert Delete Subst. Transp. Space ins. Space del. Word swaps Truncate.33.3.3.28.29.26.2 Soundex.3.3.27.33.38.3. Phonex.28.27.25.28.33.3. NYSIIS.26.24.24.23.29.24. D-Metaphone.3.33.27.34.39.32. 4 Related Work A large number of approximate string comparison methods have been developed [, 3 5,,, 4 6, 8, 9], and various studies on their performance, as well as their computational complexity, have been carried out [4, 7 2, 4, 9]. Most of these studies were done with real world data sets taken from a specific application area, and to our knowledge only [] to a certain degree analyses various comparison methods (mainly based on phonetic encodings using English names) regarding their single error type performance. Based on their findings they propose the Phonex method which we included in our study. Recent publications on using approximate string comparators in the area of deduplication, data matching and data linkage include [, 3, 8]. They mainly focus on different approaches to learn the parameters (e.g. edit distance costs) of different string comparison methods for improved deduplication and matching classification. None of them go into the details of analysing the comparison methods as we did in our study. 5 Conclusion and Future Work In this paper we have presented a study of single error characteristics on different approximate string comparison methods, which are at the core of many applications dealing with the processing, comparison or extraction of strings. We concentrated on locality name strings, and found that the various comparison methods perform differently and are often sensitive to a chosen threshold. We also found that swapped words are the hardest type of error to classify correctly, and we proposed two new comparison methods that deal with this problem. While we only used artificial data with well defined introduced single errors, we are planning to use real world data sets to conduct further studies and to verify our results. We also plan to extend our study by including other approximate string comparison methods. Acknowledgements This work is supported by an Australian Research Council (ARC) Linkage Grant LP453463. The author would like to thank Lifang Gu, Rohan Baxter and Paul Thomas for their valuable comments and suggestions.

References. Bilenko, M. and Mooney, R.J.: Adaptive duplicate detection using learnable string similarity measures. Proceedings of the ninth ACM SIGKDD international conference on Knowledge discovery and data mining, pp. 39 48, August 23. 2. Christen, P., Churches, T. and Hegland, M.: A Parallel Open Source Data Linkage System. Proceedings of the 8th PAKDD 4 (Pacific-Asia Conference on Knowledge Discovery and Data Mining), Sydney. Springer LNAI-356, pp. 638 647, May 24. 3. Cohen, W.W., Ravikumar, P. and Fienberg, S.E.: A comparison of string distance metrics for name-matching tasks. Proceedings of IJCAI-3 Workshop on Information Integration on the Web (IIWeb-3), pp. 73 78, Acapulco, August 23. 4. Damerau, F.: A technique for computer detection and correction of spelling errors. Communications of the ACM, vol. 7, issue 3, pp. 7 76, March 964. 5. Hall, P.A.V. and Dowling, G.R.: Approximate String Matching. ACM Computing Surveys, vol. 2, no. 4, pp. 38 42, December 98. 6. Hernandez, M.A. and Stolfo, S.J.: Real-world data is Dirty: Data Cleansing and The Merge/Purge Problem. Data Mining and Knowledge Discovery, vol. 2, no., pp. 9 37, January 998. 7. Holmes, D. and McCabe, M.: Improving Precision and Recall for Soundex Retrieval. Proceedings of the 22 IEEE International Conference on Information Technology Coding and Computing (ITCC), Las Vegas, April 22. 8. Jokinen, P., Tarhio, J. and Ukkonen, E.: A comparison of approximate string matching algorithms. Software Practice and Experience 26, 2 (996), 439-458. 9. Kukich, K.: Techniques for automatically correcting words in text. ACM Computing Surveys, vol. 24, no. 4, pp. 377 439, December 992.. Lait, A.J. and Randell, B.: An Assessment of Name Matching Algorithms. Technical Report, Dept. of Comp. Science, University of Newcastle upon Tyne, 993.. Navarro, G.: A guided tour to approximate string matching. ACM Computing Surveys, vol. 33, issue, pp. 3 88, March 2. 2. Pfeifer, U., Poersch, T. and Fuhr, N.: Retrieval effectiveness of proper name search methods. Information Processing and Management: an International Journal, vol. 32, no. 6, pp. 667 679, November 996. 3. Philips, L.: The Double-Metaphone Search Algorithm, C/C++ User s Journal, Vol. 8 No. 6, June 2. 4. Pollock, J.J. and Zamora, A.: Automatic spelling correction in scientific and scholarly text. Commun. ACM, vol. 27, no. 4, pp. 358 368, 984. 5. Porter, E. and, W.E.: Approximate String Comparison and its Effect on an Advanced Record Linkage System. RR 997-2, US Bureau of the Census, 997. 6. Van Berkel, B. and De Smedt, K.: Triphone analysis: A combined method for the correction of orthographical and typographical errors. Proceedings of the second conference on Applied natural language processing, pp. 77 83, Austin, 988. 7., W.E. and Thibaudeau, Y.: An Application of the Fellegi-Sunter Model of Record Linkage to the 99 U.S. Decennial Census. RR-99-9, US Bureau of the Census, 99. 8. Yancey, W.E.: An Adaptive String Comparator for Record Linkage RR 24-2, US Bureau of the Census, February 24. 9. Zobel, J. and Dart, P.: Phonetic string matching: Lessons from information retrieval. Proceedings of the 9th international ACM SIGIR conference on Research and development in information retrieval, pp. 66 72, Zürich, Switzerland, 996.