All Projects → cpfair → Quran Tajweed

cpfair / Quran Tajweed

Tajweed annotation for the Qur'an

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Quran Tajweed

df-dn-paper
Conceptual & empirical comparisons between decision forests & deep networks
Stars: ✭ 14 (-81.08%)
Mutual labels:  decision-trees
Fuku Ml
Simple machine learning library / 簡單易用的機器學習套件
Stars: ✭ 280 (+278.38%)
Mutual labels:  decision-trees
Data Science Complete Tutorial
For extensive instructor led learning
Stars: ✭ 1,027 (+1287.84%)
Mutual labels:  decision-trees
cortana-intelligence-customer360
This repository contains instructions and code to deploy a customer 360 profile solution on Azure stack using the Cortana Intelligence Suite.
Stars: ✭ 22 (-70.27%)
Mutual labels:  decision-trees
Machine Learning With Python
Python code for common Machine Learning Algorithms
Stars: ✭ 3,334 (+4405.41%)
Mutual labels:  decision-trees
Rgf
Home repository for the Regularized Greedy Forest (RGF) library. It includes original implementation from the paper and multithreaded one written in C++, along with various language-specific wrappers.
Stars: ✭ 341 (+360.81%)
Mutual labels:  decision-trees
Breast-Cancer-Scikitlearn
simple tutorial on Machine Learning with Scikitlearn
Stars: ✭ 33 (-55.41%)
Mutual labels:  decision-trees
Silverdecisions
Software for creating and analyzing decision trees.
Stars: ✭ 69 (-6.76%)
Mutual labels:  decision-trees
2018 Machinelearning Lectures Esa
Machine Learning Lectures at the European Space Agency (ESA) in 2018
Stars: ✭ 280 (+278.38%)
Mutual labels:  decision-trees
Treeheatr
Heatmap-integrated Decision Tree Visualizations
Stars: ✭ 42 (-43.24%)
Mutual labels:  decision-trees
linear-tree
A python library to build Model Trees with Linear Models at the leaves.
Stars: ✭ 128 (+72.97%)
Mutual labels:  decision-trees
Leaves
pure Go implementation of prediction part for GBRT (Gradient Boosting Regression Trees) models from popular frameworks
Stars: ✭ 261 (+252.7%)
Mutual labels:  decision-trees
Neural Backed Decision Trees
Making decision trees competitive with neural networks on CIFAR10, CIFAR100, TinyImagenet200, Imagenet
Stars: ✭ 411 (+455.41%)
Mutual labels:  decision-trees
aifad
AIFAD - Automated Induction of Functions over Algebraic Data Types
Stars: ✭ 27 (-63.51%)
Mutual labels:  decision-trees
C4.5
A python implementation of C4.5 algorithm by R. Quinlan
Stars: ✭ 51 (-31.08%)
Mutual labels:  decision-trees
Pac-Man
Evolutionary Pac-Man bots using Grammatical Evolution and Multi-objective Optimization. Cool GUI included (Undergraduate Thesis)
Stars: ✭ 50 (-32.43%)
Mutual labels:  decision-trees
Sharplearning
Machine learning for C# .Net
Stars: ✭ 294 (+297.3%)
Mutual labels:  decision-trees
Sporf
This is the implementation of Sparse Projection Oblique Randomer Forest
Stars: ✭ 70 (-5.41%)
Mutual labels:  decision-trees
Explore
R package that makes basic data exploration radically simple (interactive data exploration, reproducible data science)
Stars: ✭ 69 (-6.76%)
Mutual labels:  decision-trees
The Deep Learning With Keras Workshop
An Interactive Approach to Understanding Deep Learning with Keras
Stars: ✭ 34 (-54.05%)
Mutual labels:  decision-trees

quran-tajweed

Tajweed annotations for the Qur'an (riwayat hafs). The data is available as a JSON file with exact character indices for each rule, and as individual decision trees for each rule.

You can use this data to display the Qur'an with tajweed highlighting, refine models for Qur'anic speech recognition, or - if you enjoy decision trees - improve your own recitation.

The following tajweed rules are supported:

  • Ghunnah (ghunnah)
  • Idghaam...
    • With Ghunnah (idghaam_ghunnah)
    • Without Ghunnah (idghaam_no_ghunnah)
    • Mutajaanisain (idghaam_mutajaanisain)
    • Mutaqaaribain (idghaam_mutaqaaribain)
    • Shafawi (idghaam_shafawi)
  • Ikhfa...
    • Ikhfa (ikhfa)
    • Ikhfa Shafawi (ikhfa_shafawi)
  • Iqlab (iqlab)
  • Madd...
    • Regular: 2 harakat (madd_2)
    • al-Aarid/al-Leen: 2, 4, 6 harakat (madd_246)
    • al-Muttasil: 4, 5 harakat (madd_muttasil)
    • al-Munfasil: 4, 5 harakat (madd_munfasil)
    • Laazim: 6 harakat (madd_6)
  • Qalqalah (qalqalah)
  • Hamzat al-Wasl (hamzat_wasl)
  • Lam al-Shamsiyyah (lam_shamsiyyah)
  • Silent (silent)

This project was built using information from ReciteQuran.com, the Dar al-Maarifah tajweed masaahif, and others.

Using the tajweed JSON file

All the data you probably need is in output/tajweed.hafs.uthmani-pause-sajdah.json. It has the following schema:

[
    {
        "surah": 1,
        "ayah": 1,
        "annotations": [
            {
                "rule": "madd_6",
                "start": 245,
                "end": 247
            },
            ...
        ]
    },
    ...
]

The start and end indices of each annotation refer to the Unicode codepoint (not byte!) offset within the Tanzil.net Uthmani Qur'an text. Make sure to download the version with pause marks and sajdah signs, but without rub-el-hizb signs or me_quran tanween shapes. If you use different options or a different text entirely, you must rebuild the data file from scratch (at your own risk) - refer to the next section.

This data file is licensed under a Creative Commons Attribution 4.0 International License.

Using the decision trees

tajweed_classifier.py is a script that takes Tanzil.net "Text (with aya numbers)"-style input via STDIN, and produces the tajweed JSON file (as described above) via STDOUT. It reads the decision trees from rule_trees/*.json. Note that the trees have been built to function best with the Madani text; they rely on the prescence of pronunciation markers (e.g. maddah) that may not be present in other texts.

Ruleset reference

The following are renderings of the decision trees used to determine where each tajweed annotation starts and stops. Attributes are grouped by the letters they belong to, a letter being defined as a base character (e.g. ل) plus any diacritics that follow (codepoints in the Mn category). Superscript/dagger alif is counted as a base character. The numbers prefixing each attribute indicate which letter the attribute belongs to: negative referring to previous letters, positive to future letters. Attributes starting with 0_... refer to the exact character being considered. Annotations do not always start or stop on letter boundaries. Refer to tajweed_classifier.py for the definition of each attribute.

ghunnah

Start End
ghunnah start decision tree ghunnah end decision tree

hamzat_wasl

Start End
hamzat_wasl start decision tree hamzat_wasl end decision tree

idghaam_ghunnah

Start End
idghaam_ghunnah start decision tree idghaam_ghunnah end decision tree

idghaam_mutajanisayn

Start End
idghaam_mutajanisayn start decision tree idghaam_mutajanisayn end decision tree

idghaam_mutaqaribayn

Start End
idghaam_mutaqaribayn start decision tree idghaam_mutaqaribayn end decision tree

idghaam_no_ghunnah

Start End
idghaam_no_ghunnah start decision tree idghaam_no_ghunnah end decision tree

idghaam_shafawi

Start End
idghaam_shafawi start decision tree idghaam_shafawi end decision tree

ikhfa

Start End
ikhfa start decision tree ikhfa end decision tree

ikhfa_shafawi

Start End
ikhfa_shafawi start decision tree ikhfa_shafawi end decision tree

iqlab

Start End
iqlab start decision tree iqlab end decision tree

lam_shamsiyyah

Start End
lam_shamsiyyah start decision tree lam_shamsiyyah end decision tree

madd_2

Start End
madd_2 start decision tree madd_2 end decision tree

madd_246

Start End
madd_246 start decision tree madd_246 end decision tree

madd_6

Start End
madd_6 start decision tree madd_6 end decision tree

madd_munfasil

Start End
madd_munfasil start decision tree madd_munfasil end decision tree

madd_muttasil

Start End
madd_muttasil start decision tree madd_muttasil end decision tree

qalqalah

Start End
qalqalah start decision tree qalqalah end decision tree

silent

Start End
silent start decision tree silent end decision tree
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].