Monday, January 23, 2006

5 Strange Habits of a Highly Ineffective Person

1. Sometimes I walk to and fro on the floor as a form of procrastination. I've heard that Wittgenstein had the same habit. However, coding is different from philosophy and walking to and fro on the floor doesn't cause any progress good whatsoever.
2. Currently most of my social interaction happens in language courses. Why? No one could be less interested in my school affairs, and I'm really lousy at chit-chat.
3. When I make my own food, I choose from a set of 5 dishes. They are: oatmeal porridge, müsli, [fried potatos OR spaghetti] with fried [onions, sausage cubes and soya], and instant noodles. I don't intend to try new recipes before I graduate and leisure becomes truly leisure - now "leisure" is time, which I should use for something productive, but fail to.
4. I read foreign news with great interest, but find domeistic news uninteresting. Income distribution? Full of moralistic rhetoric and little substance. Education? Most decisions that matter are done locally. Healthcare? Being young, my generation hasn't really confronted the hospital. Taxation? What is it that you can't buy now but could by after 1% reduction in some tax, which may or may not take place next year? It is not that these questions don't matter - they do - but I fail to see any link between the headlines and anyone's daily life. After reading all these peak oil stories on how the presence or absence of energy affects our daily lives, the gas pipe explosion at Georgia feels much more relevant.
5. I don't listen much music nowadays.

It is difficult to find people, who have not been challenged to this meme yet, but I came up with two of them - Taneli Dobrowolski and Syksy Räsänen.
Life imitates fiction.

Thursday, January 12, 2006

CALLT 5/5: Testing: When You Train Like You Fight, You Fight Like You Train

First, I'll define super-realistic testing; a form of computer-based testing, which provides uniform measures of skill, is sensitive to progress in language skill, makes cheating almost impossible, can be used for training and scales to a large number of students. Then I'll describe the only language testing project I have heard of [not. Just heard their specification is not ready.]

First, an example of super-realistic test for Chinese character recognition. The test material contains all chracters, which the student is supposed to recognize after the course. The test is administered with a flashcard-like web application. The test chooses randomly 20-40 characters. As I promised earlier, this kind of test would provide:

  • Uniform measure of skill:It doesn't matter, whether you learned the characters from course material or some other way.

  • Sensitive to progress:If you learn more characters, you get better scores.

  • Impossible to cheat:If you memorize all characters beforehand, you have learned what you are supposed to learn.

  • Scales to a large number of students:One server is more than enough for all person studying Chinese in Finland.

About the relationship between training and testing: In super-realistic testing, the same material can be used for training. The differences between training an testing is that (1) testing chooses a sample of material, (2) in testing, the true identity of the student needs to be checked.

The close link between training and testing ensures that there is "initial incentive" to collect material even before it reaches the level where cheating is impossible: When the amount of material is still small, it can be already used for training. Since a large number of students can use the same server, also a large number of teachers can divide the load of creating the material.

The same idea can be applied to sentence translation and reading comprehension, although not directly. For example in sentence translation it is common that there are several correct responses. Also common mistakes need to be taken into account - if the student commits a common mistake, he or she should be informed about the nature of the mistake. Just announcing that the answer is wrong does little good. In character recognition, it is OK to show the result after a wrong answer, but in sentence translation it may be better to let the user try again. Since minor spelling mistakes are more probable in long sentences, several tries are reasonable when training. Also some kind of lazy matching should be used, if the point of the sentence is grammatical and the student remembers some word a bit wrong.

In my last Chinese test, there were 4 kinds of questions: (1) Multiple choice: Given the character and the pinyin, Identify the english meaning, (2) Multiple choice: Given the character, idenify pinyin (3) Arrange the characters so that they form a sentence, (4) Given the English meaning and the pinyin, draw the character. From these 4 tasks, only the fourth is something that can't be digitized. The number of questions required to reach uncheatable level is quite low for the other types of questions. (There is a program to train character drawing, but it is too sensitive. It is good that when you train the program insists on absolutely correct form. However, in testing the standards should such that it is possible to get it right the first time.)

The fact that the progress in super-realistic testing is numerically measurable (number of characters recognized, number of sentences translated) makes it possible to draw charts of progress, if the student does the test on regular intervals (say, once every 2 weeks). These progress charts will add motivation by giving a hidden promise that if you keep on putting the same effort, eventually the progress line will reach the very top, and the effort is finished.

Friday, January 06, 2006

CALLT 4/5: Annotators

Annotators are programs, which take a web page as an input and annotate foreign words with extra information. For example, the annotated page could be such that when you hold the mouse cursor over some foreign word, it shows you its meaning in English.

The first annotator I saw was for Lojban. Here is one. I'm not sure if this is the same one. Lojban is an artificial language with a few tens of speakers. However, its grammar belongs to some easily parsable category (LL(k) etc.), which makes it easies to write an annotator.

Here is a Japanese annotator.

The Lukutulkki advertised in the is also an annotator. I've also seen a web page which claims to contain a Chinese annotator; however, the annotator didn't produce any output.

In general, annotators are very scarce when compared to dictionaries and flashcard programs. Are they really so difficult to implement? Is the process of annotating so straining for servers? Do so many dictionaries have a copyrighted vocabulary that they can't allow anyone to download it with an annotator?