Did anyone here considered using scripting langugaes such as AIML/Chatscript/SuperScript to build their chatbot?

If so, how did it went? Why did you choose it? And if not, also why :slight_smile:

thanks everyone

2 Likes

Thought about using AIML, but found it a bit labour intensive + I feel like pattern matching can only get you so far.

what did you end up choosing? :slight_smile:

Ended up using Nodejs/C# (done both) and just using an NLP engine like LUIS/API.ai to classify the user’s intent and understand what they are saying.

Definitely open to learning about more ways that people are training their bot though!

1 Like

WI did my research and decided to go with NodeJs as it very popular and easy to get along with. I strongly recommend :wink:

1 Like

I second this! NodeJS has TONS of modules for bots, it’s proving to be the most popular way to make bots from what I have seen so far :slight_smile:

I use AIML to create my bot and have won multiple awards including the Loebner Prize twice for the world’s most human-like conversational AI. I have yet to come across any limits from using it

It is capable of far more than pattern matching and I can’t see any current technology that can touch AIML.

2 Likes

How are you parsing the AIML? What language did you build it in?

and how do you handle the NLP part? some node.js library? :slight_smile:

AIML is the language. I don’t parse the input as in break it down into POS or use any formal NLP.

I am a firm believer that when someone says something like “John ate a pizza”, the human brain deals with it as one unit rather than trying to break it down into nouns, verbs and other POS. If you do that, what do you then do with all the different parts of the sentence to get an accurate reply? You still need common sense reasoning behind it.

I allow the bot to take the input and then form its own responses based on that. So instead of

Human: John ate a pizza. What did he eat?
Bot: No idea but there are 2 nouns in there

I get

Human: John ate a pizza. What did he eat?
Bot: He ate a pizza.

The bot can recognise that a (most likely) male person “John” ate/eats a food item “pizza” and automatically forms suitable responses for things like

WHO ATE A PIZZA
DID JOHN EAT A PIZZA
WHAT DID JOHN EAT

and so on…

1 Like

Very interesting! I didn’t know that you literally did everything directly in AIML. I thought it was markup that was parsed in some other language. So how did you build the bot? Is it special server based software? How are you hosting it?

Forgive me if these are silly questions… I have honestly never used AIML or really heard about it till very recently. Not sure how it all works, even after visiting the website.

Just came across this AIML tutorial. No idea on quality of it but it looks like a nice intro

https://www.tutorialspoint.com/aiml/index.htm

1 Like

Mitsuku (and ~300,000 other AIML-based chatbots) are hosted with Pandorabots, and make use of our proprietary AIML interpreter as-a-Service. Our proprietary interpreter performs better than the numerous open source alternatives, including what we have open sourced (e.g., Program AB), but you can definitely use / fork these, or write your own interpreter.

Our free sandbox environment supports AIML 2.0 and includes an extensive AIML 2.0 tutorial. The AIML reference may also be helpful.

Despite the recent explosion of activity in the space, I believe AIML is still the most widely used language in the world for creating chatbots. We have historically supported and promoted its development because it can be written in any natural language, is flexible and extensible (via third party APIs or other AIML 2.0 chatbots), is an open system (not a black box => usable by brands who need to approve every output), and because it’s easy for non programmers to learn. It is in use at Fortune 500s (some our customers; some working independently), and has been implemented in other platforms (some startups; some major tech companies) or applications (often under the hood and not credited as such). There are also a number of open source AIML libraries (ALICE, Rosie) designed to handle chitchat so you don’t have to and can focus on creating content relevant to your domain.

Chatscript is also awesome but a much steeper learning curve if you don’t have a programming background. (In our experience, it’s important for the language to be accessible to literary-minded people, who often craft more compelling conversational content.) Also, nobody has built a web-based IDE for Chatscript (but doing so is an ambition of mine and on our roadmap for 2017). Rivescript is essentially a more limited fork of AIML that cures some of the headache for those who hate XML. (JSON-based alternatives would be nice but JSON is a data format, not a language like XML.) Superscript is relatively new and is as if Chatscript and Rivescript had a baby. You can read more on all these options at the chatbots.org forums to figure out what’s best for you / your project.

Building a rule-based system is human-labor intensive and difficult to scale without regular care and feeding. However, when I look at the most conversationally capable and popular chatbots today from non GAFAM companies, it seems that they are primarily scripted systems, rather than ML-based. Any examples to the contrary, please post them here!

3 Likes

Fantastic break down! And answered all my questions :smile: Thanks so much @laurenkunze.

1 Like