https://github.com/alstat/qurantree.jl
A Julia package for working with the Quranic Arabic Corpus.
https://github.com/alstat/qurantree.jl
arabic arabic-nlp julia linguistics nlp-machine-learning quran
Last synced: about 1 month ago
JSON representation
A Julia package for working with the Quranic Arabic Corpus.
- Host: GitHub
- URL: https://github.com/alstat/qurantree.jl
- Owner: alstat
- License: mit
- Created: 2021-01-02T11:26:12.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-06-08T06:31:59.000Z (over 3 years ago)
- Last Synced: 2025-06-21T20:11:24.801Z (4 months ago)
- Topics: arabic, arabic-nlp, julia, linguistics, nlp-machine-learning, quran
- Language: Julia
- Homepage: https://alstat.github.io/QuranTree.jl/stable/
- Size: 2.69 MB
- Stars: 13
- Watchers: 2
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# QuranTree.jl
![]()
[](https://github.com/alstat/QuranTree.jl/actions)
[](https://codecov.io/gh/alstat/QuranTree.jl)
[](https://alstat.github.io/QuranTree.jl/dev/)
[](https://alstat.github.io/QuranTree.jl/stable/)
[](https://github.com/alstat/QuranTree.jl/blob/master/LICENSE)A Julia package for working with the Qur'an (Islam's Holy Book), computationally. QuranTree.jl is based on [The Quranic Arabic Corpus](https://corpus.quran.com/) by Kais Dukes of University of Leeds, and is aimed at offerring a high-level API alternative to the Java package, [JQuranTree](https://corpus.quran.com/java/overview.jsp).
## 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](https://github.com/alstat/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](https://corpus.quran.com/java/simpleencoding.jsp))
* 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
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
* [Julia](https://julialang.org/) >= 1.6.0
## Usage
See the [documentation](https://alstat.github.io/QuranTree.jl/stable/).