/name-dataset

Probably the biggest dataset of Names, worldwide.

Primary LanguageShellApache License 2.0Apache-2.0

First and Last Names Dataset

Downloads Downloads

Attempt to make a good dataset with a high precision / recall.

  • ~160k first names
  • ~100k last names

Installation

pip install names-dataset

Usage

from names_dataset import NameDataset
m = NameDataset()
m.search_first_name('Mikael')
m.search_last_name('Remy')
echo -e "$(python main.py 'Brian is in the kitchen while Amanda is watching the TV on the sofa.\nThey are both waiting for Alfred to come.')"

How reliable is it?

Well, it depends if you are looking for a high recall or a high precision. For example, the word Rose can be either a name or a noun. If we include it in the list, then we increase the precision but we decrease the recall. And vice versa, if it's not in the list. The library checks that the word starts with a capital letter. In our case, we emphasize more on precision. So I would say the best use case here is to check whether it's a name or not based on a prior knowledge that the customer has submitted a name. If you are using this tool to look for name entities in the text, then be prepared to have a lot of false positives.

Here is an example on a (old) text: ALI BABA AND THE FORTY THIEVES.

A more reliable source would be to scrape this website: http://www.namepedia.org/. This database has probably been manually checked and contains more information such as gender and origin of the names.

License

I don't own the data obviously. It's fetched from the websites listed in:

https://github.com/philipperemy/name-dataset/blob/master/generation/generate.sh

So I guess the most strict software license should apply here.

Sources and References

Exhaustive list of all the possible websites. Not all are used since there is a lot of garbage in the lists.