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..

Mindmapping Knowledgebases


What are some useful tools for visualizing knowledgebases?  For instance, are there any visual editors for AIML (or ChatScript)?

Mindmapping seems to be a useful way to visualize tree structures.  It would be great to have a conversion tool for AIML into Freemind, or Freeplane, format.  Freemind format is basically another XML variant, so XSLT could be used for conversion.


I’ve recently tried converting my Meta Guide website sitemap into mindmap format, and was surprised to find no easy import tool available for converting sitemaps into mindmaps.  I can see no real difference between visual sitemaps and mindmaps, just basic tree structures.


  [ # 1 ]

Thanks for the info, Marcus! I’ve added those links to my “big list of stuff to check out”.

I’ve never seen any tools for visualizing AIML, but I think that would be a VERY useful tool. smile I’ve got FreeMind on my computer already, so I’ll certainly look into using it to visualize Morti’s responses, and see how that works. It’s going to have to wait till after the conference, though. WAY too many irons in the fire right now. raspberry


  [ # 2 ]


What would be really grand is a convenient way to *visualize* the knowledgebase, and both visually edit and speech edit, in other words visually explore the knowledgebase and then input answers or replies using speech-to-text….


  [ # 3 ]


Meta Guide webpage aggregating conversation around converting sitemaps into outlines, visual mindmaps & ontology trees


  [ # 4 ]


As of today, I have successfully converted from Sitemap to Mindmap, via Bookmarks.


Sitemap => Yahoo! Pipes => Spreadsheet => IE => Freeplane

= = =

And, they said it couldn’t be done….  ;^)


  [ # 5 ]

Next step….  So then I googled “aiml”+“csv”+conversion, haha.


Kino Coursey’s work with CyN came up first.


But second was Dave Morton’s work!  ;^)

Image Attachments

  [ # 6 ]

Wow! That’s cool! cheese

Thanks, Marcus! smile


  [ # 7 ]

According to the immense artificial intelligence behind Google, Dave Morton should be the number two expert in the world on AIML-CSV conversion….  ;^)

We know that AIML contains recursive linkages, as do websites; therefore, hierarchical outlines, such as mindmaps, can be but imperfect reflections.

However, it is still possible to represent many if not most websites as hierarchical outlines, or mindmaps.

Is it then still possible, or reasonable, to attempt to represent AIML in hierarchical outlines, or mindmaps?

Dave, is there any software utility or web service available for the convenient conversion of AIML into or out of CSV??

And, what is the relationship of spreadsheets to relational databases, such as MySQL?


Would relational databases be better than spreadsheets for automating this kind of conversion?

Can we, or should we, attempt to represent AIML knowledgebases visually in the form of mindmaps??

I happen to think that such a visual AIML editor, even a collaborative, online visual editor (such as Mindmeister for mindmaps) could be beneficial….


  [ # 8 ]

For example, here is a hierarchical view of an AIML file using the XPath HTML5 parser in Yahoo! Pipes….

Image Attachments

  [ # 9 ]

So, what would a chatbot look like that derived knowledge from sitemaps and/or mindmaps?

The idea would be to produce natural language replies using the ontological “knowledge” represented in the sitemaps/mindmaps.  It could be tested using 1, 10, and 100 sitemaps/mindmaps.  If using 100 didn’t produce gobbledegook, then it could be tried using 1,000 etc sitemaps/mindmaps.

The issue with using sitemaps in this unconventional way is the nesting.  It should be noted that not all websites are based on directory structures; some, larger websites are data-based (based on databases).  Once sitemaps are nested, based on directory structure, then they can be made available as hierarchical outlines (trees), to mindmaps for instance.

Mindmaps have been primarily a GUI for human use.  Making mindmaps available to machines would involve resolving and aligning the nesting issues both of mindmaps and AIML.  Mindmaps and AIML are both XML variants, but unconventional XML variants, due to peculiar nested relations.  It should be noted that due to the recursion in both websites and AIML that machine written, automated AIML would necessarily be inferior to human, hand written AIML.

Probably, such an experimental chatbot would require a partial “stock” or base personality, and be able to make “inferences” or interpretations based on the ontological “knowledge” represented in the sitemaps/mindmaps.  I can imagine starting with agricultural sitemaps/mindmaps, and querying the chatbot about milk for instance.


  [ # 10 ]


At the beginning of this year we took part in a DARPA challenge which involved using algorithms to re-assemble shredded documents. I’m thinking that the editor could be modified, or at least parts of the technology could be used to do what your looking for (as I understand it) Basically the application took sheets of chads, and separated them creating an xml database of image information which was then imported onto a grid which allowed you to move them around and create relationships between other chads.  Once a solution was reached, either manually or algorithmically, the ‘map’ was exported as xml.



  [ # 11 ]

Vince, first I’ve heard of the “Shredder Challenge”.

I spent a great deal of time looking at all kinds of web feeds (RSS), and trying to figure out how to use only the information contained in the feeds themselves (not any underlying documents) to build a knowledgebase for a conversational agent.  This inquiry eventually delivered me to Twitter, which itself is a sort of “brain” composed of a spaghetti of feeds.

The real problem I found with tweets was that they require “text normalization” in order to process in any conventional way; and, there is no commercial text normalization API available yet.  (BTW, Twitter is now in the process of locking down their API, and eliminating all outgoing feeds by March 2013.)  My experience with web feeds lead me to sitemaps and mindmaps, which can be broken down and processed in feed-like structures.

My understanding is that pattern recognition in text involves classification.  There has been a lot of work done on the classification of tweets.  In this forum, Hans Peter Willems has recommended RapidMiner to me; I haven’t gotten very far with it yet, mainly due to the lack of specific quickstart tutorials.


I’ve also looked into classification APIs.


One of my disadvantages is that I don’t have much database experience, though have also looked into XML databases.


It’s not really clear to me just what the differences are between XML databases and Graph databases; but since trees are graphs, I wonder if graph databases might not be better?


Of course, graph databases then open the Pandora’s box of Semantic Web technologies, and the mind boggles….


  [ # 12 ]

BTW, Twitter is now in the process of locking down their API, and eliminating all outgoing feeds by March 2013

oh crap. So the twitter feeds wont be available anymore soon.  Perhaps they will still offer a for-pay feed?  There must be many companies by now relying on the analysis of those tweets.


  [ # 13 ]

Jan, the API will still work of course, but only under rigorous OAuth conditions; it’s all the traditional web feeds that are being eliminated.  And, it looks like in future you will be required to buy Twitter data from authorized resellers, like @DataSift and @Gnip. 




  [ # 14 ]


In terms of “Classification Algorithms In Dialog Systems”, I have taken actual measurements of “popularity” by juxtaposing the Wikipedia Category taxonomy against the past ten years of Google Scholar; so, you should be able to see from the above link which classification algorithms are most popular in dialog systems.


See also the resulting “Best Dialog System Classifiers”, above link.


  [ # 15 ]

I was able to throw something together fairly quickly that dynamically showed a visualization of my bot’s class/instance knowledge tree using Google Graphs. In particular the ‘org chart’ they have here:

This is how it shows all of my (very very young) chatbot’s knowledge on drinks for example: (classes are bold, specific instances of classes aren’t).


 1 2 > 
1 of 2
  login or register to react