# donisumito/acehx architecture

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

- Interactive diagram: https://gitdiagram.com/donisumito/acehx
- Repository: https://github.com/donisumito/acehx

## Overview

AcehX is a research resource for Acehnese NLP: it provides an unlabeled corpus, labeled sentiment data, and a tokenizer vocabulary to support MLM pretraining and sentiment fine-tuning. The documented workflow extends a tokenizer, pretrains AcehXBERT, then fine-tunes it for sentiment classification. Training notebooks are present, but their implementation was not available for inspection; links below reflect README-documented stages only.

Main entry points: [`scripts/run_AcehXBERT_sentiment.ipynb`](https://github.com/donisumito/acehx/blob/main/scripts/run_AcehXBERT_sentiment.ipynb) (Sentiment Fine-tuning), [`scripts/run_AcehXBERT_mlm.ipynb`](https://github.com/donisumito/acehx/blob/main/scripts/run_AcehXBERT_mlm.ipynb) (MLM Training), [`tokenizer_AcehX_Corpus/vocab.txt`](https://github.com/donisumito/acehx/blob/main/tokenizer_AcehX_Corpus/vocab.txt) (Tokenizer Vocabulary), [`datasets/MLM/AcehX_Corpus.txt`](https://github.com/donisumito/acehx/blob/main/datasets/MLM/AcehX_Corpus.txt) (AcehX Corpus)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Language Data"]
  node_mlm_corpus["AcehX Corpus<br/>[AcehX_Corpus.txt]"]
  node_sentiment_data["Sentiment Splits"]
end

subgraph group_tokenizer["Tokenization"]
  node_tokenizer_vocab["Tokenizer Vocabulary<br/>[vocab.txt]"]
  node_tokenizer_config["Tokenizer Config"]
end

subgraph group_training["Model Training"]
  node_mlm_workflow["MLM Training"]
  node_sentiment_workflow["Sentiment Fine-tuning"]
  node_mlm_model["AcehXBERT MLM"]
  node_sentiment_model["AcehXBERT Sentiment"]
end

node_researcher(("NLP Researcher"))

node_researcher -->|"uses"| node_mlm_corpus
node_researcher -->|"uses"| node_sentiment_data
node_tokenizer_vocab -->|"configures"| node_tokenizer_config
node_mlm_workflow -->|"trains on"| node_mlm_corpus
node_mlm_workflow -->|"uses"| node_tokenizer_vocab
node_mlm_workflow -->|"pretrains"| node_mlm_model
node_sentiment_workflow -->|"fine-tunes on"| node_sentiment_data
node_sentiment_workflow -->|"uses"| node_tokenizer_vocab
node_sentiment_workflow -->|"fine-tunes"| node_mlm_model
node_sentiment_workflow -->|"produces"| node_sentiment_model

click node_mlm_corpus "https://github.com/donisumito/acehx/blob/main/datasets/MLM/AcehX_Corpus.txt"
click node_sentiment_data "https://github.com/donisumito/acehx/tree/main/datasets/Sentiment"
click node_tokenizer_vocab "https://github.com/donisumito/acehx/blob/main/tokenizer_AcehX_Corpus/vocab.txt"
click node_tokenizer_config "https://github.com/donisumito/acehx/tree/main/tokenizer_AcehX_Corpus"
click node_mlm_workflow "https://github.com/donisumito/acehx/blob/main/scripts/run_AcehXBERT_mlm.ipynb"
click node_sentiment_workflow "https://github.com/donisumito/acehx/blob/main/scripts/run_AcehXBERT_sentiment.ipynb"

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_mlm_corpus,node_sentiment_data toneBlue
class node_tokenizer_vocab,node_tokenizer_config toneAmber
class node_mlm_workflow,node_sentiment_workflow,node_mlm_model,node_sentiment_model toneMint
class node_researcher toneIndigo
```

## Components

### Language Data

- [AcehX Corpus](https://github.com/donisumito/acehx/blob/main/datasets/MLM/AcehX_Corpus.txt): `datasets/MLM/AcehX_Corpus.txt`
- [Sentiment Splits](https://github.com/donisumito/acehx/tree/main/datasets/Sentiment): `datasets/Sentiment`

### Tokenization

- [Tokenizer Vocabulary](https://github.com/donisumito/acehx/blob/main/tokenizer_AcehX_Corpus/vocab.txt): `tokenizer_AcehX_Corpus/vocab.txt`
- [Tokenizer Config](https://github.com/donisumito/acehx/tree/main/tokenizer_AcehX_Corpus): `tokenizer_AcehX_Corpus`

### Model Training

- [MLM Training](https://github.com/donisumito/acehx/blob/main/scripts/run_AcehXBERT_mlm.ipynb): `scripts/run_AcehXBERT_mlm.ipynb`
- [Sentiment Fine-tuning](https://github.com/donisumito/acehx/blob/main/scripts/run_AcehXBERT_sentiment.ipynb): `scripts/run_AcehXBERT_sentiment.ipynb`
- **AcehXBERT MLM**
- **AcehXBERT Sentiment**

### Other components

- **NLP Researcher**

## Connections

- NLP Researcher → AcehX Corpus: uses
- NLP Researcher → Sentiment Splits: uses
- Tokenizer Vocabulary → Tokenizer Config: configures
- MLM Training → AcehX Corpus: trains on
- MLM Training → Tokenizer Vocabulary: uses
- MLM Training → AcehXBERT MLM: pretrains
- Sentiment Fine-tuning → Sentiment Splits: fine-tunes on
- Sentiment Fine-tuning → Tokenizer Vocabulary: uses
- Sentiment Fine-tuning → AcehXBERT MLM: fine-tunes
- Sentiment Fine-tuning → AcehXBERT Sentiment: produces
