During finals season, it’s even harder than usual to make time for independent work. So this reading period, I decided to ask a senior, computer science major Sam Arnesen, about the state of his thesis and his plans for spring semester. For his senior thesis, Sam is developing artificial intelligence software that can solve text-based computer games.
What is your thesis about?
My thesis is on text-based games–games like Zork where at every step of the game, you’re given a text description of the scene you’re in and you have to enter some text about what the next move is, like “pick up sword” or “open door.” You can imagine that we often teach computers to play games, but there are a few unique challenges associated with text-based games. Part of it is that it is partially observed: you can see what’s around you, but you can’t see the entire state of the game. The other thing is that it’s very difficult to parse the text and translate it into something meaningful, especially when it comes to actions. There’s stuff out there on various methods to do text-based games and be able to play simple versions of them, but they have a couple issues. First, most of the games are quite simple, and more importantly, the kinds of strategies that it would learn translate very poorly between games unless the games are extremely similar, which is bad because you would expect that certain skills (like having a key and a locked door, or remembering orientations) would be understood. The whole reason why we care about text-based games isn’t because it means anything to play the game, but because we want to be able to learn something about language through these games. So it’s bad if the agents are specific to one particular game, because it suggests that they’re learning idiosyncrasies of the game instead of actual language skills.
I’m specifically working on ways to have more transfer of learning between different kinds of text-based games. I am working on building an agent that’s able to parse walk-throughs of games. A walk-through happens in any kind of game, it’s a set of instructions that tell you what you should do at every step. That’s a non-trivial task: you have to parse that text, translate a paragraph into an action, figure out whether the action you took was the correct action, and be able to use the strategies you learn through parsing the walk-through to learn some general strategy.
How did you get interested in this topic?
I knew I wanted to do work in natural language processing (NLP). After doing my junior independent work on CV, I knew I wanted to diversify and study something different rather than focusing entirely on one field. NLP has a lot of fun stuff you can do and my adviser has worked a lot on this topic, so I decided to make it my thesis.
Any advice for future seniors on balancing coursework and independent work?
I don’t think I balanced it particularly well. I did four classes, two of which had a fair amount of work, so between that and extracurriculars, my thesis certainly was not central. I think that’s true for most people, but I also think that even when people take a lighter course load, it’s hard to get stuff done.
Starting early is important of course, but so is being honest about how much work you’re actually going to get done during a particular week, especially during the fall semester. Saying that you have so much thesis work to get through that week when it’s not really that urgent will just stress you and others out.
What’s been the biggest challenge with your thesis thus far?
One, finding the time to work on it, which I never do. Two, there’s a lot of little stuff to do before you can get started on anything, like setting up your development environment. But it’s still fun overall, reading papers is interesting.
Any spring semester goals for your thesis?
Finish it not at the last moment and devote more time to it than first semester.
–– Ella Feiner, Engineering Correspondent