/QuranTree.jl

A Julia package for working with the Quranic Arabic Corpus.

Primary LanguageJuliaMIT LicenseMIT

QuranTree.jl

Build status Coverage MIT License

A Julia package for working with the Qur'an (Islam's Holy Book), computationally. QuranTree.jl is based on The Quranic Arabic Corpus by Kais Dukes of University of Leeds, and is aimed at offerring a high-level API alternative to the Java package, JQuranTree.

Features

The following are the features of the package:

  • Indexing
    • Intuitive indexing for Chapters, Verses, Words and Parts
  • Complete type for all Morphological Features and Part of Speech
  • Others
    • Supports Tanzil data
    • Read-only array for raw datasets (Corpus and Tanzil)

Yunir.jl support

Yunir.jl is a lightweight Arabic NLP toolkit that well supports QuranTree.jl for the following functionalities:

  • Transliteration
    • Buckwalter as default
    • Functionality for creating custom transliterator
    • Update transliteration in 1 line of code
  • Seemless transition between Arabic and Buckwalter (or custom transliteration)
  • Simple Encoding (refer here)
  • Character Normalization
    • For both Arabic and Buckwalter (or custom transliteration)
  • Character Dediacritization
    • For both Arabic and Buckwalter (or custom transliteration)
  • Orthographical Analysis

Installation

To install the package, run the following:

julia> using Pkg
julia> Pkg.add("QuranTree")

Citation

@inproceedings{asaad-2021-qurantree,
    title = "{Q}uran{T}ree.jl: A Julia Package for Quranic {A}rabic Corpus",
    author = "Asaad, Al-Ahmadgaid",
    booktitle = "Proceedings of the Sixth Arabic Natural Language Processing Workshop",
    month = apr,
    year = "2021",
    address = "Kyiv, Ukraine (Virtual)",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/2021.wanlp-1.22",
    pages = "208--212",
}

Requirements

Usage

See the documentation.