---
title: "multilingual-parse — Mova code model"
description: "Mova code model of models/multilingual-parse.groupant: components with their labels, obernants and the model text."
url: "https://groupants.elamur.ai/free/en/mova/models/multilingual-parse.groupant/"
---
Elamur: [Mova](https://md.mova.elamur.ai/free/en/) · [Dictionary](https://md.dictionary.elamur.ai/free/en/) · [Translate](https://md.translate.elamur.ai/free/en/) · [Research](https://md.research.elamur.ai/free/en/) · **Groupants**

This page as HTML: <https://groupants.elamur.ai/free/en/mova/models/multilingual-parse.groupant/>

# multilingual-parse

The groupant beside models/multilingual-parse.groupant in the Mova repository: what the code computes, what it never does, how to go back from its outputs, its invariants, cost and checks.

## Facts

- **kind:** groupant group
- **status:** partial source composition
- **bound sources:** 5
- **repository folder:** [`models/multilingual-parse.groupant`](https://github.com/ElamurAI/mova-free/tree/main/models/multilingual-parse.groupant)

> **Implementation material.** A Mova code model describes this code at one source revision: partial models, finite checks and their stated scope. It is not a reviewed general exposition, and its labels are shown as written, never raised.

## Components

| component | label | where |
|---|---|---|
| **Approximant** | partial source derived | [Forward](#forward) |
| **Ast** | not materialized |  |
| **Composition** | partial source derived | [Composition](#composition) |
| **Cost** | partial source derived | [Cost](#cost) |
| **Descriptant** | partial source derived | [Descriptant](#descriptant) |
| **Invariant** | partial source derived | [Invariant](#invariant) |
| **Tests** | finite evidence | [Tests](#tests) |

## Obernants

The typed relations around the forward model: the behaviour complement (what the code never does), the reverse reconstruction (every input compatible with an output) and specialised views.

| relation | type | label | where |
|---|---|---|---|
| Behavior complement | behavior complement | partial source derived finite checks | [Behavior complement](#behavior-complement) |
| Reverse reconstruction | reverse reconstruction | partial source derived finite checks | [Reverse reconstruction](#reverse-reconstruction) |

## Model text


### Descriptant

Multilingual parsing in two levels. Level 1 is `langseg` with its Latin table (`langseg-latin`) and dialect markers
(`langseg-variety`): every Latin word gets a language (en, fr), every sentence a language and a dialect modifier.
Level 2 is `mova-parse`: each span goes to its own language's model (`en.bin`, `fr.bin`), a language without a model
is reported, and one CoNLL-U document comes out with `# lang`, `# dialect`, `# style`, `# parse` per sentence.

### Forward

text → sentences → `Segmenter::segment` (script runs, transliteration, Latin table) → pieces → matrix unit (the
sentence's language, short switched pieces inside) and switched units → each `Annotator::annotate` → heads made global,
switched roots on the matrix root → CoNLL-U.

### Invariant

Level 2 never sends a piece of `min_span` words or more to another language's model; level 1's labels are table
languages or the script codes; pieces cover each sentence.

### Cost

Level 1 table build ≈0.9 s once, then O(nK) per run; level 2 one annotation per unit.

### Composition

Leaves are the file groupants beside `tools/langseg/src/{latin,variety,latineval}.rs` and
`tools/mova-parse/src/{lib,main}.rs`. The wiring is checked by the dispatcher tests (pieces, no-model reporting) and by
manual runs with both models; `langseg-latin-eval` measures level 1 alone. Level 2 adds no decision, so its quality is
the level-1 routing times each model's own quality.

### Behavior complement

No parse of the attachment of a switched span (placeholder `dep`); no language outside the table; no style detector;
no Hebrew-script parse in level 2.

### Reverse reconstruction

`# spans`, MISC `Lang=`, `CSParse=matrix`, `CSAttach=root` and `# parse` recover the routing of every token, not the
discarded scores.

### Tests

#### Checks

`cargo test --release -p langseg -p mova-parse` (2026-11-06); `langseg latin-eval --split dev` twice byte-identical;
red control `--shuffle`.

## Provenance

- **repository commit:** `2e25d7bfae9a`
