Teaching Notes - Machine Translation
This post is a continuation from my previous posts on teaching a 100-level undergraduate course called Language and Computers. As mentioned earlier, it is a very diverse class, and I use this textbook: Language and Computers by Marcus Dickinson, Chris Brew and Detmar Meurers. I was quite busy over the past few weeks, and I almost thought of stopping this series, but decided to give it a completion. The last topic in my class was “Machine Translation”.
I started with “Running on MT” NACLO exercise the previous week to get students thinking on the topic. It seemed to work, they worked in groups, and most seem to get a hang of what are some issues one may face (i.e., word to word translations won’t work, one word can have multiple senses etc). A student offered to take a look at Skype speech to speech translator feature, and reported back saying it was not working as shown in the online demo we saw. We spent one class discussing in the form of questions such as - human vs machine translation, what is easy, what is difficult, how do we evaluate quality? Where is machine translation useful? how about metaphor, poetry translation? etc. I then took examples of English to Telugu translation on google translate to talk about alignment issues, missing words etc in current state of the art (I am bored with seeing Chinese examples everywhere! I can make use of the fact that there are other languages in the world!).
At the end of this class, I asked a question on where n-grams/word sequences could potentially be useful in this whole process. After quickly discussing this, there was a longish group exercises where students worked in groups picking different language pairs (most picked English-Spanish or English-Chinese) and gave presentations at the end of the class on their observations. There were some interesting things I learnt here - unfortunately, I did not make notes and it is over a month now! The next class was just before thanksgiving break (Friday afternoon!). So, I just asked did a quick recap of what we talked so far, and asked students to solve a question from ISU linguistics challenge that happened during this week. The question was on Marathi Transliteration, prepared by Payas Awadhutkar, a PhD student in Computer Engineering at ISU.
In the week right after the break, I spent sometime talking about representing sign language, and braille on computers. I did not think about these before - my presentation was also insufficient - but preparing for this class was very enlightening experience for me. I will perhaps do a better job next time. Then, I got back to MT to talk about example based, rule based, and statistical phrase based MT. I did not talk about neural MT (too much for a 100 level class!). I then spent one class concluding this topic by talking about evaluating MT - as a human and automatically.
The last week was spent doing general recap, talking about how these topics we discussed in the class are impacting our society, how it was few years back compared to now, how it will perhaps be in few years etc. I just got course evaluations yesterday - I was quite pleased to see the comments! This class gave me the most amount of joy in teaching so far. I liked teaching most of the stuff I taught, but teaching a technical course, and/or an advanced course is very different from teaching such basic courses. Typically, time in such courses is spent on focusing on the underlying algorithms and their working, and engaging in serious intellectual discussions, and doing complex programming tasks. But here, we focused on what these technologies do for us, how efficiently do they do it right now? what are the problems with these? and so on. We got some time to ponder and sometimes marvel at how computers work with language. Several students also mentioned this in coursevals.
Overall, I thoroughly enjoyed teaching it!