DARPA Seeks to Remove Communication Barrier Between Humans and Computers

Program explores ways to assemble complex ideas from elementary ones given language and context

The lifelong human imperative to communicate is so strong that people talk not only to other people but also to their pets, their plants and their computers. Unlike pets and plants, computers might one day reciprocate. DARPA's new Communicating with Computers (CwC) program aims to develop technology to turn computers into good communicators.

Straightforward as that may sound, communication involves several coordinated processes. The speaker puts ideas into words, the listener extracts ideas from words and, importantly, both rely on context to narrow down the possible meanings of ambiguous language. All of these processes are challenging for machines.

"Human communication feels so natural that we don't notice how much mental work it requires," said Paul Cohen, DARPA program manager. "But try to communicate while you're doing something else -the high accident rate among people who text while driving says it all- and you'll quickly realize how demanding it is."

Human-machine communication falls short of the human-human standard, where speakers and listeners consider such contextual aspects as what has been said already, the purposes of the communication, the best ways to express ideas, who they are speaking with, prevailing social conventions and the availability of other modes of expression such as gestures. And so computers that might otherwise contribute more significantly to solving problems in a range of areas, including national security, remain in relatively simplistic roles such as crunching large datasets and providing driving directions.

To further the goal of developing systems that communicate more like people do, the CwC program will set tasks in which humans and machines must communicate to do a job. One task will involve collaborative story-telling, in which a human and a machine will take turns contributing sentences until they have written a short story. "This is a parlor game for humans, but a tremendous challenge for computers," said Cohen. "To do it well, the machine must keep track of the ideas in the story, then generate an idea about how to extend the story and express this idea in language."

Another CwC task will be to build computer-based models of the complicated molecular processes that cause cells to become cancerous. Computers are starting to do this already in DARPA's Big Mechanism program, but they don't work collaboratively with human biologists—a shortcoming, because while machines read more quickly and widely than humans, they do not read as deeply, and while machines can generate vast numbers of molecular models, humans are better judges of the biological plausibility of those proposed models.

Of course, storytelling and cancer research are just initial challenges to help advance the technology to a point where humans and machines can take best advantage of their complementary capabilities. In the intelligence-gathering domain, for example, machines' superior ability to collect and store information and humans' superior ability to develop interpretive narratives from such information would find greater synergy if the people and the machines could communicate better.

"Because humans and machines have different abilities, collaborations between them might be very productive. But today we view computers as tools to be activated by a few clicks or keywords, in large part because we are separated by a language barrier," Cohen said. "The goal of CwC is to bridge that barrier, and in the process encourage the development of new problem-solving technologies."

Featured Product

Maplesoft - Free Whitepaper: Developing a Robot Model using System-Level Design

Maplesoft - Free Whitepaper: Developing a Robot Model using System-Level Design

This paper uses NAO, the humanoid robot from Aldebaran Systems, to demonstrate how MapleSim can be used to develop a robot model, and how the model can be further analyzed using the symbolic computation engine within Maple.