Adakah yang tahu tentang perpustakaan yang bagus untuk memetakan nama seseorang dengan jenis kelaminnya? [Tutup]

90

Saya mencari perpustakaan atau database yang dapat memberikan tebakan tentang apakah seseorang itu laki-laki atau perempuan berdasarkan nama atau julukannya. Sesuatu seperti

john => "M",
mary => "F",
alex => "A", #ambiguous

Saya mencari sesuatu yang mendukung nama selain nama Inggris (seperti Jepang, India, dll.).

Sebelum saya mendapatkan jawaban lain di sepanjang baris "Anda akan menyinggung orang dengan asumsi jenis kelamin / jenis kelamin mereka" izinkan saya menjelaskan, aplikasi saya tidak berinteraksi dengan siapa pun. Itu tidak mengirim email atau menghubungi siapa pun dengan cara apa pun. Tidak ada pengguna untuk ditanyakan. Dalam banyak kasus, orang yang dimaksud sudah meninggal, dan satu-satunya informasi yang saya miliki adalah nama, tanggal lahir, dan tanggal kematian. Alasan saya ingin mengetahui jenis kelamin individu adalah untuk membuat tata bahasa hasilnya lebih bagus dan untuk membantu dalam pencarian yang mungkin dilakukan belakangan.

Chas. Owens
sumber
33
Wow ... semua orang sepertinya menjawab pertanyaan "haruskah saya melakukan ini," daripada pertanyaan "bagaimana saya melakukan ini?" Tidak mengherankan, hanya menarik.
mulai
9
Saya sebenarnya berpikir ini adalah pertanyaan yang bagus. Jika Anda membuka situs web dan 90% dari waktu itu menghitung jenis kelamin Anda, saya bisa melihat manfaatnya. Saya berharap TV saya bisa melakukan hal yang sama. Saya sedang menonton tayangan ulang King of the Hill dalam penerbangan baru-baru ini dan setiap 3 menit akan ada iklan untuk "pemijat pribadi".
Uri
6
@mP Wow, cara beralih dari menebak-nebak jenis kelamin untuk membuat tata bahasa lebih bagus ke profil rasial.
Chas. Owens
2
chas, bukanlah hal yang orang tidak ingin berikan kepada Anda karena hal moral, itu seperti tidak masuk akal pada awalnya, jadi Anda meminta solusi yang gagal. juga, Anda menyebutkan selain nama dalam bahasa Inggris, dan dalam referensi lintas budaya, ini menjadi lebih rumit. bagi saya, itu tidak boleh dilakukan.
zalew
2
Bagaimana Anda bisa tahu apakah sebuah nama laki-laki atau perempuan? Alex bisa jadi kependekan dari Alexander (laki-laki) atau Alexandra (perempuan). Saya mengenal Mikha yang laki-laki dan yang perempuan. Dan bagaimana dengan nama asing?
Gabe

Jawaban:

66

Jenis kelamin sebuah nama adalah sesuatu yang tidak dapat disimpulkan secara terprogram dalam kasus umum. Anda membutuhkan database nama. Berikut adalah database nama gratis dari Biro Sensus AS .

EDIT : Tautan untuk nama 2010 sudah mati tetapi ada tautan yang berfungsi dan perpustakaan di komentar.

Ayman Hourieh
sumber
2
Ini bagus. Tampaknya hanya apa yang dibutuhkan penanya. Nama yang ambigu dapat membuat jenis kelamin "ditebak" berdasarkan frekuensi Pria versus frekuensi Wanita.
stalepretzel
1
Saya membangun perpustakaan untuk ini menggunakan data Sensus dan itu berfungsi dengan baik! Aplikasi potensial: analitik, pemilihan jenis kelamin suara IVR.
Chris McCall
9
Berikut nama -> jenis kelamin dari data sensus sebagai diktik
Bemmu
3
Tautan aslinya sudah mati, tetapi sensus masih menyimpan daftarnya. Versi khusus tahun 1990-an (saya tidak tahu mengapa) ada di sini: census.gov/genealogy/www/data/1990surnames/names_files.html
Chipmonkey
2
22MB nama bayi AS dengan jenis kelamin berdasarkan tahun lahir: ssa.gov/oact/babynames/limits.html (tautan berlaku pada Juli 2015)
Dylan Hogg
70

gender.c adalah program C open source yang berfungsi dengan baik. Muncul dengan data untuk 44568 nama depan dari seluruh dunia. Ada dokumentasi yang bagus dan deskripsi dari format file (pada dasarnya teks biasa) sehingga tidak akan sulit untuk membacanya dari aplikasi Anda sendiri.

Inilah yang dikatakan penulis:

Beberapa kata tentang kualitas data

Kamus nama depan telah disiapkan dengan sangat hati-hati. Misalnya, nama Turki, India, dan Korea dalam kamus ini semuanya telah diklasifikasikan secara terpisah oleh beberapa penutur asli. Saya juga sangat berhati-hati untuk mencantumkan hanya nama-nama yang saat ini dapat ditemukan.

Pelajaran dari ini?

Modifikasi apa pun harus dilakukan dengan sangat hati-hati (dan juga harus mematuhi penyortiran yang diperlukan oleh algoritme penelusuran). Misalnya, mengetahui bahwa "Sascha" adalah nama anak laki-laki di Jerman, penulis tidak pernah menganggap bahasa Inggris "Sasha" sebagai nama anak perempuan. Mengetahui bahwa "Jan" adalah nama anak laki-laki di Jerman, saya tidak pernah berasumsi bahwa itu juga merupakan bentuk pendek bahasa Inggris dari "Janet". Kasus lain yang dimaksud adalah nama "Esra". Ini adalah nama laki-laki di Jerman, tapi nama perempuan di Turki.

Program menghitung probabilitas untuk nama menjadi laki-laki dari perempuan. Itu bisa dilakukan dengan nama sebagai masukan saja atau dengan nama dan negara asal, yang memberikan hasil yang jauh lebih baik.

Anda dapat mengunduhnya dari situs web majalah komputer Jerman c't 40 000 Namen . Artikel dalam bahasa Jerman tapi jangan khawatir, semua dokumentasi berbahasa Inggris. Berikut adalah link ftp langsung 0717-182.zip jika Anda tidak tertarik dengan artikel tersebut. File zip berisi kode sumber, jendela yang dapat dieksekusi, database dan dokumentasi.

Ludwig Weinzierl
sumber
Ini luar biasa, terima kasih.
Dale Athanasias
Lihat di sini untuk port python - pypi.python.org/pypi/SexMachine
philshem
33

"Begini saja, hidup tidak mudah bagi anak laki-laki bernama 'Sue'."

... Jadi, mengapa membuatnya lebih sulit? Jika Anda perlu mengetahui jenis kelaminnya, tanyakan saja ... Jika tidak, jangan khawatir.

Shog9
sumber
15
@Chas: bahkan jika Anda berhasil melakukannya dengan benar 80% dari waktu, itu masih akan mengganggu dua dari setiap sepuluh orang yang menggunakan perangkat lunak Anda. Tidak begitu baik ... Saya mengerti motivasinya, tapi sebaiknya Anda mengubah kata-kata pesan Anda sedemikian rupa sehingga netral gender.
Shog9
2
Saya ingin tahu apakah ada orang lain yang mengingat "Pat" dari SNL.
erickson
8
Membaca ulang ini, saya keluar dari khotbah yang buruk ... Jangan bermaksud untuk meletakkan ide Anda, saya pikir itu menarik ... Tapi juga sangat berisiko. Saya dulu bekerja sebagai telemarketer, dan tidak peduli berapa banyak nama yang Anda kenal, tidak peduli seberapa baik Anda mengenali suara, Anda masih terkadang salah menebak ... dan itu tidak pernah menyenangkan. Jadi, itu adalah sesuatu yang akan saya hindari, kecuali ada imbalan yang besar dan besar karena berhasil menebak dengan benar .
Shog9
3
Saya akan menerima saran Shog9. Kecuali aplikasi Anda akan menggunakan bahasa selain bahasa Inggris, mungkin lebih mudah menggunakan kata ganti netral gender - misalnya mereka, satu, s / he, dll.
Calvin
11
Nama pacar saya adalah Kevan. Dia membuat cukup banyak orang salah menebak jenis kelaminnya dari namanya, dia tidak perlu komputer juga melakukannya. Hal yang harus diperhatikan adalah membuat entri database yang menyatakan jenis kelamin seseorang berdasarkan tebakan komputer; orang-orang yang melihatnya mungkin menganggap itu disediakan oleh orang itu sendiri, dan menjadi sangat bingung ketika asumsi mereka ternyata salah (bukan hanya agak bingung berdasarkan namanya saja).
Brian Campbell
29

Saya telah membangun API gratis yang memberikan perkiraan probabilistik pada jenis kelamin berdasarkan nama depan. Alih-alih menggunakan salah satu pendekatan yang disebutkan di atas, saya malah menggunakan kumpulan besar profil dari jejaring sosial untuk memberikan perkiraan probabilistik bersama dengan faktor kepastian. Ini juga mendukung pemfilteran opsional melalui id negara atau bahasa. Ini menjadi lebih baik dari hari ke hari karena lebih banyak profil ditambahkan ke kumpulan data.

Ini gratis untuk digunakan di http://genderize.io

SATU hal yang harus Anda pertimbangkan adalah menggunakan alat yang memperhitungkan demografi, karena konvensi penamaan akan sangat bergantung pada hal ini.

Contoh

http://api.genderize.io?name=kim
{"name":"kim","gender":"female","probability":"0.89","count":1440}

http://api.genderize.io?name=kim&country_id=dk
{"name":"kim","gender":"male","probability":"0.95","count":44,"country_id":"dk"}
Stromgren
sumber
2
Ekstensi kode - genderize.io/#extensions
philshem
22

Berikut adalah dua pendekatan eksentrik yang bahkan mungkin tidak berhasil, dan kemungkinan besar tidak akan berfungsi secara massal tanpa melanggar persyaratan lisensi:

  1. Gunakan API Facebook (yang saya hampir tidak tahu apa-apa, bahkan mungkin tidak mungkin) untuk melakukan dua pencarian: satu untuk pengguna laki-laki FB dengan nama depan itu, dan satu untuk perempuan. Gunakan kedua angka tersebut untuk memutuskan kemungkinan jenis kelamin.

  2. Jauh lebih longgar tetapi lebih skalabel, gunakan Google API dan cari nama plus kata ganti khusus gender, dan bandingkan angkanya. Misalnya, ada 592.000.000 hasil untuk menelusuri "Richard his" (bukan sebagai frasa), tetapi hanya 179.000.000 untuk "Richard nya".

richardtallent
sumber
Terlepas dari konsensus umum tentang memiliki perangkat lunak yang mencoba menebak hal-hal seperti seks dari nama depan, ini adalah jawaban algoritmik yang sangat keren untuk pertanyaan asli. Sudah selesai dilakukan dengan baik.
peSHIr
Ide yang hebat. Anda mungkin dapat menambahkan beberapa kata dalam bahasa negara tertentu juga untuk melokalkannya.
Nosredna
Poin bagus, Nosrenda ... tentu saja, Google juga memungkinkan Anda untuk memfilter hasil pencarian berdasarkan kode bahasa. Anda bahkan dapat mencuri bahasa pilihan pengguna dari permintaan HTTP. Pengaturan bahasa browser mereka mungkin atau mungkin tidak cocok dengan etnis dari nama mereka, tapi ini tetap teknik yang kabur.
richardtallent
2
Saya menemukan bahwa Google adalah chauvinis: lebih banyak hasil untuk pria daripada wanita karena lebih banyak pria di Google. API Facebook mungkin lebih representatif.
Chris McCall
6

Mengingat kendala yang Anda nyatakan, pilihan terbaik Anda adalah menyusun ulang apa pun yang Anda tulis untuk menjadi netral gender kecuali Anda tahu jenis kelamin mereka ingin dipanggil dalam setiap contoh.

Jika menulis dalam bahasa Inggris , ingatlah bahwa bentuk tunggal “mereka” secara tata bahasa baik sebagai kata ganti tunggal orang ketiga yang netral gender.

Contoh yang bagus adalah judul pertanyaan ini. Seperti saat ini:

    … Memetakan nama seseorang berdasarkan jenis kelaminnya?

Itu akan kurang canggung jika ditulis:

    … Memetakan nama seseorang dengan jenis kelaminnya?
hidung besar
sumber
Ini bukan tata bahasa yang "sempurna". Bahkan artikel Wikipedia mengakui bahwa itu telah digunakan, terutama dalam konteks modern, sebagai akibat dari ketidaknyamanan beberapa penulis dengan kata "dia" yang generik. Saya tidak punya masalah besar dengan penulis yang melakukan ini (walaupun jika netralitas gender benar-benar penting, saya lebih suka mengubah susunannya sehingga saya dapat menggunakan kata ganti seperti "satu"), tetapi sebut saja apa adanya.
Ben Collins
Menurutku kita berdua benar. Semua tata bahasa, terutama tata bahasa Inggris, memiliki masalah yang signifikan; tapi menurut saya definisi "tata bahasa yang sempurna" yang benar-benar berlaku untuk apa pun dalam bahasa Inggris juga berlaku di sini. Entah bentuk tunggal "mereka" adalah tata bahasa yang sempurna, atau tidak ada dalam bahasa Inggris adalah :-)
bignose
Sebagai catatan, Grammar Girl (penulis Mignon Fogarty) telah condong ke penerimaan singular "mereka" untuk sementara waktu sekarang. grammar.quickanddirtytips.com/…
Karen Lopez
4

Praktik yang buruk juga untuk mengasumsikan bahwa pengguna haruslah pria atau wanita. Ada sejumlah kecil tapi signifikan dari orang "interseks", kebanyakan dari mereka sangat muak karena tidak memiliki kotak untuk dicentang ..
bignose: menarik pada "mereka tunggal". Saya tidak menyadarinya memiliki sejarah yang panjang.

Karl
sumber
4

Ini bukan layanan, tetapi aplikasi kecil dengan database:
http://www.codeproject.com/KB/cpp/genderizer.aspx

Dan alat ini dalam bahasa Jerman:
http://www.faq-o-matic.net/2011/06/01/zu-einem-vornamen-das-geschlecht-finden/

Dan satu lagi di VB:
http://www.vbarchiv.net/tipps/tipp_1925-geschlecht-anhand-des-vornamens-ermitteln.html

Menurut saya, dengan kombinasi beberapa daftar "Nama depan yang paling sering digunakan tahun 2011", Anda harus dapat membangun sesuatu yang layak.

Remy
sumber
4

Paket python SexMachine akan melakukannya untuk Anda. Diberikan nama depan apa pun, ia akan dikembalikan jika itu pria, wanita, atau uniseks. Itu bergantung pada data dari program gender.c oleh Jorg Michael.

jm_tagarro
sumber
3

Satu-satunya hal yang akan Anda dapatkan dari mencoba mengotomatiskannya adalah sekelompok pengguna yang tidak senang. Dari data sensus itu:

JAMES, JOHN, ROBERT, MICHAEL, WILLIAM, DAVID, RICHARD, CHARLES, JOSEPH, THOMAS, CHRISTOPHER, DANIEL, PAUL, MARK, DONALD, GEORGE, KENNETH, STEVEN, EDWARD, BRIAN, RONALDV, ANTHONY, KEY GARY, TIMOTHY, JOSE, LARRY, JEFFREY, FRANK, SCOTT, ERIC, STEPHEN, ANDREW, RAYMOND, GREGORY, JOSHUA, JERRY, DENNIS, WALTER, PATRICK, PETER, HAROLD, HENRY, CARL, ARTHUR, JANUAN, JOE, ARTHUR, JANUAN, JOE JACK, ALBERT, JUSTIN, TERRY, GERALD, KEITH, SAMUEL, WILLIE, LAWRENCE, ROY, BRANDON, ADAM, FRED, BILLY, LOUIS, JEREMY, AARON, RANDY, EUGENE, CARLOS, RUSSELL, BOBBY, VICTOR, MART, SHAWN, CLARENCE, SEAN, CHRIS, JOHNNY, JIMMY, ANTONIO, TONY, LUIS, MIKE, DALE, CURTIS, NORMAN, ALLEN, GLENN, TRAVIS, LEE, MELVIN, KYLE, FRANCIS, JESUS, RAY, JOEL, EDDIE, TROY, ALEXANDER, MARIO, FRANCISCO, MICHEAL, OSCAR, JAY, ALEX, JON, RONNIE, TOMMY, LEON, LEO, WESLEY, DEAN, DAN, LEWIS,COREY, MAURICE, VERNON, ROBERTO, CLYDE, SHANE, SAM, LESTER, CHARLIE, TYLER, GENE, BRETT, ANGEL, LESLIE, CECIL, ANDRE, ELMER, GABRIEL, MITCHELL, ADRIAN, KARL, CORY, CLAUDESI, JAMIE, JES KRISTEN, LONNIE, CODY, JULIO, KELLY, JIMMIE, JORDAN, JAIME, CASEY, JOHNNIE, SIDNEY, JULIAN, DARYL, VIRGIL, MARSHALL, PERRY, MARION, TRACY, RENE, FREDDIE, AUSTIN, JACKIE, JOEYA, DANA DONNIE, SHANNON, ANGELO, SHAUN, LYNN, CAMERON, BLAKE, KERRY, JEAN, IRA, RUDY, BENNIE, ROBIN, LOREN, NOEL, DEVIN, KIM, GUADALUPE, CARROLL, SAMMY, MARTY, TAYLOR, ELLISENCE, DALLAS, TAYLOR, ELLISENCE, DALLAS, DREW, JODY, FRANKIE, PAT, MERLE, TERRELL, DARNELL, TOMMIE, TOBY, VAN, COURTNEY, JAN, CARY, SANTOS, AUBREY, MORGAN, LOUIE, STACY, MICAH, BILLIE, LOGAN, DEMETRIUS, ROBBIE, KEMETRIUS, ROBBIE, KEMUDIAN MICKEY, DEVON, ASHLEY, CAREY, SON, MARLIN, ALI, SAMMIE, MICHEL, RORY, KRIS, AVERY, ALEXIS, GERRY, STACEY,CARMEN, SHELBY, RICKIE, BOBBIE, OLLIE, DENNY, DION, ODELL, MARY, COLBY, HOLLIS, KIRBY, CRUZ, MERRILL, LANE, CLEO, BLAIR, ANGKA, CLAIR, BERNIE, JOAN, DOMINIQUE, TRISTAN, JAME, GAME LAVERNE, ALVA, STEVIE, ERIN, AUGUSTINE, YOUNG, JOHNIE, ARIEL, DUSTY, LINDSEY, TRACEY, SCOTTIE, SANDY, SYDNEY, GAIL, DORIAN, LAVERN, REFUGIO, IVORY, ANDREA, SANG, DEON, CAROL, YONG, BERRY, TRINIDAD, SHIRLEY, MARIA, CHANG, ROSARIO, DANNIE, FRANCES, THANH, CONNIE, TORY, LUPE, DEE, SUNG, CHI, QUINN, MINH, THEO, LOU, CHUNG, VALENTINE, JAMEY, WHITNEY, SOL, CHONG, PARIS, OTHA, LACY, DONG, ANTONIA, KELLEY, CARROL, SHAYNE, VAL, JUDE, BRITT, HONG, LEIGH, GAYLE, JAE, NICKY, LESLEY, MAN, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINELDSAY, dan JEWELCLAIR, BERNIE, JOAN, DOMINIQUE, TRISTAN, JAME, GALE, LAVERNE, ALVA, STEVIE, ERIN, AUGUSTINE, YOUNG, JOHNIE, ARIEL, DUSTY, LINDSEY, TRACEY, SCOTTIE, SANDY, SYDNEY, GAIL, DORIANEF, LAVERNEY, GAILIO, DORIANEF, LAVERNEY IVORY, ANDREA, SANG, DEON, CAROL, YONG, BERRY, TRINIDAD, SHIRLEY, MARIA, CHANG, ROSARIO, DANNIE, FRANCES, THANH, CONNIE, TORY, LUPE, DEE, SUNG, CHI, QUINN, MINH, THEO, LOU, CHUNG, VALENTINE, JAMEY, WHITNEY, SOL, CHONG, PARIS, OTHA, LACY, DONG, ANTONIA, KELLEY, CARROL, SHAYNE, VAL, JUDE, BRITT, HONG, LEIGH, GAYLE, JAE, NICKY, LESLEY, MAN, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY, dan JEWELCLAIR, BERNIE, JOAN, DOMINIK, TRISTAN, JAME, GALE, LAVERNE, ALVA, STEVIE, ERIN, AUGUSTINE, YOUNG, JOHNIE, ARIEL, DUSTY, LINDSEY, TRACEY, SCOTTIE, SANDY, SYDNEY, GAIL, DORIANEF, LAVERNEY, GAILIO, DORIANEF, LAV IVORY, ANDREA, SANG, DEON, CAROL, YONG, BERRY, TRINIDAD, SHIRLEY, MARIA, CHANG, ROSARIO, DANNIE, FRANCES, THANH, CONNIE, TORY, LUPE, DEE, SUNG, CHI, QUINN, MINH, THEO, LOU, CHUNG, VALENTINE, JAMEY, WHITNEY, SOL, CHONG, PARIS, OTHA, LACY, DONG, ANTONIA, KELLEY, CARROL, SHAYNE, VAL, JUDE, BRITT, HONG, LEIGH, GAYLE, JAE, NICKY, LESLEY, MAN, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY, dan JEWELMARIA, CHANG, ROSARIO, DANNIE, FRANCES, THANH, CONNIE, TORY, LUPE, DEE, SUNG, CHI, QUINN, MINH, THEO, LOU, CHUNG, VALENTINE, JAMEY, WHITNEY, SOL, CHONG, PARIS, OTHA, LACY, DONG, ANTONIA, KELLEY, CARROL, SHAYNE, VAL, JUDE, BRITT, HONG, LEIGH, GAYLE, JAE, NICKY, LESLEY, MAN, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY, dan JEWELMARIA, CHANG, ROSARIO, DANNIE, FRANCES, THANH, CONNIE, TORY, LUPE, DEE, SUNG, CHI, QUINN, MINH, THEO, LOU, CHUNG, VALENTINE, JAMEY, WHITNEY, SOL, CHONG, PARIS, OTHA, LACY, DONG, ANTONIA, KELLEY, CARROL, SHAYNE, VAL, JUDE, BRITT, HONG, LEIGH, GAYLE, JAE, NICKY, LESLEY, MAN, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY, dan JEWEL

adalah semua nama yang cocok untuk pria dan wanita. Jika nama seorang gadis adalah Robert dan semua orang, termasuk perangkat lunak Anda, terus memanggilnya laki-laki, dia akan agak kesal.

nitromaster101
sumber
25
Mari kita asumsikan bahwa ada seorang gadis bernama Mark (silakan tunjukkan salah satunya). Jika saya adalah dia, saya akan marah pada orang tua saya dan bukan pada perangkat lunak Chas ...
Darko Z
6
Bagaimana jika perangkat lunak tidak pernah memanggilnya laki-laki, tetapi menampilkan UI versi "maskulin"? Atau dia disatukan dengan laki-laki dalam kumpulan data yang digunakan untuk mengembangkan jaminan pemasaran? Dia bahkan mungkin tidak menyadarinya.
Chris McCall
Untuk banyak nama ini, saya mendapatkan kepastian 100% berdasarkan data dari 500-1200 profil Facebook dari nama yang diberikan. api.genderize.io/?name=robert api.genderize.io/?name=andrew api.genderize.io/?name=john
Stromgren
3

Meskipun database mungkin adalah solusi yang paling praktis, jika Anda ingin bersenang-senang mungkin Anda dapat mencoba menulis jaringan saraf (atau menggunakan perpustakaan jaringan saraf) yang mengambil nama dan mengeluarkan salah satu dari 3 opsi tersebut (F, M, A ).

Anda bisa melatihnya menggunakan kumpulan data yang ada di database yang disarankan oleh jawaban lain, serta dengan data lain yang Anda miliki.

Solusi ini memungkinkan Anda menangani nama yang sebelumnya tidak dikategorikan secara khusus, dan juga menangani bahasa yang berbeda. Anda mungkin ingin meneruskan bahasa (jika Anda mengetahuinya) sebagai masukan ke jaringan saraf juga.

Saya tidak tahu apakah saya dapat mengatakan neural net (atau pembelajaran mesin lainnya) akan melakukan pekerjaan kategorisasi dengan baik.

keju
sumber
3

Tergantung budaya / wilayah: ambil Andrea, karena orang Italia hanya maskulin, karena Swedia adalah nama perempuan sedangkan Andreas untuk laki-laki; Shawn tidak jelas dalam bahasa Inggris. Jika suatu bahasa memiliki deklinasi, seperti Latin atau Rusia, huruf terakhir akan berubah sesuai dengan aturan tata bahasa,

Sumber ambiguitas lainnya adalah Nama keluarga yang identik dengan Nama pribadi.

Menurut pendapat saya, tidak mungkin untuk diselesaikan secara umum.

Giulio Vian
sumber
Jika OP memiliki variabel pendamping yang menunjukkan budaya asal, tempat lahir, kebangsaan, apa pun yang berguna. Tetapi dia mengatakan dia tidak melakukannya, jadi Anda hanya perlu membuat perkiraan berdasarkan informasi statistik berdasarkan agregat.
smci
3

Ide ini jelas tidak akan berhasil dalam kebanyakan bahasa.

Namun, jika Anda bisa mengetahui kebangsaan sebelumnya, Anda bisa lebih beruntung. Dalam kebanyakan bahasa Slavia (mis. Rusia, Polandia, Bulgaria) Anda dapat berasumsi bahwa semua nama keluarga yang diakhiri dengan -va -cha -ska (-a secara umum feminin) sedangkan -v -ch -shi adalah maskulin.

Nyatanya nama keluarga apapun memiliki bentuk feminin dan maskulin tergantung pada akhirnya. Nama yang sama yang digunakan di negara lain (misalnya AS) mungkin hanya menggunakan bentuk maskulin.

Hal yang sama bisa dikatakan untuk nama depan (-a -ya feminin) tetapi tidak 100% akurat.

Tetapi secara umum Anda tidak akan mendapatkan perpustakaan yang cukup akurat.

Dimitar Slavchev
sumber
bagaimana nama keluarga maskulin atau feminin?
Simon_Weaver
2
@Simon_Weaver Nama belakang ayah saya adalah Slavchev, dan nama keluarga ibu saya adalah Slavcheva. Sebenarnya dengan nama belakang yang sama, dieja berbeda untuk pria dan wemen. Ini umum untuk nama slavia.
Dimitar Slavchev
2

Saya belum pernah menggunakannya, tetapi IBM memiliki pustaka Analisis Nama Global (dengan harga tertentu!) Yang tampaknya cukup komprehensif.

altan
sumber
2

Direktori Z (di vettrasoft.com) memiliki fungsi bahasa C, bekerja seperti ini:

void func()
{
    char c = z_guess_sex_byfirstname ("Lon");
    switch(c)
    {
    case 'M': std::cout << "It's a boy!\n"; break;
    case 'F': std::cout << "It's a girl!\n"; break;
    case 'B': std::cout << "this name is for both sexes\n"; break;
    case '?': std::cout << "sex unknown sorry\n"; break;
    }
}

Ini didorong oleh basis data, tabel memiliki sesuatu seperti 10.000+ nama menurut saya, tetapi Anda perlu mengunduh dan menginstal direktori z (termasuk banyak item topo lainnya seperti negara, tengara geografis, bandara, negara bagian, kode area, kode pos-pos, dll. bersama dengan c ++ fungsi dan objek untuk mengakses data). Namun namanya sangat berorientasi pada bahasa Inggris. Tabel sedang dalam proses dan diperbarui secara bertahap.

gorth
sumber
1

Peta nama-gender dapat berfungsi tetapi di negara multikultural ini lebih seperti menebak-nebak. Saya dapat memberikan satu contoh: Maria dalam bahasa Polandia adalah nama khas maskulin, sedangkan nama yang sama di Inggris Raya adalah nama perempuan. Di era orang-orang yang berimigrasi di seluruh dunia, saya tidak yakin database semacam itu akan sangat akurat. Semoga berhasil!

Michal Rogozinski
sumber
1
Tidak, tapi selama itu lebih baik dari 50% itu mengalahkan memperlakukan nama seperti biasanya maskulin.
Chas. Owens
@ Chas, jadi mengapa berpegang teguh pada dikotomi palsu itu? Anda memiliki pilihan untuk netralitas gender.
bignose
kami bahkan memiliki 2 politikus terkenal yang memiliki nama kedua 'maria' - 'mary' yang akan diklasifikasikan dalam database Anda sebagai feminin. hanya untuk lol.
zalew
@ JZ Saya berbicara tentang nama depan bukan nama belakang (atau sebaliknya untuk budaya yang melakukan kebalikannya).
Chas. Owens
@bignose, bahasa netral gender terlihat aneh dan berbelit-belit, saya lebih suka menghasilkan sesuatu yang terlihat lebih bagus saat saya bisa. Ini tidak dikomunikasikan kembali ke individu (jika mereka ada), jadi tidak ada peluang untuk melakukan pelanggaran, saya tidak tahu mengapa orang menghabiskan begitu banyak waktu untuk memperdebatkan ini daripada hanya menyediakan tautan ke database jika mereka tahu yang baik satu.
Chas. Owens
1

Beberapa budaya memiliki nama yang unik - seperti nama saya. Lalu apa yang kamu lakukan? Saya pikir jawabannya jelas dan sederhana - jangan berasumsi - Anda bisa membuat Anda tersinggung. Tanyakan saja jika diperlukan, jika tidak, netralitas gender.

Preet Sangha
sumber
5
Pertanyaan tersebut sudah menjawab jawaban Anda: alex => "A", #ambiguous. Apakah pertanyaan tersebut memiliki jawaban atau tidak, jawaban Anda bukan.
Pemrogram Windows
Saya tidak setuju - Maksud saya adalah bahwa semua nama berpotensi ambigu.
Preet Sangha
Jika namanya uniseks maka semuanya akan diklasifikasikan sebagai A dan saya akan memilih netralitas gender, tetapi jika sebuah nama didominasi oleh maskulin atau feminin, saya dapat menggunakan bahasa yang lebih alami.
Chas. Owens
Saya mengerti apa alasan Anda tetapi saya merujuk Anda ke komentar terakhir.
Preet Sangha
3
Tetapi jika Anda melihat "Preet" di StackOverflow, itu mungkin laki-laki.
Nosredna
1

Nah, sekarang tidak lagi. IBM mematenkan ide itu beberapa waktu lalu.

Jadi jika Anda mencari tingkat kelenturan apa pun (sesuatu selain daftar nama), Anda harus (terkesiap!) Bertanya kepada pengguna, atau cukup membayar IBM untuk mendapatkan hak :)

Bagaimanapun, pendeteksian otomatis seperti itu mengganggu banyak orang yang memiliki nama yang ambigu gender, atau bahkan orang tua yang kejam. Jangan membuat ini lebih sulit bagi mereka.

lfaraone
sumber
3
Sepertinya IBM telah mematenkan pemilihan avatar berdasarkan nama. Untungnya itu bukan salah satu aplikasi yang ingin saya gunakan untuk ini, jadi saya tidak melanggar paten mereka. Adapun untuk menanyakan pengguna, itu mengasumsikan saya memiliki pengguna untuk ditanyakan sebagai lawan dari daftar nama. Saya telah berulang kali mengatakan bahwa tidak ada pengguna, tidak ada interaksi, dan tidak ada pesan yang ditujukan ke orang-orang yang memiliki nama tersebut.
Chas. Owens
1

Ini tidak gratis, tetapi ini adalah perpustakaan bagus yang pernah saya gunakan sebelumnya:

NetGender untuk .NET memungkinkan Anda dengan cepat dan mudah membangun Verifikasi Nama, Parsing, dan Penentuan Jenis Kelamin ke dalam aplikasi khusus Anda. Memverifikasi secara akurat apakah bidang tertentu berisi individu atau perusahaan yang valid. NetGender menggunakan 100.000+ Kamus Nama yang beragam secara etnis yang dikombinasikan dengan 8.000+ Kamus Nama Perusahaan untuk memastikan penentuan jenis kelamin yang tepat.

http://www.softwarecompany.com/dotnet/netgender.htm

Richard West
sumber
1

Sangat menarik bahwa Anda mengatakan Anda memiliki tanggal lahir. Itu bisa membantu. Saya telah melihat database sejarah popularitas nama.

Dalam film Splash (1984), lucu bahwa karakter Darryl Hannah memilih nama "Madison" dari papan nama jalan Madison Avenue, karena jelas "Madison" bukanlah nama perempuan.

24 tahun kemudian, Madison adalah nama terpopuler ke-4 untuk bayi perempuan!


Sebutkan sejarah dari pemerintah. (Lihat penurunan menyedihkan Mary selama 100 tahun terakhir.)


Ketika saya menulis ke Gedung Putih sebagai seorang anak, Richard Nixon (atau, mungkin seorang sekretaris) menanggapi saya dengan beberapa foto dari tempat bersejarah, yang ditujukan kepada "Nona Rhett Anderson." "Nona Rhett?" Ini bahkan tidak masuk akal! Bisakah kita BENAR-BENAR tidak membedakan antara Clark Gable Rhett (dengan kumis, di Gone With The Wind!) Dan Scarlett dari Vivian Lee? Saya tidak akan pernah memaafkannya, terlepas dari kepastian Neil Young bahwa "bahkan Richard Nixon pun memiliki jiwa."

Nosredna
sumber
Poin bagus, tanggal pasti ikut bermain di sini.
Chas. Owens
1

Saya cukup yakin tidak ada layanan seperti itu dengan tingkat akurasi yang dapat diterima. Berikut adalah masalah yang menurut saya tidak dapat diatasi:

  • Ada banyak nama untuk pria dan wanita.
  • Ada banyak nama berbeda di dunia ini, meskipun Anda hanya mempertimbangkan satu negara.
  • Ada masalah "A Boy Named Sue", yang diangkat dengan begitu fasih oleh Johnny Cash :-)
Steve McLeod
sumber
2
Basis data yang baik akan memiliki persentase pria / wanita untuk nama berkelamin dua menurut wilayah dan kapan sampel diambil, dll.
Bagaimana dengan bahasa seperti bahasa Jepang? Saya belajar bahasa Jepang jadi saya mungkin salah di sini, tetapi nama <-> Kanji bukanlah hubungan yang lurus ke depan, ada permainan kata dan kesalahpahaman tentang kanji "apa" yang membentuk nama seseorang.
Firaun
1

Anda dapat melihat proyek deteksi gender python saya https://github.com/muatik/genderizer

Ia mencoba mendeteksi jenis kelamin pengarang yang mencari nama dan / atau contoh teks (misalnya tweet) dari mereka.

Dan itu juga mendukung mongodb, memcache untuk kinerja.

Muatik
sumber
Kelihatannya bagus tetapi jika Anda membutuhkannya untuk menjadi "negara asal", lihat gender.c atau genderize.io di bawah
HaveAGuess
0

Ini sebenarnya bukan masalah pemrograman - ini bermuara pada mendapatkan tabel probabilitas.

AFAIK tidak ada database publik dalam bentuk suling. Anda bisa membuat ini dari data sensus, atau membeli data dari seseorang.

Misalnya, ini adalah seseorang yang menjual tabel probabilitas untuk Kanada .

Uri
sumber
0

IMHO, menentukan jenis kelamin dari nama individu bukanlah ide yang bagus. Banyak nama yang interseksual (ya ampun, apakah ini sebuah kata ?? :-), dan juga mereka mungkin satu jenis kelamin dalam satu budaya dan budaya lain di budaya lain.

Beberapa contoh bodoh, hanya beberapa yang terlintas dalam pikiran (dari bagian dunia saya, CE)

Vanja - perempuan, di negara timur dari sini, kebanyakan laki-laki
Alex - interseks (kependekan dari Sandra, perempuan, dan Sandro, laki-laki)
Robin - dalam budaya barat, bisa keduanya

Di beberapa belahan dunia, jenis kelamin seseorang dapat ditentukan dengan melihat bagaimana nama itu berakhir. Misalnya, Marija, Sandra, Ivana, Petra, Sara, Lucija, Ana - Anda dapat melihat bahwa sebagian besar nama wanita ini diakhiri dengan "ja" atau "ra". Ada contoh lain juga.

Tetap saja, saya pikir lebih baik meminta pengguna untuk berhubungan seks.

Benteng
sumber
9
"Tetap saja, saya pikir lebih baik meminta pengguna untuk berhubungan seks." - Saya setuju, itu akan jauh lebih baik daripada memposting komentar di Stack Overflow.
Pemrogram Windows
2
UPS. Okeey, itu tidak keluar dengan benar :-)
Benteng
Lebih baik sebelum mengedit :-)
Pemrogram Windows
0

Saya tahu tidak ada layanan seperti itu. Namun, Anda mungkin dapat menemukan data yang Anda cari. Pemerintah AS menerbitkan data tentang prevalensi nama dan jenis kelamin orang yang mengikat mereka. Administrasi Jaminan Sosial punya halaman seperti itu , dan sensus mungkin juga, tapi saya belum meluangkan waktu untuk melihat. Mungkin pemerintah dunia lain melakukan hal serupa.

rmeador
sumber
0

Namun, saya tahu tidak ada layanan seperti itu ..

  • Anda bisa mulai dengan daftar mentah nama orang atau
  • tebak jenis kelamin menurut beberapa aturan (eg -o => male, -ela, -a => female)

Di beberapa negara (mis. Jerman) nama seseorang dapat diberikan dibatasi oleh undang-undang - mungkin ada beberapa publikasi tentang masalah itu, yang dapat dipanen (tetapi saya tidak tahu satu pun saat ini).

miku
sumber
0

Yang akan saya lakukan adalah membuat peretasan yang mengambil nama dan mencarinya di api facebook. Kemudian lihat pengguna yang dihasilkan dan hitung berapa banyak dari mereka adalah wanita atau pria. Anda kemudian dapat mengembalikan persentase. Tidak begitu tidak dapat diatasi lagi. :)

ajayjapan
sumber
-2

Tanyakan saja kepada orang-orang, dan jika mereka baik, mereka akan memberi Anda 'M atau' F, dan jika tidak, beri mereka 'A'.

Azder
sumber
2
Saya tidak berkomunikasi dengan orang-orang yang namanya ingin saya petakan.
Chas. Owens