31. A non-transitory computer readable medium comprising computer readable program code embodied therein for performing a method for classifying a financial transaction of an item, the method comprising: receiving a text description of the item involved in the financial transaction; processing the text description of the item to generate a search term; selecting, based on the search term, a set of named categories of a plurality of named categories; conducting, using a first search engine determined by a search algorithm and, a first search for the search term and each named category of the set of named categories; processing a first plurality of results of the first search; calculating, using the first plurality of results of the first search and an affinity algorithm, an affinity score of a plurality of affinity scores for each named category of the set of named categories; identifying a first target affinity score of the plurality of affinity scores, wherein the affinity algorithm for one of the set of named categories uses the function: log {n(x & y)/[n(x)×n(y)]}, wherein n(x) is a first number of web pages comprising the search term, n(v) is a second number of web pages comprising the one of the set of named categories, n(x & y) is a third number of web pages comprising the search term and the one of the set of named categories, and log is a logarithm; identifying a target category from the set of named categories based on the first target affinity score; presenting, to a user, the text description of the item involved in the financial transaction and the target category; receiving feedback that the target category for the financial transaction is incorrect; generating a revised set of named categories by removing the target category from the set of named categories; conducting, using the search algorithm, a second search for the search term and each named category of the revised set of named categories; and presenting, based on a second plurality of results of the second search, a revised target category based on a second target affinity score.
31. A non-transitory computer readable medium comprising computer readable program code embodied therein for performing a method for classifying a financial transaction of an item, the method comprising: receiving a text description of the item involved in the financial transaction; processing the text description of the item to generate a search term; selecting, based on the search term, a set of named categories of a plurality of named categories; conducting, using a first search engine determined by a search algorithm and, a first search for the search term and each named category of the set of named categories; processing a first plurality of results of the first search; calculating, using the first plurality of results of the first search and an affinity algorithm, an affinity score of a plurality of affinity scores for each named category of the set of named categories; identifying a first target affinity score of the plurality of affinity scores, wherein the affinity algorithm for one of the set of named categories uses the function: log {n(x & y)/[n(x)×n(y)]}, wherein n(x) is a first number of web pages comprising the search term, n(v) is a second number of web pages comprising the one of the set of named categories, n(x & y) is a third number of web pages comprising the search term and the one of the set of named categories, and log is a logarithm; identifying a target category from the set of named categories based on the first target affinity score; presenting, to a user, the text description of the item involved in the financial transaction and the target category; receiving feedback that the target category for the financial transaction is incorrect; generating a revised set of named categories by removing the target category from the set of named categories; conducting, using the search algorithm, a second search for the search term and each named category of the revised set of named categories; and presenting, based on a second plurality of results of the second search, a revised target category based on a second target affinity score. 34. The non-transitory computer readable medium of claim 31 , the method further comprising: selecting, based on the revised set of named categories, a revised search algorithm to replace the search algorithm and conduct the second search; and calculating, using the first plurality of revised results and the affinity algorithm, a revised affinity score of a plurality of revised affinity scores for each named category of the revised set of named categories.