1. A non-transitory computer-readable medium embodying a program executable in a computing device, the program comprising: code that, in response to receiving a data set of strings organized into a plurality of rows and a plurality of columns from a client, selects a proper subset of the data set of strings from individual rows of a randomly selected plurality of the plurality of rows corresponding to a predefined plurality of the plurality of columns for the randomly selected plurality of the plurality of rows; code that generates a first user interface configured to present individual strings from the proper subset of the data set of strings; code that sends data encoding the first user interface to the client; code that, in response to receiving a plurality of substring selections from the client by way of the first user interface, identifies a plurality of selection patterns based at least in part on the plurality of substring selections and a set of pattern rules, individual selections of the plurality of substring selections corresponding to individual strings of the proper subset of the data set of strings, individual selection patterns of the plurality of selection patterns being represented separately by at least two of the individual selections of the plurality of substring selections; code that generates a second user interface configured to present a ranked listing of the plurality of selection patterns according to a weight associated with the individual selection patterns of the plurality of selection patterns; code that sends data encoding the second user interface to the client; and code that, in response to obtaining a selection of one of the plurality of selection patterns from the client, processes the data set of strings by applying the one of the plurality of selection patterns to the data set of strings.