Patent ID: 7877335

Claim:
A method comprising: by one or more computing devices: accessing a network of categories, wherein: each category from the network of categories comprises one or more characters, and is connected with zero or more other categories from the network of categories; and each connection between two categories from the network of categories is associated with a weight; and iteratively updating the network of categories using a stream of characters until all characters from the stream of characters are processed, wherein each iteration comprises: selecting, from the network of categories, a target category, wherein the one or more characters of the target category match a first segment of characters from the stream of characters that has not been matched during previous iterations; selecting, from the network of categories, one or more context categories, wherein the one or more characters of each context category match a second segment of characters from the stream of characters that is in proximity to the first segment of characters; selecting, from the network of categories, one or more candidate categories, wherein each candidate category is connected with at least one of the one or more context categories; for each candidate category of the one or more candidate categories, computing a first score using at least one weight associated with at least one connection between the candidate category and the at least one of the one or more context categories; selecting, from the one or more candidate categories, a highest-scoring candidate category; if the highest-scoring candidate category is not the target category, then for each context category of the one or more context categories, if there is a connection between the context category and the target category, then increasing the weight associated with the connection between the context category and the target category; and if there is no connection between the context category and the target category, then creating a connection with an initial weight between the context category and the target category.