Download SourceCode/Models/Lexicon/RootAndPatterns/VoweledNominalPattern.py from kachaf/qutuf: direct link, hf CLI and curl.
- Browser
- Download file 10.8 kB
-
https://huggingface.co/spaces/kachaf/qutuf/resolve/main/SourceCode/Models/Lexicon/RootAndPatterns/VoweledNominalPattern.py
- Command line
-
hf download hf://spaces/kachaf/qutuf/SourceCode/Models/Lexicon/RootAndPatterns/VoweledNominalPattern.py
-
curl -L -o VoweledNominalPattern.py https://huggingface.co/spaces/kachaf/qutuf/resolve/main/SourceCode/Models/Lexicon/RootAndPatterns/VoweledNominalPattern.py
10.8 kB
| ''' | |
| Created on ٢٨/٠٤/٢٠١٠ | |
| @Created by: Muhammad Altabba | |
| ''' | |
| from ...Lexicon.RootAndPatterns.Root import *; | |
| from ...Lexicon.RootAndPatterns.VoweledPattern import VoweledPattern; | |
| from ...Tagging.POSTags.NominalPOS import NominalPOSConstants, NominalPOS; | |
| class VoweledNominalPattern: | |
| """ | |
| # PyUML: Do not remove this line! # XMI_ID:_qz4WI435Ed-gg8GOK1TmhA | |
| """ | |
| ''' | |
| classdocs | |
| ''' | |
| def __init__(self, id, voweledForm, canonicForm): | |
| ''' | |
| Constructor | |
| ''' | |
| self.ID = id; | |
| self.VoweledForm = voweledForm; | |
| self.CanonicForm = canonicForm; | |
| self.POS = NominalPOS(); | |
| self.POS.MainClass = NominalPOSConstants.MainClass.Noun; | |
| pass | |
| def AssignFromAlKhalilDB(self, type, cas, ncg): | |
| if type == "": | |
| # "غير معالج" | |
| self.POS.SubClass = NominalPOSConstants.SubClass.Unprocessed; | |
| elif type == "فا": | |
| # "اسم فاعل" | |
| self.POS.SubClass = NominalPOSConstants.SubClass.Active_Participle; | |
| elif type == "مف" : | |
| # "اسم مفعول" | |
| self.POS.SubClass = NominalPOSConstants.SubClass.Passive_Participle; | |
| elif type == "مفا": | |
| # "مبالغة اسم الفاعل" | |
| self.POS.SubClass = NominalPOSConstants.SubClass.Exaggeration_Active_Participle; | |
| elif type == "آ": | |
| # "اسم آلة" | |
| self.POS.SubClass = NominalPOSConstants.SubClass.Instrumental_Noun; | |
| elif type == "زمك": | |
| # "اسم زمان ومكان" | |
| self.POS.SubClass = NominalPOSConstants.SubClass.Noun_of_Place; | |
| self.POS.SubClass += NominalPOSConstants.SubClass.Noun_of_Time; | |
| elif type == "فض" : | |
| # "اسم تفضيل" | |
| self.POS.SubClass = NominalPOSConstants.SubClass.Elative_Noun; | |
| elif type == "وش": | |
| # "صفة مشبهة" | |
| self.POS.SubClass = NominalPOSConstants.SubClass.Assimilate_Adjective; | |
| elif type == "صأ": | |
| # "مصدر أصلي" | |
| self.POS.SubClass = NominalPOSConstants.SubClass.Gerund; | |
| elif type == "صم": | |
| # "مصدر ميمي" | |
| self.POS.SubClass = NominalPOSConstants.SubClass.Meem_Gerund; | |
| elif type == "صه": | |
| # "مصدر هيئة" | |
| self.POS.SubClass = NominalPOSConstants.SubClass.Quality_Gerund; | |
| elif type == "صر": | |
| # "مصدر مرة" | |
| self.POS.SubClass = NominalPOSConstants.SubClass.Nomen_Vicis; | |
| elif type == "جا": | |
| # "اسم جامد" | |
| self.POS.SubClass = NominalPOSConstants.SubClass.Indeclinable_Noun; | |
| elif type == "#": | |
| self.POS.SubClass = NominalPOSConstants.SubClass.all_Cases; | |
| # حميع الحالات | |
| else: | |
| raise Exception('This [type] for Nominal Pattern id: ('+str(self.ID)+') is unknown!, ['+type+']'); | |
| if cas == "": | |
| # غير معالج | |
| self.POS.Definiteness = NominalPOSConstants.Definiteness.Unprocessed; | |
| elif cas == "إض": | |
| # معرّف Definite | |
| self.POS.Definiteness = NominalPOSConstants.Definiteness.Definite_by_Itself + \ | |
| NominalPOSConstants.Definiteness.Definite_by_Another; | |
| elif cas == "نك": | |
| # نكرة Indefinite | |
| self.POS.Definiteness = NominalPOSConstants.Definiteness.Indefinite; | |
| elif cas == "#": | |
| # حميع الحالات | |
| self.POS.Definiteness = NominalPOSConstants.Definiteness.all_Cases; | |
| else: | |
| raise Exception('This [cas] for Nominal Pattern is unknown!, ['+cas+']'); | |
| if ncg.isnumeric() or (ncg[0] == '-' and ncg[1:].isnumeric()): | |
| ncg = int(ncg); | |
| if ncg == 0: | |
| # 0 => "مفرد مذكر" | |
| self.POS.Number = NominalPOSConstants.Number.Singular; | |
| self.POS.Gender = NominalPOSConstants.Gender.Masculine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.all_Cases; | |
| elif ncg == -1: | |
| # -1 => "مفرد مؤنث" | |
| self.POS.Number = NominalPOSConstants.Number.Singular; | |
| self.POS.Gender = NominalPOSConstants.Gender.Feminine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.all_Cases; | |
| elif ncg == -2: | |
| # -2 => "جمع مذكر" | |
| self.POS.Number = NominalPOSConstants.Number.Plural; | |
| self.POS.Gender = NominalPOSConstants.Gender.Masculine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.all_Cases; | |
| elif ncg == -3: | |
| # -3 => "جمع مؤنث" | |
| self.POS.Number = NominalPOSConstants.Number.Plural; | |
| self.POS.Gender = NominalPOSConstants.Gender.Feminine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.all_Cases; | |
| elif ncg == 1: | |
| # 1 => "مفرد مذكر مرفوع" | |
| self.POS.Number = NominalPOSConstants.Number.Singular; | |
| self.POS.Gender = NominalPOSConstants.Gender.Masculine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.NominativeOrIndicative; | |
| elif ncg == 2: | |
| # 2 => "مفرد مؤنث مرفوع" | |
| self.POS.Number = NominalPOSConstants.Number.Singular; | |
| self.POS.Gender = NominalPOSConstants.Gender.Feminine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.NominativeOrIndicative; | |
| elif ncg == 3: | |
| # 3 => "مثنى مذكر مرفوع" | |
| self.POS.Number = NominalPOSConstants.Number.Dual; | |
| self.POS.Gender = NominalPOSConstants.Gender.Masculine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.NominativeOrIndicative; | |
| elif ncg == 4: | |
| # 4 => "مثنى مؤنث مرفوع" | |
| self.POS.Number = NominalPOSConstants.Number.Dual; | |
| self.POS.Gender = NominalPOSConstants.Gender.Feminine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.NominativeOrIndicative; | |
| elif ncg == 5: | |
| # 5 => "جمع مذكر مرفوع" | |
| self.POS.Number = NominalPOSConstants.Number.Plural; | |
| self.POS.Gender = NominalPOSConstants.Gender.Masculine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.NominativeOrIndicative; | |
| elif ncg == 6: | |
| # 6 => "جمع مؤنث مرفوع" | |
| self.POS.Number = NominalPOSConstants.Number.Plural; | |
| self.POS.Gender = NominalPOSConstants.Gender.Feminine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.NominativeOrIndicative; | |
| elif ncg == 7: | |
| # 7 => "مفرد مذكر منصوب" | |
| self.POS.Number = NominalPOSConstants.Number.Singular; | |
| self.POS.Gender = NominalPOSConstants.Gender.Masculine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.AccusativeOrSubjunctive; | |
| elif ncg == 8: | |
| # 8 => "مفرد مؤنث منصوب" | |
| self.POS.Number = NominalPOSConstants.Number.Singular; | |
| self.POS.Gender = NominalPOSConstants.Gender.Feminine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.AccusativeOrSubjunctive; | |
| elif ncg == 9: | |
| # 9 => "مثنى مذكر منصوب" | |
| self.POS.Number = NominalPOSConstants.Number.Dual; | |
| self.POS.Gender = NominalPOSConstants.Gender.Masculine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.AccusativeOrSubjunctive; | |
| elif ncg == 10: | |
| # 10 => "مثنى مؤنث منصوب" | |
| self.POS.Number = NominalPOSConstants.Number.Dual; | |
| self.POS.Gender = NominalPOSConstants.Gender.Feminine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.AccusativeOrSubjunctive; | |
| elif ncg == 11: | |
| # 11 => "جمع مذكر منصوب" | |
| self.POS.Number = NominalPOSConstants.Number.Plural; | |
| self.POS.Gender = NominalPOSConstants.Gender.Masculine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.AccusativeOrSubjunctive; | |
| elif ncg == 12: | |
| # 12 => "جمع مؤنث منصوب" | |
| self.POS.Number = NominalPOSConstants.Number.Plural; | |
| self.POS.Gender = NominalPOSConstants.Gender.Feminine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.AccusativeOrSubjunctive; | |
| elif ncg == 13: | |
| # 13 => "مفرد مذكر مجرور" | |
| self.POS.Number = NominalPOSConstants.Number.Singular; | |
| self.POS.Gender = NominalPOSConstants.Gender.Masculine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.GenitiveOrJussive; | |
| elif ncg == 14: | |
| # 14 => "مفرد مؤنث مجرور" | |
| self.POS.Number = NominalPOSConstants.Number.Singular; | |
| self.POS.Gender = NominalPOSConstants.Gender.Feminine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.GenitiveOrJussive; | |
| elif ncg == 15: | |
| # 15 => "مثنى مذكر مجرور" | |
| self.POS.Number = NominalPOSConstants.Number.Dual; | |
| self.POS.Gender = NominalPOSConstants.Gender.Masculine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.GenitiveOrJussive; | |
| elif ncg == 16: | |
| # 16 => "مثنى مؤنث مجرور" | |
| self.POS.Number = NominalPOSConstants.Number.Dual; | |
| self.POS.Gender = NominalPOSConstants.Gender.Feminine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.GenitiveOrJussive; | |
| elif ncg == 17: | |
| # 17 => "جمع مذكر مجرور" | |
| self.POS.Number = NominalPOSConstants.Number.Plural; | |
| self.POS.Gender = NominalPOSConstants.Gender.Masculine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.GenitiveOrJussive; | |
| elif ncg == 18: | |
| # 18 => "جمع مؤنث مجرور" | |
| self.POS.Number = NominalPOSConstants.Number.Plural; | |
| self.POS.Gender = NominalPOSConstants.Gender.Feminine; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.GenitiveOrJussive; | |
| elif ncg == "#": | |
| self.POS.Number = NominalPOSConstants.Number.all_Cases; | |
| self.POS.Gender = NominalPOSConstants.Gender.all_Cases; | |
| self.POS.CaseAndMood = NominalPOSConstants.CaseAndMood.all_Cases; | |
| else: | |
| raise Exception('This [ncg] for Nominal Pattern is unknown!, ['+str(ncg)+']'); | |
| self.POS.Substantivness = NominalPOSConstants.Substantivness.Substantive; | |
| pass | |