  Searching for a person's name is a common online activity. However, Web
search engines provide few accurate results to queries containing names. In
contrast to a general word which has only one correct spelling, there are
several legitimate spellings of a given name. Today, most techniques used to
suggest synonyms in online search are based on pattern matching and phonetic
encoding, however they often perform poorly. As a result, there is a need for
an effective tool for improved synonym suggestion. In this paper, we propose a
revolutionary approach for tackling the problem of synonym suggestion. Our
novel algorithm, GRAFT, utilizes historical data collected from genealogy
websites, along with network algorithms. GRAFT is a general algorithm that
suggests synonyms using a graph based on names derived from digitized ancestral
family trees. Synonyms are extracted from this graph, which is constructed
using generic ordering functions that outperform other algorithms that suggest
synonyms based on a single dimension, a factor that limits their performance.
We evaluated GRAFT's performance on three ground truth datasets of forenames
and surnames, including a large-scale online genealogy dataset with over 16
million profiles and more than 700,000 unique forenames and 500,000 surnames.
We compared GRAFT's performance at suggesting synonyms to 10 other algorithms,
including phonetic encoding, string similarity algorithms, and machine and deep
learning algorithms. The results show GRAFT's superiority with respect to both
forenames and surnames and demonstrate its use as a tool to improve synonym
suggestion.
