|
Posted: Nov 18, 2012 |
[ # 16 ]
|
|
Administrator
Total posts: 3111
Joined: Jun 14, 2010
|
Hey, Marcus; aren’t Mind maps a type of XML? If so, perhaps an XSLT (Extensible Stylesheet Language Transformations) file and a simple transform script to do some direct mapping from one to another may be what you need. If you like, I can do some research on this, to see how it might be accomplished, and then report back. but to do so, I’ll need a couple of examples of the Mind maps you want to translate. I know you have my email, so if you want to send me a couple, I’m more than happy to look into it.*
*Note: standard non-disclosure policies will apply.
|
|
|
|
|
Posted: Nov 18, 2012 |
[ # 17 ]
|
|
Senior member
Total posts: 697
Joined: Aug 5, 2010
|
Marcus, I’m not certain what you are trying to do, but if you want to convert xml files to csv, you might want to take a look at my tutorial about queries.
It shows how you can import any xml file with a query and write any type of content to a csv file.
Xml data is imported using an ‘attribute-value’ pair, so that might be a restriction without ‘transforming’ the data. On the other side, you can also import aiml files (not all elements are working properly yet, still a work in progress) into topics (or the raw tree structures if you like), and export this as csv files.
|
|
|
|
|
Posted: Nov 18, 2012 |
[ # 18 ]
|
|
Senior member
Total posts: 498
Joined: Oct 3, 2008
|
> http://downloads.r-i-software.com/downloads/AIML/aiml_editor.zip
Thanks Vincent! I tried your conversion tool. It doesn’t recognize the *.aiml extension, so just had to rename files to *.xml. I then tried saving as *.csv, before I noticed the “export” option. I tried a number of standard *.aiml files from Pandorabots. Some of the files did not import completely (at least upon export), and some seemed to be confused about the “nesting”. I’m not sure its a good idea to spend a lot of time on this, but does seem to be a very good start.
> http://www.meta-guide.com/home/ai-engine/github-aiml
|
|
|
|
|
Posted: Nov 18, 2012 |
[ # 19 ]
|
|
Senior member
Total posts: 498
Joined: Oct 3, 2008
|
Dave, I knew it could be done using XSLT; I was just looking for an easier, and quicker “manual” proof of concept before automating the processes.
> http://www.meta-guide.com/home/ai-engine/xml-variants
I started by examining the XML Variants, above.
> http://www.meta-guide.com/home/ai-engine/mindmap-conversion
Then got deeper into Mindmap Conversion at the above link.
> http://en.wikipedia.org/wiki/Freeplane
Freeplane seems to be more up to date than Freemind. There are lots of mindmap (mm) files available online. I suggest just open a number of those in Freeplane, and then export to code. (I wouldn’t use any of the commercial mindmapping programs, because they tend to contain more proprietary elements than the open source ones.) The “nesting” issue keeps rearing its head. The reason I am focussing on CSV is to better understand how all of the elements relate to one another, to avoid getting lost in nesting “hell”.
To bring this back to the topic at hand, it would be nice to have a *visual* AIML Editor (like mindmaps), and maybe even a collaborative, online editor (perhaps like “DIDO” mentioned up thread). It would also be nice to have an AIML Editor that could import both mindmaps and sitemaps (as well as export CSV).
|
|
|
|
|
Posted: Nov 18, 2012 |
[ # 20 ]
|
|
Senior member
Total posts: 498
Joined: Oct 3, 2008
|
Jan, I’ve posted about this before in a number of other topics here. Think decision trees. I believe that both sitemaps and mindmaps potentially represent another kind of ontological tree that might be made available to AIML, for instance. Mindmapping is a hugely popular GUI for humans. There is a tremendous amount of “knowledge” currently “locked” in mindmaps, and unavailable to machines. Likewise sitemaps are hugely popular machine readable “trees” or outlines; but, their true value is currently unavailable to machines due to the “nesting” issue. (The ontological value is contained in the inaccessible nested *relations*.)
BTW, I always suspected that statistical AI techniques could be combined with pattern matching; so, your new tool sounds fabulous. I’ll have to give it a try.
|
|
|
|
|
Posted: Nov 18, 2012 |
[ # 21 ]
|
|
Senior member
Total posts: 498
Joined: Oct 3, 2008
|
> http://www.meta-guide.com/home/about/best-of-the-best-videos/best-gephi-videos
Gephi seems to be the preferred open source graph visualization option; however, it’s not yet clear to me the best way to import AIML. It seems that AIML would still need to be converted into CSV.
|
|
|
|
|
Posted: Nov 18, 2012 |
[ # 22 ]
|
|
Senior member
Total posts: 498
Joined: Oct 3, 2008
|
> http://www.meta-guide.com/home/about/best-of-the-best-videos/best-treemap-videos
I’ve also been looking at “treemapping”, and found this cool 2009 video on the work of Michael McGuffin, etc.
> http://www.youtube.com/watch?v=nvsIqYQ75yA
Elastic Hierarchies: Combining Treemaps and Node-Link Diagrams
|
|
|
|
|
Posted: Nov 19, 2012 |
[ # 23 ]
|
|
Senior member
Total posts: 370
Joined: Oct 1, 2012
|
Marcus Endicott - Nov 18, 2012: > http://downloads.r-i-software.com/downloads/AIML/aiml_editor.zip
Thanks Vincent! I tried your conversion tool. It doesn’t recognize the *.aiml extension, so just had to rename files to *.xml. I then tried saving as *.csv, before I noticed the “export” option. I tried a number of standard *.aiml files from Pandorabots. Some of the files did not import completely (at least upon export), and some seemed to be confused about the “nesting”. I’m not sure its a good idea to spend a lot of time on this, but does seem to be a very good start.
> http://www.meta-guide.com/home/ai-engine/github-aiml
You know I didnt even think about the .aiml extension but thats something we can fix simply enough. If there are nested tables that would do it, but it wouldnt take much to sort it out. The .net data grid is an extremely sophisticated control and will easily display even the most complicated data relationships so it shouldnt be a problem. What happened was probably due to me binding the (0) index table to the control rather than the entire dataset (I think all I had available might be the AIML config files rather than the actual memory files). We will just need to find the index of the table that relates to the selected cell in the same way that we isolate the row and column number. If youll point me in the direction of a sample .aiml file of the type that caused it to barf (thats a technical term LOL) Ill see If I can beat it into submission. Ill also put the source code in the folder so anyeone that wants to pursue it further can take a whack at it.
VLG
|
|
|
|
|
Posted: Nov 19, 2012 |
[ # 24 ]
|
|
Senior member
Total posts: 498
Joined: Oct 3, 2008
|
Vince, sounds good!
> http://alicebot.wikidot.com/
The “Official Alicebot AIML Wiki” contains lots of AIML sets.
> http://code.google.com/p/aiml-en-us-foundation-alice/
See also the latest “Free A.L.I.C.E. AIML Set”.
|
|
|
|
|
Posted: Nov 19, 2012 |
[ # 25 ]
|
|
Senior member
Total posts: 498
Joined: Oct 3, 2008
|
Interaction Analysis of the ALICE Chatterbot: A Two-Study Investigation of Dialog and Domain Questioning (2010)
http://w.icadl.org/intranet/papers/Schumaker_Interaction-ALICE_IEEE-SMCA_preprint.pdf
>>
The Chat Engine is the core algorithmic component of the system and is comprised of two sub-entities; the Node Mapper and the Graph Master. When the system is initialized, the Node Mapper constructs a memory-resident directed graph of all the AIML patterns. Later, when a user poses a query to the system, the Graph Master will traverse the directed graph to best match the input.
<<
|
|
|
|
|
Posted: Nov 19, 2012 |
[ # 26 ]
|
|
Senior member
Total posts: 498
Joined: Oct 3, 2008
|
> http://sourceforge.net/projects/program-n/files/
A working 2011 version of AIMLpad-1.54 seems to still be available from SourceForge, above.
> http://aiml.harrybailey.com/beta/
There is also Harry Bailey’s “AutoAiml 2.0 - free online Aiml Creator”, above.
= = =
http://alicebot.blogspot.com/2009/01/simple-aiml-editor.html
>>The SAE [Simple AIML Editor] is the latest development in the evolution of spreadsheet-style AIML editors like GaitoBotEditor and the Ai-Dealer AIML Spreadsheet editor.<<
|
|
|
|
|
Posted: Nov 20, 2012 |
[ # 27 ]
|
|
Senior member
Total posts: 498
Joined: Oct 3, 2008
|
> http://stackoverflow.com/questions/7530564/cannot-add-a-nested-relation-or-an-element-column-to-a-table-containing-a-simple
Cannot add a nested relation or an element column to a table containing a SimpleContent column
= = =
It seems that the “nested relations” represented in an AIML (XML) file cannot be converted directly into a spreadsheet.
This seems to be because the sub-elements of the various “trees” would have to have the same column name.
However, such “nested relations”, as represented in an AIML (XML) file, can apparently be represented in a relational database.
This would then require “XML to database mapping”, as well as “database to XML mapping”, bypassing the spreadsheet or CSV.
> http://www.altova.com/mapforce
Apparently, Altova MapForce is capable of this kind of “database mapping” to and from XML (AIML).
= = =
Can anyone check me on this, and confirm or deny all or part??
|
|
|
|
|
Posted: Nov 20, 2012 |
[ # 28 ]
|
|
Senior member
Total posts: 498
Joined: Oct 3, 2008
|
According to Richard Wallace:
>>Yes, that is exactly the problem. AIML is a special case of XML where the data is primarily row-oriented, spreadsheet style data. But one column, the template, contains hierarchical data. Most normal XML editors cannot be made aware of this hybrid structure.<<
|
|
|
|
|
Posted: Nov 20, 2012 |
[ # 29 ]
|
|
Senior member
Total posts: 498
Joined: Oct 3, 2008
|
> http://www.chatbots.org/ai_zone/viewthread/854/#12067
XPath seems to recognize the trees in an AIML file (see screenshot above link).
= = =
If each AIML template were auto-assigned a GUID, could the sub-elements of each template not be keyed to that GUID and uniquely auto-renamed, then be written to a conventional spreadsheet?
|
|
|
|
|