It is an impractical task of collecting millions of example sentences with their translations in a "fantasy language" (conlang). At most, you can probably have a thousand or 2k sentences before you get tired of it.

However, it might be possible in my case to generate sentences given English input, if I greatly restrict the number of types of words used in the English sentences. I could then use ChatGPT or other LLMs to generate potentially 10's of thousands of example sentences, using a restricted vocabulary, and then programmatically (hardcoded) transform those into the fantasy language. That would give me say 10-20k sentences, using a limited vocab but many sentence-level grammar features. Any more sentences than that would get time consuming.

Is it possible to use those sentences as training data in building a translation system? Then it could take new words (in theory) and create sentences from that, following its training data examples?

Is that a hack that could work? Or what would be your recommendation for building a translation system for a language which doesn't have much in terms of resources (an extremely "low resource" language)?


1 Answer 1


One approach that could work in this scenario is unsupervised translation. You can train your model without direct translations, which is especially beneficial for languages with limited available translation resources, such as conlangs. You can find one very interesting post about the subject here and the accompanying implementation here.


According to the researchers:

• Their MT system creates a bilingual dictionary by generating word embeddings for every word in each language, capturing semantic structures and context.
• Since word embeddings across different languages share similar structure, the system can align them through rotation, enabling basic word-by-word translation.
• For translating sentences, this basic translation is enhanced by local edits using a language model trained on monolingual data. This is further refined using a technique called back translation.

  • $\begingroup$ Would you mind explaining/summarizing at a high level how this would work, how to implement it roughly? $\endgroup$
    – Lance
    Commented Aug 14, 2023 at 19:37
  • 1
    $\begingroup$ @Lance I've edited my answer to add more details. $\endgroup$ Commented Aug 15, 2023 at 2:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.