real word dataset on company full name with commonly used short name
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.