มีใครรู้จักห้องสมุดที่ดีสำหรับการทำแผนที่ชื่อบุคคลกับเพศของเขาหรือไม่? [ปิด]


90

ฉันกำลังมองหาห้องสมุดหรือฐานข้อมูลที่สามารถคาดเดาได้ว่าบุคคลนั้นเป็นชายหรือหญิงตามชื่อหรือชื่อเล่นของเขาหรือเธอ สิ่งที่ต้องการ

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

ฉันกำลังมองหาสิ่งที่รองรับชื่ออื่นที่ไม่ใช่ชื่อภาษาอังกฤษ (เช่นญี่ปุ่นอินเดีย ฯลฯ )

ก่อนที่ฉันจะได้รับคำตอบอีกครั้งว่า "คุณกำลังทำให้คนอื่นขุ่นเคืองโดยถือว่าเพศ / เพศของพวกเขา" ขอบอกให้ชัดเจนว่าแอปพลิเคชันของฉันไม่โต้ตอบกับใครเลย มันไม่ส่งอีเมลหรือติดต่อใครเลย ไม่มีผู้ใช้ให้ถาม ในหลายกรณีบุคคลที่เป็นปัญหาเสียชีวิตแล้วข้อมูลเดียวที่ฉันมีคือชื่อวันเกิดและวันที่เสียชีวิต เหตุผลที่ฉันต้องการทราบเพศของแต่ละบุคคลคือการทำให้ไวยากรณ์ของผลลัพธ์ดีขึ้นและเพื่อช่วยในการค้นหาที่อาจเกิดขึ้นในภายหลัง


33
ว้าว ... ดูเหมือนทุกคนจะตอบคำถาม "ฉันควรทำแบบนี้" มากกว่าคำถามที่ถามว่า "ฉันจะทำสิ่งนี้ได้อย่างไร" ไม่น่าแปลกใจที่น่าสนใจเพียง
bsneeze

9
ฉันคิดว่านี่เป็นคำถามที่ดีจริงๆ หากคุณไปที่เว็บไซต์และ 90% ของเวลาที่ระบุเพศของคุณฉันจะเห็นประโยชน์ ฉันหวังว่าทีวีของฉันจะทำได้เหมือนกัน ฉันกำลังดูการฉายซ้ำของ King of the Hill ในเที่ยวบินล่าสุดและทุกๆ 3 นาทีจะมีโฆษณา "เครื่องนวดส่วนตัว"
Uri

6
@mP ว้าววิธีที่จะเปลี่ยนจากการเดาเพศเพื่อให้ไวยากรณ์ดีขึ้นไปจนถึงการจัดทำโปรไฟล์เชื้อชาติ
Chas. Owens

2
Chas ไม่ใช่สิ่งที่ผู้คนไม่ต้องการให้คุณเพราะสิ่งที่มีศีลธรรมมันเหมือนกับว่ามันไม่มีเหตุผลในตอนแรกดังนั้นคุณจึงขอวิธีแก้ปัญหาที่ล้มเหลว นอกจากนี้คุณพูดถึงชื่ออื่นที่ไม่ใช่ชื่อภาษาอังกฤษและในการอ้างอิงข้ามวัฒนธรรมมันจะซับซ้อนยิ่งขึ้น สำหรับฉันมันไม่ใช่เรื่องง่ายเลย
zalew

2
คุณจะบอกได้อย่างไรว่าชื่อเป็นชายหรือหญิง? อเล็กซ์อาจเรียกสั้น ๆ ว่าอเล็กซานเดอร์ (ชาย) หรืออเล็กซานดรา (หญิง) ฉันรู้จักมีคาห์คนหนึ่งที่เป็นผู้ชายและคนหนึ่งที่เป็นผู้หญิง แล้วชื่อต่างประเทศล่ะ?
Gabe

คำตอบ:


66

เพศของชื่อเป็นสิ่งที่ไม่สามารถอนุมานทางโปรแกรมได้ในกรณีทั่วไป คุณต้องมีฐานข้อมูลชื่อ นี่คือฐานข้อมูลชื่อฟรีจากสำนักสำมะโนประชากรสหรัฐ

แก้ไข : ลิงก์สำหรับชื่อ 2010 ใช้งานไม่ได้ แต่มีลิงก์ที่ใช้งานได้และไลบรารีในความคิดเห็น


2
นี่มันเยี่ยมมาก ดูเหมือนจะเป็นเพียงสิ่งที่ผู้ถามต้องการ ชื่อที่ไม่ชัดเจนอาจมีเพศที่ "เดา" ตามความถี่ของเพศชายและความถี่ของเพศหญิง
stalepretzel

1
ฉันสร้างห้องสมุดสำหรับสิ่งนี้โดยใช้ข้อมูลสำมะโนประชากรและมันใช้งานได้ดี! การใช้งานที่เป็นไปได้: การวิเคราะห์การเลือกเพศเสียง IVR
Chris McCall

9
ชื่อ -> เพศจากข้อมูลสำมะโนประชากรเป็น python dict: raw.github.com/Bemmu/gender-from-name/master/gender.py
Bemmu

3
ลิงก์เดิมตายไปแล้ว แต่การสำรวจสำมะโนประชากรยังคงรักษารายการไว้ เวอร์ชันเฉพาะสำหรับปี 1990 (ฉันไม่รู้ว่าทำไม) อยู่ที่นี่: census.gov/genealogy/www/data/1990surnames/names_files.html
Chipmonkey

2
ชื่อทารกในสหรัฐอเมริกา 22MB พร้อมเพศตามปีเกิด: ssa.gov/oact/babynames/limits.html (ลิงก์ใช้ได้ในเดือนกรกฎาคม 2015)
Dylan Hogg

70

gender.c เป็นโปรแกรม C แบบโอเพนซอร์สที่ทำงานได้ดี มาพร้อมกับข้อมูลสำหรับ 44568 ชื่อจากทั่วทุกมุมโลก มีเอกสารที่ดีและคำอธิบายรูปแบบไฟล์ (โดยทั่วไปเป็นข้อความธรรมดา) ดังนั้นจึงไม่ควรยากที่จะอ่านจากแอปพลิเคชันของคุณเอง

นี่คือสิ่งที่ผู้เขียนพูด:

คำไม่กี่คำเกี่ยวกับคุณภาพของข้อมูล

พจนานุกรมของชื่อได้ถูกจัดทำขึ้นอย่างระมัดระวัง ตัวอย่างเช่นชื่อตุรกีอินเดียและเกาหลีในพจนานุกรมนี้ล้วนได้รับการจัดประเภทอย่างอิสระโดยเจ้าของภาษาหลายคน ฉันยังดูแลเป็นพิเศษในการระบุเฉพาะชื่อที่สามารถพบได้ในปัจจุบัน

บทเรียนจากสิ่งนี้?

การปรับเปลี่ยนใด ๆ ควรกระทำอย่างระมัดระวัง (และต้องเป็นไปตามการเรียงลำดับที่กำหนดโดยอัลกอริทึมการค้นหา) ตัวอย่างเช่นเมื่อทราบว่า "Sascha" เป็นชื่อเด็กผู้ชายในเยอรมนีผู้เขียนไม่เคยสันนิษฐานว่า "Sasha" เป็นชื่อของเด็กผู้หญิงในภาษาอังกฤษ เมื่อรู้ว่า "แจน" เป็นชื่อเด็กผู้ชายในเยอรมนีฉันไม่เคยคิดว่ามันเป็น "เจเน็ต" ในรูปแบบย่อภาษาอังกฤษ อีกกรณีหนึ่งคือชื่อ "Esra" นี่คือชื่อเด็กผู้ชายในเยอรมนี แต่เป็นชื่อของเด็กผู้หญิงในตุรกี

โปรแกรมคำนวณความน่าจะเป็นที่ชื่อเป็นเพศชายหรือเพศหญิง สามารถทำได้โดยใช้ชื่อเป็นอินพุตเพียงอย่างเดียวหรือด้วยชื่อและประเทศต้นทางซึ่งให้ผลลัพธ์ที่ดีกว่าอย่างเห็นได้ชัด

คุณสามารถดาวน์โหลดได้จากเว็บไซต์ของนิตยสารคอมพิวเตอร์เยอรมัน c't 40 000 Namen บทความนี้เป็นภาษาเยอรมัน แต่ไม่ต้องกังวลเอกสารทั้งหมดเป็นภาษาอังกฤษ นี่คือลิงค์ ftp โดยตรง0717-182.zipหากคุณไม่สนใจบทความ zip-File ประกอบด้วยซอร์สโค้ดโปรแกรมปฏิบัติการของ Windows ฐานข้อมูลและเอกสารประกอบ


มันวิเศษมากขอบคุณ
Dale Athanasias

ดูที่นี่สำหรับพอร์ตหลาม - pypi.python.org/pypi/SexMachine
philshem

33

“ ฉันบอกแล้วชีวิตไม่ง่ายสำหรับเด็กที่ชื่อ 'ซู' "

... แล้วทำไมต้องทำให้ยากขึ้นล่ะ? ถ้าคุณต้องการรู้เพศก็ถาม ... ไม่งั้นไม่ต้องกังวลไป


15
@Chas: แม้ว่าคุณจะจัดการให้ถูกต้อง 80% ของเวลา แต่ก็ยังทำให้คนสองในสิบคนที่ใช้ซอฟต์แวร์ของคุณระคายเคือง ไม่ดีนัก ... ฉันเข้าใจแรงจูงใจ แต่คุณควรใช้ถ้อยคำซ้ำในข้อความที่เป็นกลางทางเพศดีกว่า
Shog9

2
สงสัยมีใครจำ "แพท" จาก SNL ได้
erickson

8
อ่านข้อความนี้อีกครั้งฉันกำลังเผยแพร่คำเทศนาที่น่ากลัว ... ไม่ได้ตั้งใจที่จะวางความคิดของคุณฉันคิดว่ามันน่าสนใจ ... ฉันเคยทำงานเป็นนักการตลาดทางโทรศัพท์และไม่ว่าคุณจะรู้จักกี่ชื่อไม่ว่าคุณจะจำเสียงได้ดีแค่ไหนคุณก็ยังเดาผิดในบางครั้ง ... และมันก็ไม่เคยสนุกเลย และเพื่อให้มันเป็นสิ่งที่ฉันจะหลีกเลี่ยงเว้นแต่มีขนาดใหญ่ผลตอบแทนที่ยิ่งใหญ่สำหรับการจัดการที่จะคาดเดาว่ามันขวา
Shog9

3
ฉันจะรับคำแนะนำของ Shog9 เว้นแต่ว่าแอปพลิเคชันของคุณจะเป็นภาษาอื่นที่ไม่ใช่ภาษาอังกฤษการใช้สรรพนามที่เป็นกลางทางเพศอาจจะง่ายกว่าเช่นพวกเขาหนึ่งคน s / เขาเป็นต้น
Calvin

11
แฟนผมชื่อ Kevan เธอมีคนเดาเพศจากชื่อของเธอผิดมากพอสมควรเธอไม่จำเป็นต้องใช้คอมพิวเตอร์ด้วย สิ่งที่ต้องระวังคือการสร้างรายการฐานข้อมูลที่ระบุเพศของผู้ใช้ตามการคาดเดาของคอมพิวเตอร์ คนที่ดูนั่นอาจคิดว่ามันมาจากบุคคลนั้นเองและสับสนจริงๆเมื่อสมมติฐานของพวกเขากลายเป็นสิ่งที่ผิด (ตรงข้ามกับสับสนเพียงเล็กน้อยตามชื่อเพียงอย่างเดียว)
Brian Campbell

29

ฉันได้สร้าง API ฟรีที่ให้การคาดเดาที่น่าจะเป็นไปได้สำหรับเพศตามชื่อจริง แทนที่จะใช้วิธีการใด ๆ ข้างต้นฉันใช้ชุดข้อมูลขนาดใหญ่จากเครือข่ายโซเชียลแทนเพื่อให้การคาดเดาที่น่าจะเป็นไปได้พร้อมกับปัจจัยที่แน่นอน นอกจากนี้ยังรองรับการกรองทางเลือกผ่านรหัสประเทศหรือภาษา นับวันจะดีขึ้นเรื่อย ๆ เมื่อมีการเพิ่มโปรไฟล์ลงในชุดข้อมูล

ใช้งานได้ฟรีที่http://genderize.io

สิ่งหนึ่งที่คุณควรพิจารณาคือการใช้เครื่องมือที่คำนึงถึงข้อมูลประชากรเนื่องจากหลักการตั้งชื่อจะอาศัยสิ่งนี้เป็นอย่างมาก

ตัวอย่าง

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"}

2
ส่วนขยายโค้ด - genderize.io/#extensions
philshem

22

ต่อไปนี้เป็นวิธีการเล่นบอลแบบแปลก ๆ สองวิธีที่อาจไม่ได้ผลและมีแนวโน้มว่าจะไม่ได้ผลโดยไม่ละเมิดข้อกำหนดของใบอนุญาต:

  1. ใช้ Facebook API (ซึ่งแทบไม่รู้เลยว่ามันอาจจะเป็นไปไม่ได้ด้วยซ้ำ) เพื่อทำการค้นหาสองครั้ง: หนึ่งสำหรับผู้ใช้ FB ชายที่มีชื่อนั้นและอีกอันสำหรับผู้หญิง ใช้ตัวเลขสองตัวเพื่อตัดสินความน่าจะเป็นของเพศ

  2. หลวมกว่ามาก แต่ปรับขนาดได้มากขึ้นให้ใช้ Google API และค้นหาชื่อพร้อมสรรพนามเฉพาะเพศและเปรียบเทียบตัวเลข ตัวอย่างเช่นมีผลการค้นหา 592,000,000 รายการสำหรับการค้นหา "Richard his" (ไม่ใช่วลี) แต่มีเพียง 179,000,000 รายการสำหรับ "Richard her"


นอกเหนือจากความเห็นพ้องโดยทั่วไปในการมีซอฟต์แวร์ที่พยายามเดาสิ่งต่างๆเช่นเพศจากชื่อจริงนี่เป็นคำตอบอัลกอริทึมที่ยอดเยี่ยมสำหรับคำถามดั้งเดิม ทำได้ดี.
peSHIr

ความคิดที่ดี. คุณอาจใช้คำบางคำในภาษาของประเทศนั้น ๆ เพื่อแปลเป็นภาษาท้องถิ่น
Nosredna

จุดดี Nosrenda ... แน่นอนว่า Google ยังให้คุณกรองผลการค้นหาตามรหัสภาษาอยู่แล้ว คุณยังสามารถขโมยภาษาที่ผู้ใช้ต้องการได้จากคำขอ HTTP การตั้งค่าภาษาของเบราว์เซอร์ของพวกเขาอาจหรือไม่ตรงกับชาติพันธุ์ของชื่อ แต่นี่ก็เป็นเทคนิคที่คลุมเครืออยู่ดี
richardtallent

2
ฉันพบว่า Google เป็นคนที่ชอบคลั่งไคล้: ผลลัพธ์กลับมาสำหรับผู้ชายมากกว่าผู้หญิงเนื่องจากมีผู้ชายอยู่ใน Google มากขึ้น Facebook API น่าจะเป็นตัวแทนมากกว่า
Chris McCall

6

เมื่อพิจารณาถึงข้อ จำกัด ที่คุณระบุไว้ตัวเลือกที่ดีที่สุดของคุณคือการเปลี่ยนวลีใหม่ว่าคุณกำลังเขียนอะไรให้เป็นกลางทางเพศเว้นแต่คุณจะรู้ว่าพวกเขาต้องการให้เรียกว่าเพศอะไรในแต่ละกรณี

หากเขียนเป็นภาษาอังกฤษโปรดจำไว้ว่า"พวกเขา" ที่เป็นเอกพจน์สามารถใช้เป็นคำสรรพนามเอกพจน์บุคคลที่สามที่เป็นกลางทางเพศ

ตัวอย่างที่ดีคือชื่อคำถามนี้ ในขณะนี้:

    …การแมปชื่อบุคคลกับเพศของเขาหรือเธอ?

มันจะอึดอัดน้อยลงถ้าเขียน:

    …การแมปชื่อคนกับเพศ?

มันไม่ค่อย "สมบูรณ์แบบ" ทางไวยากรณ์ แม้แต่บทความ Wikipedia ก็ยอมรับว่ามีการใช้โดยเฉพาะอย่างยิ่งในบริบทสมัยใหม่อันเป็นผลมาจากความรู้สึกไม่สบายใจของนักเขียนบางคนกับคำว่า "he" ทั่วไป ฉันไม่มีปัญหาใหญ่กับนักเขียนที่ทำเช่นนี้ (แม้ว่าความเป็นกลางทางเพศจะสำคัญมาก แต่ฉันก็ชอบที่จะใช้คำสรรพนามซ้ำเพื่อที่ฉันจะได้ใช้สรรพนามเช่น "หนึ่ง") แต่ขอเรียกมันว่ามันคืออะไร
Ben Collins

ฉันจะเถียงว่าเราถูกทั้งคู่ ไวยากรณ์ทั้งหมดโดยเฉพาะไวยากรณ์ภาษาอังกฤษมีปัญหาสำคัญ แต่ฉันจะบอกว่าคำจำกัดความของ“ ไวยากรณ์ที่สมบูรณ์แบบ” ที่ใช้กับอะไรก็ได้ในภาษาอังกฤษก็ใช้ได้เช่นกัน ไม่ว่าเอกพจน์ "พวกเขา" เป็นไวยากรณ์ที่สมบูรณ์แบบหรือไม่มีอะไรในภาษาอังกฤษคือ :-)
bignose

หมายเหตุ Grammar Girl (ผู้เขียน Mignon Fogarty) เอนเอียงไปสู่การยอมรับเอกพจน์ "พวกเขา" มาระยะหนึ่งแล้ว grammar.quickanddirtytips.com/…
Karen Lopez

4

นอกจากนี้ยังเป็นการปฏิบัติที่ไม่ดีที่จะสมมติว่าผู้ใช้ต้องเป็นชายหรือหญิง มีคน "intersex" จำนวนน้อย แต่มีนัยสำคัญซึ่งส่วนใหญ่ป่วยอย่างหนักที่ไม่มีช่องให้ทำเครื่องหมาย ..
bignose: น่าสนใจที่ "เอกพจน์พวกเขา" ฉันไม่รู้เลยว่ามันมีประวัติศาสตร์อันยาวนานเช่นนี้


4

ไม่ใช่บริการ แต่เป็นแอปเล็ก ๆ ที่มีฐานข้อมูล:
http://www.codeproject.com/KB/cpp/genderizer.aspx

และเครื่องมือนี้เป็นภาษาเยอรมัน:
http://www.faq-o-matic.net/2011/06/01/zu-einem-vornamen-das-geschlecht-finden/

และอีกรายการหนึ่งใน VB:
http://www.vbarchiv.net/tipps/tipp_1925-geschlecht-anhand-des-vornamens-ermitteln.html

ฉันคิดว่าเมื่อรวมกับรายการ "ชื่อแรกที่ใช้บ่อยที่สุดในปี 2011" คุณน่าจะสามารถสร้างสิ่งที่ดีได้


4

แพคเกจหลามSexMachineจะทำเพื่อคุณ ระบุชื่อใด ๆ ที่จะส่งกลับหากเป็นชายหญิงหรือหญิง อาศัยข้อมูลจากโปรแกรมgender.cโดย Jorg Michael


3

สิ่งเดียวที่คุณจะได้รับจากการพยายามทำให้เป็นอัตโนมัติคือผู้ใช้ที่ไม่พึงพอใจจำนวนมาก จากข้อมูลสำมะโนประชากรนั้น:

เจมส์, จอห์น, โรเบิร์ต, ไมเคิล, วิลเลียม, ดาวิด, ริชาร์ด, ชาร์ลส์, โจเซฟ, โธมัส, คริสโตเฟอร์, แดเนียล, พอล, มาร์ก, โดนัลด์, จอร์จ, เคนเน ธ , สตีเวน, เอ็ดเวิร์ด, ไบรอัน, โรนัลด์, แอนโธนี, เคนเน ธ GARY, TIMOTHY, JOSE, LARRY, JEFFREY, FRANK, SCOTT, ERIC, STEPHEN, ANDREW, RAYMOND, GREGORY, JOSHUA, JERRY, DENNIS, WALTER, PATRICK, Peter, HAROLD, HENRY, CARL, ARTHUR, RYANUE, JOE JACK, ALBERT, JUSTIN, TERRY, GERALD, KEITH, SAMUEL, WILLIE, LAWRENCE, ROY, BRANDON, ADAM, FRED, BILLY, Louis, JEREMY, AARON, RANDY, EUGENE, CARLOS, RUSSELL, BOBBY, VICTOR, MORE SHAWN, CLARENCE, SEAN, CHRIS, JOHNNY, JIMMY, ANTONIO, TONY, LUIS, MIKE, DALE, CurtIS, NORMAN, ALLEN, GLENN, TRAVIS, LEE, MELVIN, KYLE, FRANCIS, JESUS, RAY, JOEL, EDDIE, RAY, JOEL, EDDIE อเล็กซานเดอร์, มาริโอ, ฟรานซิสโก, มิชเอล, ออสการ์, เจย์, อเล็กซ์, จอน, รอนนี่, ทอมมี่, ลีออน, ลีโอ, เวสลีย์, แดน, แดน, เลวิส,COREY, MAURICE, VERNON, ROBERTO, CLYDE, SHANE, SAM, LESTER, CHARLIE, TYLER, GENE, BRETT, ANGEL, LESLIE, CECIL, ANDRE, ELMER, GABRIEL, MITCHELL, ADRIAN, KARL, CORY, CLAUDE, JAMIE, CORY, CLAUDE, JAMIE CHRISTIAN, LONNIE, CODY, JULIO, KELLY, JIMMIE, JORDAN, JAIME, CASEY, JOHNNIE, SIDNEY, JULIAN, DARYL, VIRGIL, MARSHALL, PERRY, MARION, TRACY, RENE, FREDANA, AUSTIN, JACKIE, JACKIE, JACKIE DONNIE, SHANNON, ANGELO, SHAUN, LYNN, CAMERON, BLAKE, KERRY, JEAN, IRA, RUDY, BENNIE, ROBIN, LOREN, NOEL, DEVIN, KIM, GUADALUPE, CARROLL, SAMMY, MARTY, TAYLOR, ELLIS DREW, JODY, FRANKIE, PAT, MERLE, TERRELL, DARNELL, TOMMIE, TOBY, VAN, COURTNEY, JAN, CARY, SANTOS, AUBREY, MORGAN, LOUIE, STACY, MICAH, BILLIE, LOGAN, DEMETRIUS, ROBBIE, KEND MICKEY, DEVON, ASHLEY, CAREY, SON, MARLIN, ALI, SammiE, MICHEL, RORY, KRIS, AVERY, ALEXIS, GERRY, STACEYCARMEN, SHELBY, RICKIE, BOBBIE, OLLIE, Denny, DION, ODELL, MARY, COLBY, HOLLIS, KIRBY, CRUZ, MERRILL, LANE, CLEO, BLAIR, NUMBERS, CLAIR, BERNIE, JOAN, DomINIQUE, JAME, TRISTAN LAVERNE, ALVA, STEVIE, ERIN, AUGUSTINE, Young, JOHNIE, ARIEL, DUSTY, LINDSEY, TRACEY, SCOTTIE, SANDY, SYDNEY, GAIL, DORIAN, LAVERN, REFUGIO, IVORY, ANDREA, SANG, DEON, CAROL, Y 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, LEWINDSAY และ JEWELLCLAIR, BERNIE, JOAN, DomINIQUE, TRISTAN, JAME, GALE, LAVERNE, ALVA, STEVIE, ERIN, AUGUSTINE, YOUNG, JOHNIE, ARIEL, DUSTY, LINDSEY, TRACEY, SCOTTIE, SANDY, SYDNEY, GFUAIL, DAVERI 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 และ JEWELCLAIR, BERNIE, JOAN, DomINIQUE, TRISTAN, JAME, GALE, LAVERNE, ALVA, STEVIE, ERIN, AUGUSTINE, YOUNG, JOHNIE, ARIEL, DUSTY, LINDSEY, TRACEY, SCOTTIE, SANDY, SYDNEY, GFUAIL, DAVERI 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 และ JEWELมาเรียชางโรซาริโอแดนนี่แฟรนไชส์ธันคอนนี่เรื่องลูปดีซันชิควินมินธีโอลูจังวาเลนไทน์เจมส์วิทนีย์โซลชองปารีสโอธาลาซี DONG, ANTONIA, KELLEY, CARROL, SHAYNE, VAL, JUDE, BRITT, HONG, LEIGH, GAYLE, JAE, NICKY, LESLEY, MAN, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY และ JEWELมาเรียชางโรซาริโอแดนนี่แฟรนไชส์ธันคอนนี่เรื่องลูปดีซันชิควินมินธีโอลูจังวาเลนไทน์เจมส์วิทนีย์โซลชองปารีสโอธาลาซี DONG, ANTONIA, KELLEY, CARROL, SHAYNE, VAL, JUDE, BRITT, HONG, LEIGH, GAYLE, JAE, NICKY, LESLEY, MAN, KASEY, JEWELL, PATRICIA, LAUREN, ELISHA, MICHAL, LINDSAY และ JEWEL

เป็นชื่อที่ใช้ได้กับทั้งชายและหญิง ถ้าผู้หญิงคนหนึ่งชื่อโรเบิร์ตและทุกคนรวมถึงซอฟต์แวร์ของคุณยังคงเรียกเธอว่าผู้ชายเธอจะค่อนข้างโกรธ


25
สมมติว่ามีผู้หญิงคนหนึ่งชื่อมาร์คอยู่ (อย่าลังเลที่จะชี้ให้เห็น) ถ้าฉันเป็นเธอฉันจะโกรธพ่อแม่และไม่ได้ใช้ซอฟต์แวร์ของ Chas ...
Darko Z

6
จะเป็นอย่างไรหากซอฟต์แวร์ไม่เคยเรียกเธอว่าผู้ชาย แต่นำเสนอ UI เวอร์ชัน "ผู้ชาย" หรือเธอหมกมุ่นอยู่กับผู้ชายโดยรวมมากกว่าชุดข้อมูลที่ใช้ในการพัฒนาหลักประกันทางการตลาด? เธออาจไม่สังเกตเห็นด้วยซ้ำ
Chris McCall

สำหรับชื่อเหล่านี้จำนวนมากฉันได้รับความมั่นใจ 100% จากข้อมูลจากโปรไฟล์ Facebook 500-1200 ของชื่อที่ระบุ api.genderize.io/?name=robert api.genderize.io/?name=andrew api.genderize.io/?name=john
Stromgren

3

แม้ว่าฐานข้อมูลอาจเป็นวิธีแก้ปัญหาที่ใช้งานได้จริง แต่หากคุณต้องการความสนุกสนานคุณอาจลองเขียนตาข่ายประสาท (หรือใช้ไลบรารีเครือข่ายประสาท) ที่ใช้ชื่อและแสดงผลลัพธ์อย่างใดอย่างหนึ่งใน 3 ตัวเลือก (F, M, A ).

คุณสามารถฝึกได้โดยใช้ชุดข้อมูลที่มีอยู่ในฐานข้อมูลที่แนะนำโดยคำตอบอื่น ๆ รวมทั้งข้อมูลอื่น ๆ ที่คุณมี

โซลูชันนี้จะช่วยให้คุณจัดการกับชื่อที่ไม่ได้จัดหมวดหมู่ไว้ก่อนหน้านี้โดยเฉพาะและยังรองรับภาษาต่างๆ คุณอาจต้องการส่งภาษา (ถ้าคุณรู้) เป็นอินพุตไปยังตาข่ายประสาทเช่นกัน

ฉันไม่รู้ว่าฉันสามารถพูดได้ว่า neural nets (หรือการเรียนรู้ของเครื่องอื่น ๆ ) จะช่วยจัดหมวดหมู่ได้ดี


3

ขึ้นอยู่กับวัฒนธรรม / ภูมิภาค: รับ Andrea เพราะชาวอิตาลีเป็นผู้ชายเท่านั้นสำหรับสวีเดนเป็นชื่อผู้หญิงในขณะที่ Andreas เป็นของผู้ชาย Shawn มีความคลุมเครือในภาษาอังกฤษ หากภาษามีการปฏิเสธเช่นละตินหรือรัสเซียตัวอักษรสุดท้ายจะเปลี่ยนไปตามกฎทางไวยากรณ์

แหล่งที่มาของความคลุมเครืออีกประการหนึ่งคือชื่อสกุลที่เหมือนกับชื่อส่วนบุคคล

ในความคิดของฉันมันเป็นไปไม่ได้ที่จะแก้โดยทั่วไป


หาก OP มีตัวแปรที่แสดงร่วมกันซึ่งบ่งบอกถึงวัฒนธรรมต้นกำเนิดสถานที่เกิดสัญชาติสิ่งที่จะเป็นประโยชน์ แต่เขาบอกว่าเขาไม่ได้ดังนั้นคุณต้องเดาข้อมูลทางสถิติโดยพิจารณาจากข้อมูลรวม
smci

3

แนวคิดนี้จะไม่ทำงานในภาษาส่วนใหญ่อย่างชัดเจน

อย่างไรก็ตามหากคุณสามารถบอกสัญชาติได้ล่วงหน้าคุณอาจมีโชคมากขึ้น ในภาษาสลาฟส่วนใหญ่ (เช่นรัสเซียโปแลนด์บัลแกเรีย) คุณสามารถสรุปได้อย่างปลอดภัยว่านามสกุลทั้งหมดที่ลงท้ายด้วย -va -cha -ska (โดยทั่วไปแล้ว -a เป็นผู้หญิง) ในขณะที่ -v -ch -shi เป็นผู้ชาย

ในความเป็นจริงนามสกุลใด ๆ ก็มีรูปแบบของผู้หญิงและผู้ชายขึ้นอยู่กับตอนจบ ชื่อเดียวกันที่ใช้ในประเทศอื่น ๆ (เช่นสหรัฐอเมริกา) อาจใช้เฉพาะรูปแบบผู้ชายเท่านั้น

อาจกล่าวได้เช่นเดียวกันสำหรับชื่อแรก (-a -ya เป็นผู้หญิง) แต่ไม่ถูกต้อง 100%

แต่โดยทั่วไปคุณแทบจะไม่ได้รับห้องสมุดที่มีความแม่นยำเพียงพอ


นามสกุลผู้ชายหรือผู้หญิงเป็นอย่างไร?
Simon_Weaver

2
@Simon_Weaver นามสกุลพ่อของฉันคือ Slavchev และนามสกุลแม่ของฉันคือ Slavcheva ในความเป็นจริงมันเป็นนามสกุลเดียวกันมันสะกดต่างกันสำหรับผู้ชายและผู้หญิง นี่เป็นเรื่องธรรมดาสำหรับชื่อสลาฟ
Dimitar Slavchev


2

Z Directory (ที่ vettrasoft.com) มีฟังก์ชันภาษาซีซึ่งใช้งานได้ดังนี้:

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;
    }
}

มันขับเคลื่อนด้วยฐานข้อมูลตารางมีชื่อมากกว่า 10,000 ชื่อที่ฉันคิด แต่คุณต้องดาวน์โหลดและติดตั้งไดเรกทอรี z (รวมถึงรายการโทโปอื่น ๆ อีกมากมายเช่นประเทศสถานที่สำคัญทางภูมิศาสตร์สนามบินรัฐรหัสพื้นที่รหัสไปรษณีย์ ฯลฯ พร้อมกับฟังก์ชัน c ++ และอ็อบเจ็กต์เพื่อเข้าถึงข้อมูล) อย่างไรก็ตามชื่อเป็นภาษาอังกฤษมาก ตารางเป็นงานระหว่างดำเนินการและจะค่อยๆปรับปรุง


1

แผนที่ชื่อ - เพศสามารถใช้งานได้ แต่ในประเทศที่มีความหลากหลายทางวัฒนธรรมการคาดเดามากกว่า ฉันสามารถยกตัวอย่างให้คุณได้: Marian ในภาษาโปแลนด์เป็นชื่อผู้ชายทั่วไปในขณะที่ชื่อเดียวกันในบริเตนใหญ่เป็นชื่อผู้หญิง ในยุคที่ผู้คนอพยพไปทั่วโลกฉันไม่แน่ใจว่าฐานข้อมูลดังกล่าวจะถูกต้องมาก โชคดี!


1
ไม่ แต่ตราบใดที่มันดีกว่า 50% มันก็ยังคงรักษาชื่อเหมือนผู้ชายเสมอ
Chas. Owens

@ ดังนั้นทำไมต้องยึดติดกับการแบ่งขั้วที่ผิดพลาด? คุณมีตัวเลือกของความเป็นกลางทางเพศ
bignose

เรายังมีการเมืองที่มีชื่อเสียง 2 คนที่มีชื่อที่สอง 'มาเรีย' - 'แมรี่' ซึ่งจะถูกจัดประเภทในฐานข้อมูลของคุณว่าเป็นผู้หญิง สำหรับ lols เท่านั้น
zalew

@JZ ฉันกำลังพูดถึงชื่อจริงไม่ใช่นามสกุล (หรือในทางกลับกันสำหรับวัฒนธรรมที่กลับกัน)
Chas. Owens

@bignose ภาษาที่เป็นกลางทางเพศดูแปลกและซับซ้อนฉันอยากจะสร้างสิ่งที่ดูดีกว่าเมื่อฉันทำได้ สิ่งนี้ไม่ได้รับการสื่อสารกลับไปยังบุคคล (ถ้าพวกเขามีอยู่) ดังนั้นจึงไม่มีโอกาสที่จะกระทำความผิดฉันไม่รู้ว่าทำไมผู้คนถึงใช้เวลามากในการโต้เถียงเรื่องนี้แทนที่จะให้ลิงก์ไปยังฐานข้อมูลหากพวกเขารู้ดี หนึ่ง.
Chas. Owens

1

บางวัฒนธรรมมีชื่อไม่ซ้ำเพศเหมือนของฉัน แล้วคุณจะทำอย่างไร? ฉันคิดว่าคำตอบนั้นธรรมดาและเรียบง่าย - อย่าคิดว่าคุณอาจทำให้เกิดความขุ่นเคืองได้ เพียงแค่ถามว่าจำเป็นหรือไม่หรือความเป็นกลางทางเพศ


5
คำถามนี้ตอบคำตอบของคุณแล้ว: alex => "A", #ambiguous ไม่ว่าคำถามจะมีคำตอบหรือไม่คำตอบของคุณไม่ใช่
โปรแกรมเมอร์ Windows

ฉันไม่เห็นด้วย - ประเด็นของฉันคือชื่อทั้งหมดอาจไม่ชัดเจน
เปรียญ

หากชื่อเป็นแบบ unisex พวกเขาทั้งหมดจะถูกจัดเป็น A และฉันจะเลือกใช้ความเป็นกลางทางเพศ แต่ถ้าชื่อเป็นผู้ชายหรือผู้หญิงเป็นหลักฉันสามารถใช้ภาษาที่เป็นธรรมชาติได้มากกว่านี้
Chas. Owens

ฉันเห็นว่าเหตุผลของคุณคืออะไร แต่ฉันขอแนะนำให้คุณอ่านความคิดเห็นหลัง
เปรียญ

3
แต่ถ้าคุณเห็น "พรีเอต" ใน StackOverflow แสดงว่าอาจเป็นผู้ชาย
Nosredna

1

ดีไม่อีกต่อไป IBM จดสิทธิบัตรแนวคิดดังกล่าวเมื่อไม่นานมานี้

ดังนั้นหากคุณกำลังมองหาความยืดหยุ่นในระดับใด ๆ (นอกเหนือจากรายชื่อ) คุณจะต้อง (อ้าปากค้าง!) ถามผู้ใช้หรือเพียงแค่จ่ายเงินให้ IBM เพื่อรับสิทธิ์ :)

ไม่ว่าในกรณีใดการตรวจจับอัตโนมัติดังกล่าวเป็นเรื่องที่น่ารำคาญสำหรับคนจำนวนมากที่มีชื่อไม่ชัดเจนทางเพศหรือแม้แต่หมายถึงพ่อแม่ อย่าทำให้สิ่งนี้ยากขึ้นสำหรับพวกเขา


3
ดูเหมือนว่า IBM จดสิทธิบัตรการเลือกอวตารตามชื่อ โชคดีที่ไม่ใช่หนึ่งในแอปพลิเคชันที่ฉันตั้งใจจะใช้ดังนั้นฉันจึงไม่ละเมิดสิทธิบัตรของพวกเขา สำหรับการถามผู้ใช้นั่นถือว่าฉันมีผู้ใช้ที่จะถามแทนที่จะเป็นรายชื่อ ฉันพูดซ้ำแล้วซ้ำเล่าว่าไม่มีผู้ใช้ไม่มีการโต้ตอบและไม่มีข้อความใด ๆ ที่ส่งถึงคนที่ชื่อเป็นสมาชิก
Chas. Owens

1

ไม่ฟรี แต่นี่เป็นห้องสมุดที่ดีที่ฉันเคยใช้มาก่อน:

NetGender สำหรับ. NET ช่วยให้คุณสร้างการยืนยันชื่อการแยกวิเคราะห์และการกำหนดเพศลงในแอปพลิเคชันที่คุณกำหนดเองได้อย่างรวดเร็วและง่ายดาย ตรวจสอบอย่างถูกต้องว่าช่องใดช่องหนึ่งมีบุคคลหรือ บริษัท ที่ถูกต้อง NetGender ใช้พจนานุกรมชื่อที่มีความหลากหลายทางเชื้อชาติมากกว่า 100,000 รายการร่วมกับพจนานุกรมชื่อ บริษัท มากกว่า 8,000 รายการเพื่อให้แน่ใจว่าสามารถระบุเพศได้อย่างแม่นยำ

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


1

เป็นเรื่องน่าสนใจที่คุณบอกว่าคุณมีวันเกิด ที่สามารถช่วยได้ ฉันเคยเห็นฐานข้อมูลประวัติความนิยมของชื่อ

ในภาพยนตร์เรื่อง Splash (1984) เป็นเรื่องตลกที่ตัวละครของ Darryl Hannah เลือกชื่อ "Madison" จากป้ายถนน Madison Avenue เพราะเห็นได้ชัดว่า "Madison" ไม่ใช่ชื่อของเด็กผู้หญิง

24 ปีต่อมา Madison เป็นชื่อยอดนิยมอันดับ 4 สำหรับเด็กทารก!


ประวัติชื่อจากรัฐบาล (ดูการลดลงอย่างน่าเศร้าของ Mary ในช่วง 100 ปีที่ผ่านมา)


เมื่อฉันเขียนจดหมายถึงทำเนียบขาวเมื่อตอนเป็นเด็กริชาร์ดนิกสัน (หรืออาจจะเป็นเลขานุการ) ตอบฉันพร้อมรูปถ่ายสถานที่ประวัติศาสตร์ส่งถึง "มิสเรตต์แอนเดอร์สัน" “ นางสาวเรตต์?” มันไม่สมเหตุสมผลเลยด้วยซ้ำ! เราไม่สามารถบอกความแตกต่างระหว่าง Rhett ของ Clark Gable (มีหนวดใน Gone With The Wind!) กับ Scarlett ของ Vivian Lee ได้จริงหรือ? ฉันจะไม่มีวันให้อภัยเขาแม้ว่านีลยังมั่นใจว่า "แม้แต่ริชาร์ดนิกสันก็ยังมีจิตวิญญาณ"


จุดดีวันที่เข้ามาเล่นที่นี่อย่างแน่นอน
Chas. Owens

1

ฉันค่อนข้างมั่นใจว่าไม่มีบริการดังกล่าวที่มีความแม่นยำในระดับที่ยอมรับได้ นี่คือปัญหาที่ฉันคิดว่าผ่านไม่ได้:

  • มีชื่อมากมายสำหรับทั้งชายและหญิง
  • ในโลกนี้มีชื่อที่แตกต่างกันมากมายแม้ว่าคุณจะพิจารณาเพียงประเทศเดียวก็ตาม
  • มีปัญหา "A Boy Named Sue" ที่ Johnny Cash หยิบยกขึ้นมาอย่างฉะฉาน :-)

2
ฐานข้อมูลที่ดีจะมีเปอร์เซ็นต์เพศชาย / เพศหญิงสำหรับชื่อกะเทยตามภูมิภาคและเวลาที่นำตัวอย่างเป็นต้น

แล้วภาษาเช่นญี่ปุ่นล่ะ? ฉันกำลังเรียนภาษาญี่ปุ่นดังนั้นฉันอาจจะคิดผิดที่นี่ แต่ชื่อ <-> คันจิไม่ใช่ความสัมพันธ์แบบตรงไปตรงมามีการเล่นสำนวนและความเข้าใจผิดเกี่ยวกับคันจิ "อะไร" ประกอบเป็นชื่อบุคคล
Pharaun


1

คุณสามารถดูโครงการตรวจจับเพศงูหลามของฉันได้ https://github.com/muatik/genderizer

พยายามตรวจจับเพศของผู้เขียนที่มองชื่อและ / หรือข้อความตัวอย่าง (เช่นทวีต) ของพวกเขา

และยังรองรับ mongodb, memcached เพื่อประสิทธิภาพ


ดูเหมือนจะดี แต่ถ้าคุณต้องการให้เป็น "ประเทศต้นทาง" โปรดดูที่ gender.c หรือ genderize.io ด้านล่าง
HaveAGuess

0

นี่ไม่ใช่ปัญหาในการเขียนโปรแกรม แต่ขึ้นอยู่กับการได้รับตารางความน่าจะเป็น

AFAIK ไม่มีฐานข้อมูลสาธารณะในรูปแบบกลั่น คุณสามารถสร้างสิ่งนี้จากข้อมูลสำมะโนประชากรหรือซื้อข้อมูลจากใครก็ได้

ตัวอย่างเช่นนี้เป็นคนที่ขายตารางน่าจะเป็นสำหรับประเทศแคนาดา


0

IMHO เป็นความคิดที่ไม่ดีโดยทั่วไปในการกำหนดเพศจากชื่อบุคคล หลายชื่อเป็นเรื่องทางเพศ (ความเศร้าโศกที่ดีนี่เป็นคำหรือไม่ :-) และอาจเป็นเพศเดียวในวัฒนธรรมหนึ่งและอีกวัฒนธรรมหนึ่ง

ตัวอย่างโง่ ๆ บางส่วนที่อยู่ในใจ (จากส่วนหนึ่งของโลก CE)

Vanja - เพศหญิงในประเทศทางตะวันออกจากที่นี่ส่วนใหญ่เป็นชาย
Alex - intersex (ย่อมาจาก Sandra, female และ Sandro, male)
Robin - ในวัฒนธรรมตะวันตกสามารถเป็นได้ทั้งคู่

ในบางส่วนของโลกสามารถกำหนดเพศของบุคคลได้โดยดูว่าชื่อลงท้ายอย่างไร ตัวอย่างเช่น Marija, Sandra, Ivana, Petra, Sara, Lucija, Ana - คุณจะเห็นได้ว่าชื่อผู้หญิงเหล่านี้ส่วนใหญ่ลงท้ายด้วย "ja" หรือ "ra" ยังมีตัวอย่างอื่น ๆ อีกด้วย

ถึงกระนั้นฉันคิดว่ามันเป็นการดีกว่าที่จะขอให้ผู้ใช้มีเพศสัมพันธ์


9
"แต่ฉันคิดว่าดีกว่าที่จะขอเพศสัมพันธ์กับผู้ใช้" - ฉันยอมรับว่าจะดีกว่าการโพสต์ความคิดเห็นใน Stack Overflow
โปรแกรมเมอร์ Windows

2
อัพ Okeey ที่ออกมาไม่ถูก :-)
Rook

ก่อนแก้ไขจะดีกว่า :-)
โปรแกรมเมอร์ Windows


0

ฉันรู้ว่าไม่มีบริการดังกล่าว อย่างไรก็ตามคุณอาจพบข้อมูลที่ต้องการได้ รัฐบาลสหรัฐฯเผยแพร่ข้อมูลเกี่ยวกับความชุกของชื่อและเพศของบุคคลที่พวกเขาติดอยู่ สำนักงานประกันสังคมมีหน้าดังกล่าวและอาจมีการสำรวจสำมะโนประชากรเช่นกัน แต่ฉันไม่ได้ใช้เวลาในการดู บางทีรัฐบาลโลกอื่น ๆ ก็ทำคล้าย ๆ กัน


0

ฉันรู้ว่าไม่มีบริการนี้อย่างไรก็ตาม ..

  • คุณสามารถเริ่มต้นด้วยรายชื่อบุคคลหรือ
  • เดาเพศตามกฎบางอย่าง (เช่น -o => ชาย, -ela, -a => หญิง)

ในบางประเทศ (เช่นเยอรมนี) ชื่อที่บุคคลสามารถตั้งได้นั้นถูก จำกัด ตามกฎหมาย - อาจมีสิ่งพิมพ์บางส่วนที่เกี่ยวข้องกับเรื่องนั้นซึ่งสามารถเก็บเกี่ยวได้ (แต่ฉันไม่รู้ว่ามีอะไรในตอนนี้)


0

สิ่งที่ฉันจะทำคือทำการแฮ็กซึ่งใช้ชื่อและค้นหากับ facebook api จากนั้นดูผู้ใช้ที่เป็นผลลัพธ์และนับจำนวนผู้ใช้ที่เป็นหญิงหรือชาย จากนั้นคุณสามารถส่งคืนเปอร์เซ็นต์ ผ่านไม่ได้อีกต่อไป :)


-2

เพียงแค่ถามผู้คนและถ้าพวกเขาดีพวกเขาจะให้ 'M หรือ' F ของพวกเขาและถ้าพวกเขาไม่เป็นเช่นนั้นให้ 'A'


2
ฉันไม่ได้ติดต่อกับคนที่ฉันต้องการแมปชื่อ
Chas. Owens
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.