Package: alyahmor
Alyahmor اليحمورArabic flexionnal morphology generatorDescriptionThe Alyahmor produce a word form from (prefix, lemma, suffix).
It has many functionalities:Generate word forms from given word and affixesGenerate all word forms by adding verbal or nominal affixes according to word typeGenerate all affixes combination for verbs or nouns which can be used in morphology analysis.Developpers:Taha Zerrouki:http://tahadz.comtaha dot zerrouki at gmail dot comFeaturesvalueAuthorsAuthors.mdRelease0.2LicenseGPLTrackerlinuxscout/alyahmor/IssuesAccounts@TwitterCitationIf you would cite it in academic work, can you use this citationT. Zerrouki‏, Alyahmor, Arabic mophological  generator Library for python.,  https://pypi.python.org/pypi/alyahmor/, 2019or in bibtex format@misc{zerrouki2019alyahmor,title={alyahmor, Arabic mophological generator Library for python.},author={Zerrouki, Taha},url={https://pypi.python.org/pypi/alyahmor},year={2019}}ApplicationsText StemmingMorphology analysisText Classification and categorizationSpellcheckingFeatures  مزاياArabic word Light Stemming.Features:Generate word forms from given word and affixesGenerate all word forms by adding verbal or nominal affixes according to word typeGenerate all affixes combination for verbs or nouns which can be used in morphology analysis.Generate Stopwords formsInstallationpip install alyahmorRequirementspip install -r requirements.txtlibQutrub: Qutrub verb conjugation library:http://pypi.pyton/LibQutrubPyArabic: Arabic language tools library   :http://pypi.pyton/pyarabicArramooz-pysqlite : Arabic dictionaryأصل التسميةاليَحْمُور،وهو الحسن بن المعالي الباقلاني أبو علي النحوي الحلي  شيخ العربية في زمانه في بغداد من تلامذة أبي البقاء العكبري ت ٦٣٧هـوكتب بخطه كثيراً من الأدب واللغة وسائر الفنون، وكان له همةٌ عالية، وحرصٌ شديد؛ وتحصيل الفوائد مع علو سنه، وضعف بصره، وكثرة محفوظه، وصدقه، وثقته، وتواضعه، وكرم أخلاقه.وانتقل آخر عمره إلى مذهب الشافعي،وانتهت إليه رياسة النحو.مولده سنة ثمان وستين وخمسمائة، وتوفي سنة سبع وثلاثين وستمائة.المزيد عن اليحمورUsageExampleGenerate words formsIt joins word with affixes with suitable correction
for exampleبال+كتاب +ين => بالكتابين
ب+أبناء+ه => بأبنائهNounsTo generate all forms of the word كتاب as noun use>>>importalyahmor.genelex>>>generator=alyahmor.genelex.genelex()>>>word=u"كِتِاب">>>noun_forms=generator.generate_forms(word,word_type="noun")>>>noun_forms[u'آلْكِتَاب',u'آلْكِتَابا',u'آلْكِتَابات',u'آلْكِتَابان',u'آلْكِتَابة',u'آلْكِتَابتان',u'آلْكِتَابتين',u'آلْكِتَابون',u'آلْكِتَابي',u'آلْكِتَابيات'....]VerbsTo generate all forms of the word كتاب as verb, use>>>importalyahmor.genelex>>>generator=alyahmor.genelex.genelex()>>>word=u"استعمل">>>verb_forms=generator.generate_forms(word,word_type="verb")>>>verb_forms[u'أَأَسْتَعْمِلَ',u'أَأَسْتَعْمِلَكَ',u'أَأَسْتَعْمِلَكُمَا',u'أَأَسْتَعْمِلَكُمْ',u'أَأَسْتَعْمِلَكُنَّ',u'أَأَسْتَعْمِلَنَا',u'أَأَسْتَعْمِلَنِي',u'أَأَسْتَعْمِلَنَّ',u'أَأَسْتَعْمِلَنَّكَ',u'أَأَسْتَعْمِلَنَّكُمَا',....]Stop wordsTo generate all forms of the word إلى as stopword, use>>>importalyahmor.genelex>>>generator=alyahmor.genelex.genelex()>>>word="إلى">>>stop_forms=generator.generate_forms(word,word_type="stopword")>>>stop_forms['أَإِلَى','أَإِلَييّ','أَإِلَيْكَ','أَإِلَيْكُمَا','أَإِلَيْكُمْ','أَإِلَيْكُنَّ','أَإِلَيْكِ','أَإِلَيْنَا',....]Generate non vocalized formsTo generate all forms of the word كتاب as noun without vocalization  use>>>importalyahmor.genelex>>>generator=alyahmor.genelex.genelex()>>>word=u"كِتِاب">>>noun_forms=generator.generate_forms(word,word_type="noun",vocalized=False)>>>noun_forms[u'آلكتاب',u'آلكتابا',u'آلكتابات',u'آلكتابان',u'آلكتابة',u'آلكتابتان',u'آلكتابتين',u'آلكتابون',u'آلكتابي',u'آلكتابيات',....]Generate a dictionary of  vocalized forms indexed by unvocalized formTo generate all forms of the word كتاب as noun as a dict of grouped all vocalized forms by unvocalized form  use>>>importalyahmor.genelex>>>generator=alyahmor.genelex.genelex()>>>word=u"كِتِاب">>>noun_forms=generator.generate_forms(word,word_type="noun",indexed=True)>>>noun_forms{u'أككتابة':[u'أكَكِتَِابَةِ',u'أكَكِتَِابَةٍ'],u'أوككتابة':[u'أَوَكَكِتَِابَةِ',u'أَوَكَكِتَِابَةٍ'],u'وكتابياتهم':[u'وَكِتَِابياتهِمْ',u'وَكِتَِابِيَاتُهُمْ',u'وَكِتَِابِيَاتِهِمْ',u'وَكِتَِابِيَاتُهِمْ',u'وَكِتَِابياتهُمْ'],u'وكتابياتهن':[u'وَكِتَِابياتهِنَّ',u'وَكِتَِابياتهُنَّ',u'وَكِتَِابِيَاتِهِنَّ',u'وَكِتَِابِيَاتُهِنَّ',u'وَكِتَِابِيَاتُهُنَّ'],u'وللكتابات':[u'وَلِلْكِتَِابَاتِ',u'وَلِلْكِتَِابات'],u'أبكتابتكن':[u'أَبِكِتَِابَتِكُنَّ'],u'أبكتابتكم':[u'أَبِكِتَِابَتِكُمْ'],u'أكتابياتهن':[u'أَكِتَِابياتهِنَّ',u'أَكِتَِابِيَاتِهِنَّ',u'أَكِتَِابياتهُنَّ',u'أَكِتَِابِيَاتُهُنَّ',u'أَكِتَِابِيَاتُهِنَّ'],u'فكتاباتهم':[u'فَكِتَِاباتهِمْ',u'فَكِتَِابَاتُهُمْ',u'فَكِتَِابَاتُهِمْ',u'فَكِتَِاباتهُمْ',u'فَكِتَِابَاتِهِمْ'],u'بكتابياتكن':[u'بِكِتَِابِيَاتِكُنَّ',u'بِكِتَِابياتكُنَّ'],....}Generate detailled formsThe detailled  form containsvocalized word form, example: "ِكِتَابَاتُنَا"semi-vocalized: the word without case mark (دون علامة الإعراب),  example: "ِكِتَابَاتنَا"segmented form: the affix parts and the word like : procletic-prefix-word-suffix-proclitic, for example : و--كتاب-ات-ناTags : عطف:جمع مؤنث سالم:ضمير متصل>>>importalyahmor.genelex>>>generator=alyahmor.genelex.genelex()>>>word=u"كِتِاب"noun_forms=generator.generate_forms(word,word_type="noun",indexed=True,details=True)>>>noun_forms[{'vocolized':'استعمل','semi-vocalized':'استعمل','segmented':'-استعمل--','tags':'::'},{'vocolized':'استعملي','semi-vocalized':'استعملي','segmented':'-استعمل--ي','tags':':مضاف:'},{'vocolized':'استعملِي','semi-vocalized':'استعملِي','segmented':'-استعمل--ي','tags':':مضاف:'},{'vocolized':'استعملكِ','semi-vocalized':'استعملكِ','segmented':'-استعمل--ك','tags':':مضاف:'},{'vocolized':'استعملكَ','semi-vocalized':'استعملكَ','segmented':'-استعمل--ك','tags':':مضاف:'},{'vocolized':'استعملكِ','semi-vocalized':'استعملكِ','segmented':'-استعمل--ك','tags':':مضاف:'},{'vocolized':'استعملكُمُ','semi-vocalized':'استعملكُمُ','segmented':'-استعمل--كم','tags':':مضاف:'},....]Generate affixes listsAlyahmor generate affixes listes for verbs and nouns>>>verb_affix=generator.generate_affix_list(word_type="verb",vocalized=True)>>>verb_affix[u'أَفَسَت-يننِي',u'أَ-ونَا',u'ي-ونكَ',u'فَلَ-تاكَ',u'وَلََن-هُنَّ',u'أَت-وننَا',u'وَ-اكُنَّ',u'ن-ننَا',u'وَت-وهَا',u'أَي-نهُمَا',....]>>>noun_affix=generator.generate_affix_list(word_type="noun",vocalized=True)>>>noun_affix[u'أكَ-ياتكَ',u'فَ-ِيَاتِكُمَا',u'أكَ-ياتكِ',u'أَوَكَ-ِينَا',u'أَلِ-ِيِّهِنَّ',u'أَفَ-َكُمَا',u'أَفَ-ِيَّتِهِمْ',u'أَفَكَ-ياتهُمْ',u'فَبِ-ِيِّكُمْ',u'وَلِ-ِيَّتِهَا',....]Generate Unvocalized affixes>>>noun_affix=generator.generate_affix_list(word_type="noun",vocalized=False)>>>noun_affix[u'-',u'-ا',u'-ات',u'-اتك',u'-اتكم',u'-اتكما',u'-اتكن',u'-اتنا',u'-اته',u'-اتها',...]Generate word forms by affixesAlyahmor generate word forms for given affixesthe affix parameter is a list which contains  four elements asprocleticprefixsuffixenclitic>>>importalyahmor.genelex>>>generator=alyahmor.genelex.genelex()>>>word=u"كِتِاب">>>generator.generate_by_affixes(word,word_type="noun",affixes=[u"بال",u"",u"ين",u""])['بِالْكِتَِابين']>>>generator.generate_by_affixes(word,word_type="noun",affixes=[u"وك",u"",u"ِ",u""])['وَكَكِتَِابِ']>>>generator.generate_by_affixes(word,word_type="noun",affixes=[u"و",u"",u"",u""])['وَكِتَِاب']Filesfile/directory    category    descriptiontests/samples/dataset.csv   A list of verified affixesFeatured Posts