Naamkaran is a generative model for names. It is based on a character-level RNN trained on names from the Florida Voter Registration Data.
Naamkaran can be installed from PyPI using pip:
pip install naamkaran
The general API for naamkaran is as follows:
# naamkaran is the package name from naamkaran.generate import generate_names # generate_names is the function that generates names positional arguments: start_letter The letter to start the name with (default: "a") optional arguments: end_letter The letter to end the name with (default: None) how_many The number of names to generate (default: 1) max_length The maximum length of the name (default: 5) gender The gender of the name (default: "M") temperature The temperature of the model (default: 0.5) # generate 10 names starting with 'A' generate_names('A', how_many=10) ['Allis', 'Alber', 'Aderi', 'Albri', 'Alawa', 'Arver', 'Agnee', 'Anous', 'Areyd', 'Adria'] # generate 10 names starting with 'B' and ending with 'n' generate_names('B', end_letter='n', how_many=10) ['Brian', 'Beran', 'Burin', 'Bahan', 'Balin', 'Bounn', 'Baran', 'Balan', 'Belin', 'Brion'] # generate 5 names starting with 'B' and ending with 'n' with a maximum length of 4 generate_names('B', end_letter='n', how_many=5, max_length=4) ['Bern', 'Bren', 'Bran', 'Bonn', 'Brun'] # generate 10 names starting with 'D' and ending with 'd' with a maximum length of 6 # and a temperature of 0.5 generate_names('D', end_letter='d', how_many=5, max_length=6, temperature=0.5) ['Derayd', 'Davind', 'Deland', 'Denild', 'David'] # generate 10 female names starting with 'A' and ending with 'e' with a maximum length of 5 # and a temperature of 0.5 generate_names('A', end_letter='e', how_many=10, max_length=5, gender="F", temperature=0.5) ['Annhe', 'Annie', 'Altre', 'Anne', 'Ashle', 'Arine', 'Anice', 'Andre', 'Anale', 'Allie']
The model is trained on names from the Florida Voter Registration Data from early 2022. The data are available on the Harvard Dataverse
Rajashekar Chintalapati and Gaurav Sood
Contributions are welcome. Please open an issue if you find a bug or have a feature request.
The package is released under the MIT License.