Other Areas of AI

 < Day Day Up > 

This book has touched on only a few AI-based technologies (speech recognition, data mining, rule-based systems, agents). There are many other branches (see Table 9.3) that you may want to explore. This section discusses a few of them.

Table 9.3. Areas of AI not directly addressed in earlier chapters. These areas should offer value to traditional business applications, and the reader may want to explore them further.

Area

Description

Fuzzy Logic

The programmatic interpretation of inputs that cannot always be expressed in Boolean values. Instead of the logic always being true or false, it could be something in-between.

Game AI

The enhancement of traditional games with AI-based technologies in an effort to make the games more realistic.

Genetic Programming

Genetic programming can be used to solve general problems with a process that resembles natural selection.

Natural Language Processing

Natural language processing allows people to communicate with their computers in the same way they communicate with one another through "natural" language.

Neural Networks

An attempt to simulate the way the human brain thinks. They are most useful at detecting patterns and in learning from their experiences.

Machine Learning

A software program that is able to learn based on its inputs. This usually involves training by a user and can be one of the most complex branches of AI.

Robotics

Most people associate artificial intelligence specifically with this branch. Robotics represents a wide range of machines, ranging from those that simply clean your carpet to ones that can intelligently dismantle a bomb.


Fuzzy Logic

Fuzzy logic is a branch of AI that takes account of various "real-world" factors. It was created because not all algorithms are able to deal exclusively with 1's and 0's. Fuzzy logic is able to interpret a broader range of variables and their associated values, a very useful capability when the inputs are contradictory and might cause traditional algorithms to respond incorrectly. It was first introduced in the 1960s as a result of dealing with natural-language understanding.

Fuzzy logic is especially effective when dealing with input from digital sensors such as cameras and electrical sensors. As a result, the manufacturing industry has been one of the primary users of this technology so far. It is especially important for controlling machine temperatures and speed.

Robots receive their input from a variety of mechanical devices, and fuzzy logic can be helpful in controlling some of them. It has contributed to breakthroughs in handwriting and voice recognition where even humans have trouble.

Fuzzy logic comprises several different algorithms, and there are many theories about how exactly to approach this subject. Readers interested in learning more may want to check out www.fuzzy-logic.com. The Web site references an online book that presents fuzzy logic in a very understandable way.

Game AI

The first AI games were variations of board games like checkers or chess. Now that so many hardware advances have been made and memory is cheap, the games industry has exploded. Games that claim to have "AI inside" are often the most sought after. They usually involve some sort of simulation. "Age of Empires" (see Figure 9.1), "Mindrover," and "Mission: Impossible" are all games of this kind. The games industry is hugely competitive, and games these days are as graphics-intensive as a Hollywood movie.

Figure 9.1. Screenshot of the scenario editor used in Microsoft's "Age of Empires," a strategy game that spans 10,000 years. This is just one of many games that AI technologies have made more life-like and appealing.


There are many commercially available SDK's that allow developers to quickly add AI functionality to their games. For instance, DirectIA (Direct Intelligent Adaptation) is a behavior simulation program designed by the MASA group (www.animaths.com). This company is based in Paris, and although its products are good, they are too expensive for game hobbyists. Another product that may be used to create games written in C++ is Spark (www.louderthanabomb.com). It is a fuzzy logic editor that features real-time graphical debugging. Although you may not consider games to be a business-oriented topic, game development is a huge industry. If you are interested in learning more about this AI branch, you can visit www.gameai.com.

Genetic Programming

Genetic programming, also known as evolutionary programming, seeks to utilize some of the same biological factors that drive human evolution. It uses variables that represent chromosomes, genes, and traits. This is not as scary as it first may seem to those who hated biology. Genetic programming can be very effective in systems that need to determine an optimal path. It is being used more frequently in industries that must solve complex scheduling issues.

In most cases, genetic programs involve the creation of several potential solutions that are evaluated to determine whether they are "fit." Programs deemed fit, according to some predefined function, will be used to "breed" a new group of potential solutions. The others will be eliminated. The evaluation process is continued until it is determined that no improvements can be made and only one optimal solution remains.

A growing number of researchers are becoming interested in genetic programming. This area can involve computer programs that create themselves. For more information, refer to www.genetic-programming.com.

Microsoft.NET is fully capable of producing an application based on genetic programming. MSDN Magazine published an article about genetic programming in August 2004. In the article, titled "Survival of the Fittest: Natural Selection with Windows Forms," Brian Connolly presents a program written with Microsoft C#.

Natural Language Processing

Natural language processing involves more than just recognizing what the user is saying; it involves understanding as well. Language understanding has long been a major hurdle for the AI industry. For years, products have featured speech-processing abilities that can interpret spoken text into commands or queries. The problem with most of these products is that they do not handle language variability very well.

The overall goal of natural language processing for users to communicate with their computers using "natural" language. Users should be able to speak to their computers much the same way we speak to one another and have the computer understand them.

This chapter features a recent startup company named Sonum Technologies that has developed a patent-pending natural language processor. The product holds much promise in the area of natural language processing.

Sonum Technologies

Headquartered in Baltimore, Sonum Technologies (http://www.sonumtech.com) has created a patent-pending technology known as the Natural Language Processor (NLP). The NLP is different from other speech-based products in that it can handle language variability efficiently. It can handle things like poor grammar, incomplete sentences, and ambiguous information. The goal is to communicate with the user using the smallest amount of effort.

Sonum's NLP is a pattern-recognition algorithm that simplifies the process of language understanding by breaking spoken text down into stages. It uses a knowledge base which consists of three tables. The first stage uses a table to match recognized words with semantic symbols. The next stage groups words into phrases, and the last stage identifies concepts.

In September 2004, Sonum introduced NLP at the annual SpeechTek Exposition and Conference (http://www.speechtek.com). It demonstrated the NLP integrated with Microsoft Excel and a custom-built Personal Information Manager (PIM). Videos of both demonstrations are available on the company's Web site. Both applications were written in C# under the .NET Framework 1.1. Speech recognition was accomplished using ScanSoft's newly released speech engine, Dragon NaturallySpeaking 8 (http://www.scansoft.com/naturallyspeaking/).

In the Excel demonstration, a user relying only on spoken commands entered and manipulated data in a spreadsheet. The PIM demo shows a woman creating and editing contact information and then adjusting her schedule for the upcoming week. The following dialogue is an excerpt from the demonstration:

Woman: "Hello There"

Computer: "Hello to you"

Woman: "Would you make a new contact for Ralph Johnston?"

Computer: Opens the new contact form.

Woman: "He lives at 873 Brown Circle Road, Baltimore, Maryland, 21208. And can you put (410) 874 5156 as his cell phone number?"

Computer: Information is populated into the associated fields on the new contact form.

Woman: "Looks fine. Save it."

Computer: Saves the record and responds with, "The contact is saved."

Woman: "When is my earliest appointment this coming Monday?"

Computer: "Your earliest appointment on September 20, 2004 is a group meeting with your supervisor which begins at 1:00 PM and ends at 3:30 PM."

Woman: "Change the date to this Monday. Schedule this from 8 to 9 in the morning.

Computer: Changes appropriate fields on the Schedule form.

Woman: "Save this for me."

Computer: Saves record and responds with, "I am saving it now."

In the PIM demonstration, the woman is able to speak to the computer as she would to a human personal assistant. She is able to initiate new commands without being guided through the application or restricted in what she can say.

In December 2004, I had an opportunity to communicate with Sonum's co-founder and chief technical officer, Dr. Randy Ford. The technology behind the NLP was based on a thesis written by Dr. Ford. I was able to ask him specifics about the NLP. In response to my question concerning the availability of the product, he responded:

We are currently integrating the NLP into several business solutions. The first of which will be to market by the end of first quarter 2005. Shortly thereafter an NLP product toolkit will be available for use by the developer community.

Sonum's NLP is an AI-based technology that has tremendous potential to change the way humans communicate with their computers. It is just another step toward making a reality of the type of interactions now seen only in science fiction movies.


Neural Nets

Neural nets are designed to emulate the thing that all AI applications are trying to be like the brain. Borrowing from many years of cognitive research, neural nets attempt to simulate the activity of neurons, the basic building block of the brain. The human brain is known to contain hundreds of billions of these brain cells, and researchers suspect that the interaction between them is what forms thoughts.

At one time neural networks were seen as the solution to the question of AI. They soon fell out of favor, and many projects based on neural-network techniques were abandoned. In the last few years neural networks have begun to regain popularity. They are now seen as very useful in solving certain kinds of problems, such as pattern recognition. In fact, the next version of Analysis Services features a new algorithm based on neural-network processing.

Machine Learning

Machine learning is the branch of AI that aims to enable software programs to learn from data or even from the results of previously executing on a dataset or set of conditions. This technology has been used in a wide range of applications and has enormous potential for enhanced applications.

Machine learning can be useful in areas like data mining and information retrieval. In fact, many machine-learning techniques were utilized in the making of the Microsoft Analysis Services software. Machine-learning techniques have been used, and will continue to be, in other Microsoft products including Speech Server.

Machine learning has also been used to enhance games by enabling them to learn from the users. A game that learns in this way is better able to recommend appropriate strategies to the user.

Generally, machine learning involves some sort of training process in which the program is notified when it makes a bad decision. It then must have the ability to adjust the way it makes decisions based on this input. Readers interested in learning more about the fundamentals of machine learning are encouraged to read "Data-mining: Practical Machine Learning Tools and Techniques with Java Implementations" by Ian H. Witten and Eibe Frank (http://www.cs.waikato.ac.nz/~ml/weka/book.html).

Robotics

The field of robotics is perhaps the most visible and entertaining aspect of AI. Most people think of robotics when they hear the term AI, because it is hard for them to envision intelligence coming from something that is not humanlike. Honda recently began an intense marketing campaign to announce its advanced humanoid robot named ASIMO (see Figure 9.2).

Figure 9.2. ASIMO is an advanced humanoid robot that was sixteen years in the making. Developed by engineers at Honda Motors Corporation, ASIMO will become the basis for robots designed to assist the elderly or to replace humans in performing dangerous work.


The field of robotics is not concerned simply with the construction of these machines. It also involves the creation of software to guide their movements. This is the trickiest part, because so many skills are needed to navigate physical spaces. Most robots have great difficulty just moving through a room. There have been great advances in this area, and some of the most significant have come from MIT's research laboratory (see www.ai.mit.edu/projects/humanoid-robotics-group/cog/cog.html). It is there that the Cog project seeks to bring all areas of AI into one functional whole.

     < Day Day Up > 


    Building Intelligent  .NET Applications(c) Agents, Data Mining, Rule-Based Systems, and Speech Processing
    Building Intelligent .NET Applications(c) Agents, Data Mining, Rule-Based Systems, and Speech Processing
    ISBN: N/A
    EAN: N/A
    Year: 2005
    Pages: 123

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net