I have a dataset where there are reported audit failures for each system listed next to a brief description of the failure. The problem is that the words used to describe the problem are different based on what someone types in, and I want to be able to aggregate them based on common words. For example a Redhat failure might read “Login password does not meet requirements” and a Windows Server might read “Login password is needed and there isn’t one”. They both have to do with login password, and if I aggregate them based on the password I’ll get valuable data for my organization. I need an algorithm that finds the valuable words and then I can aggregate based on those words. I’m trying tfidf but it is aggregating based on os names more than other words. Any suggestions for someone new to NLP to solve this problem?