A computing system implemented method for identifying predictive characteristics of financial transaction description strings, the method comprising: receiving financial transaction data related to a plurality of financial transactions of users of a data management system and including, for each financial transaction, a respective financial transaction description string; generating, from the financial transaction data, training set data including a plurality of the financial transaction description strings labeled according to a classification; training, with a machine learning process utilizing the training set data, a dictionary generation model to classify the financial transaction descriptions strings from the training data set; identifying, using the dictionary generation model, key substrings from the transaction description strings that are most predictive in classifying the financial transaction description strings based on the machine learning process, wherein identifying the key substrings includes analyzing, for each financial transaction description string from the training set data, a predictive power of each of a plurality of n-grams from the financial transaction description string; generating a dictionary of the key substrings and corresponding classifications of the financial transaction description strings that were most predictive in classifying the financial transaction description strings; receiving new financial transaction data corresponding to a new financial transaction of a user and including a new financial transaction description string; comparing the new financial transaction description string to the dictionary; and categorizing the new financial transaction based on the comparison between the new financial transaction description string and the dictionary. receiving financial transaction data related to a plurality of financial transactions of users of a data management system and including, for each financial transaction, a respective financial transaction description string; generating, from the financial transaction data, training set data including a plurality of the financial transaction description strings labeled according to a classification; training, with a machine learning process utilizing the training set data, a dictionary generation model to classify the financial transaction descriptions strings from the training data set; identifying, using the dictionary generation model, key substrings from the transaction description strings that are most predictive in classifying the financial transaction description strings based on the machine learning process, wherein identifying the key substrings includes analyzing, for each financial transaction description string from the training set data, a predictive power of each of a plurality of n-grams from the financial transaction description string; generating a dictionary of the key substrings and corresponding classifications of the financial transaction description strings that were most predictive in classifying the financial transaction description strings; receiving new financial transaction data corresponding to a new financial transaction of a user and including a new financial transaction description string; comparing the new financial transaction description string to the dictionary; and categorizing the new financial transaction based on the comparison between the new financial transaction description string and the dictionary. <EOS>