Why WebALT?

Although mathematics itself is universal, it is taught in many different languages around the world. This implies that, by restricting themselves to a specific language, publishers and authors of mathematical exercises only reach a small part of the possible audience. If the exercises could be automatically translated to different languages, then a publisher could extend his market dramatically.

Automatically translating exercises is hard because of large lexicons and complex grammars. It becomes easier when the exercises are constructed within a well defined context from only a small and specific part of a language's lexicon. In general, this is the case for mathematics exercises, which can be as simple as "Calculate the derivative of sin", but also the words from more advanced exercises may come from a rather small and specific set of the language's lexicon.

OpenMath is an emerging standard for representing the semantics of mathematical objects in XML. Each mathematical symbol (e.g. cos) has its own OpenMath representation and OpenMath representations are grouped in so-called Content Dictionaries (CD's). Every combination of mathematical symbols can be written as one OpenMath object.

WebALT (Web Advanced Learning Technologies) is an e-learning project funded by the EU started January 1, 2005 and will end December 31, 2006. It uses OpenMath to automatically translate mathematics exercises into natural languages. To do so, not only mathematics is encoded in OpenMath, but also text so that every sentence in the exercise can be written as a single OpenMath object. The target languages for automatical trans;la include English, Finnish, Swedish, French, Italian, Spanish, Catalan, Dutch and German.

Top of the page

Development in WebALT

A number of components are being developed for WebALT

  1. Natural Language Generator

    To encode text in mathematics exercises into OpenMath, a mathematical lexicon and OpenMath representations for all words in this lexicon were created within WebALT. This resulted in the CD named "nlg"; it contains OpenMath symbols for e.g. "calculate", "determine", "prove", etc. In order to translate the OpenMath object representing a sentence into a natural language, grammar generation rules corresponding to the newly created OpenMath representations were formulated and an existing grammar formalism was used. The tool that automatically translates exercise sentences is the Natural Language Generator. The Natural Language Generator is being developed for WebALT by Lauri Carlson and his team at the University of Helsinki. It makes use of the Grammatical Framework (GF) developed at Chalmers university (Gothenburg) by Aarne Ranta.

  2. TextMathEditor

    The tool with which multilingual exercise sentences (in the form of OpenMath objects) can be created is the TextMathEditor. It is a Java application developed by Maths for More. The editor stores the OpenMath representation of the created sentence, with natural language generation hints as (OpenMath-defined) attributes.

  3. WExEd

    For creating and editing interactive multilingual mathematics exercises RIACA developed the editor WExEd - WebALT Exercise Editor. Exercises created with WExEd can be automatically translated to various natural languages because the source code of the exercise entries consist only of OpenMath expressions. To realize this, both the Natural Language Generator and the TextMathEditor are integrated with WExEd. Moreover, exercises created with WExEd are highly interactive; the exercises can be multistep, allow for random input variables and offer the possibility to check and interpret the student's answer with the help of computational services like a Computer Algebra System (CAS) such as Mathematica or Maple. With random variables, a student can solve multiple instances of the same exercise. Because of the capability of reading and understanding the student's answer, WExEd can prompt the student with a following exercise or task depending on the student's answer. The student can therefore be guided through the various steps of the exercise.

    Demonstrations of creating and playing an exercise can be found here: [screencast of exercise creation], [screencast of exercise playing].


    WALTER (WebALT Exercise Repository) is a distributed repository for multilingual mathematics exercises and learning material created within WebALT. It provides the material with metadata according to the IEEE LOM encoding standard for metadata. Also, it classifies the material using a Course Content Dictionary (CCD) which is a taxonomy describing mathematical topics and their relations.

Using the following links, you can try out some of the products developed within WebALT.

RIACA was local organizer of WebALT2006, the first WebALT conference and exhibition, which took place on January 5-6, 2006 in Eindhoven.

Top of the page

Example Automatic Translation

Integrated with WExEd is the TextMathEditor with which users can create and edit multilingual mathematics problem sentences. The output of the TextMathEditor is an OpenMath object. Suppose that the user created the sentence "Calculate the gcd of 18 and 24". Then the output of the TextMathEditor is as follows. Note that all linguistical symbols are from the newly created CD "nlg".

      <OMS cd="nlg" name="mood"/>
      <OMS cd="nlg" name="imperative"/>
      <OMS cd="nlg" name="tense"/>
      <OMS cd="nlg" name="present"/>
      <OMS cd="nlg" name="directive"/>
      <OMS cd="nlg" name="calculate"/>
      <OMS cd="arith1" name="gcd"/>
          <OMS cd="nlg" name="render"/>
          <OMS cd="nlg" name="formula"/>
          <OMS cd="nlg" name="render"/>
          <OMS cd="nlg" name="formula"/>

Suppose that the input of the Natural Language Generator is the OpenMath object illustrated above. The language generation hints say that the mood is "imperative", the tense is "present" and the main directive is "calculate". We also see that the mathematical symbol "gcd" is rendered as text (this means that the symbol "gcd" is verbalized) and the integers 18 and 24 should be rendered as a formula (if not, the Natural Language Generator would generate "eighteen" and "twentyfour" respectively in English). This leads to the following output if the generator translates to English.

"Calculate the greatest common divisor of 18 and 24."

In Spanish it is automatically translated to

"Calcula el máximo común divisor de 18 y de 24."

Apart from English and Spanish, the Natural Language Generator is currently able to automatically translate Swedish, Finnish, French and Italian.

Top of the page

Details WExEd

Formal Language

The formal language underlying WExEd is the LeActiveMath Exercise Language which is a collection of XML tags together with restrictions imposed on their use. This language is such that exercises are:

  1. Interactive: have means of exchanging information with the student by being able to read the student's answer and to give feedback and/or hints.

  2. Automatized: have means of checking whether the student gives the correct answer by connecting for example to a CAS. The author gives a query in OpenMath which determines the correct answer. This query is translated to a CAS' language by using phrasebooks. The CAS can then calculate the correct answer and can subsequently compare the student's OpenMath answer with the correct answer. Phrasebooks are also used for generating the values of random variables or mathematical expressions.

  3. Adaptive: takes appropriate action depending on its knowledge of the student and/or the student's answer to a particular question; exercises are made up of interactions which consist of information given to the student (e.g. a question or feedback to the student's answer) and possibly information provided by the student (e.g. an answer to a question). Depending on the student's answer he is directed to a following interaction (which could be the same question, a question that will teach the student how to solve the previous question, a new question, feedback, etc.). For illustration, if a student incorrectly answered the question "What is the greatest common divisor of 18 and 24?", the student could be directed to the interaction that contains the question "What are the common prime factors of 18 and 24?".

  4. Reusable: (random) variables can be defined in an exercise so that students can do multiple instances of the same exercise. The values of the variables are processed by a CAS using phrasebooks.

The exercise language, as any XML-language, is extensible in the sense that new tags can be added at any moment to facilitate new features. WExEd supports multiple choice exercises, open exercises and multistep exercises combining these exercise types.


The exercises created with WExEd are multilingual because all exercise sentences are created with the TextMathEditor. When editing an exercise with WExEd, the author is presented with the TextMathEditor every time the input of a sentence is required (e.g. the exercise problem statement, the choices in a multiple choice exercise, feedback or hints). In this way, all entries of the exercise consist of OpenMath objects which could be sentences containing mathematics or completely mathematical expressions. The exercise is therefore multilingual; it does not contain text in a natural language.

WExEd: editing a multilingual exercise.

In the above figure it is illustrated how the question interaction of our example exercise is created with WExEd. In the Question field, the multilingual question is inserted using the TextMathEditor. The query that determines the correct answer is created with the WIRIS OpenMath editor and is inserted in the Query field. If the student's answer satisfies the query, he is directed to the interaction specified in the Target field. Otherwise he is directed to the interaction specified in the Default target field.


The editor is integrated with an exercise repository (an XML database containing interactive exercises) and a presentation layer; exercises in the repository can be played with the MathDox player developed by RIACA. Before a multilingual exercise can be actually played, the exercise containing only OpenMath objects should be translated to some natural language. This is done by sending the exercise to the Natural Language Generator. The resulting exercise contains both mathematics (as OpenMath objects) and natural language (in the language predefined by the user). In the figure below it is shown how WExEd plays the example exercise in English and how the exercise can be played in other languages. Start from the figure in the upper left corner and then continue clockwise. The second figure shows feedback given to the answer from the first figure. In the third figure it is shown how the question can be tranlated to other languages; the translation can be seen in the fourth figure.

WExEd: playing a multilingual exercise.

Note that not everything is multilingual yet; at present, feedback cannot be automatically translated and translations of things like "answer:" from the above figure are not done yet.

Current Status

WExEd is still under development, which means that not all functionality has been implemented yet. At this moment, the following features still need to be worked on:

  1. (Random) variables: an author cannot yet set variables for an exercise using the editor. At the moment, this is only possible by editing the source code of the exercise.

  2. Elaborate GF grammar: the GF grammar currently used in the TextMathEditor is a very simple, provisional, one. This means that the set of multilingual sentences that can be edited with the TextMathEditor is very limited; the author can only choose from a relatively small set of words. A more powerful GF grammar is being developed.

  3. Special GF grammars: at the moment, only exercise problem statements can be created with the TextMathEditor and therefore can be multilingual. In the future, special grammars for e.g. feedback and hints will be developed such that these can be multilingual as well.

  4. Natural languages: although the target languages are English, Finnish, Swedish, French, Italian, Spanish, Catalan, Dutch and German, WExEd is currently able to play the exercises in English, Spanish, Finnish, Swedish and Italian.

The software developed is based on free software, namely on the XML database eXist and the Orbeon PresentationServer which handles the presentation. There is a preliminary tutorial for WExEd: Tutorial WExEd.