Summary Annotation Tool created @IRLab, DAIICT.
This tool can be used to take user feedback for machine generated summaries. This tool presents the annotator with a News Tile, a Reference summary and a Machine generated summary and expects annotator to give his feedback on following aspects.
- Grammatical Correctness
- Arrangement of sentences/Flow of information
- Text Quality
- Conciseness
- Exhaustiveness
- Overall Rating (subjective to the annotator)
Technologies:
- Python3
- Django
- Postgres
To run this project:
-
clone the repo and go to intended location
cd ~ | git clone https://github.com/TarangRanpara/SummaryAnnotatorTool.git | cd SummaryAnnotatorTool
-
update the system:
sudo apt update
-
install the required packages
sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib nginx curl
-
connect to postgresql database
sudo -u postgres psql
-
create postgresql DB
CREATE DATABASE annotation_tool;
-
create postgresql user
CREATE USER tarang WITH PASSWORD 'tarang@1998';
-
set encoding
ALTER ROLE tarang SET client_encoding TO 'utf8';
-
prevent it from reading uncommited transcations
ALTER ROLE tarang SET default_transaction_isolation TO 'read committed';
-
set the timezone
ALTER ROLE tarang SET timezone TO 'UTC';
-
Grant all privileges to the user
GRANT ALL PRIVILEGES ON DATABASE annotation_tool TO tarang;
-
make python environment
python3 -m venv venv
-
perform installation of the required libs
pip install -r requirements.txt
-
make DB Migrations
python3 manage.py makemigrations
python3 manage.py migrate
-
collect static files
python3 manage.py collectstatic
-
populate the DB from CSV - do the allocation to your users (new/existing)
python3 tool_utils.py help
and choose from one of the below options to perform some utility functions.
1. bulk_entry [csv_file_name] 2. bulk_allocate [username] [email] [password] [n] 3. bulk_allocate_to_existing [username] [n] 4. export [filename] 5. work_status 6. help
-
Deploy it using gunicorn and nginx. (reference: https://www.codewithharry.com/blogpost/django-deploy-nginx-gunicorn)