How facebookresearch/muse works
MUSE aligns pretrained monolingual word embeddings into a shared multilingual space, either from bilingual/identical-string anchors or through adversarial training followed by dictionary-based Procrustes refinement. The main workflow loads embeddings, trains and refines a mapping, evaluates alignment quality, and optionally exports aligned vectors. README capabilities include word translation, word and sentence similarity/retrieval, and monolingual similarity and analogy evaluation. Some source excerpts are partial; uncertain internal wiring is omitted.
Main entry points: trainer.py Alignment trainer · supervised.py Supervised run · unsupervised.py Unsupervised run · evaluator.py Evaluation coordinator
Components 18
Inputs and loading
- Embedding model
src/models.py - Vocabulary index
src/dictionary.py
Embedding alignment
- Supervised run
supervised.py - Unsupervised run
unsupervised.py - Alignment trainer
src/trainer.py - Induced dictionary
src/dico_builder.py
Evaluation
- Evaluation run
evaluate.py - Evaluation coordinator
src/evaluation/evaluator.py - Similarity and analogy
src/evaluation/wordsim.py - Word retrieval
src/evaluation/word_translation.py - Sentence retrieval
src/evaluation/sent_translation.py
Shared runtime
- Runtime utilities
src/utils.py - Experiment logging
src/logger.py
Other components
- Researcher
- Pretrained vectors
- Bilingual anchors
- Aligned vectors
- Evaluation datasets
data
Connections 32
- Researcher → Supervised run: starts
- Researcher → Unsupervised run: starts
- Researcher → Evaluation run: starts
- Pretrained vectors → Embedding model: loads
- Supervised run → Embedding model: builds
- Unsupervised run → Embedding model: builds
- Evaluation run → Embedding model: builds
- Embedding model → Vocabulary index: indexes
- Supervised run → Alignment trainer: creates
- Unsupervised run → Alignment trainer: creates
- Evaluation run → Alignment trainer: creates
- Bilingual anchors → Alignment trainer: supplies pairs
- Alignment trainer → Induced dictionary: induces pairs
- Supervised run → Alignment trainer: refines mapping
- Unsupervised run → Alignment trainer: trains and refines
- Alignment trainer → Aligned vectors: exports vectors
- Supervised run → Evaluation coordinator: evaluates
- Unsupervised run → Evaluation coordinator: evaluates
- Evaluation run → Evaluation coordinator: evaluates
- Evaluation coordinator → Similarity and analogy: scores similarity
- Evaluation coordinator → Word retrieval: scores retrieval
- Evaluation coordinator → Sentence retrieval: scores retrieval
- Similarity and analogy → Evaluation datasets: reads tasks
- Word retrieval → Evaluation datasets: reads dictionaries
- Sentence retrieval → Evaluation datasets: reads Europarl
- Supervised run → Runtime utilities: initializes runtime
- Unsupervised run → Runtime utilities: initializes runtime
- Evaluation run → Runtime utilities: initializes runtime
- Runtime utilities → Experiment logging: creates logger
- Supervised run → Experiment logging: logs progress
- Unsupervised run → Experiment logging: logs progress
- Evaluation coordinator → Experiment logging: logs scores