NLP-progress README

The project's README from github.com/sebastianruder/NLP-progress. As one markdown file: README.md.

Tracking Progress in Natural Language Processing

Table of contents

English

Vietnamese

Hindi

Chinese

For more tasks, datasets and results in Chinese, check out the Chinese NLP website.

French

Russian

Spanish

Portuguese

Korean

Nepali

Bengali

Persian

Turkish

German

Arabic

This document aims to track the progress in Natural Language Processing (NLP) and give an overview of the state-of-the-art (SOTA) across the most common NLP tasks and their corresponding datasets.

It aims to cover both traditional and core NLP tasks such as dependency parsing and part-of-speech tagging as well as more recent ones such as reading comprehension and natural language inference. The main objective is to provide the reader with a quick overview of benchmark datasets and the state-of-the-art for their task of interest, which serves as a stepping stone for further research. To this end, if there is a place where results for a task are already published and regularly maintained, such as a public leaderboard, the reader will be pointed there.

If you want to find this document again in the future, just go to nlpprogress.com or nlpsota.com in your browser.

Contributing

Guidelines

Results   Results reported in published papers are preferred; an exception may be made for influential preprints.

Datasets   Datasets should have been used for evaluation in at least one published paper besides the one that introduced the dataset.

Code   We recommend to add a link to an implementation if available. You can add a Code column (see below) to the table if it does not exist. In the Code column, indicate an official implementation with Official. If an unofficial implementation is available, use Link (see below). If no implementation is available, you can leave the cell empty.

Adding a new result

If you would like to add a new result, you can just click on the small edit button in the top-right corner of the file for the respective task (see below).

Click on the edit button to add a file

This allows you to edit the file in Markdown. Simply add a row to the corresponding table in the same format. Make sure that the table stays sorted (with the best result on top). After you've made your change, make sure that the table still looks ok by clicking on the "Preview changes" tab at the top of the page. If everything looks good, go to the bottom of the page, where you see the below form.

Fill out the file change information

Add a name for your proposed change, an optional description, indicate that you would like to "Create a new branch for this commit and start a pull request", and click on "Propose file change".

Adding a new dataset or task

For adding a new dataset or task, you can also follow the steps above. Alternatively, you can fork the repository. In both cases, follow the steps below:

  1. If your task is completely new, create a new file and link to it in the table of contents above.
  2. If not, add your task or dataset to the respective section of the corresponding file (in alphabetical order).
  3. Briefly describe the dataset/task and include relevant references.
  4. Describe the evaluation setting and evaluation metric.
  5. Show how an annotated example of the dataset/task looks like.
  6. Add a download link if available.
  7. Copy the below table and fill in at least two results (including the state-of-the-art) for your dataset/task (change Score to the metric of your dataset). If your dataset/task has multiple metrics, add them to the right of Score.
  8. Submit your change as a pull request.
Model Score Paper / Source Code

Wish list

These are tasks and datasets that are still missing:

Exporting into a structured format

You can extract all the data into a structured, machine-readable JSON format with parsed tasks, descriptions and SOTA tables.

The instructions are in structured/README.md.

Instructions for building the site locally

Instructions for building the website locally using Jekyll can be found here.

NLP-progress (sebastianruder/NLP-progress)

Searching Database…

Что это такое?Это курируемый документ, который поддерживается сообществом и отслеживает прогресс в обработке естественного языка (NLP): в нём перечислены стандартные датасеты и текущие лучшие результаты (SOTA) для большинства распространённых задач NLP на многих языках.
Это библиотека с кодом или просто справочный документ?Это справочный документ, а не код: набор Markdown-файлов, по одному на каждую задачу NLP. В каждом перечислены датасеты, таблицы SOTA (модель, оценка, статья, ссылка на код) и примеры разметки.
Как устроено содержимое и с чего начать?Содержимое разделено по языкам (английский, китайский, французский, испанский и др.), а внутри каждого языка — по задачам (например, машинный перевод, распознавание именованных сущностей, ответы на вопросы). Всё это указано в оглавлении в начале README. Выберите интересующую задачу и откройте её Markdown-файл.
Нужно ли что-то устанавливать, чтобы читать или использовать этот список?Нет, это просто Markdown-файлы, которые можно читать на GitHub или на nlpprogress.com. Для локальной сборки сайта нужен Jekyll, а экспорт данных в JSON делается отдельным скриптом, который описан в structured/README.md.
Все ли записи проверены и обновляется ли список?Записи проверяются по правилам внесения вклада: результаты должны быть из опубликованных статей, а датасеты должны использоваться хотя бы в одной другой опубликованной статье. Но это список, который поддерживает сообщество, поэтому некоторые задачи могут отставать от последних исследований — проект начат в 2018 году.
Кому это полезно?Исследователям и практикам, которые хотят быстро получить обзор эталонных датасетов и текущих SOTA-результатов для конкретной задачи NLP перед началом собственной работы.
Можно ли получить данные в машиночитаемом формате, а не в Markdown?Да, репозиторий поддерживает экспорт всех задач, описаний и таблиц SOTA в структурированный формат JSON; инструкции — в structured/README.md.
Как добавить новый результат или датасет в список?Отредактируйте Markdown-файл нужной задачи прямо на GitHub (или сделайте форк репозитория), добавьте строку в таблицу SOTA или опишите новый датасет или задачу по правилам внесения вклада, а затем откройте pull request.
Какие языки, кроме английского, здесь представлены?Вьетнамский, хинди, китайский, французский, русский, испанский, португальский, корейский, непальский, бенгальский, персидский, турецкий, немецкий и арабский — для каждого языка есть отдельные разделы с задачами.
Признаёт ли список, что в нём чего-то не хватает?Да, в разделе «Список пожеланий» перечислены пробелы, например индукция двуязычных словарей, парсинг дискурса, извлечение ключевых фраз, наполнение баз знаний и задачи полуконтролируемого обучения.
Size
1.4 MB
Stars
23K
Age
8y
Commits · 90 Days