1. A system for mining for sub-patterns within a text data set, the system comprising: a data source to store a text data set; and a processor configured with logic to: find a set of N frequently occurring sub-patterns within the data set; extract the N sub-patterns from the data set; and cluster the extracted sub-patterns into K groups such that each extracted sub-pattern is placed within the same group with other extracted sub-patterns based upon a distance value D that determines a degree of similarity between the sub-pattern and every other sub-pattern within the same group.