Automatic SOTA (state-of-the-art) extraction
Aggregate public SOTA tables that are shared under a free licences.
Download the scrapped data or run the scrappers yourself the get the latest data.
In the future, we are planning to automate the process of extracting tasks, datasets and results from papers.
Getting the data
The data is kept in the data directory. All data is shared under the CC-BY-SA-4 licence.
The data has been parsed into a consistent JSON format, described below.
JSON format description
The format consists of five primary data types: Task, Dataset, Sota, SotaRow and Link.
A valid JSON file is a list of Task objects. You can see examples in the data/tasks folder.
Task
A Task consists of the following fields:
task- name of the task (string)description- short description of the task, in markdown (string)subtasks- a list of zero or moreTaskobjects that are children to this task (list)datasets- a list of zero or moreDatasetobjects on which the tasks are evaluated (list)source_link- an optionalLinkobject to the original source of the task
Dataset
A Dataset consists of the following fields:
dataset- name of the dataset (string)description- a short description in markdown (string)subdatasets- zero or more childrenDatasetobjects (e.g. dataset subsets or dataset partitions) (list)dataset_links- zero or moreLinkobjects, representing the links to the dataset download page or any other relevant external pages (list)dataset_citations"- zero or moreLinkobjects, representing the papers that are the primary citations for the dataset.sota- theSotaobject representing the state-of-the-art table on this dataset.
Link
A Link object describes a URL, and has these two fields:
title- title of the link, i.e. anchor text (string)url- target URL (string)
Sota
A Sota object represents one state-of-the-art table, with these fields:
metrics- a list of metric names used to evaluate the methods (list of strings)rowsa list of rows in the SOTA table, a list ofSotaRowobjects (list)
SotaRow
A SotaRow object represents one line of the SOTA table, it has these fields:
model_name- Name of the model evaluated (string)paper_title- Primary paper's title (string)paper_url- Primary paper's URL (string)paper_date- Paper date of publishing, if available (string)code_links- a list of zero or moreLinkobjects, with links to relevant code implementations (list)model_links- a list of zero or moreLinkobjects, with links to relevant pretrained model files (list)metrics- a dictionary of values, where the keys are string from the parentSota.rowslist, and the values are the measured performance. (dictionary)
Running the scrapers
Installation
Requires Python 3.6+.
pip install -r requirements.txt
NLP-progress
NLP-progress is a hand-annotated collection of SOTA results from NLP tasks.
The scraper is part of the NLP-progress project.
Licence: MIT
EFF
EFF has annotated a set of SOTA results on a small number of tasks, and produced this great report.
To convert the current content run:
python -m scrapers.eff
Licence: CC-BY-SA-4
SQuAD
The Stanford Question Answering Dataset is an active project for evaluating the question answering task using a hidden test set.
To scrape the current content run:
python -m scrapers.squad
Licence: CC-BY-SA-4
RedditSota
The RedditSota repository lists the best method for a variety of tasks across all of ML.
To scrape the current content run:
python -m scrapers.redditsota
Licence: Apache-2
SNLI
The The Stanford Natural Language Inference (SNLI) Corpus is an active project for Natural Language Inference.
To scrape the current content run:
python -m scrapers.snli
Licence: CC-BY-SA
Cityscapes
Cityscapes is a benchmark for semantic segmentation.
To scrape the current content run:
python -m scrapers.cityscapes
Evaluating the SOTA extraction performance
In the future, this repository will also contain the automatic SOTA extraction pipeline. The aim is to automatically extract tasks, datasets and results from papers.
To evaluate the current prediction performance for all tasks:
python -m extractor.eval_all
The most current report can be seen here: eval_all_report.csv.
Metadata
Release files for sota-extractor 0.0.29
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| sota-extractor-0.0.29.tar.gz | 30.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sota_extractor-0.0.29-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 76.7 kB
Release files / sota-extractor-0.0.29.tar.gz
| Download URL | sota-extractor-0.0.29.tar.gz |
|---|---|
| Size | 30.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2a4f0b51ed17a6cfad596123ebcc0ef2acf1642824a9a88d1f94f9f0e27af792
|
|
BLAKE2b-256 checksum How to use checksums |
0c19855f5d0fb8445289e5100c77bd7932d38cad4953c8a1f207be5ca5e30b89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.11
|
Release files / sota_extractor-0.0.29-py3-none-any.whl
| Download URL | sota_extractor-0.0.29-py3-none-any.whl |
|---|---|
| Size | 46.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e13779cda14fb61fdf82bff80b364859f8e588c92c2678fa041311e35c80899b
|
|
BLAKE2b-256 checksum How to use checksums |
6ab4a4b4f8348a6672fef6327a7b314a3febcc89b620fbc3e359ec629445a0f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.11
|
Security for sota-extractor 0.0.29
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.