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

Building a CMS for ChatScript on top of Fieldbook app
 
 

ChatScript team,

We hate Pandarobots and are convinced that ChatScript is the future of writing real-life personality bots.

Our challenge is in the delta of writing personality bots vs. programming.

We need a solution for our writers to create content directly into a CMS, organized around the ChatScript syntax.

A comparison product would be similar to something like “Playground” for pandarobots: https://playground.pandorabots.com/en/tutorial/

Assuming the ChatScript syntax could be designed into an Excel-like interface (a big assumption), we found a service that would let us write directly to the programming layer called Fieldbook.com (create a database as easily as a spreadsheet).

A few of questions:
1/ Do you think we could build a CMS for Chatscript using an Excel-like interface?

2/ How would you suggest building a CMS for Chatscript where our writers could create directly into?

3/ What questions should we be asking that we currently are not?

Thanks for looking at this, hoping to hear back!

Chris

 

 
  [ # 1 ]

I’m not quite sure what you intend. But here are existing capabilities of chatscript.
1) CS can be called (as an embedded program) being passed a dynamically synthesized topic. If your writers wrote a chatscript rule and had it compiled into a database line, that could be retrieved as part of the dynamic topic.
2) Chatscript can read a layer (level 2) on a per user basis. This means a variety of chatscript compiled layer2’s could reside in the TOPIC folder (1 per botmaster) and users code could dynamically load it during chat. This means each user of the server could be accessessing different topic information. It would have to be compiled in advance.

Writers writing a specific rule at a time in CS doesn’t make too much sense to me, as opposed to writing a topic at a time or multiple topics, compiled into a private layer2 file (named by developer) for testing. You’d also want them to be able to log into the bot, run it, and get back logs (with trace data) for debugging. But debugging is more a developer thing than a writer thing.

Pandorabots records the entirety of the sentence to create a rule from. This is not the chatscript way. We note down the canonical forms of words and concept sets they belong to. There are functions you can invoke in cs (:common) to find out what sets two words with the same meaning to you exist.  eg :common begin start   would tell you among other things that ~start is the common set.

Creating a system whereby authors with no programming notions in their heads can write chatscript is not something I view as likely. But above is what might support you.

 

 
  [ # 2 ]

The conclusion that we’ve reached on our end is that while it is easy to create a system for writer to textually outline the bot , it would be incredibly hard to automatically convert it into an actual implementation.

I think that your effort would be better used creating a minimal CMS that condense the writers’ input into pseudo-code, and provide a clear, nicely formatted draft document. This in turn can be implemented by your developers. Then your problem become more manageable: finding the optimal properties to be filled by the writers.

In other words, you have two teams (writers, developers) who use two distinct tools (custom CMS, CS) to implement your bot.

 

 
  [ # 3 ]

There’s a discussion thread here a bit similar but for RiveScript
https://github.com/aichaos/rivescript-js/issues/22

I basically did build a spreadsheet like editor for RiveScript, but it quickly gets to be a very uncomfortable way to author a bot. It’s hard to “read the flow” when logic jumps between lines based on replies.
It is good if you have something like a knowledge base, with tons of simple Q&A, but not if you have logic and branching conversations.

I’m sure there must be something out there from the old world of Dialog systems for tele-marketing voicemail systems, but I haven’t found anything easy to hack and extend.

If anyone is interested in collaborating on a better authoring tool for chatbots, please let me know, I’m interested in working on this too ( @dcsan / contact info in profile ). I can share prototypes and design docs.

PS Fieldbook is nice, but you could also look at Airtable, they have a nice form editor. In the end I built something custom using HandsOnTable, which allows more flexibility.

 

 
  [ # 4 ]

Hi David, all

me too I’m looking for the “best” dialog flow script language (as an open-source standard/interchange format).

I feel the point is becoming “hot” topic in 2016, but not just in relation to the language “competition” war: e.g. for-profit (API.ai, WIT.ai, IB Watson, PandoraBots, ect.) vs open source code projects (rivescript, superscript, chatScript!)
BTW, I thanks so much a lot Bruce to have opened this source!

Instead, As developer (but focused on decoupling dialog UX scripting from back-end data-retrieval / actionable-data) I’m specifically intereseted, above all, on a possible winner because a common dialog scripting “interchange format” means above all, a new sort of “Knowledge Sharing” realm, where dialog script .top files could become complex knowledge/expertise containers smile.
In that way, more I study ChatScript (I’m just a beginner), more I think is the more suitable starting point for an evolution. Until now all language features seem to me perfect as balance between expressiviness, conciseness, performances (as far as I know).  Thanks Bruce (again)!

respect
giorgio

 

 
  [ # 5 ]

specifically and precisely, regarding the authoring tool: I like the freedom and power to write a dialog script just in a flat file! This give mind-freedom to developer but also to the dialog writer.
BTW, I’m huge fan of common language in men-machines interfaces:  flat text file format readable by both humans and computers smile no more XML (and neither JSON too smile)
bye

 

 
  login or register to react