Skip to main content

MoDeST: a Morphological Decomposition & Segmentation Trove.

Project description

MoDeST: a Morphological Decomposition & Segmentation Trove

The point of MoDeST is two-fold:

  1. Provide a general object-oriented Python interface to access morphological decompositions and segmentations;
  2. Host morphological datasets generated by smaller research groups that would otherwise have a hard time being found.

Morphological decomposition is the task of recognising which building blocks a word was originally constructed from. These building blocks are its morphemes. As an example, the Dutch derivation isometrisch ("isometric") can be decomposed into the morphemes iso, meter and isch.

Morphological segmentation is the task of isolating the substrings of a word that correspond to its morphemes. These substrings are called morphs. In the above example, the segmentation would be iso/metr/ic.

Languages and Datasets

The supported languages are simply under modest.languages, so the list will not be reproduced here. The list of datasets roughly coincides with the downloaders under modest.datasets. Currently, the package supports:

  • CELEX
  • MorphyNet
  • MorphoChallenge2010
  • CompoundPiece

Installation

Run

pip install "modest[github] @ git+https://github.com/bauwenst/MoDeST"

Example

Yes, it really is this easy, with full type checking and autocompletion by your IDE:

from modest.languages.english import English_Celex, English_MorphoChallenge2010, English_MorphyNet_Inflections

for item in English_Celex().generate():
    print(item.word, "should be segmented as", item.segment(), "which derives from", item.decompose())

Repo layout

Currently, the repo looks as follows:

data/              ---> Datasets hosted specifically by MoDeST on GitHub. Will NOT be downloaded when you install the package.
src/modest/        ---> All source code for the Python package that will be installed in your interpreter.
    languages/     ---> Per-language definitions of the classes users will interact with.
    datasets/      ---> Support code for pulling in and reading remote data.
    formats/       ---> Support code for turning tag formats into objects. (Tag formats are independent of how the tags are stored.)
    interfaces/    ---> Declarations of the interfaces users will interact with.

Currently, every language has its own file under languages/. The assumption is that the datasets pertaining to one language are sufficiently encapsulated that this will not clutter the imports from such a file. There are two arguments in favour of going from languages/{language}.py to instead languages/{language}/{dataset}.py:

  1. Autocompletion for the last . of the import suggests exactly the list of available datasets for that language;
  2. You do not have to have all the packages installed required to download/build all the datasets for a language if you only need one. (However, realistically, since MoDeST is for final datasets rather than making datasets, the code for pulling them should not be that complicated.)

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

modest_bauwenst-2025.2.1.tar.gz (37.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

modest_bauwenst-2025.2.1-py3-none-any.whl (46.3 kB view details)

Uploaded Python 3

File details

Details for the file modest_bauwenst-2025.2.1.tar.gz.

File metadata

  • Download URL: modest_bauwenst-2025.2.1.tar.gz
  • Upload date:
  • Size: 37.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.13.12 HTTPX/0.28.1

File hashes

Hashes for modest_bauwenst-2025.2.1.tar.gz
Algorithm Hash digest
SHA256 ced0af9d275570c5a6c410b637b695e5b41bdd2976b370618c1b3251ba5a24f4
MD5 857b459a101b5ad3566ce270d061eede
BLAKE2b-256 195d84940354c4b9ec1d191c18fd83bdcda3d2290b6d63b5651097ba4478740b

See more details on using hashes here.

File details

Details for the file modest_bauwenst-2025.2.1-py3-none-any.whl.

File metadata

  • Download URL: modest_bauwenst-2025.2.1-py3-none-any.whl
  • Upload date:
  • Size: 46.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.13.12 HTTPX/0.28.1

File hashes

Hashes for modest_bauwenst-2025.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 369af88086e1f80793e29d2c1bf13dbf45813f0f1e15786c786d499c44d3b46f
MD5 77ea919b623d131f4c88bc2078c6f9e4
BLAKE2b-256 a4422a1a3bcdfc91d998c9d003226ccc971102ee66bba3321b379d76882d8826

See more details on using hashes here.

Supported by

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