该存储库包含代码,以重现我们故事中的发现“ Openai的GPT是招聘者的梦想工具。测试表明存在种族偏见”。
我们的方法在文章的底部描述。
我们收集和分析的数据在data文件夹中。
notebooks文件夹中可用用于数据预处理和分析的Jupyter笔记本。下面的“笔记本”部分概述了每个笔记本的说明。
该目录是保存输入,中介和输出的地方。
如果要生成新的简历或排名,则需要注册并资助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使用UMAP简化为2维的人口统计学名称的嵌入。 |
我们使用速记来表示性别( M =男性和W =女性)以及种族和种族( A =亚洲, H =西班牙裔, B =黑色, W = White)。对于data/output/performance_ranking.csv中的截面组,我们用于人口统计的符号(Col demo )为{race/ethnicity}_{gender} ,例如A_W表示亚洲妇女。
确保安装了Python 3.11+。我们使用Miniconda创建了Python 3.11虚拟环境。
然后安装Python软件包: pip install -r requirements.txt
jupyter笔记本电脑要在notebooks目录中找到,处理和分析数据。笔记本应顺序运行,您可以使用命令nbexec notebooks运行所有笔记本。
从统计学上讲,从选民注册记录和美国十年人口普查中得出了人口统计学上的不同名称。
使用OpenAI的聊天API来排名八个近相同的恢复数千次,以获得四个不同的工作。
分析排名实验数据以测试基于名称的歧视。
使用OpenAI的ADA-002型号收集人口统计学名称的嵌入式,并使用UMAP以2D查看它们。