I need a way to translate shortened/alternative spellings back to their original name.

Example: Tom -> Thomas, Ben -> Benjamin

Are there any datasets that you know of that could help with this?


2 Answers 2


Using keywords hypocoristic and diminutive, one can find the following links:

Finally, there is diminutives.db on GitHub:

The databases of diminutives, male_diminutives.csv and female_diminutives.csv, are manually-edited versions of data that was automatically extracted from Wiktionary by the PHP script bin/generate_diminutives_csv.php.


It sounds like you may be looking for what librarians call an "authority file". You can reference the links posted for a starter, but may find that not every diminutive links back to the same given name and/or that some people prefer to be known by the dimunitive, not the given name.

Usually, your goal is to standardize names (hence, "authority file") rather than insist that they fit a specific pattern.

  • How can I come by or create an authority file? Commented Apr 10, 2018 at 22:48
  • An authority file can be almost anything convenient--a text file, a database, a key-value store. The longer answer is that it has to be maintainable, and it has to be something that can return the "authoritative" answer when it receives a query. I think I'd use key-value pairs, built from the sources that were cited earlier. That would be simplest given the data. You could also use any triple store tool--that would let you indicate relationships more nuanced than just "variant" and "authoritative version." (For the authoritative version, you would store that authoritative name in both fields.) Commented Apr 10, 2018 at 23:39
  • Thanks, but what you're saying kind of boils down to "create your own database". I'm looking for actual data that's available for download Commented Apr 11, 2018 at 19:40
  • I hope that's not what I'm saying. What I mean is that once you get the data, you will have to do something with it if you wish to use it. That may be entering each of the entries as a key/value pair in a search engine, or other type of lookup (aforementioned triples or whatever). The lone exception is if the data aren't actionable--they are simply desired as a personal lookup. Commented Apr 12, 2018 at 20:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.