AI Zone Admin Forum Add your forum

NEWS: survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

How are concepts handled in AIML?
  [ # 16 ]

In my initial attempts using XSLT to map XML sitemaps to MM mindmaps (before even trying to map MM mindmaps to AIML), I hit a few of snags…. 

1) It’s not clear to me how to translate the directory structure of the URLs in XML sitemaps into the tree structure of MM mindmaps, like one on top of another connected to the following and multiples within. 

2) Ideally, a really good sitemap2mindmap translation would also map all internal linkages, which would involve spidering the website then merging all those connections as above.

3) Further, webpage titles are not necessarily included in XML sitemaps; therefore, spidering would also be necessary to extract page titles to include in a better mindmap.

A straight translation from XML sitemap to MM mindmap would probably be inadequate, and so require spidering the whole website beforehand.

Certainly, mapping MM mindmaps to AIML would not be less complex, especially to achieve a minimum of loss of detail.


  [ # 17 ]


‏@topicscape: @mendicot Don’t know of any way. Prob is, MM mindmaps r tree-based hierarchies, & sitemaps allow connections from any location to any other


‏@roygrubb: @mendicot We experimented with importing web sites into Topicscape automatically, and found challenges in dealing with duplication properly


@roygrubb: @mendicot We talked to others who had tried and failed, so we gave up eventually.


  [ # 18 ]


OPML (Outline Processor Markup Language)

= = =

Out driving around in traffic today, a little piece more of this puzzle came to me….

OPML is *Outline* Processor Markup Language.  An XML sitemap is an *outline* of a website.  And, a MM mindmap is generally an *outline* of ideas.  Okay, I’m giving up on the notion of mindmapping internal recursive linkages in within websites; since, apparently MM mindmaps can’t handle recursive linkages - because they are just *outlines*....  I now suspect that using regex one could parse the directory structures in most XML sitemaps, which would result in a type of *outline*.  Then one would just have to grab the page titles to make it more useful and esthetic.

Next step, are there any tools available for visualizing AIML KBs as *tree* structures?  There must be; I just can’t think of any offhand.


  [ # 19 ]


an ontology formally represents knowledge as a set of concepts within a domain, and the relationships


a list arranged to show hierarchical relationships, and is a type of tree structure

= = =

Can you tell me what the real difference is between an ontology and an outline ?


  [ # 20 ]


WebSummarizer rich visual presentation of interactive summaries

= = =

A little more progress each day….

I’m now consulting with Henry Lewkowicz (@Summarizer), creator of WikiSummarizer and the new WebSummarizer (above), an expert in the conversion of mindmaps.  He apparently believes that sitemap2mindmap can be done, with his proprietary processes.  However, since he is not familiar with AIML, mindmap2aiml remains to be seen.  So again, what tools are available for visualizing AIML KBs as *tree* structures or *outlines* ?


  [ # 21 ]


AIML Graphmaster

= = =

Graphmaster forms the core of the Alicebot engine.

The most important element is the graphmaster which implements the search algorithm that allows the bot to match the user input and construct an appropriate response.

ALICE loads all AIML into a graph metaphor known as a Graphmaster.

AIML categories are stored in a semantic tree named Graphmaster.

The knowledge based in AIML is stored using a mechanism called Graphmaster.

AIML software stores all of the categories in a tree managed by an object called the Graphmaster.

AIML software stores the patterns in a tree structure managed by an object called the Graphmaster, implementing a pattern storage and matching algorithm.

The Graphmaster consists of collection of nodes called Nodemappers.

Graphmaster is a set of files and directories, which has a set of nodes called Nodemappers.

The Graphmaster has a collection of nodes called Nodemapper. Pictorially it is a hierarchy of Nodes, each being either a root, a leaf, or both.

The stimulus-response categories are stored in a tree structure, managed by an object called Graphmaster, implementing a pattern storage and matching algorithm.

This behaviour can be described in terms of the class Graphmaster which has a set of nodes called Nodemappers_ that map branches from each node_ and branches represents the first words of all patterns and for wildcards.

Graphmaster matching is a special case of backtracking, depth-first search. In most cases matching is handled by a linear traversal of the graph from the root to a terminal node.


  [ # 22 ]

BTW, I was recently given a demonstration of machine translation technology.  WordNet concepts were represented as numbers, like GUIDs (Globally Unique IDentifier).  And, the concepts from over a dozen languages were simply mapped not only between languages but also within a given language via these universal number codes….


  [ # 23 ]


XML Variants: Bookmarks | Sitemap | OPML | Mindmap | AIML





= = =

I have yet to find a real specification for the MM file format.  Presumably, the MM file format stands for “MindManager”; however, the MM format used by Freemind does not seem to be identical with the current MindManger file format.  I have found an XSL stylesheet (above) that transforms from MindManager into Freemind format.  Apparently the real MindManager format involves some kind of ZIP archive nesting containing both XML and binary data.  I have made a webpage (above) trying to visually compare these XML Variants.


  [ # 24 ]

If AIML is a knowledgebase, then the data would be stored in the templates, not the patterns.  that fact is emphasized with srai mapping to common templates (sometimes abusing the category’s pattern to do so).  Therefore Graphmaster is not going to help much in a mind map unless you can validate that the pattern is a classification of the template.  there has been talk before of adding something to the category tag so that the organization you’re seeking is possible.  AIML does more than store text to be dumped as knowledge (try the random tag.)

It has been a common practice to put category sets around central concepts or topics in separate files.  Those files could be arrange by an ontology maybe.


  [ # 25 ]


AIML Templates


AIML Categories


AIML & SRAI (Symbolic Reduction)


AIML Random Tag

= = =

Gary, thanks for your feedback!  I don’t have the depth of understanding of the finer points of AIML that you do.  I neglected to note that all the sentences in my Graphmaster reply were extracted from the linked Google Scholar page.

I wonder if the “knowledge” doesn’t exist in the *relation* of the pattern to the template, in other words inside the category.  So in terms of classification, the patterns could be seen as a reverse tree (roots) of the templates?

The “symbolic reduction” of the SRAI tag would seem to provide at least a partial answer to my original question about how concepts are handled in AIML.  Can we say that SRAI functions or defacto SRAI structures form a kind of ontology, or ontologization?  And conceptually, how does the randomization fit in the bigger picture?  Doesn’t randomization just expand the tree “roots”?  It has been noted to provide more “humanness”. 


  [ # 26 ]


PORDL .. ‪#XSLT‬ web feed transformer, ‪#XSL‬ to HTML .. by ‘web programmer guy’ @smailliwnosaj


Nested List SiteMap from a Flat XML File


Nested List SiteMap XSL stylesheet

= = =

It seems ‘web programmer guy’ Jason Williams has not only provided at least a partial solution for how to parse an XML sitemap into an outline something like OPML, but also a web service for at least partial schema translation, at .  I haven’t been able to find anything else even close, and some experts said it couldn’t be done.

Just to put this in context, the basic idea is for AIML chatbots to not only “read” mindmaps, but also sitemaps in order to potentially discover conceptual relations, and further “understanding”.  Whether this will eventually prove possible or practical is anyone’s guess.  Theoretically, it would seem to provide a potential alternative to conventional web semantics.


  [ # 27 ]

The random tag spoils your mapping because it is a weak link between the possible “data” and the key, that is, the pattern.

SRAI is the linking, like maybe in a mind map, done in the template, not the pattern.

While mind maps may represent an ontology, an ontology cannot represent some mind maps.  At most an ontology is a special form of a mind map.

The indexing system for AIML, called Graphmaster, is a special form of graph augmented with some processing of wildcards.  This special graph would be very boring as a mind map.  Computerizing mind maps has somewhat destroyed the art of making mind maps.  Mind maps have the purpose of depicting thoughts with images and links.  Actually the more of the five senses employed in a mind map, the better representation it is.

AIMLpad, Program N, combined with Cyc to make CyN.  Here’s how:

Other chatbot languages use a grouping function to represent synonyms or “concepts”.  AIML can isolate the corresponding input words with wildcard matches.  This does not leave classic AIML with a way to match the wildcard, the star, with a list of synonyms or an inherited meaning as might be found in an ontology, because the Graphmaster search is done when the star values can be accessed.  So Kino Coursey, the guy who created CyN, made a new tag called <guard>.  He put it in the start of a template, but really it could have been anywhere in the category.  He also allowed categories with duplicate patterns in the AIML set.  So when a pattern matched, the guard tag’s contents, which happens to be a condition, are processed.  If the condition is found to be true, the category is matched, thus stopping the search.  If the guard is not satisfied, the Graphmaster searching continues, maybe trying a duplicate pattern, or maybe backtracking as it normally would.  With the guard’s conditions checking to see if a star is in a list, or in Cyn’s case, is in Cyc as expected (Cyc can even reason about the inputs), the pattern matching is expanded from just the input symbols into also their representation in the ontology. I programmed the guard’s conditional checks to go against WordNet too.


  [ # 28 ]

Topic Maps are similar to concept maps and mind maps in many respects, though only Topic Maps are standardized. Topic Maps are a form of semantic web technology, and some work has been undertaken on interoperability between the W3C’s RDF/OWL/SPARQL family of semantic web standards and the ISO’s family of Topic Maps standards.


  [ # 29 ]

>>Maiana is the most efficient service to host, explore and share Topic Maps sources.<<

>>The API is awaiting your calls at and is able to process a JSON object.<<

>>Onotoa is an Eclipse-based ontology editor for Topic Maps.<<


  [ # 30 ]

So far, I haven’t found any converter from mindmap into topicmap.  Topicmap sounds like a great idea, but actually the number of users of topicmaps is miniscule compared with mindmaps.  Theoretically, topicmaps seem to be more compatible with ontologies than mindmaps.

Okay, maybe it’s not necessary to mindmap the AIML itself; that was just one way to try to conceptually reverse engineer the process.  All that would be necessary would be to auto-convert mindmaps into AIML.  So, the recursive “symbolic reduction” of the SRAI tag could be key here?

From what I’ve heard, it seems Richard Wallace will be adding some new tags to AIML in order to better accommodate web semantics.


 < 1 2 3 > 
2 of 3
  login or register to react