AI Markup Techniques

One challenge which has often faced people working in AI, and has limited the level of success which AI has achieved, is the lack of clear standards for building AI systems. This isn't a problem in other areas of computer science, at least not to the same degree. While there might be different versions of Java, C++, and HTML, once you've built a system in one version of these languages it will usually be a relatively easy task to port it to another version. There are also clear interfaces to these languages making it relatively easy to build APIs which make for open systems that any developer can use and build on. This has traditionally not been the case with AI. AI systems have traditionally been built as "black boxes" which are very difficult to interface with. Although there may be a rule-based system, or a neural network, which does something really cool, the effort in being able to use these systems have made them damn near inaccessible. (And no, fellow occultists, inaccessibility is not always a good thing!) One reason is that, although AI is a still a small field, there have been a vast number of different technologies used in AI. And, even when you do settle on a particular AI technology, a lot of work must be undertaken to translate data into a form which can be used by the AI technology.

Efforts are underway to change this, however. XML (eXtensible Markup Language) technology in general provides a method not only for communicating between different applications, and different platforms, in a standardized way, but also for, in essence, defining new languages suitable for solving particular problems. DTD documents and stylesheets essentially define new XML based languages specific to a given problem. HTML, as you probably know, is the standard language for representing Web documents; all web browsers know HTML and, given an HTML document, can display it in a more or less standard fashion. The basic insight underlying XML was that it should be possible to define other languages, designed to solve other problems besides just displaying Web pages, in an equally standard fashion. Thus XML, which is really a metalanguage for defining other languages, was born. Out of this metalanguage came many specific markup languages designed to solve specific problems.

This is all well and good, but you may be wondering what this has to do with AI. XML advances the cause of AI in at least three different ways. The first is that, just by providing the opportunity for developers to build new languages to solve particular problems, it becomes that much easier for intelligent systems to mimic human behavior. A large number of markup languages have developed powered by XML in pretty much all areas of human endeavor. There are markup languages for representing concepts in everything from music to business to finance to mathematics. It seems that XML has provided a convenient way for representing knowledge which previously was lacking from other attempts to provide a standardized mechanism for doing so. As such, much of the effort which previously needed to be spent in knowledge acquisition in building AI systems has already been done, as a matter of course, by people in building markup languages for their particular field of interest.

The second area in which XML helps AI efforts is in the ability to provide standardized ways to communicate with AI or rule-based engines. As mentioned earlier, AI engines have traditionally been based upon their own proprietary languages, and considerable effort has always had to be invoked in order to translate concepts which are represented in standard C++, Java, or database technology into the language of the AI engine. Furthermore, whenever there have been small changes needed to the specifications of the problem the AI engine solves, it has introduced massive changes to the interface to the AI engine. This has resulted in AI products being very hard to maintain, except perhaps in academic environments where they just run "standalone". With XML, however, it is possible to present whatever data is needed by the AI engine in the form of an XML document (or, more precisely, a document in an appropriate markup language), and the AI engine then takes responsibility for parsing that document-using either one of the standard XML parsers available or using its own parser-into a form which it can use. The AI system, in turn, will also generate its output in the form of an XML document.

However, perhaps the most interesting way in which XML will move AI forward is in giving us ways to represent business rules themselves, and other AI concepts, in a standardized format. Efforts are underway-for example, with the international RuleML initiative-to provide such standardized languages. Initially, the focus has been on rule-based systems, but eventually the effort will move to other areas of AI as well such as neural networks and natural language. By providing these standards, it will be possible to build rules engines and other AI engines in the same way that in the past Web browsers have been built: with the confidence that the underlying standard for the technology will not change (too much), and therefore with the focus being building the optimal AI technology itself. Needless to say, the move to such a standard will be a rocky one, with many different vendors and other players jockeying for position in a difficult political fight, but eventually competitive pressures will force the field to adopt one-or at most a few-standards. AI is becoming too mainstream in its importance to continue to tolerate the inefficiencies it has been plagued with in the past for much longer.

The next step, after XML-based standards become commonplace both for data and engines in AI applications, will likely be increased focus on the Semantic Web. The Web, up to now, has been primarily a means for humans to communicate with machines, primarily through browsers. It has largely been designed with that in mind. The next step on the Web is to enable it to provide a mechanism for machines to communicate easily with other machines-this is what is known as the Semantic Web. This will open up many more opportunities for AI, which we will talk about in more detail in the next edition.

More information about the Semantic Web may be found in a recent Business Week article.

More information about RuleML may be found here. Interestingly, Tim Berners-Lee, the web pioneer who is now spearheading the Semantic Web work, has also played a behind-the-scenes role in RuleML.

More information about XML in general may be found here.

Next edition, we will take a quick peek at Using AI To Fight Terrorism.


Home: Ramalila.NET



All copyrights are maintained by respective contributors and may not be reused without permission. Graphics and scripts may not be directly linked to. Site assets copyright © 2000 RamaLila.com and respective authors.
By using this site, you agree to relinquish all liabilities and claims financial or otherwise against RamaLila and its contributors. Visit this site at your own risk.