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

AIML converted to ChatScript?
 
 
  [ # 31 ]
Marcus Endicott - May 10, 2014:

I look forward to an open source tool for the conversion of AIML into ChatScript (and vice versa?).

I have very little personal interest in converting CS to AIML.  I’m doing the AIML-> CS work anyway so figured I would open source it.  The converter is a quick and dirty perl script as it’s not the prime focus of my project and perl is awesome for string hacking. There are a lot of responses written in AIML, would be nice to be able to tap that large body of work as a departure for a CS bot and I like sharing.

I do admit to having honestly earned a deep and abiding hatred of XML, so that may be part of it… wink 

That said, if someone wants to contribute a CS -> AIML converter to the chat brains project on github I wouldn’t be opposed.  smile  I’m all for enabling other people to do whatever they want!

 

 
  [ # 32 ]

Good luck writing a CS -> AIML converter.

 

 
  [ # 33 ]
Marcus Endicott - May 10, 2014:

AMIL converted to ChatScript?

(Dave, is it really necessary for the title of this topic to remain with a the misspelled “AMIL”? ;^))

Your wish is my command (title now amended).

 

 
  [ # 34 ]
Todd Kuebler - May 9, 2014:
Bruce Wilcox - May 9, 2014:

if you want to create an arbitrary number of topics that can be triggered by keyword, you could define the topics with a fake keyword like topic: ~myaiml1 (aimlkey) 
and then in your control script near the top add in
  ^mark(aimlkey)

Perfect!  Thanks.  smile

‘-’ characters in topic names mess this up.  Took me a bit to figure that out.  working now. smile

 

 
  [ # 35 ]

- characters are legal in topic names…. can you give me an example of your problem?

 

 
  [ # 36 ]
Bruce Wilcox - May 13, 2014:

- characters are legal in topic names…. can you give me an example of your problem?

simplecontrol.top:

u: () # main per-sentence processing

 
^mark(aimlkey)
 
 $
$currenttopic = %topic  # get the current topic at start of volley

 
if ( %response == {nofail(TOPIC ^rejoinder())# try for rejoinders. might generate an answer directly from what we are looking for. 

not working test.top

topic: ~test-aiml (aimlkey
 
#! Marco
u: ( Marco ) ^keep() ^repeat() polo

working test.top

topic: ~testaiml (aimlkey

#! Marco
u: ( Marco ) ^keep() ^repeat() polo
 

 
  [ # 37 ]

OK. Yes, code changed and the - did not become legal (used for duplicate topics). Fixing….
But that has nothing to do with rejoinder issues. What are they?

 

 
  [ # 38 ]

This question is for the AIML experts I guess.  Does AIML mark stuff as used like chat script does?  i.e. - when I translate an aiml response into a u: do I need to set repeat() on the topic it’s in to emulate the basic aiml behavior?

 

 
  [ # 39 ]

default aiml repeats itself endlessly (auto keep and repeat).

 

 
  [ # 40 ]

If you’re trying to exactly replicate AIML with ChatScript, you’re going to be using keep() and/or repeat() on just about everything you convert; especially SRAI categories. AIML itself has no provisions for discarding used responses (mainly because AIML files themselves are simple database structures), and the same can be said for every single AIML interpreter I’ve ever come across.

 

 
  [ # 41 ]
Dave Morton - May 21, 2014:

If you’re trying to exactly replicate AIML with ChatScript..

I’m of two minds on this - on one hand people expect an AIML file to have a certain behavior and so I want to emulate it as much as possible.  On the other hand more is possible with ChatScript.

I’ve kind of settled on the first.  I’m thinking if I convert Alice and she doesn’t act like Alice it is a problem.  Also I think departure from the AIML behavior probably requires human intent to decide.  I figure people will convert the AIML, then massage it to more chat script like behavior over time.

 

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