• Stars
    star
    388
  • Rank 110,734 (Top 3 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 10 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

pyarabic

PyArabic

build

A specific Arabic language library for Python, provides basic functions to manipulate Arabic letters and text, like detecting Arabic letters, Arabic letters groups and characteristics, remove diacritics etc.

مكتبة برمجية للغة العربية بلغة بيثون، توفر دوالا للتحكم في الحروف والنصوص، مثلا تحديد نوع الحرف، حذف الحركات، مقارنة التشكيل.

downloads

Developpers: Taha Zerrouki: http://tahadz.com taha dot zerrouki at gmail dot com

Features value
Authors Taha Zerrouki: http://tahadz.com, taha dot zerrouki at gmail dot com
Release 0.6.12
License GPLv3
Tracker linuxscout/pyarabic/Issues
Website https://pypi.python.org/pypi/pyarabic
Doc package Documentaion
Source Github
Download pypi.python.org
Feedbacks Comments
Accounts @Twitter @Sourceforge

Citation

DOI

Zerrouki, T., (2023). PyArabic: A Python package for Arabic text. Journal of Open Source Software, 8(84), 4886, https://doi.org/10.21105/joss.04886

T. Zerrouki‏, Pyarabic, An Arabic language library for Python, https://pypi.python.org/pypi/pyarabic/, 2010

or in bibtex format

```bibtex
@article{Zerrouki2023,
	title        = {PyArabic: A Python package for Arabic text},
	author       = {Taha Zerrouki},
	year         = 2023,
	journal      = {Journal of Open Source Software},
	publisher    = {The Open Journal},
	volume       = 8,
	number       = 84,
	pages        = 4886,
	doi          = {10.21105/joss.04886},
	url          = {https://doi.org/10.21105/joss.04886}
}

or

@misc{zerrouki2012pyarabic,
  title={pyarabic, An Arabic language library for Python},
  author={Zerrouki, Taha},
  url={https://pypi.python.org/pypi/pyarabic,
  year={2010}
}

مزايا

  • تصنيف الحروف
  • تفريق النص إلى وحدات (جمل أو كلمات)
  • حذف الحركات:( كل الحركات، الحركات عدا الشدة، حذف الشدة، حذف التطويل، حذف الحركة الأخيرة)
  • فصل الحركات عن النصوص وإدماجها
  • اختزال التشكيل
  • قياس التماثل بين كلمتين ( في الحركات جزئيا وكليا، التماثل مع وزن)
  • تنميط الحروف ( توحيد التراكيب مثل لام الألف، والهمزات)
  • تحويل الأعداد إلى كلمات
  • استخلاص العبارات العددية من النص
  • تشكيل أولي للعبارات العددية
  • قلب النصوص العربية للأنظمة التي لا تدعم تشبيك الحروف

Features

  • Arabic letters classification
  • Text tokenization into words or sentences
  • Strip Harakat ( all, except Shadda, tatweel, last_haraka)
  • Sperate and join Letters and Harakat
  • Reduce tashkeel
  • Mesure tashkeel similarity ( Harakats, fully or partially vocalized, similarity with a template)
  • Letters normalization ( Ligatures and Hamza)
  • Numbers to words
  • Extract numerical phrases
  • Pre-vocalization of numerical phrases
  • Unshiping texts

Applications

  • Arabic text processing

Installation

pip install pyarabic

Usage

import pyarabic.araby as araby
import pyarabic.number as number

Package Documentation

https://pyarabic.readthedocs.io/

Files

  • file/directory category description
  • araby.py: arabic routins.
  • named.py: handle named enteties recognation.
  • unshape.py: unshaping arabic text

وصف

مكتبة بيثون للعربيةPyArabic مكتبة برمجية تجمع في طياتها خصائص ووظائف يحتاجها المبرمج للتعامل مع النصوص العربية، وهي مستوحاة من مكتبة بي أتش بي العربية لصديقنا خالد الشمعة، التي تستهدف توفير مصدر مفتوح لكثير من وظائف النصوص العربية لاستعمالها في مجال النشر في الإنترنت.

تعريف نص عربي

أفضل طريقة للتعامل مع النصوص العربية بلغة بيثون هو استخدام الترميز يونيكود، التي يدعمها بيثون دعما أصليا، لا حاجة فيه إلى مكتبات خارجية أو دوال خاصة، وقد يكون هذا أهمّ ما دفعني لاختيار لغة بيثون، إذ يكفي أن تسبق النص بحرف يو u لتدع بيثون يريحك من عناء التفكير وبرمجة النصوص، ويعامل معها بشفافية عالية.

تعريف نص عربي بترميز يونيكود

text = u'الإسلام ديننا'

اختيار ترميز ملف المتن.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

عرض النص العربي في المخرج

print text.encode('utf8')

اسم المكتبة pyarabic فيها العديد من الوظائف المجمعة في وحدات:

فيها العديد من الوظائف المجمعة في وحدات:

  • وحدة : araby.py وفيها الثوابت كالحروف وأسمائها ومجموعاتها والوظائف العامة كحذف الحركات وحذف التطويل ومقارنة التشكيل بين الكلمات، وضبط علامات الترقيم.
  • وحدة الأعداد number.py : وفيها وظائف تحويل الأعداد إلى كلمات والكلمات إلى أعداد، كشف ألفاظ الأعداد في النص، وتشكيلها.
  • وحدة المسميات : named.py وفيها وظائف لكشف الأسماء والمسميات في النص.

وحدة الوظائف العامة araby

يمكن استدعاؤها بالأمر

Import pyarabic.araby as araby

وسنستعمل الاختصار araby فيما بعد الثوابت العامة في مكتبة عربي: تضم الحروف العربية ومجموعاتها المختلفة وبعض الأنماط المستخدمة لاحقا في وظائف مختلفة 1- الحروف العربية الأساسية مع تسميات لاتينية لاستعمالها في البرمجة

The arabic chars contains all arabic letters, a sub class of unicode,

COMMA            = u'\u060C'
SEMICOLON        = u'\u061B'
QUESTION         = u'\u061F'
HAMZA            = u'\u0621'
ALEF_MADDA       = u'\u0622'
ALEF_HAMZA_ABOVE = u'\u0623'

المزيد في ملف araby.py

تضم مجموعة الحروف العربية الحروف الأساسية، والحركات والأرقام، وعلامات الترقيم، وبعض الحروف الخاصة كالألف الخنجرية والياء الصغيرة، و لامات الألف بأشكالها.

مجموعات الأحرف:

ويمكن تقسيم الحروف في مجموعات وتصنيفات نستعملها فيما بعد في الوظائف المختلفة

الاسم العربي وصف المجموعة عناصرها
الحروف مجموعة الحروف العربية دون حركات LETTERS = u'ابتةثجحخدذرزسشصضطظعغفقكلمنهويءآأؤإئ'
التشكيل مجموعة الحركات مع الشدة مدرجة TASHKEEL =(FATHATAN, DAMMATAN, KASRATAN, FATHA,DAMMA,KASRA, SUKUN, SHADDA)
الحركات مجموعة الحركات دون الشدة مدرجة HARAKAT =( FATHATAN, DAMMATAN, KASRATAN, FATHA, DAMMA, KASRA, SUKUN);
الحركات القصيرة الحركات القصيرة دون تنوين SHORTHARAKAT =( FATHA, DAMMA, KASRA, SUKUN);
التنوين حركات التنوين TANWIN =(FATHATAN, DAMMATAN, KASRATAN);
المركبات لامات الألف في أشكالها المختلفة LIGUATURES = (u'ﻻ', u'ﻷ', u'ﻹ', u'ﻵ')
الهمزات الهمزة في أشكالها المختلفة HAMZAT = (u'ء', u'ؤ', u'ئ', u'ٔ', u'ٕ', u'إ', u'أ')
الألفات الألف في أشكالها المختلفة ALEFAT = (u'ا', u'آ', u'أ', u'إ', u'ٱ', u'ى', u'ٰ')
حروف العلة الياء والواو والألف WEAK = (u'ا', u'و', u'ي', u'ى')
الياءات ما يرسم مثل الياء، الصغيرة منها، والألف المقصورة والهمزة على النبرة YEHLIKE = (u'ي', u'ئ', u'ى', u'ۦ')
الواوات ما يرسم مثل الواو WAWLIKE = (u'و', u'ؤ', u'ۥ')
التاءات التاء المربوطة والمفتوحة TEHLIKE = (u'ت', u'ة')
الحروف الصغيرة الألف والياء والواو الصغار SMALL = (u'ٰ', u'ۥ', u'ۦ')
الحروف القمرية الحروف القمرية MOON = (u'ء', u'آ', u'أ', u'إ', u'ا', u'ب', u'ج', u'ح', u'خ', ...
الحروف الشمسية الحروف الشمسية SUN = (u'ت', u'ث', u'د', u'ذ', u'ر', u'ز', u'س', u'ش', u'ص', u...
ترتيب الحروف العربية يعطي لكل حرف عربي رقما ترتيبيا فالألف واحد والباء اثنان والهمزة 29. AlphabeticOrder = {u'ء': 29, u'آ': 29, u'أ': 29, u'ؤ': 29, u'إ...
أسماء الحروف يعطي كل حرف اسمه العربي NAMES = {u'ء': u'همزة', u'آ': u'ألف ممدودة', u'أ': u'همزة على ...

الوظائف- الدوال

أهم الوظائف
وصف الدالة الدالة
حذف الحركات كلها بما فيها الشدة strip_tashkeel(text)
حذف الحركات كلها ماعدا الشدة strip_harakat(text)
حذف الحركة الأخيرة strip_lastharaka(text)
حذف التطويل strip_tatweel(text)
تنميط أشكال الهمزة المختلفة normalize_hamza(text)
تفريق كلمات النص tokenize(text)
تفريق جمل النص sentence_tokenize(text)

طالع الوظائف والأمثلة في ملف المزايا

features.md

More Repositories

1

mishkal

Mishkal is an arabic text vocalization software
Python
241
star
2

arramooz

Arabic Dictionary for Morphological analysis
Python
128
star
3

tashaphyne

Tashaphyne: Arabic Light Stemmer
Python
86
star
4

qutrub

Qutrub: Arabic verb conjugator
Python
70
star
5

arabicnlptoolslist

Arabic NLP tools List inventory
67
star
6

festival-tts-arabic-voices

Arabic voices for Festival TTS
Scheme
65
star
7

adawat

Adawat: Arabic Text tools
Python
48
star
8

yaraspell

YaraSpell is an simplified arabic spell checker
Python
43
star
9

ayaspell

AyaSpell Arabic Dictionary for Hunspell Spellchecker
Shell
33
star
10

qalsadi

Qalsadi: Arabic mophological analyzer Library for python.
Python
32
star
11

alyahmor

Arabic flexionnal morphology generator
Python
30
star
12

fareh

Fareh: Arabic rules database for grammar and style checking فارح: لغتنا الجميلة
Python
29
star
13

arabicstopwords

Arabic Stop Word List
Python
27
star
14

Arrand-arabic-random-text

Python
25
star
15

ghalatawi

Ghalatawi: Arabic Autocorrect library
Python
20
star
16

shellshal

Shell Scripts for Arabic Language
Shell
17
star
17

mysam-tagmanager

Mysam: Arabic tags manager, ميسم: إدارة الوسوم العربية
Python
16
star
18

tashkeela2

Arabic vocalized text corpus
14
star
19

mishtar

Mishtar: Named and temporal entities chunker
Python
13
star
20

naftawayh

Naftawayh: arabic word tagger
Python
12
star
21

miknaaz

Generate arabic golden standard corpus for morphology and stemming
Python
12
star
22

yaziji

Yaziji : Arabic phrase generator
JavaScript
12
star
23

awk-arabic

Arabic Texts task by AWK
11
star
24

festival-arabic

Arabic Support for Festival speech synthesis system
Scheme
11
star
25

thaalab-aranasyn

Thaalab: Arabic Syntaxical Analyzer
Python
10
star
26

arramooz-pysqlite

Arabic Dictionary for Morphological analysis - python + sqlite
Python
9
star
27

sarf

Sarf - Arabic Morphology System
Java
9
star
28

saygh

Arabic morphological generator
Python
8
star
29

maskouk-pysqlite

Arabic collocations library and data for Python
Python
8
star
30

arabic-roots

Arabic roots list resource
Python
7
star
31

arabic-stemmers-tester

َArabic test for stemmers
Python
7
star
32

aghlat

Aghlat: Arabic misspelling corpus
Python
7
star
33

malsoune

Malsoune: deaf students assistant
Java
7
star
34

adawat-latex

Text tools to handle conversion into Latex with arabic support
Python
6
star
35

qutrubi

Qutrubi : Arabic verb conjugation Mobile Application
Java
4
star
36

asmai-arabic-semantic

Asmai: Al'Asma'i arabic semantic analyzer
TSQL
4
star
37

quran_word_index

Index of Quran words in arabic
Python
4
star
38

AraCorpus

Arabic Corpus
3
star
39

linuxscout

My CV
3
star
40

arabic-affixes

Arabic Affixes (prefixes and suffixes) resource
3
star
41

sylajone-arabic-syntax

Sylajone: Arabic syntax Analyzer library
Python
3
star
42

examanager

Exam and control Management
3
star
43

strm-tests

Create Random tests for Stucture Machine 1- first Year MI, Mathematiques & Informatiques in Algerian universities.
Python
3
star
44

openCTT

Open course time tabler
C#
2
star
45

salamscout

A game for scout to learn some skils
Python
1
star
46

mintiq-raspberry

Porting Arabic Speech synthesis on Raspberry
Makefile
1
star
47

nibras-app

Nibras: a technical terms dictionary for Students
Java
1
star
48

hunspell

Hunspell spellchecker
C++
1
star
49

hcla_lexique

Dictionaries of the High Council of the Arabic Language
Python
1
star
50

i3rab-quiz-data

Python
1
star