State-of-the-art in string similarity search and join

String similarity search and its variants are fundamental problems with many applications in areas such as data integration, data quality, computational linguistics, or bioinformatics. A plethora of methods have been developed over the last decades. Obtaining an overview of the state-of-the-art in this field is difficult, as results are published in various domains without much cross-talk, papers use different data sets and often study subtle variations of the core problems, and the sheer number of proposed methods exceeds the capacity of a single research group. In this paper, we report on the results of the probably largest benchmark ever performed in this field. To overcome the resource bottleneck, we organized the benchmark as an international competition, a workshop at EDBT/ICDT 2013. Various teams from different fields and from all over the world developed or tuned programs for two crisply defined problems. All algorithms were evaluated by an external group on two machines. Altogether, we compared 14 different programs on two string matching problems (k-approximate search and k-approximate join) using data sets of increasing sizes and with different characteristics from two different domains. We compare programs primarily by wall clock time, but also provide results on memory usage, indexing time, batch query effects and scalability in terms of CPU cores. Results were averaged over several runs and confirmed on a second, different hardware platform. A particularly interesting observation is that disciplines can and should learn more from each other, with the three best teams rooting in computational linguistics, databases, and bioinformatics, respectively.

[1]  Ulf Leser,et al.  Scalable Sequence Similarity Search and Join in Main Memory on Multi-cores , 2011, Euro-Par Workshops.

[2]  Sumit Sarkar,et al.  A Distance-Based Approach to Entity Reconciliation in Heterogeneous Databases , 2002, IEEE Trans. Knowl. Data Eng..

[3]  Jignesh M. Patel,et al.  WHAM: A High-Throughput Sequence Alignment Method , 2011, TODS.

[4]  Pavel Zezula,et al.  M-tree: An Efficient Access Method for Similarity Search in Metric Spaces , 1997, VLDB.

[5]  D. J. Wheeler,et al.  A Block-sorting Lossless Data Compression Algorithm , 1994 .

[6]  Roberto J. Bayardo,et al.  Scaling up all pairs similarity search , 2007, WWW '07.

[7]  Wing-Kai Hon,et al.  Inverted indexes for phrases and strings , 2011, SIGIR.

[8]  Ge Yu,et al.  Efficiently Indexing Large Sparse Graphs for Similarity Search , 2012, IEEE Transactions on Knowledge and Data Engineering.

[9]  Guoliang Li,et al.  Trie-join: a trie-based method for efficient string similarity joins , 2012, The VLDB Journal.

[10]  Klaus U. Schulz,et al.  Deciding word neighborhood with universal neighborhood automata , 2011, Theor. Comput. Sci..

[11]  Alexander Tiskin Semi-local longest common subsequences in subquadratic time , 2008, J. Discrete Algorithms.

[12]  Gonzalo Navarro,et al.  A Hybrid Indexing Method for Approximate String Matching , 2007 .

[13]  Knut Reinert,et al.  Scalable string similarity search/join with approximate seeds and multiple backtracking , 2013, EDBT '13.

[14]  Richard Durbin,et al.  Sequence analysis Fast and accurate short read alignment with Burrows – Wheeler transform , 2009 .

[15]  DeForest L. Trautman Post-Workshop Analysis. , 1975 .

[16]  Klaus U. Schulz,et al.  Fast Approximate Search in Large Dictionaries , 2004, CL.

[17]  Padhraic Smyth,et al.  Deformable Markov model templates for time-series pattern matching , 2000, KDD '00.

[18]  Xuemin Lin,et al.  Ed-Join: an efficient algorithm for similarity joins with edit distance constraints , 2008, Proc. VLDB Endow..

[19]  Gonzalo Navarro,et al.  Increased bit-parallelism for approximate and multiple string matching , 2005, JEAL.

[20]  Felix Naumann,et al.  Efficient Similarity Search in Very Large String Sets , 2012, SSDBM.

[21]  Guoliang Li,et al.  PASS-JOIN: A Partition-based Method for Similarity Joins , 2011, Proc. VLDB Endow..

[22]  Raghav Kaushik,et al.  Efficient exact set-similarity joins , 2006, VLDB.

[23]  Kunihiko Sadakane,et al.  Efficient Error-tolerant Query Autocompletion , 2013, Proc. VLDB Endow..

[24]  R. Ewy,et al.  ABSTRACT , 1986 .

[25]  Chengqi Zhang,et al.  Efficient approximate entity extraction with edit distance constraints , 2009, SIGMOD Conference.

[26]  Klaus U. Schulz,et al.  Good parts first - a new algorithm for approximate search in lexica and string databases , 2013, ArXiv.

[27]  Maxime Crochemore,et al.  A fast and practical bit-vector algorithm for the Longest Common Subsequence problem , 2001, Inf. Process. Lett..

[28]  Esko Ukkonen,et al.  Algorithms for Approximate String Matching , 1985, Inf. Control..

[29]  Monika Henzinger,et al.  Finding near-duplicate web pages: a large-scale evaluation of algorithms , 2006, SIGIR.

[30]  Jeffrey Xu Yu,et al.  Efficient similarity joins for near-duplicate detection , 2011, TODS.

[31]  Piotr Indyk,et al.  Similarity Search in High Dimensions via Hashing , 1999, VLDB.

[32]  David G. Andersen,et al.  Exact pattern matching with feed-forward bloom filters , 2012, JEAL.

[33]  Knut Reinert,et al.  Fast and accurate read mapping with approximate seeds and multiple backtracking , 2012, Nucleic acids research.