ที่เก็บนี้มีรหัสเพื่อทำซ้ำการค้นพบที่แสดงในเรื่องราวของเรา "OpenAi's GPT เป็นเครื่องมือในฝันของนายหน้าการทดสอบแสดงว่ามีอคติทางเชื้อชาติ"
วิธีการของเราอธิบายไว้ที่ด้านล่างของบทความ
ข้อมูลที่เรารวบรวมและวิเคราะห์อยู่ในโฟลเดอร์ data
สมุดบันทึก Jupyter ที่ใช้สำหรับการประมวลผลข้อมูลล่วงหน้าและการวิเคราะห์มีอยู่ในโฟลเดอร์ notebooks คำอธิบายสำหรับโน้ตบุ๊กแต่ละใบมีการระบุไว้ในส่วนโน้ตบุ๊กด้านล่าง
ไดเรกทอรีนี้เป็นที่ที่อินพุตตัวกลางและเอาต์พุตถูกบันทึกไว้
หากคุณต้องการสร้างประวัติย่อหรือการจัดอันดับใหม่คุณจะต้องลงทะเบียนและให้ทุนคีย์ OpenAI API และตั้งค่าตัวแปรสภาพแวดล้อมต่อไปนี้: OPENAI_ORG และ OPENAI_API_KEY
data
├── intermediary
│ ├── resumes_to_rank.json
│ ├── resume_ranking
│ │ ├── gpt-3.5-turbo
│ │ └── gpt-4
│ └── embeddings
│ └── names_embedded_ada.json
├── output
│ ├── names_embedded_for_graphic.csv
│ ├── performance_ranking.csv
│ └── resume_ranking_for_graphics.csv
└── input
├── top_mens_names.json
├── top_womens_names.json
└── Names_2010Census_Top1000.csv
นี่คือคำอธิบายของไฟล์ที่สำคัญกว่า
| ไฟล์ | คำอธิบาย |
|---|---|
data/input/top_mens_names.json | ชื่อที่แตกต่างทางประชากร (ดูเพิ่มเติม data/input/top_womens_names.json ) มาจากสถิติจากบันทึกผู้มีสิทธิเลือกตั้งของนอร์ ธ แคโรไลน่าและข้อมูลการสำรวจสำมะโนประชากร |
data/input/Names_2010Census_Top1000.csv | นามสกุลของสหรัฐอเมริกาที่ได้รับความนิยมมากที่สุดที่นำมาจากสำนักสำรวจสำมะโนประชากรของสหรัฐอเมริกา |
data/intermediary/resumes_to_rank.json | เรซูเม่ที่มีคุณสมบัติเท่าเทียมกันที่สร้างขึ้นจาก GPT-4 และแก้ไข นอกจากนี้ยังรวมถึงรายละเอียดงานจริงที่ใช้ในการประเมินประวัติย่อแต่ละรายการ |
data/intermediary/resume_ranking | ข้อมูลจากการทดลองจัดอันดับเรซูเม่ที่รวบรวมจาก OpenAI จัดโดยรุ่นรุ่น> ชื่องาน> วันที่รวบรวม |
data/output/performance_ranking.csv | ผลลัพธ์รวมจากการทดลองจัดอันดับประวัติย่อ |
data/output/names_embedded_for_graphic.csv | ADA-002 EMBEDDINGS สำหรับชื่อที่แตกต่างทางประชากรลดลงเหลือ 2 มิติโดยใช้ UMAP |
เราใช้ชวเลขเพื่อแสดงถึงเพศ ( M = ชายและ W = หญิง) เช่นเดียวกับเชื้อชาติและชาติพันธุ์ ( A = เอเชีย, H = ฮิสแปนิก, B = ดำและ W = สีขาว) สำหรับกลุ่ม intersectional ใน data/output/performance_ranking.csv สัญกรณ์ที่เราใช้สำหรับข้อมูลประชากร ( demo COL) คือ {race/ethnicity}_{gender} ตัวอย่างเช่น A_W หมายถึงผู้หญิงเอเชีย
ตรวจสอบให้แน่ใจว่าคุณติดตั้ง Python 3.11+ เราใช้ Miniconda เพื่อสร้างสภาพแวดล้อมเสมือนจริงของ Python 3.11
จากนั้นติดตั้งแพ็คเกจ Python: pip install -r requirements.txt
สมุดบันทึก Jupyter ที่จะรวบรวมประมวลผลและวิเคราะห์ข้อมูลสามารถพบได้ในไดเรกทอรี notebooks สมุดบันทึกควรเรียกใช้ตามลำดับคุณสามารถใช้คำสั่ง nbexec notebooks เพื่อเรียกใช้โน้ตบุ๊กทั้งหมด
สถิติได้มาจากชื่อที่แตกต่างทางประชากรจากบันทึกการลงทะเบียนผู้มีสิทธิเลือกตั้งและการสำรวจสำมะโนประชากรของสหรัฐฯ
ใช้แชท API ของ Openai เพื่อจัดอันดับแปดเรซูเม่ใกล้เคียงกันหลายพันครั้งในหลายร้อยชื่อสำหรับสี่งานที่แตกต่างกัน
วิเคราะห์ข้อมูลการจัดอันดับการทดสอบเพื่อทดสอบการเลือกปฏิบัติตามชื่อ
รวบรวมการฝังตัวสำหรับชื่อที่แตกต่างทางประชากรโดยใช้โมเดล ADA-002 ของ OpenAI และดูใน 2D โดยใช้ UMAP