# sebastianruder/nlp-progress architecture

> Architecture diagram of the GitHub repository sebastianruder/nlp-progress, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sebastianruder/nlp-progress
- Repository: https://github.com/sebastianruder/nlp-progress

## Overview

NLP-progress is a curated reference for NLP tasks, benchmark datasets, and reported state-of-the-art results, organized as Markdown pages by task and language. Readers use the README to find a topic and consult its page; contributors update task, dataset, and result entries there. A separate structured-data utility parses Markdown pages for JSON export. The graph reflects documented navigation and the sampled exporter behavior; it does not assume links between individual task pages.

Main entry points: [`README.md`](https://github.com/sebastianruder/nlp-progress/blob/master/README.md) (Task index), [`structured/export.py`](https://github.com/sebastianruder/nlp-progress/blob/master/structured/export.py) (Markdown exporter), [`english/question_answering.md`](https://github.com/sebastianruder/nlp-progress/blob/master/english/question_answering.md) (English tasks), [`structured/README.md`](https://github.com/sebastianruder/nlp-progress/blob/master/structured/README.md) (Structured pages)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_catalog["NLP benchmark catalog"]
  node_index["Task index<br/>[README.md]"]
  node_english["English tasks"]
  node_language["Other languages<br/>[README.md]"]
  node_structured_pages["Structured pages<br/>[README.md]"]
end

subgraph group_export["Structured export"]
  node_exporter["Markdown exporter<br/>[export.py]"]
end

node_reader(("Reader"))
node_contributor(("Contributor"))
node_json_output["JSON output"]

node_reader -->|"opens"| node_index
node_index -->|"links to"| node_english
node_index -->|"links to"| node_language
node_contributor -->|"updates results"| node_english
node_contributor -->|"adds task links"| node_index
node_exporter -->|"parses Markdown"| node_structured_pages
node_exporter -.->|"writes JSON"| node_json_output

click node_index "https://github.com/sebastianruder/nlp-progress/blob/master/README.md"
click node_english "https://github.com/sebastianruder/nlp-progress/blob/master/english/question_answering.md"
click node_language "https://github.com/sebastianruder/nlp-progress/blob/master/README.md"
click node_structured_pages "https://github.com/sebastianruder/nlp-progress/blob/master/structured/README.md"
click node_exporter "https://github.com/sebastianruder/nlp-progress/blob/master/structured/export.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_index,node_english,node_language,node_structured_pages toneBlue
class node_exporter toneAmber
class node_reader,node_contributor,node_json_output toneIndigo
```

## Components

### NLP benchmark catalog

- [Task index](https://github.com/sebastianruder/nlp-progress/blob/master/README.md): `README.md`
- [English tasks](https://github.com/sebastianruder/nlp-progress/blob/master/english/question_answering.md): `english/question_answering.md`
- [Other languages](https://github.com/sebastianruder/nlp-progress/blob/master/README.md): `README.md`
- [Structured pages](https://github.com/sebastianruder/nlp-progress/blob/master/structured/README.md): `structured/README.md`

### Structured export

- [Markdown exporter](https://github.com/sebastianruder/nlp-progress/blob/master/structured/export.py): `structured/export.py`

### Other components

- **Reader**
- **Contributor**
- **JSON output**

## Connections

- Reader → Task index: opens (evidence: `README.md`)
- Task index → English tasks: links to (evidence: `README.md`)
- Task index → Other languages: links to (evidence: `README.md`)
- Contributor → English tasks: updates results (evidence: `README.md`)
- Contributor → Task index: adds task links (evidence: `README.md`)
- Markdown exporter → Structured pages: parses Markdown (evidence: `structured/export.py`)
- Markdown exporter → JSON output: writes JSON
