Language representation in the cognitive automation lab
A polyglot with a passion for complex methods of communication, closely aligning with his fascination with getting computers to understand language. Computer science student Martin Amethier spent the summer in the Cognitive Automation Lab at Ericsson Research.
Students from many different fields join Ericsson Research for internships or thesis work. You could be next. Follow our blog to learn more about the students at Ericsson Research during the summer of 2018.
I’ve always had an interest in languages – I grew up as a Swede in England, and my grandfather is from the Ivory Coast where French is the official language. In school, I also studied a few years each of Spanish, Latin, Ancient Greek and Russian, and I took a gap year studying Chinese in Shanghai. I love looking at the similarities and differences between different languages, and how we’ve developed such complex, but different, methods of communication.
Since I’m studying Computer Science, I became fascinated by the problem of getting computers to understand language. It’s obviously at the forefront of AI research right now, with a lot of applications of Natural Language Processing (NLP) being rolled out, but it’s also an interesting problem philosophically. Many people argue that machines can’t understand language in the way we can because they only process information rather than comprehending it on a deeper level. But if we can get machines to process language just as a human would, what would really separate our understanding of the language from theirs? So, how difficult is it to get computers to process a language? Just between human languages, there are so many things we take for granted in the languages that we speak fluently that aren’t obvious at all to non-native speakers. This shows how difficult it can be to fully understand a new language. Trying to get computers to process and understand these languages then adds a whole new layer of difficulty.
The warehouse project
My task was to help build up a program that could use a given lexicon to represent as wide an array of sentences from that lexicon as possible, in a method of representing language called first-order logic. This would fit into a larger project with the goal of automating warehouse management. The idea was to build out the first-order language over a large vocabulary so that the warehouse manager would simply be able to give instructions or questions in plain English, and this could be interpreted by the warehouse controller system as rules and goals, and the instructions could then be carried out.
First-order logic programming has long been a popular method of natural language representation. Unlike the perhaps more commonly seen object-oriented languages, logic programming is based on formal logic. This means that the programs are written as a set of facts and rules. A simple program in the Prolog language would be as follows:
work(programming). (Fact – programming is work).
likes(martin,programming). (Fact – martin likes programming).
likes(martin,work) :- work(programming), likes(martin,programming). (Rule – martin likes work if programming is work and martin likes programming).
If we now pose the following query to the program:
“?- likes(martin,work).”, it responds true, because the rule is satisfied by the facts of the program. We could also ask: “?- likes(X,work)”, and it would respond “X=martin, true”.
We can see how this can form a good basis for natural language representation: the lexicon of the language can be represented as facts (for example: noun(car)), and then the grammatical rules of the language are the rules of the program, describing how to combine different words and phrases into sentences. Languages are formed by syntactic structures (for example: a sentence can be composed of a noun phrase and verb phrase), and the program must represent the structures that are available to that particular language. As the sentences become more complex with more syntactic elements combined recursively, representing these structures in first-order logic also becomes more complex. In addition, some sentences have several possible meanings, depending on the context, and these different possibilities need to be represented as well.
Working at Ericsson Research
I wanted to spend my summer learning more about the field of Artificial Intelligence for my studies, learning about working in Computer Science, and developing my skills as a programmer. I was therefore really excited to get an opportunity to work in the Cognitive Automation Lab in Ericsson Research. The fact that there was a project within NLP that they wanted me to work with was just icing on the cake!
Figure 2: A snack like this banana helps me stay focused throughout the working day!
Working at Ericsson Research has been a valuable experience. I’ve learned a lot, not just with the work that I’ve been doing in logic programming, but also about how to build these kinds of projects and how a job in CS/AI research looks. It’s been great to be able to bounce ideas off the rest of the team and get help from researchers who have so much experience in the field that I’m just starting to dip my feet into. I feel as though my understanding of NLP was quite superficial prior to joining Ericsson Research, and now as I’ve learned more about different ways of representing language my interest in the field has only grown. I’ve also thoroughly enjoyed the working environment, the people, and the lunches in the Ericsson cafeterias!
Figure 3: I’ve been able to adhere to my strict high carb, high fat diet at the Ericsson cafeterias!
Who am I?
I grew up in a small town in England, south of London and close to Wimbledon (where the tennis tournament is). My parents are Swedish though, so we moved to Stockholm before I started high school. Following my gap year in Shanghai learning Chinese, I’m now studying Computer Science at Stanford University in California, where I’m also on the varsity rowing team. I’ve always played a variety of different sports, but rowing was the one that I really fell for. It isn’t a particularly glamorous or even fun sport – it’s a mixture between mind-numbingly repetitive and excruciatingly painful, but the satisfaction when you have success is what drives you forward. Since you’ve put in so many hours of hard work it’s an incredible feeling to see that work pay off. It’s a great release from my studies and work as well, to have a few hours every day where I focus on something completely different.