Moral copilot for high-stakes ethical decisions in business contexts
- Paper
- Video pitch presenting the tool with product name "Ensemble" (also available for download here)
- Business Feasibility Study
- Responsible AI Report made with https://social-dynamics.net/ai-design/tool
A snapshot of this repo for the paper submission @ Crafting Tech 2025 is available here
Here we provide instructions to use the Broken Morals tool and to replicate the findings we reported in the paper, explaining the function of each file.
Every script requires Python 3 to run.
Install the requirements with
pip install -r tool/requirements.txtCreate a .env file in this directory with your OpenAI API key inside:
OPENAI_API_KEY=...Choose a row number in selected_dilemmas.csv corresponding to the dilemma you want to run the tool on (the first dilemma is row 2).
Launch the tool with the selected row number as argument:
python3 tool/main.py <row>The data folder contains evey file needed to replicate the findings reported in the paper, including dilemma selection and statistical analysis on the evaluation ratings.
The moral classification notebook scores the original dilemma dataset with the MoralFoundationsClassifier: it computes the classification score for each moral foundation, and it highlights the best scoring one, producing a final xlsx file containing the associations.
selected_dilemmas.csv contains our choices after manual selection, the ones we used in the user study.
The responses folder contains the participants' responses and the analysis files.
The two files under questionnaire contain the answers for common likert questions and treatment only likert questions. The answers to the dilemmas are present in both files.
The ratings folder contains the three rubric rating tables (RatingTableX.csv, one for each evaluator), a map from each answer ID to the group identifier (Control or Treatment) to perform blind evaluation, and the final evaluation sheet with the rubric scores averaged along raters and dimensions.
The stats notebook provides a step by step guide to perform the statistical tests and obtaining the results we reported in the paper.