by Trevis Rothwell
Home : Research
The goal of research in the natural sciences is to identify something in nature that presently is either poorly understood or not understood at all and discover more about how it works. The goal of research in computer science is to identify something that computer systems presently either do poorly or cannot do at all and come up with a way to make them do it, or do it better.
My research plan for the indefinite future is to find ways to build computer systems that can approximate understanding of natural language. For example, consider:
- Can a computer read a simple story and understand what happened in it, say, at the level of a first-grader?
- If a computer could understand a simple story, could it also understand complicated news articles?
- Once able to understand complicated news articles, could it read all available news articles on a given topic and identify gaps in the story between news outlets? Identify biases between news outlets?
- Would natural language translation systems work better if the computer "understood" and "interpreted" the phrases rather than executed brute-force word-for-word translation?
Researchers have been working on these problems for decades, and most of the language processing tools that have made their way into the hands of the general public continue to demonstrate at best a superficial grasp of what people are actually talking about.
The bottom line: programming computers to understand natural language is a tough problem, and there's plenty of worthwhile work left to do.
...that might be worth investigating:
- It's fairly straightforward to program a computer system to grasp language within a particular narrow context. Could we design a way to extend computer systems with additional interchangable contexts?
- Given a strict definition of syntax for a language, it's a simple matter of programming for a computer system to be able to parse utterances in that language. The hard part is often dealing with utterances that stray away from entirely-correct syntax, as lots of real utterances spoken by real people tend to do.
- Even the language tools that only superficially process language (like most language translation systems) are fairly hefty applications that run on servers. Would it be useful to compact such systems into, say, tiny efficient C programs that could run directly on mobile devices?
- Rethinking the Mobile Internet, some ideas that might have seemed more interesting before the iPhone