Package: mishkal
Mishkal Arabic text vocalization software مشكال لتشكيل النصوص العربيةDeveloppers: Taha Zerrouki:http://tahadz.comtaha dot zerrouki at gmail
dot comFeature
svalueAuthorsAuthors.mdRelease1.10 BouiraLicenseGPLTrackerlinuxscout/mishkal/IssuesMailing
list` <http://groups.google.com/group/mishkal/>`__Websitetahadz.com/mishkalSourceGithubDownloa
dsourceforgeFeedbac
ksCommentsAccount
s[@Facebook](https://www.facebook.com/mishkalarabic)
[@Twitter](https://twitter.com/linuxscout)
[@Sourceforge](http://sourceforge.net/projectsmishkal/)Citation@thesis{zerrouki2020adawat,author={Taha Zerrouki},title={Towards An Open Platform For Arabic Language Processing},type={PhD thesis},institution={Ecole Nationale Supérieure d'informatique, Alger, Algérie},date={2020},}InstallYou can Install Mishkal as library or Software ### Python libpip install mishkalInstall from githubClone mishkal project from GitHub:git clone https://github.com/linuxscout/mishkal.gitInstall necessary packages:pip install -r miskal/requirements.txtrequirments- pyarabic  : basic arabic library
- sylajone  : aranasyn syntaxical analyzer
- arramooz  : arabic morphological dictionary
- asmai     : semantic analyzer
- CodernityDB :  pure python, fast, NoSQL database, used as cache system to minimize load of morphological analyzer
- collocations : collocation library ( deprecated)
- libqutrub : verb conjugation library used by morphological analyzer
- maskouk   : collocation library
- naftawayh : word tag library
- qalsadi   ; morphological analyzer
- tashaphyne : light stemmer used by morphological analyzerUsageMishkal provides:Console command linepython libraryGUi interfaceWeb interfaceAPI interface ### GUI:Windows:MishkalGui.exeGUI: Linuxpythoninterfaces/gui/mishkal-gui.py### Web server
(linux, windows)python3interfaces/web/mishkal-webserverserving on 0.0.0.0:8080 view athttp://127.0.0.1:8080open in your browser the URL:http://127.0.0.1:8080Console (linux/windows)$python3bin/mishkal-console.py-ffilenameUsage:bin/mishal-console.py-ffilename[OPTIONS]bin/mishal-console.py'السلام عليكم'[OPTIONS][-f|--file=filename]inputfile[-o|--outfile=filename]outputfiletowritevocalizedtextto,'$FILENAME (Tashkeel).txt'bydefault[-h|--help]outputsthisusagemessage[-v|--version]programversion[-p|--progress]displayprogressstatus[-a|--verbose]enableverbosity*TashkeelActions-------------------[-r|--reduced]ReducedTashkeel.[-s|--strip]Striptashkeel(removeharakat).[-c|--compare]comparethevocalizedtextwiththeprogramoutput*TashkeelOptions------------------[-l|--limit]vocalizeonlyalimitednumberofline[-x|--syntax]disablesyntaxicanalysis[-m|--semantic]disablesemanticanalysis[-g|--train]enabletrainingoption[-i|--ignore]ignorethelastMarkonoutputwords.[-t|--stat]disablestatistictashkeelThisprogramislicensedundertheGPLLicenseLibrarypipinstallmishkalexample:>>>importmishkal.tashkeel>>>vocalizer=mishkal.tashkeel.TashkeelClass()>>>text=u"تطلع الشمس صباحا">>>vocalizer.tashkeel(text)' تَطْلُعُ الشَّمْسُ صَبَاحًا'>>>JSON connection API التشكيل عن بعديمكن استدعاء خدمة الموقع عبر مكتبة جيسون json و ajax من أي موقع، ويمكنك
استعمالها في موقعك. * طريقة الاستدعاء 1- باستعمال تقنية json مع مكتبة
Jquery<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><metahttp-equiv="content-type"content="text/html; charset=utf-8"/><scriptsrc="http://code.jquery.com/jquery-latest.js"></script></head><body><divid="result"></div><script>$().ready(function(){$.getJSON("http://tahadz.com/mishkal/ajaxGet",{text:"السلام عليكم\nاهلا بكم\nكيف حالكم",action:"TashkeelText"},function(data){$("#result").text(data.result);});});</script>الاستدعاء يكون كما يأتي$.getJSON("http://tahadz.com/mishkal/ajax...",{text:"السلام عليكم\nاهلا بكم\nكيف حالكم",action:"TashkeelText"},حيثtext: النص المطلوب تشكيله.action: العملية المطلوبة وهنا هي TashkeelText.النتيجة تكون من الشكل{"result":" السّلامُ عَلَيكُمْ اهلا بِكُمْ كَيْفَ حالُكُمْ","order":"0"}حيثresult: النص الناتج المشكول.order: رقم السطر في النص الأصلي، فإذا كان النص الأصلي كبيرا يقسمه
المشكال لعدد من الاسطر، وقد لا يرجعون في نفس الترتيب، لذا حددنا رقم
الترتيب.How does Mishkal work:Mishkal use a rule based method to detect relations and diacritics,
First, it analyzes all morphological cases, it generates all possible
diacritized word forms, by detecting all affixes and check it in a
dictionary. second, It add word frequency to each word.The two previous steps are made by support/Qalsadi ( arabic
morphological analyzer), the used dictionary is a separated project
named ‘Arramooz: arabic dictionnary for morphology”.Third, we use a syntax analyzer to detect all possible relations between
words. The syntax library is named support/ArAnaSyn. This analyzer is
basic for the moment, it use only linear relations between adjacent
words.Forth, all data generated and relations will be analyzed semantically,
to detect semantic relation in order to reduce ambiguity. The use libary
is support/asmai ( Arabic semantic analysis). The semantic relations
extraction is based on corpus. The used corpus is named “Tashkeela:
arabic vocalized texts corpus”.In the final stage, The module mishkal/tashkeel tries to select the
suitable word in the context, it tries to get evidents cases, or more
related cases, else, it tries to select more probable case, using some
rules like select a stop word by default, or select Mansoub case by
default.The rest of program provides functions to handles interfaces and API
with web/desktop or command lineFeatured Posts“مشكال” لتشكيل النصوص العربية بإحترافيةكمال
فودةكيفية شكيل الحروف والكلمات أو حتى نصوص باللغة العربية في ثواني من
خلال متصفحك-رضا
بوربعةخدمة عربية جديدة : تشكيل النصوص العربيةSam
Hamouإطلاق الإصدار التجريبي برنامج مشكال لتشكيل النصوص العربيةZaid
AlSaadiمشكال: الطريق نحو التشكيلمدونة
اليراعمشكال لتشكيل النصوص العربية: إطلاق واجهة سطح المكتبمدونة
اليراعتعرّف على مشاريع “تحدّث” .. مشاريعٌ للغةٍ عظيمةمحمد هاني
صباغ