Microsoft Research    Have You Seen These Pages?
   AboutMSR
   Downloads
   Current Research
home
current research
people
search
news
publications
community
conferences
downloads
opportunities
labs
visiting msr
university relations
microsoft.com

 

 

Rendering and Expressions for Realistic Facial Animation - click for more information.

Tell me about yourself

What do you say to a twenty-five-pound computer? If the Natural Language Processing (NLP) research group at Microsoft has their way--anything you want.

This group is building a "gigantic brain" that will understand natural language text input in seven different languages. MindNet is the name of the big brain that houses the analyzed texts of two dictionaries and one encyclopedia. An evolving brain that won't be fully grown-up for several years, it is one of the most complex automated systems around today. Most knowledge bases contain limited vocabularies suitable to a specific task, and they've been hand-coded. Hand-coded systems can't be easily changed when the creators find an error in how the information is analyzed. Years of hard work can go down the drain. In an automated system, none of the data is lost-a change in the algorithm can change the way the data is viewed without affecting the data itself. When this system is finally complete it will perform any task that requires understanding natural language.

The linguistic community argues about how humans first developed language. However, this debate is moot when it comes to teaching a computer to understand language. Computers don't follow the same rules as humans.

People learn language by the time they're four years old - and if a kid can do it, why not a computer? Because there's something special about a human brain that makes it possible for us to learn complex symbol structures that not only represent words, but represent concepts too. "Anything I can think of I can tell you. That is really tough to duplicate in a machine. We learn to use words by experience, but a computer doesn't learn anything by experience, it has to learn everything symbolically," says Karen Jensen, Senior Researcher in the NLP group.

Understanding language means, among other things, knowing what concepts words stand for and knowing how to link those concepts together in a meaningful way. The task of programming a computer to attach meaningful links between words is daunting because natural language is highly ambiguous. There are several types of ambiguity present in natural language. Word-sense ambiguity exists when the sense of a word is in doubt, as in the word crank. Crank has one "apparatus" sense and two "person" senses. Nothing in the following dictionary definition indicates that entries (2) and (3) are more closely related to each other than they are to (1).

(1) "an apparatus for changing movement in a straight line into circular movement..."
(2) "a person with...strange, odd or peculiar ideas"
(3) "a nasty, bad-tempered person"

Structural ambiguity exists when the syntactic structure of a sentence or fragment of language is in question. The sentence "I ate a fish with a fork", could mean, to a computer, either that the author used a fork to eat a fish, or that the fish had a fork. A human wouldn't make that assumption because we know that a fish will use a fork only in a highly imaginative scenario, such as in a Disney movie.

The system built by the NLP group has two modes: analysis and generation. The analysis phase seeks to understand the text input. The process of "understanding" a piece of text involves passing it through various stages of linguistic processing, including word-level, syntactic, and semantic analysis. A syntactic analysis shows that the sentence "I saw the dogs," is a declarative sentence containing a noun phrase, a verb, another noun phrase, and a punctuation character. The colorful tree structure produced by the analysis is similar to the complex sentence diagrams some of us had to construct in high school English classes. Semantic analysis shows what each word means - such as a dog is a domestic mammal that likes to bury bones in the back yard and shed all over your best wool suit.

MindNet contains information about how words are interrelated. This information is automatically generated from text sources like the Longman Dictionary of Contemporary English, the American Heritage 3rd edition, and Microsoft's Encarta encyclopedia.

In generation mode, the system takes a semantic analysis and produces readable text. Once the analysis phase has determined the meaning of each node and stored it in MindNet, it can provide the information needed to generate an answer to a question, or perform an action in response to a request, or translate the input into another language. Of course, this all happens at cyber speed. You won't see the "brain" building tree structures; you'll just see the results.

Another plus is that this system is smart, it can learn. The algorithms underlying the process are capable of automatically adding words specific to your industry, increasing MindNet's store of knowledge. In the future this might be used to improve your ability to query a database using natural language. If you query your SQL database about how many "wampus-doodles" sold last year, it won't choke on the cute name, it'll just return the answer.

Most systems place restrictions on how the input is analyzed. This system accepts everything, unlike your high school English teacher. Because of this, the system understands a greater range of input than many hand-coded systems. For instance, it can understand that the sentences, "the dog was bitten by the boy," and "the dog were bit by the boy," have the same meaning. And you can bet you won't hear a single tsk, tsk if you input the second sentence. Those who take advantage of this system can impose rules on acceptable input, but the system comes free of value judgments.

It may be many years before your computer understands all of the nuances of human communication. A Mr. Spock character, operating on logic and blissfully unaware of emotion and inflection, would never guess that the statement, "Where were you last night?" was not just a request for temporal location, but a red flag telling the listener that he was in deep trouble. However, the NLP group is very close to producing a system that will be capable of analyzing and generating enormous amounts of human language, making it possible to communicate with your computer in a natural way.


Back to the top
Copyright 2001 Microsoft Corporation.  Please address comments on this web site  to msrwww@microsoft.com. This server contains links to servers not under the control of Microsoft Corporation.
Privacy Statement