Issue No. 04 - April (2012 vol. 24)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TKDE.2010.242
Simon J. Puglisi , Royal Melbourne Institute of Technology, Melbourne
Andrew Turpin , The University of Melbourne, Melbourne
Jasbir Dhaliwal , Royal Melbourne Institute of Technology, Melbourne
In recent years, several algorithms for mining frequent and emerging substring patterns from databases of string data (such as proteins and natural language texts) have been discovered, all of which traverse an enhanced suffix array data structure. All of these algorithms lie at either extreme of the efficiency spectrum; they are either fast and use enormous amounts of space, or they are compact and orders of magnitude slower. In this paper, we present an algorithm that achieves the best of both these extremes, having runtime comparable to the fastest published algorithms while using less space than the most space efficient ones. This excellent practical performance is underpinned by theoretical guarantees. Our main mechanism for keeping memory usage low is to build the enhanced suffix array incrementally, in blocks. Once built, a block is traversed to output patterns with required support before its space is reclaimed to be used for the next block.
String mining, suffix array, suffix tree, data mining, algorithms.
Simon J. Puglisi, Andrew Turpin, Jasbir Dhaliwal, "Practical Efficient String Mining", IEEE Transactions on Knowledge & Data Engineering, vol. 24, no. , pp. 735-744, April 2012, doi:10.1109/TKDE.2010.242