One problem with Artificial Iintelligence is the difficulty of turning human conversation and directives into something a computer can understand. Human speech patterns are difficult for a computer to transform into formulas and numbers that it can analyze and respond to with any semblance of accuracy. Natural Language Processing was designed to convert human or "natural languages" more effectively and efficiently into something a computer can use and understand.
A natural language is a language people speak, such as English or Spanish. Computers deal with artificial languages, such as programming languages or logic. Natural Language Processing (or NLP) is a programming scheme that deals with ways computers can interpret natural languages. It can be divided into two tasks: processing written text, and processing spoken language. The dream of having computers seamlessly answer the phone, reply to a question, translate books or phone conversations from Spanish into English, understand text in reference books and journals and a myriad of other uses spur the research into NLP.
In order to make sense out of sentences, a Natural Language Processor searches for standard sentence syntax, such as a complete subject or complete predicate. Once it finds those, it continues to break them down, identifying simple subjects, verbs, and clauses.
Some language oddities make it difficult for the computer to tell certain things apart. Many words serve as several parts of speech, and the computer has to figure out under what circumstances it should make certain words adjectives, nouns, or verbs. For instance, if you were to have a porch built, you might pay someone to “tile the floor” with “floor tiles”. When you’re done, you’ll have a “tiled floor.” A human can figure out the distinction between the uses of the word after years of practice, but a computer has to be taught.
Computers also have difficulty dealing with compound adjectives. A “soft velvet chair” is not the same as a “velvet-soft chair.” Again, the computer must be able to determine how to discern what each adjective refers to.
NLPs make it easier for the computer to interact with the user of the program. A person can type commands into the computer, and it will know what to do based solely on the instructions the user gives the computer in his own native tongue. The computer can also learn by reading books, manuals, or newspapers. If a program can be taught to “learn” what it needs to know from outside sources such as these, a programmer will no longer have to program in every bit of information into the program before the program can be used. NLPs can easily search through a base of stored knowledge to find articles on specific topics. A Natural Language Program may also be the best way to translate text automatically between two different languages.
Natural Language Processors are often used in chatbots and other programs that accept a user’s typed input. Being able to quickly interpret the user's directives, frees the computer up to do other things.
With this ability, they can accomplish many more important tasks.
An Italian robotic “tour guide” called the Cicerobot guides visitors around the museum, finding out their personal interests and tailoring the tour to the specific guest. It also conducts online tours over the internet and acts as a security guard when it is "on duty". The American Federal Food and Drug Administration hired a computer scientist to use a NLP to determine what medication names have been used and which are available. New drugs aren’t given the same names as old ones so that people won’t take the wrong ones by accident. Simple automatic translations make multilingual communication much easier. These and other projects are possible with the advent of computers that can understand natural languages.