Hashes to name generator and parser

Uses three lists:

  • List of colors, distilled from doloreslabs color names v1 (see http://blog.doloreslabs.com/?p=17). Used last word for each color, cleaned mispellings by hand.

  • List of animals, distilled from WordNet 3.0 (wn animal -treen, you'll need to patch your binary to see the whole output). Kept all animals that were only one word. One animal per synset, first one-word synonym picked.

  • List of locations, distilled from YAGO 2.0 (which in turn distilled it from Wikipedia and other sources), postprocessed from hasArea.tsv (dropped all locations that required non-printable characters).

It produces verbalizations in the form 'color' 'animal' # 'left-over number' from 'location'.

It takes a hash in base 16 as argument. With the current lists, it can represent up to 8 positions. 10 positions works fine with a few digits number. If the hash is small, it will produce an animal, then color+animal and finally color+animal from location before the full form.

Use the option --parse to obtain back the hash, the following shell command should be an identity transformation:

$ python namegen.py python namegen.py 62623831ab --parse 62623831ab


(my GPG fingerprint) $ python namegen.py 4A27AF6A Mediumorchid-Shoebird-from-Arlay

(the first digits of the MD5 hash for animals.list) $ python namegen.py c345a6a36972 Lawngreen-Archeopteryx-#55840-from-Augne

Built With

Share this project: