Patent ID: 8515969

Claim:
A method, comprising the steps of: a) receiving, by a server computer communicatively coupled to a network, a character string from a client computer communicatively coupled to the network; b) creating, by the server computer, a cached list of micro-dictionary keywords, further comprising the steps of: i) generating, by the server computer, a substring length variable with a value of 3; ii) generating, by the server computer, from the character string, at least one substring equal in length to the substring length variable; iii) determining, by the server computer, whether the at least one substring is found in an electronic dictionary database; iv) responsive to a determination that the at least one substring is found in the electronic dictionary database, adding, by the server computer, at least one micro-dictionary keyword, comprising the at least one substring, to the cached list v) incrementing, by the server computer, the substring length variable by 1; and vi) repeating, by the server computer, steps b) ii)-b) v) until the substring length variable equals a length of the character string; c) for each at least one micro-dictionary keyword in the cached list, in descending order by number of characters: i) storing, by the server computer, the micro-dictionary keyword in a temporary list ii) identifying, by the server computer, within the character string, at least one contiguous string that is not the micro-dictionary keyword; and iii) for each at least one contiguous string, and while characters remain in the character string: 1) determining, by the server computer, whether the contiguous string, or a smaller contiguous string within the contiguous string, comprises an additional micro-dictionary keyword; and 2) responsive to a determination that the contiguous string or the smaller contiguous string comprises the additional micro-dictionary keyword, storing, by the server computer, in the temporary list, the contiguous string or the smaller contiguous string; d) calculating, by the server computer, a reliability score for a plurality of keyword strings comprising the temporary list for each at least one micro-dictionary keyword in the cached list; and e) transmitting, by the server computer, the reliability score for each of the plurality of keyword strings to the client computer.