1. A method of providing a recommendation comprising: measuring a distance by a processor between a first document and each second document in a plurality of other documents by: compressing the first document to determine a first size, compressing a second document to determine a second size, compressing a concatenation of the first document and the second document to determine a third size, and determining a compression-based dissimilarity measurement based on a ratio between the third size and a sum of the first size and the second size, wherein the first document and a second document are more closely related if the compression-based dissimilarity measurement is lower, the first document and a second document are less closely related if the compression-based dissimilarity measure is higher, and the compression based dissimilarity measurement has a value that is not greater than one; organizing a cluster comprising the first document and one or more of the other documents based on the measured distances between the first document and the other documents by the processor; categorizing the cluster based on a common subject matter between the clustered documents by the processor; and selecting one or more documents based on the category of the cluster.