AI Zone Admin Forum Add your forum

NEWS: Chatbots.org 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?
 
 

> http://www.chatbots.org/ai_zone/viewthread/840/

Uchiha has got me thinking about whether or not AIML chatbots could read MM mindmaps, and if so whether or not it would be useful….  So, how are concepts handled in AIML?  I know there have been various attempts to connect AIML chatbots with WordNet, for instance.  How is this done, and is it really useful??  The whole issue of concepts ultimately relates to the semantic web technologies and their integration with AIML, which I know people are working on at the moment….

 

 
  [ # 1 ]

> http://www.aihub.org/pdf/04338340.pdf

Sub-Symbolic Semantic Layer in Cyc for Intuitive Chat-Bots (2007)

“ALICE-based chat-bots have been provided with advanced reasoning capabilities through the linking of the AIML interpreter with the OpenCyc commonsense ontology.”

= = =

> http://www.daxtron.com/pdf/CYN_Description.pdf

Living in cyn: mating aiml and cyc together with program n (2004)

“Daxtron Labs’ experiments on linking the Artificial Intelligence Markup Language (AIML) interpreter called Program N (by Gary Debuque) to OpenCyc (a freeware version of the Cyc program created by Cycorp).”

 

 
  [ # 2 ]

There’s no direct way to handle concepts with AIML, I’m afraid. The closest thing to it is the use of topics, but that’s a weak (though mostly under-utilized) analog. The problem with this is two fold:

1.) First, AIML itself doesn’t have the necessary support structure to handle concepts “out of the box”, though the possibility of using custom tags may improve things somewhat.

2.) AIML interpreters (e.g. Program D, Program O, etc.) for the most part don’t have the functionality at this time to handle concepts, though some interpreters (Program O version 1, for example) do have a limited ability to handle custom tags, but even then, one would need to write the functions needed to work with these new custom tags, which is a bit more of a challenge than the average AIML botmaster can overcome.

As to how useful it is, that depends on the intended goal, not to mention the skill level and imagination of the person or team that’s working on the idea, along with a few other things.

 

 
  [ # 3 ]

> http://programw.sourceforge.net/

“Program W is an AIML interpreter written in Java.  It extends Program D technology with new AIML tags that allow chatbots to query the WordNet lexical dictionary.  Chatbots can use information about lexical terms and evaluate existing relations between words.”

Apparently the creator of ProgramW (above), Alessandro Caronia, co-wrote a 2009 paper about it, “A semantic layer on semi-structured data sources for intuitive chatbots”; but, I can’t seem to find a copy available online.

I did find a copy of a 2012 paper by Caronia’s colleagues, Giovanni Pilato etc., “A Modular System Oriented to the Design of Versatile Knowledge Bases for Chatbots” http://bit.ly/LxCBvP , which mentions AIML quite a bit.

Thanks for the helpful reply Dave!

 

 
  [ # 4 ]

And thanks to you, Marcus, for the link and info about Program W. This is the first time I’ve heard of the project, and I’m rather keen to check into it. smile

 

 
  [ # 5 ]

> http://www.meta-guide.com/home/bibliography/google-scholar/aiml-opencyc

AIML & OpenCyc

> http://www.meta-guide.com/home/bibliography/google-scholar/aiml-wordnet

AIML & WordNet

> http://www.meta-guide.com/home/bibliography/google-scholar/aiml-ontologies

AIML & Ontologies

= = =

Basically, OpenCyc is an ontology.  WordNet can serve as an ontology.  Mindmaps are also a form of ontology. 

So, AIML should be able to use mindmaps in a similar way to OpenCyc and WordNet….

Let’s ask the question in another way…. 

How could MM mindmaps be made from AIML KBs, or rather how can we mindmap AIML ??

 

 
  [ # 6 ]

> http://en.wikipedia.org/wiki/XSLT

AIML is an XML variant, a markup language.

The mindmap MM file format is also an XML variant, another markup language.

We know that XSLT is a good way to transform virtually any XML variant into another.

Hmmm ...

 

 
  [ # 7 ]

> http://en.wikipedia.org/wiki/FreeMind

FreeMind is a free mind mapping application written in Java.

> http://freemind.sourceforge.net/wiki/index.php/Export_using_XSLT

There is a function that allows exporting of FreeMind mind map using any XSLT—a transformation stylesheet. Several transformation stylesheets come as part of FreeMind distribution, located in the “accessories” subfolder.

> mm2opml.xsl – to OMPL

> opml2mm.xsl – from OPML

= = =

This is a little progress.  Freemind at least allows exporting via XSLT, and comes with an XSL stylesheet for converting to OPML.  There is also a stylesheet for converting from OPML to mindmap.  I’m not sure if Freemind also imports via XSLT.  And, it would take some testing to find out if there was any loss of detail going either way.

What this means is that if AIML could be converted into or out of OPML in any meaningful way, without too much loss of detail or functionality, then there would be an avenue for going back and forth between AIML and mindmap.

Presumably, by designing better XSL stylesheets then the OPML step could be eliminated altogether, allowing transformation directly from MM to AIML and back, but will require some concentrated, if not painstaking work to accomplish. 

Basically, if we can figure out the correct XSL stylesheet configurations, then we could get AIML to talk to mindmaps and vice versa, theoretically at least!

;^)

 

 
  [ # 8 ]

I’ve got FreeMind, and while I haven’t quite got the hang of it yet, I’m finding it rather fun to play with. I’m currently trying to “update” the XML schema file for AIML, as part of the Program O project (and to include the new tags for CallMom), and that’s forcing me to learn more about XML, so maybe when I get that part completed, I’ll look into learning XLST, and take a shot at creating one for AIML to MM, but I’m making no promises at this point. smile

One challenge to consider, though, is that many (if not all) AIML interpreters store the AIML categories either in memory (Program D, Program W), or a database (Program O, at least), and I know of NO interpreters that use AIML categories “on the fly”, and I think that there may be memory/storage issues if an ontology is converted to AIML and added to a chatbot’s often already large ‘brain’. Might be fun to try, though. smile

 

 
  [ # 9 ]

> http://www.quora.com/XSLT/Is-there-any-high-performance-XSLT-web-service-available-for-realtime-schema-translation

Is there any high performance XSLT web service available for realtime schema translation?

I’m particularly interested in going from XML sitemap <=> MM mindmap <=> AIML (Artificial Intelligence Markup Language), in other words translating website sitemaps into mindmaps then making them ontologically available to dialog systems.

 

 
  [ # 10 ]

> http://twitter.com/mendicot/status/207528165864775680

Testing new webpage2mindmap summarizer .. Web Summarizer http://websummarizer.com for http://twitter.com/Summarizer .. creator of http://twitter.com/WikiSummarizer .. ‪#mindmap‬

 

 
  [ # 11 ]
Dave Morton - May 29, 2012:

... I know of NO interpreters that use AIML categories “on the fly”...

ProgramQ, written in C++ and Qt, seems to do this.

http://sourceforge.net/projects/qaiml/

 

 
  [ # 12 ]

Marcus, I’m not sure where you are going with this, but you might also want to look at VUE: this is a context mapping application that is build around semantic web technology, has support for ontologies, etc.

http://vue.tufts.edu/

 

 
  [ # 13 ]

Hi Hans Peter,

Good one, I didn’t know about VUE.  I’m not sure where this will lead either, but somehow it seems related to integrating semantic web technologies with AIML….

I think that this is about hybrid visual and automated solutions.  Maybe it’s about bypassing semantic web technologies and discovering another way…. 

I don’t know of good tools for either visualizing AIML KBs or visually editing AIML KBs.  I don’t know of good tools for visualizing the automated processes in realtime. 

There is a lot of human effort going into making things like mindmaps, as well as tools like VUE.  Beyond that there is an immense store of website structures in the form of sitemaps, which also represent a kind of ontology. 

The idea would seem to be, how could AIML dialog systems access and leverage this immense trove of relations, in mindmaps and sitemaps?  (Relations not even coded into RDF yet….) 

So, the questions seem to be how could AIML read MM mindmaps, and how could MM mindmaps read XML sitemaps??

Ultimately, will we really need RDF, yet another markup language, but containing additional ontological metadata coded into microformats?

Maybe you can tell me?  ;^)

 

 
  [ # 14 ]

Marcus, maybe this document can give you some insights: http://www.w3.org/DesignIssues/Logic.html

 

 
  [ # 15 ]

> http://www.meta-guide.com/home/bibliography/google-scholar/ontology-alignment-dialog-systems

Ontology Alignment & Dialog Systems

= = =

“Ontology alignment, or ontology matching, is the process of determining correspondences between concepts.”  (On Wikipedia, “ontology mapping” defaults to “semantic integration”.)

“The problem of Ontology Alignment has been tackled recently by trying to compute matching first and mapping (based on the matching) in an automatic fashion.  Systems like DSSim, X-SOM or COMA++ obtained at the moment very high precision and recall.”

http://en.wikipedia.org/wiki/DSSim
http://kid.dei.polimi.it/index.php/X-SOM
http://dbs.uni-leipzig.de/Research/coma.html

Looking at these systems, the first thing that strikes me is how similar they are to XSLT systems….

 

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