Skip to main content

Explainable Leaderboards for Natural Language Processing

Project description

ExplainaBoard: An Explainable Leaderboard for NLP

Introduction | Web Tool | API Tool | Download | Paper | Video | Bib



License GitHub stars PyPI Code Style Integration Tests

What is ExplainaBoard?

When developing a natural language processing (NLP or AI) system, often one of the hardest things is to understand where your system is working and where it is failing, and deciding what to do next. ExplainaBoard is a tool that inspects your system outputs, identifies what is working and what is not working, and helps inspire you with ideas of where to go next.

It offers a number of different ways with which you can evaluate and understand your data:

  1. Single-system Analysis: What is a system good or bad at?
  2. Pairwise Analysis: Where is one system better (worse) than another?
  3. Data Bias Analysis: What are the characteristics of different evaluated datasets?
  4. Common Errors: What are common mistakes that top-5 systems made?
  5. Fine-grained Error Analysis: where do errors occur?
  6. System Combination: Is there potential complementarity between different systems?

How do you get started?

  1. Browse Outputs Online: We provide an online interface where you can browse and understand outputs from various state-of-the-art systems.
  2. Upload Your Own Outputs: You can also upload your own system outputs through the online interace, and we will process them so you can view them alongside other systems.
  3. Run Your Own Analyses Offline: You can follow the installation instructions below to run analyses on your own system data offline. We also plan to support command-line upload to the web interface soon!

Web-based Toolkit

We have deployed ExplainaBoard as a Web toolkit, which includes 9 NLP tasks, 40 datasets and 300 systems. Detailed information is as follows.

Quick Installation

Method 1: Simple installation from PyPI (Python 3 only)

pip install explainaboard
python -m spacy download en_core_web_sm  # if you plan to use the TextClassificationProcessor

Method 2: Install from the source and develop locally (Python 3 only)

# Clone current repo
git clone https://github.com/neulab/ExplainaBoard.git
cd ExplainaBoard

# Install the package
pip install .

Then, you can run following examples via bash

Example for CLI

  • text-classification:
explainaboard --task text-classification --system_outputs ./data/system_outputs/sst2/sst2-lstm.tsv

See detailed description and more supported tasks.

Example for Python SDK

from explainaboard import TaskType, get_loader, get_processor

path_data = "./explainaboard/tests/artifacts/test-summ.tsv"
loader = get_loader(TaskType.summarization, data = path_data)
data = loader.load()
processor = get_processor(TaskType.summarization, data = data)
analysis = processor.process()
analysis.write_to_directory("./")

Acknowledgement

We thanks all authors who share their system outputs with us: Ikuya Yamada, Stefan Schweter, Colin Raffel, Yang Liu, Li Dong. We also thank Vijay Viswanathan, Yiran Chen, Hiroaki Hayashi for useful discussion and feedback about ExplainaBoard.

Project details


Release history Release notifications | RSS feed

This version

0.6.3

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

explainaboard-0.6.3.tar.gz (521.1 kB view details)

Uploaded Source

Built Distribution

explainaboard-0.6.3-py2.py3-none-any.whl (550.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file explainaboard-0.6.3.tar.gz.

File metadata

  • Download URL: explainaboard-0.6.3.tar.gz
  • Upload date:
  • Size: 521.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for explainaboard-0.6.3.tar.gz
Algorithm Hash digest
SHA256 5be36e21fbf90c07be191e8fbfdba5fa09a4b45dfe78041ff94f4ecf57d5498e
MD5 f87182dda73737aa619ae2f0a305186e
BLAKE2b-256 022dcb90ff91972c240e97aa5dced379e0153c65ad6883c784d3d35603e7a3c9

See more details on using hashes here.

File details

Details for the file explainaboard-0.6.3-py2.py3-none-any.whl.

File metadata

  • Download URL: explainaboard-0.6.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 550.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for explainaboard-0.6.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4ecaf496387f337b98b0f24e657f80c37b0fae8b6e8347dceaf122ae88e3fe0d
MD5 a535bcf5463c948ffaf1125bf87e1b93
BLAKE2b-256 7bcab1748b70e5477b573c0cf6a478ffa48abdfd13a635c6610d29878e8edd4f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page