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.
sumber
Jawaban:
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.
sumber
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:
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.
sumber
"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.
sumber
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
sumber
Berikut adalah dua pendekatan eksentrik yang bahkan mungkin tidak berhasil, dan kemungkinan besar tidak akan berfungsi secara massal tanpa melanggar persyaratan lisensi:
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.
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".
sumber
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:
Itu akan kurang canggung jika ditulis:
sumber
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.
sumber
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.
sumber
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.
sumber
Satu-satunya hal yang akan Anda dapatkan dari mencoba mengotomatiskannya adalah sekelompok pengguna yang tidak senang. Dari data sensus itu:
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.
sumber
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.
sumber
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.
sumber
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.
sumber
Saya belum pernah menggunakannya, tetapi IBM memiliki pustaka Analisis Nama Global (dengan harga tertentu!) Yang tampaknya cukup komprehensif.
sumber
Direktori Z (di vettrasoft.com) memiliki fungsi bahasa C, bekerja seperti ini:
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.
sumber
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!
sumber
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.
sumber
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.
sumber
Ini tidak gratis, tetapi ini adalah perpustakaan bagus yang pernah saya gunakan sebelumnya:
http://www.softwarecompany.com/dotnet/netgender.htm
sumber
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."
sumber
Saya cukup yakin tidak ada layanan seperti itu dengan tingkat akurasi yang dapat diterima. Berikut adalah masalah yang menurut saya tidak dapat diatasi:
sumber
Lihat http://genderchecker.com/
sumber
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.
sumber
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 .
sumber
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.
sumber
Dapatkan ini dari diskusi berita peretas tentang ini
sumber
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.
sumber
Namun, saya tahu tidak ada layanan seperti itu ..
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).
sumber
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. :)
sumber
Tanyakan saja kepada orang-orang, dan jika mereka baik, mereka akan memberi Anda 'M atau' F, dan jika tidak, beri mereka 'A'.
sumber