Skip to content

css-polytechnique/activetigger

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Active Tigger

License Python Version PyPI Version React

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 🇫🇷

Install the app

The app is built on a client/API architecture :

  • the server runs an API with FastAPI
  • the client is in React

Install the Python API

Clone the repository

git clone https://github.com/emilienschultz/activetigger.git

Create a virtual environnement with Python 3.11, for instance with Anaconda

conda create -n activetigger python=3.11
conda activate activetigger

Install requirements

pip install -r activetigger/api/requirements.txt

Add 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 activetigger

You can also install the last stable version of the API from PyPi with

pip install activetigger

Optional: Install GPU Support for UMAP

To enable GPU support, install Rapids Cuml. For instance, for CUDA 12

pip install --extra-index-url=https://pypi.nvidia.com "cuml-cu12==24.10.*"

Temporary: some models (ModernBERT) need unpublished versions of Huggingface Transformers

The requirements contain the clone of the repository.

Install the React frontend

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 npm

For mac, you can install brew https://brew.sh/ and

brew install node

Then you can install the npm packages

cd frontend
npm i

You can then run the dev version

npm run dev

If 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 compile

To build

npm run build

You can deploy the app with Github Pages for tests

Python client

A python client is under development to interact with the API https://github.com/emilienschultz/activetigger-client

Documentation

The documentation is here

Contributing

Something in the code looks ugly ? Do you miss a feature? Please add your knowledge to the common effort.

  1. Create a fork
  2. Create your feature branch: git checkout -b my-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request 🚀

Funding

The development of Active Tigger is supported by : DRARI Île-de-France ECODEC Progedo

How to cite

🚧 please do not cite for the moment 🚧

Footnotes

  1. 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.'

About

Text annotation web tool dedicated to computational social sciences

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 50.7%
  • Python 47.6%
  • SCSS 1.1%
  • JavaScript 0.2%
  • Shell 0.2%
  • HTML 0.1%
  • Mako 0.1%