Skip to main content

Albanian morphological analyzer

This is a rule-based morphological analyzer for Albanian (sqi). It is based on a formalized description of literary Albanian morphology, which also includes a number of dialectal (Gheg) elements, and uses uniparser-morph for parsing. It performs full morphological analysis of Albanian words (lemmatization, POS tagging, grammatical tagging).

How to use

Python package

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

pip3 install uniparser-albanian

Import the module and create an instance of AlbanianAnalyzer 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 (c instead of ç and e instead of ë). 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_albanian import AlbanianAnalyzer
a = AlbanianAnalyzer(mode='strict')

analyses = a.analyze_words('Morfologjinë')
# 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)

# 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 structure
analyses = a.analyze_words([['i'], ['Të', 'dua', '.']],
	                       format='xml')
analyses = a.analyze_words([['i'], ['Të', 'dua', '.']],
	                       format='conll')
analyses = a.analyze_words(['Morfologjinë', [['i'], ['Të', 'dua', '.']]],
	                       format='json')

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

Word lists

Alternatively, you can use a preprocessed word list. The wordlists directory contains a list of words from a 31-million-word Albanian corpus (wordlist.csv) with 456,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 93% and the corpus is sufficiently large, so if you just use the analyzed word list, the recall on your texts will probably exceed 90%.

Description format

The description is carried out in the uniparser-morph format and involves a description of the inflection (paradigms.txt), a grammatical dictionary (sqi_lexemes_XXX.txt files), a list of productive lemma-changing derivations (derivations.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/dialectal information, its inflectional type (paradigm), and English translation. See more about the format in the uniparser-morph documentation.

Metadata

Release files for uniparser-albanian 2.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uniparser-albanian 2.3.0
File Size Uploaded
uniparser_albanian-2.3.0.tar.gz 2.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for uniparser-albanian 2.3.0
File Interpreter ABI Platform
uniparser_albanian-2.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 5.4 MB

Release files / uniparser_albanian-2.3.0.tar.gz

Download URL uniparser_albanian-2.3.0.tar.gz
Size 2.7 MB
Tags Source
SHA-256 checksum
How to use checksums
6d0c2986ff6194c670850a0c3126b124ceac204c9723e51194abc4da1a284109
BLAKE2b-256 checksum
How to use checksums
9b5b8620f0a7252d5f3ce59e3c9aa71eb3d057b2c911f36530938b020f41fc4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.3

Release files / uniparser_albanian-2.3.0-py3-none-any.whl

Download URL uniparser_albanian-2.3.0-py3-none-any.whl
Size 2.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
115552882c507dc73b840248e50eff0d08b9dbc40cf5089484949bfe0c70744f
BLAKE2b-256 checksum
How to use checksums
453eda3ba84ce435426e0dd094897eb89cedfcf60aa9801cb80c8d25c6ba2d1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.3

Release history Release notifications | RSS feed

This release

2.3.0 This release

2 release files

2.2.0

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page