He'd recently done some video editing on his old computer, and he discovered it wasn't a whole lot different from sound recording and mixing. He'd first started recording and mixing his own music by using a cassette 4-track recorder while he was still in high school. Back then it was just his vocals and an acoustic guitar. He'd been recording demos for the past decade and written a lot of songs and now had a pretty decent grasp on the whole production process including using midi to sync the tempo with loops and midi instruments. He only had a simple keyboard, which he used for adding orchestration, as well as drum sequencing. He performed for a while but never had a CD that he felt was worth promoting. He also never really had a band that he played with live. He jammed with a few acquaintances over the years but no one was as serious about their music as he was and most of the time the 'jams' consisted of him playing for them, instead of with them.
He did have a web-site for the past several years though. He'd made a few singles available for download through that site but only tracked 74 downloads for the entire year, 17 of which were him.
He had recently become an active member in some web programming communities on the internet. Philip was a frequent message board poster, asking and answering questions about the programming languages he knew and about server, database and scripting setup, debugging and maintenance. He also chatted in some chat rooms occasionally. The technology that interested Philip the most right now though, was artificial intelligence.
Philip had been looking into AIML (Artificial Intelligence Markup Language) over the past several years. It was similar in structure to HTML, which is what basic web pages were programmed with, using tag sets to define the input which was matched with the output response. AIML was actually more of an XML definition, than it was a language like HTML. The tags in AIML contained a set of responses under category trees of keywords, phrases or questions. A basic 'Hello World' entry looks like this:
<category>
<pattern>HELLO *</pattern>
<template><srai>HELLO WORLD</srai> <sr/>
</template>
</category>
Basically, when someone says, "Hello" or any word(s) following "Hello", the response will be "Hello World", in the previous example.
AIML appeared, at first glance, to have limited scripting capabilities. However, when combined with other languages, it was quite powerful. The ability to use HTML and Javascript, in a template response, is simply demonstrated below.
<category>
<pattern>* YOUR WEBSITE</pattern>
<template>
It is at spektrumcreations.com<BR/>
<a style = "color : #4d85d4; text-decoration : none;" href = "javascript:window.open(
'http://www.spektrumcreations.com', 'width = 800, height = 600, toobars = no, menubar = no, location = no, scrollbars = yes, directories = no, status = yes')">Visit my website! </a>
</template>
</category>
Modified Source from : http://www.alicebot.org/documentation/aiml-primer.html
There were two schools of thought regarding AIML: the reductionists and the experimentalists. The reductionists believed that the magic of AIML was in its simplicity and fought against the over-complication of the tag set. Experimentalists, however, saw AIML as a springboard for the creation of a great and powerful language, used in combination with other languages.
The contemporary AIML bot was primarily a chat bot. There were many of these bots. Some of these AIML bots could be used to chat in instant messenger settings, while others were programmed to chat through website interfaces. Still others were designed to respond to message board posts, however unintelligently as they might seem. You've probably seen them in some form. Perhaps not but anyway...
CodeBase
Start from the beginning
