Hi❗
ActiveTigger1 is a text annotation web tool dedicated to computational social sciences. It is designed to assist exploration and model (BERT) fine-tuning to annotate text dataset relying on active learning.
Designed primarily by researchers in social sciences, its use can extend to all users that need to annotate textual data.
Important
The app is currently 🚧 under the beta test phase 🚧. The stable version is planned for mid-June.
Presentation of ActiveTigger 🇫🇷
The app is built on a client/API architecture :
- the server runs an API with FastAPI
- the client is in React
Clone the repository
git clone https://github.com/emilienschultz/activetigger.gitCreate a virtual environnement with Python 3.11, for instance with Anaconda
conda create -n activetigger python=3.11
conda activate activetiggerInstall requirements
pip install -r activetigger/api/requirements.txtAdd a specific config.yaml file in the api directory if you want to specify the path of the static files and database (you can modify and rename the config.yaml.sample or use the default config):
path: path to store files (for instance./data)path_models: path to store the models (for instance./data/models)
Launch the server (on 0.0.0.0 port 5000 by default, you can configure exposed port if needed with -p PORTNUM).
cd activetigger/api
python -m activetiggerYou can also install the last stable version of the API from PyPi with
pip install activetiggerTo enable GPU support, install Rapids Cuml. For instance, for CUDA 12
pip install --extra-index-url=https://pypi.nvidia.com "cuml-cu12==24.10.*"The requirements contain the clone of the repository.
The frontend is written in React/Typescript. To run the dev version and to build the app, you need first to install node.js and npm (version > 20).
For linux :
sudo apt-get install nodejs npmFor mac, you can install brew https://brew.sh/ and
brew install nodeThen you can install the npm packages
cd frontend
npm iYou can then run the dev version
npm run devIf you run the backend on a different port, mind the fact that you need to change the address in the frontend/.env file to set the correct port.
To compile
npm run compileTo build
npm run buildYou can deploy the app with Github Pages for tests
A python client is under development to interact with the API https://github.com/emilienschultz/activetigger-client
The documentation is here
Something in the code looks ugly ? Do you miss a feature? Please add your knowledge to the common effort.
- Create a fork
- Create your feature branch:
git checkout -b my-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request 🚀
The development of Active Tigger is supported by : DRARI Île-de-France ECODEC Progedo
🚧 please do not cite for the moment 🚧
Footnotes
-
The current version is a refactor of R Shiny ActiveTigger app (Julien Boelaert & Etienne Ollion). Active Tigger name is a pun that draws on the similarity between the words 'Tagger' and 'Tigger.' ↩