This is replication code to support the paper "Let Me Just Interrupt You": Estimating Gender Effects in Supreme Court Oral Arguments which is forthcoming in the Journal of Law and Courts.
If you use this code or data, please cite our paper:
@article{cai2024interrupt,
author = {Cai, Erica and Gupta, Ankita and Keith, Katherine A., and O'Connor, Brendan and Rice, Douglas},
title = {“Let Me Just Interrupt You”: Estimating Gender Effects in Supreme Court Oral Arguments},
journal = {Journal of Law and Courts},
year = {2024},
note = {Forthcoming}
}
Follow these instructions to set-up your repository. You will need to download Anaconda to run conda
and python
commands.
git clone git@github.com:kakeith/interruptions-supreme-court.git
cd interruptions-supreme-court
conda create -y --name scourt python==3.9
conda activate scourt
pip install -r requirements.txt
The raw data in the raw_data
folder come from the following sources:
-
ConvoKit's Supreme Court Oral Arguments Corpus (which sources from Oyez).
-
To create
justice-ideology.txt
, we measure ideology using the average (arithmetic mean) of the justice’s time-varying Martin-Quinn score (Martin and Quinn 2002), and treat any values less than zero as a liberal justice, and values greater than zero as a conservative justice. -
The file
backchannel.txt
are phrasal backchannel cues that the authors curated.
Pipeline descisions are detailed in scripts/config.yaml
. To replicate our code pipeline and analysis, run the following scripts in order
-
For pre-processing and chunking,
cd scripts/ python create_analyze_chunks.py python filter.py
This takes about 15-20 minutes to run on our machine.
-
For the main analysis and plots in our paper, run all cells in the following jupyter notebook
scrips/analysis.ipynb
-
To make "Figure 5: Justice Interruption Rates (y-axis) by Martin & Quinn Ideology Scores (x-axis)", run
scripts/interruptionsPlot.r
using R. -
For supplementary and corroborative analyses run
scripts/supplemental_analysis.ipynb
-
To obtain the results in the Appendix for the backchannel cue removal, use the configuration specified in
scripts/config-backchannels.yaml
and re-run the pipeline (create_analyze_chunks.py
,filter.py
andanalysis.ipynb
).
In the ConvoKit/Ozez data there are still errors with John G. Roberts Jr.
when he was an advocate. This results in warnings after running create_analyze_chunks.py
such as John G. Roberts Jr. not found in caseid2stuff dict, assigning unknown. case id: 1991_90-6531
. This warning should not substantively affect the results.