azimuth
Helping AI practitioners better understand their datasets and models in text classification. From ServiceNow.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (5.9%) to scientific vocabulary
Keywords
Repository
Helping AI practitioners better understand their datasets and models in text classification. From ServiceNow.
Basic Info
- Host: GitHub
- Owner: ServiceNow
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://servicenow.github.io/azimuth/
- Size: 44 MB
Statistics
- Stars: 68
- Watchers: 7
- Forks: 7
- Open Issues: 51
- Releases: 18
Topics
Metadata Files
README.md
Azimuth, an open-source dataset and error analysis tool for text classification, with love from ServiceNow.
Overview
Azimuth is an open source application that helps AI practitioners and data scientists better understand their dataset and model predictions by performing thorough dataset and error analyses. The application leverages different tools, including robustness tests, semantic similarity analysis and saliency maps, unified by concepts such as smart tags and proposed actions. It currently only supports text classification use cases.
Published Paper at EMNLP
Our paper was accepted as a system demo at EMNLP 2022. It is available here.
Documentation
Our documentation contains all the instructions and references to use Azimuth.
- Getting Started contains all the instructions to install and launch the app.
- Key Concepts explains the different concepts and analyses that are provided in Azimuth to perform dataset and error analysis.
- User Guide goes screen per screen to explain the different interactions and visualizations available.
- Reference details the config file and the different contracts which allow configuring Azimuth with different datasets and pipelines.
- Development guides on how to develop and contribute to the repo.
YouTube Playlist
Run Our Demo
After installing the requirements, as explained in Installation, run the following command to run the demo. More details in Learn Basics.
pip install gdown
make download_demo
make CFG_PATH=/config/development/clinc/conf.json launch
Once the startup tasks are completed, you will be able to access Azimuth at http://localhost:8080.
To learn more about Azimuth's features, refer to
our Key Concepts and
our User Guide.
To use your own dataset and models, please refer to Run on Your Use Case.
How to Contribute?
Refer to our CONTRIBUTING.md.
Code Documentation
At different places in the code, you'll find README files explaining further how the back end works. Don't hesitate to
add other README files in appropriate places, and don't forget to edit them if you change these components.
- In azimuth, explaining the main back-end components.
- In azimuth/modules, explaining how modules work.
- In azimuth/routers, explaining how to add new routes.
Repo Structure
bash
├── azimuth # Back End
│ ├── modules
│ │ └── Where core capabilities are implemented
│ ├── plots
│ │ └── Plotting functions
│ ├── routers
│ │ └── FastAPI routers
│ ├── types
│ │ └── Specific pydantic types that this application is based on
│ ├── utils
│ │ └── Extra utilities
├── azimuth_shr
│ └── Custom code that is shareable.
├── config
│ └── Config files for different data/models
├── docs
│ └── User documentation
├── tests
│ └── Unit/integration tests
├── webapp
│ └── Front End
├── docker-compose.yml # Where the config and images are specified.
├── docker-compose-gpu.yml # Extension to use Azimuth with gpus.
└── runner.py # Application entrypoint.
Contact
To contact us, join our slack or send us an email!
License
The package is licensed by ServiceNow, Inc. under the Apache 2.0 license. See LICENSE for more details.
Vulnerability Reporting
Please notify psirt-oss@servicenow.com regarding any vulnerability reports in addition to following current reporting procedure.
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use Azimuth in your projects, please cite it as below."
authors:
- family-names: Branchaud-Charron
given-names: Frederic
- family-names: Gauthier-Melancon
given-names: Gabrielle
- family-names: Marinier
given-names: Joseph
- family-names: Brin
given-names: Lindsay
- family-names: Tyler
given-names: Chris
- family-names: Le
given-names: Di
- family-names: Grande
given-names: Karine
- family-names: Babu
given-names: Nandhini
title: "Azimuth, an open-source dataset and error analysis tool for text classification"
version: 2.5
date-released: 2022-08-17
url: "https://servicenow.github.io/azimuth"
repository-code: "https://github.com/ServiceNow/azimuth"
license: Apache-2.0
identifiers:
- type: doi
value: 10.5281/zenodo.6511558
preferred-citation:
type: conference-paper
title: "Azimuth: Systematic Error Analysis for Text Classification"
authors:
- family-names: Gauthier-Melancon
given-names: Gabrielle
- family-names: Marquez-Ayala
given-names: Orlando
- family-names: Brin
given-names: Lindsay
- family-names: Tyler
given-names: Chris
- family-names: Branchaud-Charron
given-names: Frederic
- family-names: Marinier
given-names: Joseph
- family-names: Grande
given-names: Karine
- family-names: Le
given-names: Di
collection-title: "Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing: System Demonstrations"
collection-type: proceedings
month: 12
year: 2022
publisher:
name: "Association for Computational Linguistics"
url: "https://aclanthology.org/2022.emnlp-demos.30/"
identifiers:
- type: other
value: "arXiv:2212.08216"
description: "The arXiv preprint of the paper"
GitHub Events
Total
- Watch event: 5
- Delete event: 2
- Issue comment event: 2
- Push event: 2
- Pull request event: 8
- Fork event: 3
- Create event: 4
Last Year
- Watch event: 5
- Delete event: 2
- Issue comment event: 2
- Push event: 2
- Pull request event: 8
- Fork event: 3
- Create event: 4
Dependencies
- actions/checkout v3 composite
- docker/login-action v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- Gr1N/setup-poetry v8 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v1 composite
- actions/cache v2 composite
- actions/checkout v3 composite
- actions/setup-node v3.1.1 composite
- build_${DEVICE} latest build
- python 3.9 build
- pytorch/pytorch 1.13.0-cuda11.6-cudnn8-runtime build
- ${REGISTRY}/azimuth ${BACKEND_VERSION}_${DEVICE}
- ${REGISTRY}/azimuth-app ${FRONTEND_VERSION}
- base latest build
- node 14.17.5 build
- test latest build
- @testing-library/jest-dom ^5.14.1 development
- @testing-library/react ^12.0.0 development
- @types/history ^4.7.11 development
- @types/jest ^26.0.23 development
- @types/lodash ^4.14.170 development
- @types/node ^12.0.0 development
- @types/react ^17.0.37 development
- @types/react-dom ^17.0.11 development
- @types/react-plotly.js ^2.2.4 development
- @types/react-router-dom ^5 development
- http-proxy-middleware ^1.0.6 development
- msw ^0.35.0 development
- openapi-typescript ^4.0.1 development
- react-app-rewired ^2.1.5 development
- typescript ^4.5.2 development
- @emotion/react ^11.7.0
- @emotion/styled ^11.6.0
- @mui/icons-material ^5.5.1
- @mui/material ^5.5.1
- @mui/styles ^5.5.1
- @mui/system ^5.5.1
- @mui/x-data-grid ^5.6.1
- @reduxjs/toolkit ^1.8.1
- cors ^2.8.5
- express ^4.17.3
- framer-motion ^4.1.17
- lodash ^4.17.21
- plotly.js ^1.58.4
- react ^17.0.2
- react-dom ^17.0.2
- react-hook-form ^6.11.5
- react-plotly.js ^2.5.1
- react-redux ^7.2.4
- react-router-dom ^5
- react-scripts ^5.0.1
- react-toastify ^7.0.4
- 1674 dependencies
- 264 dependencies
- bokeh <3 develop
- ipywidgets >=7.6 develop
- jupyterlab ^3.0.5 develop
- matplotlib ^3.4.1 develop
- memory-profiler ^0.61.0 develop
- pyinstrument ^4.3.0 develop
- mkdocs ^1.2.3 docs
- mkdocs-material ^8.1.7 docs
- hdbscan ^0.8.27 experimental
- seaborn 0.11.2 experimental
- umap-learn ^0.5.1 experimental
- aiofiles ^0.6.0
- baal 1.5.2
- dask 2021.12.0
- datasets 2.1.0
- distributed 2021.12.0
- en_core_web_sm *
- faiss-cpu =1.6.5
- fastapi 0.65.3
- filelock ^3.0.12
- fr_core_news_md *
- jsonlines ^3.1.0
- nlpaug 1.1.10
- numpy 1.23.5
- onnx ^1.12.0
- onnxruntime 1.12.1
- onnxruntime-extensions 0.3.1
- onnxruntime-gpu 1.12.1
- orjson 3.6.3
- pandas >=1.0.5,<2,!=1.1.0
- plotly ^5.3.1
- pydantic ^1.3
- python >=3.9,<3.10
- retrying ^1.3.3
- scikit-learn ^1.0.1
- scipy ^1.10.0
- sentence-transformers 2.1.0
- spacy 3.1.5
- spectral-metric 0.6.1
- structlog 21.1
- tensorflow 2.11.0
- tensorflow-estimator 2.11.0
- tensorflow-text 2.11.0
- torch 1.13.1
- tqdm 4.63.0
- transformers 4.16.2
- uvicorn ^0.13.4
- bandit ^1.7.0 test
- black >=20.8b1 test
- flake8 >=3.8 test
- flake8-black 0.2.4 test
- isort ^5.9.3 test
- mypy ^0.910 test
- pre-commit ^2.15.0 test
- pytest ^6.0 test
- pytest-cov 2.11.1 test
- pytest-env ^0.6.2 test
- types-filelock ^0.1.5 test
- types-orjson ^3.6.0 test
- types-simplejson ^3.17.0 test