Skip to main content

Rule-based morphological analysis for Moksha

Project description

Moksha morphological analyzer

This is a rule-based morphological analyzer for Moksha (mdf; Uralic > Mordvinic). It is based on a formalized description of literary Moksha morphology, which also includes a number of dialectal elements, and uses uniparser-morph for parsing. It performs full morphological analysis of Moksha words (lemmatization, POS tagging, grammatical tagging, glossing).

How to use

Python package

The analyzer is available as a Python package. If you want to analyze Moksha texts in Python, install the module:

pip3 install uniparser-moksha

Import the module and create an instance of MokshaAnalyzer class. Set mode='strict' if you are going to process text in standard orthography, or mode='nodiacritics' if you expect some words to lack the diacritics (which often happens in social media). After that, you can either parse tokens or lists of tokens with analyze_words(), or parse a frequency list with analyze_wordlist(). Here is a simple example:

from uniparser_moksha import MokshaAnalyzer
a = MokshaAnalyzer(mode='strict')

analyses = a.analyze_words('Морфологиять')
# 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.:
for ana in analyses:
        print(ana.wf, ana.lemma, ana.gramm, ana.gloss)

# You can also pass lists (even nested lists) and specify
# output format ('xml' or 'json')
# If you pass a list, you will get a list of analyses
# with the same structure
analyses = a.analyze_words([['А'], ['Мон', 'тонь', 'келькте', '.']],
	                       format='xml')
analyses = a.analyze_words(['Морфологиять', [['А'], ['Мон', 'тонь', 'келькте', '.']]],
	                       format='json')

Refer to the uniparser-morph documentation for the full list of options.

Disambiguation

Disambiguation is not yet available for this language.

Word lists

Alternatively, you can use a preprocessed word list. The wordlists directory contains a list of words from a 1.7-million-word Moksha corpus (wordlist_main.csv), 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 is 91% on literary texts and 79% on social media texts.

Description format

The description is carried out in the uniparser-morph format and involves a description of the inflection (paradigms.txt), a grammatical dictionary (kpv_lexemes_XXX.txt files), a list of rules that annotate combinations of lexemes and grammatical values with additional Russian translations (lex_rules.txt), and a short list of analyses that should be avoided (bad_analyses.txt). 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/borrowing information, its inflectional type (paradigm), and Russian translation. See more about the format in the uniparser-morph documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uniparser-moksha-1.1.0.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

uniparser_moksha-1.1.0-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file uniparser-moksha-1.1.0.tar.gz.

File metadata

  • Download URL: uniparser-moksha-1.1.0.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.5

File hashes

Hashes for uniparser-moksha-1.1.0.tar.gz
Algorithm Hash digest
SHA256 1f8ab46ab09d4e7a86a190de6b0ccc40afcaeaf1c60d9e85182253a71b99644b
MD5 15a2f91a2c157e04c07e00fc78e5374b
BLAKE2b-256 21ff02f378756e3b3a0338eff4d6c07809f26266bf5c527c0d9aef09c11d7d20

See more details on using hashes here.

File details

Details for the file uniparser_moksha-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: uniparser_moksha-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.5

File hashes

Hashes for uniparser_moksha-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ef70f53179b14a41906d4c86e40404f524fbd2f56d76e4ec6f89a2b0eb6bbbe
MD5 1887f572de2b353fb21302c0f2ade950
BLAKE2b-256 b76e4a39d172726ee1554d304cbef413712281422faf0f2340df3e9e3a8a405f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page