Data Science Stack Exchange is a question and answer site for Data science professionals, Machine Learning specialists, and those interested in learning more about the field. It only takes a minute to sign up.
I am involved in a work where i have to recognize company when user does not provides its full legal name. Database only has full legal name which is rarely used by human user. Like no body calls google inc but they just call google. My job is to match that user provided name with database name. The approach i am thinking is to create short name of company from legal name and index that so it what user used could be directly matched.
I was thinking of writing a classifier that could be trained on real world data of full name and short names map and then used to create short names from legal names in database. Are there any such dataset currently available that i can use as input source for my trainer?
I think a better idea would be to use approximate string matching techniques: the general idea would be to compute a similarity score for each candidate term, then consider it a match if the score is higher than some threshold. This approach can be refined by computing a set of similarity scores according to different similarity measures (see e.g. this list) and train a classifier using these scores as features. It's even possible to use more sophisticated approaches involving training a model taking into account the probability of specific edits, but it shouldn't be necessary in a simple case like this.