1. A computer program product for comparing names, the computer program product comprising: a computer readable storage medium having computer readable program code embodied therewith, wherein the non-transitory computer readable program code, when executed by at least one processor of a computer, is configured to perform: receiving, into the computer, a first name for comparison; for each pair of names including the first name and a second name selected from a set of names: identifying features of the first name that comprise semantic relationships that include information about cultural derivation, hierarchical relationships that describe dependency relationships between multiple words that form a first name phrase within the first name, position information for each of the words in the first name phrase, and position information for name phrases in the first name; identifying features of the second name that comprise semantic relationships that include information about cultural derivation, hierarchical relationships that describe dependency relationships between multiple words that form a second name phrase within the second name, position information for each of the words in the second name phrase, and position information for name phrases in the second name; obtaining a first phrase score by comparing the first name phrase in the first name to the second name phrase in the second name; obtaining a second phrase score by comparing another name phrase in the first name to another name phrase in the second name; generating an overall score for the pair of names based on the obtained first phrase score and the obtained second phrase score; and updating the overall score for the pair of names based on comparing the features of the first name with the features of the second name; and providing, with the computer, a list of the second names from the set of second names that matched the first name in order of the updated score for each pair of names.
2. The computer program product of claim 1 , wherein the computer readable program code, when executed by the at least one processor of the computer, is configured to perform: obtaining additional phrase scores; and selecting highest phrase scores from among the first phrase score, the second phrase score, and the additional phrase scores for generating the overall score.