Skip to content

Frontend and server for measuring perceptions of algorithmic fairness

License

Notifications You must be signed in to change notification settings

cssh-rwth/fairceptron

Repository files navigation

FairCeptron

Abstract

Measures of algorithmic fairness often do not account for human perceptions of fairness that can substantially vary between different sociodemographics and stakeholders. The FairCeptron framework is an approach for studying perceptions of fairness in algorithmic decision making such as in ranking or classification. It supports (i) studying human perceptions of fairness and (ii) comparing these human perceptions with measures of algorithmic fairness. The framework includes fairness scenario generation, fairness perception elicitation and fairness perception analysis. This implementation of the FairCeptron framework can easily be adapted to study perceptions of algorithmic fairness in other application contexts. We hope our work paves the way towards elevating the role of studies of human fairness perceptions in the process of designing algorithmic decision making systems.

This repo contains the web app used for fairness perception elicitation, that can be deployed as described below. For fairness scenario generation and fairness perception analysis, check out FairCeptron notebooks.

Screenshot displaying a classification scenario

This universal web app is written with Nuxt.js and TailwindCSS and includes a simple backend as Nuxt server middleware. The backend is implemented with Express and Mongoose to connect to a MongoDB server that stores pre-generated scenarios and participants' answers.

Deploy with Docker

First, create secret credentials in .env (see .env.example). Then, setup the Nuxt.js webserver including the Express.js backend and the MongoDB database with

$ docker-compose up --build -d

Make sure to populate the database with questions after deploying for the first time.

Nuxt.js Build Setup

To start only the Nuxt.js server with an external database, configure the database connection in .env. Then run

# install dependencies
$ npm install

# serve with hot reload at localhost:3000
$ npm run dev

# build for production and launch server
$ npm run build
$ npm run start

Check out Nuxt.js docs for more information on Nuxt.js.

About

Frontend and server for measuring perceptions of algorithmic fairness

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published