See the video presentations and the article on VIA 1.0, "VISUM-projektets Grammatikprogram".
1. VIA in a Nutshell
VIA (Visual Interactive Analysis) is an on-line grammar training tool developed to support linguistics and language teaching in schools and universities. The key design principles of VIA are flexibility, extensibility, language independence and theory independence. Today, the tool presents itself as a grammar training tool containing a variety of exercises at different levels for Danish, German, English, French, Spanish, Latin and Italian. VIA contains facilities that enables teachers to add easily not only new exercises, but also exercises for other languages, and share them instantly with their students over the internet. Finally, the system automatically generates various forms of intelligent feed-back on student errors.
2. Why VIA?
VIA 2.0 was developed 1998-2001 as a JAVA-program distributed on a CD-ROM with support from the Center for Teknologistøttet Undervisning (Center for Technology-supported Teaching). The extended web-version 3.0 was created 2003-2004 with support from the e-learning initiative at CBS - Copenhagen Business School.
The point of departure of the VIA project was the need in both high schools and universities for more frequent and systematic training of language analysis and basic production skills for second language learners. Given the time and cost limits for language courses at all levels, most teachers no longer spend time on repetitive training of basic skills but concentrate on lectures on more complex topics. It is up to the students to manage the basic training individually. VIA has been designed to simulate the teacher's role in these individual training situations by offering relevant training tasks and giving instant evaluation of the performance of the students. Being an open system, teachers can use VIA to create new exercises or copy existing exercises and adapt them freely to their study program, i.e. exercises can be tailored directly to the vocabulary and the grammatical problems that the teacher expects the students to encounter in classes and lectures.
3. How VIA works
The core of VIA is constituted by a list of attribute-value pairs with associated terminology for each of the supported languages. These lists are translated into different languages which means that the teacher can use either the terminology of their native language, of the language that is being taught or a neutral terminology such as Latin. The attributes and terms shown in the example below are the abbreviations and terms used in Bache et al. (1999).

Furthermore, the system contains a database of exercises which can be combined quite freely into exercise sequences. Finally, VIA contains algorithms to evaluate user input and direct the user to the relevant sections of the help system and the on-line grammars.
3.1. The User Interface
All facilities in VIA are accessible from the main window, which is also the workspace. From the top toolbar the user has access to various editing functions, a tool for combining exercises into sequences, a database containing all available exercises, a toolbox containing language specific dictionaries and the multilingual terminology list, and finally a help function containing various on-line grammars. Below the top toolbar, we find a field containing the task description, below the task description we see the text which is to be analyzed, and further below a menu bar with a button for each grammatical category that can be assigned as a result of the analysis. The status bar at the bottom of the screen shows the exercise type and exercise sequence.

One the right side of the screen we find an animated help function symbolized by the little green helper who starts to evaluate whatever the student has done if he is activated by a single mouse-click, as well as various book-keeping functions and navigation facilities.
Care has been taken that the teacher's and the student's interfaces are as close to each other as possible. The teacher interface, shown above, differs from the student interface only by two additional functions in the menu bar and the 3 small yellow squares on the right hand side. Clicking the squares enables the teacher to edit the task description, the exercise text and the menu bar. With one mouse-click the teacher can change the working window into student mode and check how the exercise works for the student. The teacher's student interface is shown below with the help function activated.

3.2. Intelligent Feed-back
As can be seen in the example above, student solutions are evaluated instantly be the little green helper. Subsequent mouse clicks on the little helper generate more help. This mirrors the individual tutoring situation. In many cases the tutor may just nod or shake his head to indicate whether the student is on the right track, but he will eventually be more informative if the student insists. This is the model for the little helper, who can be set to give 4 different levels of help:
If the help level is set to +explanation the system will give a description of the error and offer a link to the relevant section of the on-line grammar. The most elaborated help mechanism has been implemented for insertion tasks for Italian morphology, where the user input is analyzed automatically and compared to the words and the paradigms of the on-line dictionary (see section 5.2 and 6). Except for insertion tasks, the suggested solution by the student is always evaluated against the teacher's proposed solution.
4. Basic Principles
During the development of VIA a large number of language teachers have been involved and the basic principles of VIA are the results of the demands and needs expressed by these teachers. Developing a CALL-program is extremely expensive and care must be taken to make the systems as flexible, reusable and broadly applicable as possible.
4.1. Language Independence
In principle, VIA can be applied to any language that can be efficiently encoded by the Unicode system on the web. Identification tasks, field grammar and syntax tree task can be implemented right away. However, in order to achieve more sophisticated feed-back on all types of exercises, VIA must be equipped with an on-line grammar and a morphological dictionary for each new language. Until now, this has only been done for Danish and Italian. The VIA team offers help to perform theses tasks by for instance deriving vocabulary from existing resources such as corpora.
4.2. Theory Independence
VIA aims at theory independence in the sense that the exercises do not require adherence to any particular theory. In our experience, there are as many adapted theories around as there are teachers, and the strict adherence to one particular theoretical standing point would put a serious limitation to the program. Thus, users of VIA can make exercises for traditional grammatical analysis alongside with classical phrase structure grammar as well as X-bar theory, which means that teachers of linguistics classes could make strings of exercises that train students in the analysis of the same linguistic expression in different theoretical frameworks. For technical reasons the syntax tree component does not provide the special facilities needed to display advanced syntactic formalisms such as LFG and HPSG. The current terminology list, although very extensive, puts some limit to the number of grammatical terms that are available. However, new terms and attribute value pairs can be added and used along side the traditional ones, such as for instance the special terms used by Bache et al. (1999) as illustrated in section 3.
4.3. Extensibility
There are many aspects of VIA that can be easily extended. Once the VIA team has set up the system to cover a new language, the users can create exercises, sequences and words in the dictionary without limitations.
| User | VIA-team |
|---|---|
| New exercises | New terminology |
| New exercise sequences | Grammars for new languages |
| New words in the dictionaries | Dictionary paradigms for new languages |
| New languages |
4.4. Sharing of Exercises Across the Globe
VIA has been set up to enable sharing of exercises over the internet. Each of the associated institutions has its own account which is shared by teachers and students of the same institution only. Teachers can choose to make their exercises publicly available, which means that teachers and students from other institutions can access them in the exercise database and use and adapt them to their own purposes. VIA encourages the sharing of exercises. Currently there are more than 1300 exercises publicly available out of a total of 1600.
5. Types of Exercises in VIA
5.1. Identification
Identification is the most widely used method to train the analytical language skills of students. Therefore, identification of the grammatical properties of words and phrases is one of the classic features of VIA as of many other grammar training programs. In VIA any word or phrase property can be identified ranging from simple morphological features such as singular and plural forms over syntactic features such as subject or object to semantic roles such as agent or theme. Identification takes place by clicking on the word or words that are to be identified and associating them with a specific category on the menu bar.
5.2. Insertion
Insertion tasks are used to train the language productions skills of students. The strength of insertion tasks is the fact that the context can be used to constrain the possible words, word forms or phrases that can be inserted. However, since the input is entered by the student via the keyboard, the evaluation of the answer is a more complicated matter. In order to give a precise feed-back, the system parses the solution of the student at the word level and evaluates it using the information in the dictionary (cf. section 6).

In the example above the student has entered a plural form of the verb in stead of the singular. Both the stem and the inflectional paradigm of the entered verb are checked by the system. Other types of feed-back in this case could be: "The stem is not correct." or "The stem is correct but you have chosen a wrong inflection pattern, it should be ....". Insertion tasks allow for a controlled random selection of words from the dictionary. In the case above, the exercise will present a new set of verbs each time a student opens it, which reduces the effort spent on designing exercises and increases the number of exercises that can be offered to the student. Furthermore, it provides more variation for the student and reduces the predictability of the solution.
5.3. Syntax Trees
Syntax trees are based on feature bundles consisting of simple attribute value pairs, which means that different features can be assigned to each node in the tree. The tree structures are built op interactively as the user identifies sequences of words and assigns relevant features such as cat=NP to each sequence. Empty nodes can be added and nodes can be inserted as well as deleted dynamically from the structure.

Note that the menu bar is a structured pick-list of values for each attribute (in this case cat (category) and func (function), and no longer a single button line.
5.4. Field Grammar
Topological analysis is a tradition widely used for certain Germanic languages such as Danish, Swedish, Norwegian and Danish (Diderichsen 1946). The analytical skills of students are trained by assigning different sections of the sentence to a specific topological field. In VIA, teachers can create the field order and content which they find appropriate. The field template in the example below was designed by teachers at the University of Århus experimenting with a single template to cover both main and subordinate clauses.

6. The Morphological Dictionary and Feed-back
In an object oriented programming language such as Java, one works with classes and objects, containers and inheritance. Classes form a generic hierarchy, in which subclasses inherit structure and behaviour from super-classes, each class representing a type. Objects are instances of classes. An object contains attributes to distinguish itself from other members of the class, as well as references to related data. Related data held by an object can also be an object (or a collection of objects); this constitutes the structuring capabilities of an object oriented programming language.
As a morphological dictionary consists - basically - of lemmas and their inflections, the candidates for hierarchical structuring is classification of words and some organization of inflections, in part to reduce the burden of data definition (entering all inflections by hand is a big and error prone task), in part to create some basis of comparison for morphological analysis. Word classes have a somewhat similar pattern of inflection, i.e. the number of inflections of words within a word class is more or less compatible, as are the features upon which the inflections depend. However, to optimize this consistency, it proves fruitful to define subcategories within some of the word classes - a classification we have called paradigms. A word class consists of one or more paradigms.
A paradigm, then, defines a single template of inflections specifying the number of inflections of the words within the paradigm, as well as the feature specifications for each inflection. In some languages, there are still words that do not comply with the templates, as they behave like members of a different paradigm morphologically, but as long as such discrepancies do not exceed a handful or two for a language, they can be handled by special rules. In fact they are defined within the paradigm which they follow morphologically, and masked in every other respect with labels from their proper paradigm to prevent the students from getting confused when browsing the dictionary.
For any given word, the paradigm and inflection pattern it belongs to can be derived from its place in the hierarchy. The structure can be queried regarding paradigms and inflection patterns, or in general terms, the module can be queried along all structuring dimensions.
This section will give primary focus to the use of the dictionary as an integrated module of VIA. There is a dictionary interface for students allowing lookups as in a normal dictionary, but as this is a simplified view of the module showing only one structuring dimension - the inflection pattern structure - it will be left out of this article. The interface for exercise editors reveals the paradigm structure to make it apparent how the dictionary is used in exercises; treating this aspect would be a roundabout way to get to the point.
VIA exercises using the dictionary have the ability to generate words at random from within a single paradigm. Such a reference to a paradigm in the dictionary is typed in the context of the exercise, and is translated to a random generated word when leaving the edit mode. Often the linguist will want to further limit the scope of random generation in order to train specific morphological aspects, which can be done by specifying a list of inflection patterns or, even more specific, a list of words. Some paradigms support additional attributes per word, which can also be used to create boundaries for random generation
When the student solves an exercise (in identification exercises by applying a feature to the generated word; in insertion exercises by typing a transformation of the word in accordance with the directions in the exercise), the dictionary module will, naturally, be able to verify correct answers. Far more interesting is the analysis of incorrect suggestions, as this is, in a sense, an attempt to divine in which respect the student was mistaken.
The analysis is performed by asking the following questions: The questions form general outlines - facets of the dictionary module not discussed here, provide plenty of other factors to be considered during analysis
The analysis determines whether any of the above questions could point to a possible explanation, including some measure of how mistaken the student would be, should a possible explanation be the relevant one. By the principle of least mistakes, an explanation is chosen among the possible ones, and shown to the student.
If none of the above questions lead to possible explanations, the analysis degenerates to general comments (regarding the stem or end for insertion exercises, and simply a negative response for identification exercises).

