Logo Lanfrica
  • Accueil
  • Atlas
  • Analyses
  • Documentation
  • Sign in

© 2026 Lanfrica. Tous droits réservés. Tous les droits d'auteur des ressources affichées sur le site Web Lanfrica appartiennent aux détenteurs de droits d'auteur d'origine, sauf indication contraire explicite.

abssisophia9-hub/darija-ngram-lm

Domaine:

natural language processing

Type de record:

model
Créateur:
abs
HĂ´te:
# Darija N-gram Language Model 🇲🇦 A character-level n-gram language model trained on Moroccan Darija (Arabic dialect) text data. Built from scratch using pure Python with no external ML libraries. --- ## Project Structure ``` darija-ngram-lm/ ├── prepare_data.py # Cleans and combines raw text sources into corpus ├── train.py # Trains the n-gram model (memory-safe streaming) ├── evaluate.py # Evaluates model quality using perplexity ├── requirements.txt # No external dependencies needed ├── src/ │ ├── preprocessing.py # Text cleaning utilities │ ├── ngram_model.py # N-gram model core logic │ └── evaluation.py # Evaluation helpers └── data/ # (not included — see Data Sources below) ``` ## How It Works This project builds a trigram character-level language model over Moroccan Darija text: ### 1. prepare_data.py — Data Preparation - Walks through all raw .txt source files in named subfolders - Cleans text: keeps only Arabic script characters (U+0600–U+06FF) - Removes duplicates using MD5 hashing - Writes a unified data/corpus.txt ### 2. train.py — Model Training - Reads the corpus in 4KB chunks (memory-safe streaming) - Counts character trigrams (sequences of 3 characters) - Periodically prunes low-frequency n-grams to prevent memory overflow - Saves the trained model as models/model.json ### 3. evaluate.py — Model Evaluation - Loads the trained model - Computes perplexity on a Darija test string - Uses Laplace smoothing for unseen character sequences --- ## Setup No installation needed. Just make sure you have Python 3.8+: python --version All libraries used are part of Python standard library: json, math, os, re, collections, hashlib. --- ## How to Run Step 1 — Prepare the corpus python darija-ngram-lm/prepare_data.py Step 2 — Train the model python darija-ngram-lm/train.py Step 3 — Evaluate the model python darija-ngram-lm/evaluate.py --- ## Results | Metric …

Visit

github.com

Languages

Arabic, Algerian SpokenArabic, Moroccan Spoken

Similaires

Chahdnezhari/darija-ngram-modelDuino/Darija-LMAmine-Jb/darija-ngram-language-modelwassimab565-hub/english-darija-translator-extensionba5liel/amh-ngramyordanoswuletaw/amharic-ngram-autocomplete

Chahdnezhari/darija-ngram-model

# Darija N-gram Language Model ## Overview This project implements a probabilistic n-gram language

Duino/Darija-LM

Amine-Jb/darija-ngram-language-model

# darija-ngram-language-model

wassimab565-hub/english-darija-translator-extension

LLM-powered RESTful web service for translating English ↔ Moroccan Darija, implemented with JAX-RS,

ba5liel/amh-ngram

Amharic ngram # Amharic N-gram Language Model This project implements n-gram language models for A

yordanoswuletaw/amharic-ngram-autocomplete

Amharic N-Gram Language Model for Auto-Completion, Implemented in Python and NumPy from Scratch # A