电脑可通过玩游戏学习语言
Computers are great at treating words as data: Word-processing programs let you rearrange and format text however you like, and search engines can quickly find a word anywhere on the Web. But what would it mean for a computer to actually understand the meaning of a sentence written in ordinary English — or French, or Urdu, or Mandarin(国语,官话) ? One test might be whether the computer could analyze and follow a set of instructions for an unfamiliar task. And indeed, in the last few years, researchers at MIT's Computer Science and Artificial Intelligence Lab have begun designing machine-learning systems that do exactly that, with surprisingly good results.
In 2009, at the annual meeting of the Association for Computational Linguistics (ACL), researchers in the lab of Regina Barzilay, associate professor of computer science and electrical engineering, took the best-paper award for a system that generated scripts for installing a piece of software on a Windows computer by reviewing instructions posted on Microsoft's help site. At this year's ACL meeting, Barzilay, her graduate student S. R. K. Branavan and David Silver of University College London applied a similar approach to a more complicated problem: learning to play "Civilization," a computer game in which the player guides the development of a city into an empire across centuries of human history. When the researchers augmented(增广) a machine-learning system so that it could use a player's manual to guide the development of a game-playing strategy, its rate of victory jumped from 46 percent to 79 percent.
Starting from scratch
"Games are used as a test bed for artificial-intelligence techniques simply because of their complexity," says Branavan, who was first author on both ACL papers. "Every action that you take in the game doesn't have a predetermined outcome, because the game or the opponent can randomly react to what you do. So you need a technique that can handle very complex scenarios that react in potentially random ways."
Moreover, Barzilay says, game manuals have "very open text. They don't tell you how to win. They just give you very general advice and suggestions, and you have to figure out a lot of other things on your own." Relative to an application like the software-installing program, Branavan explains, games are "another step closer to the real world."
The extraordinary thing about Barzilay and Branavan's system is that it begins with virtually no prior knowledge about the task it's intended to perform or the language in which the instructions are written. It has a list of actions it can take, like right-clicks or left-clicks, or moving the cursor(光标) ; it has access to the information displayed on-screen; and it has some way of gauging its success, like whether the software has been installed or whether it wins the game. But it doesn't know what actions correspond to what words in the instruction set, and it doesn't know what the objects in the game world represent.
So initially, its behavior is almost totally random. But as it takes various actions, different words appear on screen, and it can look for instances of those words in the instruction set. It can also search the surrounding text for associated words, and develop hypotheses about what actions those words correspond to. Hypotheses that consistently lead to good results are given greater credence, while those that consistently lead to bad results are discarded(丢弃) .