Can FLExTrans help me translate between any two languages?

FLExTrans works best between related languages. In theory, you can translate between any two languages, but big linguistic differences mean lots of work to get translation working.

Do I have to have FLEx lexicons in order to use FLExTrans?

FLExTrans needs FLEx lexicons for the source and target languages. If you don’t have these, you can gradually build lexicons as you go.

How is FLExTrans different from statistical machine translation system like Google Translate?

Statistical systems like Google Translate rely on huge amounts of data for a given language pair. With this data models are created that make a statistical prediction of what a word or sentence translates to. FLExTrans does not rely on large amounts of data like this. Instead FLExTrans is a rule-based system. With lexicons in the source and target languages and a set of rules that specify how the source language gets transformed into the target language, FLExTrans can produce accurate translations. FLExTrans is tailor-made for low-resource languages where there is not a lot of language data available.

Can I work on multiple language pairs with FLExTrans?

Yes, you can make a copy of TemplateProject folder, rename it and start working on a new language pair in that folder. The work you do for the new language pair will not affect work in your original language pair. Of course, if a shared FLEx project is used, changes in that project will affect any language pair that uses it.

What’s the difference between a category and an attribute in the transfer rules file?

One significant difference is that a category always refers to the source language. You use a category to group source words together. The grouping can be very broad such as verbs or very specific such as pronouns with feminine suffixes. An attribute is related to the characteristic of a word. It can apply to both source and target words. An example attribute might be ‘a_number’ and it might have the values ‘pl’, ‘sg’ and ‘du’ for plural, singular and dual. You use a category in the ‘pattern’ part of a transfer rule to help determine whether a rule should be run on a given word. Whereas you use attributes within the ‘action’ portion of a rule. You can check if a word has a certain attribute or change a word’s attribute.