Package: uniparser-turoyo
Turoyo morphological analyzerThis is a rule-based morphological analyzer for Ṭuroyo (tru, Afro-Asiatic > Central Neo-Aramaic). It is based on a formalized description of Turoyo morphology and usesuniparser-morphfor parsing. It performs full morphological analysis of Turoyo words (lemmatization, POS tagging, grammatical tagging). The text to be analyzed should be written in a version of Latin Turoyo alphabet which is somewhat closer to IPA: it usesʔinstead of',ʕinstead ofc,əinsteadt ofëetc.How to usePython packageThe analyzer is available as a Python package. If you want to analyze Turoyo texts in Python, install the module:pip3 install uniparser-turoyoImport the module and create an instance ofTuroyoAnalyzerclass. Setmode='strict'if you are going to process text in standard Latin Turoyo alphabet, ormode='nodiacritics'if you expect some words to lack the diacritics (e.g.tinstead ofṭ). After that, you can either parse tokens or lists of tokens withanalyze_words(), or parse a frequency list withanalyze_wordlist(). Here is a simple example:fromuniparser_turoyoimportTuroyoAnalyzera=TuroyoAnalyzer(mode='strict')analyses=a.analyze_words('koroḥamnux')# The parser is initialized before first use, so expect# some delay here (usually several seconds)# You will get a list of Wordform objects# The analysis attributes are stored in its properties# as string values, e.g.:foranainanalyses:print(ana.wf,ana.lemma,ana.gramm)# You can also pass lists (even nested lists) and specify# output format ('xml', 'json' or 'conll')# If you pass a list, you will get a list of analyses# with the same structureanalyses=a.analyze_words([['koroḥamnux'],['ʕəbarwo','lab','bote','.']],format='xml')analyses=a.analyze_words([['koroḥamnux'],['ʕəbarwo','lab','bote','.']],format='conll')analyses=a.analyze_words(['koroḥamnux',[['laḥmawo'],['ʕəbarwo','lab','bote','.']]],format='json')Refer to theuniparser-morph documentationfor the full list of options.If you want to quickly check an analysis for one particular word, you can also use the command-line interface. Here is an example for the wordkoroḥamnux:python3 -m uniparser_turoyo koroḥamnuxWord listsAlternatively, you can use a preprocessed word list. Thewordlistsdirectory contains a list of words from a 600-thousand-wordṬuroyo corpus(wordlist.csv) with 53,000 unique tokens, list of analyzed tokens (wordlist_analyzed.txt; each line contains all possible analyses for one word in an XML format), and list of tokens the parser could not analyze (wordlist_unanalyzed.txt). The recall of the analyzer on the corpus texts is about 90%. (This number is somewhat low due to orthographic variability in the texts.)Description formatThe description is carried out in theuniparser-morphformat and involves a description of the inflection (paradigms/paradigms_XXX.txt) and a grammatical dictionary (lexemes/lexemes-XXX.txt files). The dictionary contains descriptions of individual lexemes, each of which is accompanied by information about its stem, its part-of-speech tag and some other grammatical information, its consonant root, its inflectional type (paradigm), and English and/or German translations. See more about the formatin the uniparser-morph documentation.