LabelDat is a webapp designed as a one-stop portal to manage, organise and facilitate the labelling of datasets. The project is done as part of a school project on Advanced Software Engineering.
This project is jointly developed by the following members.
In recent years, we see a boom in data which allowed for the increase use in machine learning and artificial intelligence. The large amounts of data would mean a lot of time is needed to clean and process the data before applying machine learning techniques. In addition, low quality data can arise due to poor cleaning and processing of the data. This can cause problems as machine learning models struggle to learn, thus further delaying the project as compared to when higher quality data is in use.
As such, we develop LabelDat, the dataset labelling webapp for 2 groups of users - project owners and labellers. LabelDat allows project owners to upload an unlabelled dataset on the portal, so that other project owners and labellers can label the data on the platform. The webapp includes features to enhance the labelling process through the interface and use of machine learning to predict the labels. After labelling, the datasets can then be downloaded for further usage. The features are elaborated below.
The following are some features of the application.
Project owners can create new project and outline instructions to perform labelling task.
Track progress with a dashboard to summarise the labelling progress of each project.
Speed up labelling task by using machine learning to suggest the labels.
Shows individual users' profile, both labellers and project owners, and compare their labelling performance with other users through a leaderboard.
An export function is available for the project owner to export and download the labelled dataset.
- Install dependencies for frontend
cd frontend npm install
- Run development server
npm start
In Progress
-
Setup virtual environment, activate and install necessary packages
For Windows :
cd backend python3 -m venv venv venv\Scripts\activate pip3 install -r requirements.txt
For Mac :
cd backend python3 -m venv venv source venv/bin/activate cd .. pip3 install -r requirements.txt
-
If you install other packages, please add them to requirements.txt
cd backend pip3 freeze > requirements.txt
-
Start the Flask server
cd backend python3 main.py
Our API endpoints are documented in this link
For Windows :
- Go to SQL's Windows MSI Installer Download Page and follow setup instructions (Default port should be 3306)
- Create a database for our data with the following commands on MySQL Shell.
\sql \connect root@localhost
- Type in password for root.
- Continue with the command below on MySQL Shell.
create schema ase;
For Mac :
- Download mysql 8.0.x using Homebrew, then start MySQL server
brew install mysql@8.0 brew services start mysql
- Create a database for our data.
mysql -u root < "create schema ase;"
- Change password for root user. Run
mysql -u root
first to get into mysql console. Then run this to change password to toor (standardised)ALTER USER 'root'@'localhost' IDENTIFIED BY 'toor';