Patent ID: 8095530

Claim:
A computer-implemented method comprising: receiving a plurality of character strings; determining, by at least one processor of a computer system, the number of strings (M) in the plurality of strings having a unique substring of X characters at an extremity of the string; determining, by at least one of the processors of the computer system, the number of strings (N) in the plurality of strings having at least X characters in the string, where N>M; determining, by at least one of the processors of the computer system, a probability, P, that the unique substring of X characters would occur M or more times out of the N strings, given that the unique character string occurs at least once, wherein the probability, P, is based on a probability that the unique substring of X characters occurs exactly M times, ∑ i = M N ⁢ ⁢ P i ⁡ ( M , N , substring ) , divided by a probability that the unique substring of X characters occurs at least once, ∑ i = 1 N ⁢ ⁢ P i ⁡ ( M , N , substring ) , where P i ⁡ ( M , N , substring ) = N ! M ! ⁢ ( N - M ) ! ⁢ ( ∏ i = 1 X ⁢ ⁢ p substring ⁡ [ i ] ) M ⁢ ( 1 - ∏ i = 1 X ⁢ ⁢ p substring ⁡ [ i ] ) N - M , and where P substring[i] represents the probability of the appearance of any individual character, i, at a particular location in the character string; determining, by at least one of the processors of the computer system, based on the probability, the number M, and the number N, that the unique character string is a significant affix in the plurality of character strings; and storing the unique character string.