| 1 | = Translator = |
| 2 | |
| 3 | Translator is a tool to convert words and sentences S from one language ("A") to another language ("B"). The tool bases its translation on sentence pairs (A, B). It finds the best matching sentence in A and then returns the sentence B. |
| 4 | |
| 5 | The sentences in A and B can also contain variables. If S can be matched under an assignment of variables, then the translation is B with the same variables assigned. For example suppose we have a tuple ("Where did you meet [X]?","Waar heb je [X] ontmoet?"). To translate the sentence S="Where did you meet Jan?" it is noticed that S matches the first of the tuple under the assignment [X/Jan]. Therefore the translation becomes "Waar heb je Jan ontmoet?". |
| 6 | |
| 7 | Sometimes it is desirable to have the substitutions for the match also be translated. For instance consider the tuple ("Where did you find this <X>?","Waar heb je deze <X> gevonden?"). And suppose we have another tuple in the database ("car","auto") Now the sentence S="Where did you find this car?" matches with the first of the tuple under the assignment [X/car]. Because the variable is inside pointy brackets, the variable itself is now attempted to be translated, giving [X/auto]. To get the translated sentence, this is applied to the second of the tuple to get "Waar heb je deze auto gevonden?". |
| 8 | |
| 9 | So we have two types of variables in the tuples: |
| 10 | ||variable||translation|| |
| 11 | ||[Variable]||direct substitution into B|| |
| 12 | ||<Variable>||substitution of translated variable in B|| |
| 13 | |
| 14 | == Reverse translation |
| 15 | The translator offers functionality to reverse the translation, to translate sentences and words back from B to A |
| 16 | |
| 17 | ==Fragment handling |
| 18 | Another option of the translator is to translate fragments. |