This week we interviewed Oliver Mason, a computational linguist at the Department of English of University of Birmingham. He holds an MA in Computational Linguistics from the University of Trier, and a PhD in Linguistics from the University of Birmingham. You can find more information on Oliver on his personal webpage. He runs two blogs, Language and Computation and Learning, Teaching, Research. You can find him on twitter as ojmason.
Számítógépes nyelvészet: Please tell us something about yourself.
Oliver Mason: I am a computational linguist by degree, but work in an English department teaching mainly discourse analysis. My interests are mainly in the automatic analysis of texts. I learned programming on a Sinclair ZX 81, and always dithered between wanting to do linguistics or computer science; so I got really excited when I discovered a programme in computational linguistics at Trier. In 1994 I came to Birmingham as a researcher, working on a number of EU-funded projects in corpus linguistics, and for a while I was also involved in the Cobuild project. For the past ten years I have been a lecturer. I regularly play 6-a-side football in our department team, and am a founding member of the Birmingham HSV fan club.
Always keen to learn other languages, but usually give up after a while due to lack of time and other more pressing commitments. Which is a shame, really!
Which is your favourite linguistic theory and why?
As far as I am aware, there are no linguistic theories. At least not in the strict sense - there are mostly hypotheses and descriptive formalisms. The closest thing to a theory I know of is in synergetic linguistics, and I really like Köhler's synergetic model of lexis: it describes the regularities between word length, frequency, and number of meanings. Though, I don't believe in single words having any meaning, so there are still some limitations.
Do you have a favourite programming language and/or technology? Why do you prefer it?
I used to do a lot of programming in Java, and even wrote a book on that, but I have gone off it now as it has become too complex and bloated in my view. Working with Macs I've started using Objective-C, which I now prefer, but my favourite language would be Erlang. I did some Prolog at uni, so it does not seem too weird (though it has some syntactic annoyances). The two main reasons I like it for are the absolute bare minimum of data types and the ease with which you can make your programs concurrent. I implemented a parallel chart parser a while ago, and it was really easy to do. When computers have more cores, concurrency is clearly the way forward, and Erlang really makes it easy.
As a computational linguist, what do you think about the field; is it a branch of linguistics, a sub-discipline of computer science or is it a science on its own?
It sits in between multiple fields. A few days ago I discovered that there are people in the Electrical Engineering department at my university who do work with text summarisation. We also have people in computer science and in English who do computational linguistics. I guess we all have slightly different approaches to language, but share some methodology. Your view is probably shaped by the route you took: my degree was in computational linguistics, so I consider myself a computational linguist, even if I work in an English department. People in computer science might see themselves as computer scientists working with language. So it's probably a field rather than a discipline.
In your opinion, what should a computational linguist's toolbox contain?
There are few things that you cannot do with the Unix text tools.
According to your university homepage, your are teaching an undergraduate course on the role of language in the information society, what does this course cover?
It's a broad overview about vaguely related topics; our students mainly do English literature, so I cannot do too much technical stuff. In the past I have covered encryption (various ciphers to demonstrate features of language, such as letter frequencies and how they can be used to crack simple codes), information retrieval, machine translation (always useful if there are exchange students in the seminar who speak other languages), human-computer interaction (Eliza), and planned languages (Esperanto, Klingon). The latter has the danger of getting a reputation as a treckie (which I am not). The language of text messaging is also useful, to introduce the principle of least effort and the ability to code-switch according to the communicative situation.
All this is in relation to how language works and how that affects the ability to process it, with a very practical and applied perspective.
You published quite a lot on corpus linguistics, a topic which has got impetus recently. How do you see its status within nlp and linguistics?
In my view, corpus linguistics should not need the 'corpus' in front of it, as pretty much all linguistics should make use of corpora. But then I would say that, wouldn't I? Statistical methods rely on training data, so most NLP would not really work without corpora. With linguistics I don't really know: it is such a broad field that I cannot possibly assess how corpora should be used in the various fields. But I am definitely an empiricist, so I don't trust people who invent their own data.
As a practising teacher what kind of route would you advise for youngsters wishing to start a career in computational linguistics; start a computer science degree programme and catch up on linguistics parallel or later, enroll in a linguistics programme where there is some compling in the curriculum or look for specialist programmes?
It really depends on the individual. My impression with a lot of computer scientists is that they often treat natural language the way they think about formal languages (I blame automata theory for that...)- they sometimes lose sight of all the irregularities and messy elements of language. But then, that could just be my experience with the 'older generation', the people who thought they could translate Russian into English by looking up words in a bilingual dictionary.
If you can cope with programming, then it's probably better to do linguistics first. I think there are many elements in computer science degrees that are not too necessary for work in computational linguistics, and that you can pick up later. Computer scientists seem to find it harder to adapt to the more humanities-style in linguistics. Specialist programmes are of course always the best, as you get the relevant parts from both areas.