59 comments

[ 3.3 ms ] story [ 129 ms ] thread
Interesting, but I question its utility, particularly if a name is ambiguous - like "Alex". Also, I tried it with my sister's name, Nanna, and it returned "null." Apparently she's neuter.
Neat!

It would be nice to get some sort of "confidence level" - http://api.genderize.io/?name=jackie

A "confidence level" will now be recieved :)
On my first try I got an erroneous result on a non-Anglo name: http://api.genderize.io/?name=krishna returned "male". In fact god names are unisex; I've met a female Krishna.

Edit: and "null" on Vishnu. I didn't see on the page whether this is supposed to extend beyond Anglo-American culture.

And "kyle" came up "male", tho I can report a female Kyle. Whoever is populating the database may be underestimating gender/naming trends.

I wonder what dataset is being used behind the scenes. Tried "Roberta" and it returned "null".
How does that site work? It mentions nothing about pricing?
Other commenters are already demonstrating that the error rate is way too high to be useful. If you need a user's gender (and you probably don't), just ask them.
Also helpful is:

https://github.com/bmuller/sexmachine

which uses a multilingual dictionary, that accounts for names that cross gender in different countries.

The underlying dictionary for this, gender/nam_dict by Jorg Michael, is an awesome piece of work: it has entries for each name, its gender (or genders), and how popular that name is in each country where it's used (especially useful for names which are female in one country but male in another country, but where they're much more popular in the former than the latter).

It's a bit of an odd file format but it's fairly straight forward to build something which will read it into the language of your choice.

http://www.autohotkey.com/community/viewtopic.php?t=22000

Pro tip: Don't try to be "too smart" or clever when talking to your users.

Being wrong here is so much more tacky than either asking for gender if you need it, or just writing in a gender neutral way.

"I'm sorry we were wrong, but our computer determined you have a girl's name. If you change your name, it'll work now."

And in more cases than people seem to think, you really don't need it.
I suspect this is more for data analysis than it is for user-facing features.

I hope.

This is far more useful for advertising, especially when trying to build user segments. If you have the gender from the user directly entering it somewhere along the line, great. If not, this comes in.
Yes. Don't attempt to infer gender from names.

Mostly, you don't need it. You'll often get it wrong. You may end up pissing off transgender people. Unless you are running a dating site (in which case, you should actually get people to specify which gender(s) they are—and, yes, people will want options beyond male and female) there is no need for it.

If you want to know my gender, ask. Don't infer.

For people interested in other tools, there is a command line gender verification tool and database:

http://www.autohotkey.com/board/topic/20260-gender-verificat...

and a Ruby gam that is built on the above data:

https://github.com/bmuller/sexmachine

A "command line gender verification tool"? So it'll verify my gender based from the command line? :P
I ran it...

....I....I.... just want to be alone for a bit.

  http://api.genderize.io/?name=jessie
  {"jessie":"male"}

  irb(main):005:0> d.get_gender("Jessie")
  => :female
Not only is it better, it handles cases like androgynous and "mostly male"

BRB while I turn this into a web api

There's a PECL extension for PHP that claims to provide this too: http://php.net/gender

Not tested it on too many challenging tasks but it seems to work well too.

First two tries:

  ~ % curl "http://api.genderize.io?name=pat"
  {"pat":null}%
Shouldn't that be "unisex"?

  ~ % curl "http://api.genderize.io?name=patricia"
  {"patricia":null}%
Hm...
It seems to be broken, everything is returning male (or null)

    curl http://api.genderize.io?name=joe
    {"joe":"male"}

    curl http://api.genderize.io?name=jo
    {"jo":"male"}

    curl http://api.genderize.io?name=jamie
    {"jamie":"male"}

    curl http://api.genderize.io?name=jaime
    {"jaime":"male"}

    curl http://api.genderize.io?name=joan
    {"joan":"male"}

    curl http://api.genderize.io?name=kelly
    {"kelly":"male"}

    curl http://api.genderize.io?name=lucy
    {"lucy":null}
It's intensely slow too. I just fed it top 10 female names of the 70s and 80s and it got about 30%. It's wrong, slow, and broken. Not a good start.

  ab -n 100 -c 5 http://api.genderize.io/\?name\=Cameron
Total: 636 1373 157.7 1304 1664

  ab -n 100 -c 5 http://genderizer.herokuapp.com/\?name\=Cameron
Total: 77 141 70.1 115 383

Heroku's free tier, not nearly as overloaded right now, but still. Source here: https://github.com/rajington/genderizer

I haven't tried the api yet, but the example on the home page says that "Lois" is a female name - when in fact, in the 1930s it was quite a popular male name with about 70 boys born each year named lois. Checkout http://www.namemeababy.com to see the full stats.
Completely worthless without a national/ethnic hint.

E.g. "Jean" will be male if the first name of a French person, while likely female in the US.

As Elizabeth or Leslie are common male names in the UK but female in the US.

I appreciate the authors effort, but don't see much use.

Elizabeth isn't used as a male name anywhere...
Never heard of a male "Elizabeth" here in the UK
It tells me that my daughter's name, Avery, is male, yet it is the 13th most popular name for baby girls right now. Someone needs an updated data set.
If you're interested in doing this yourself, the book associated with Python's Natural Language Toolkit has a pretty good introduction to identifying gender in the chapter on text classification [1].

[1] http://nltk.org/book/ch06.html

Apparently I'm "null". I'll assume that's not an attempt to be deliberately offensive. :-)
This sort of thing sounds like something Facebook would be very good at doing using Open Graph.
I've thought about this before, you also should be able to get a somewhat accurate estimate of the median age of a group of attendees to an event based on the first names alone. See Baby Name Wizard Voyager tool for visualizations of first name occurences since 1900s: http://www.babynamewizard.com/voyager
I would be impressed by that!