AI Zone Admin Forum Add your forum

NEWS: survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

HistoChat Kickstarter Project - Bring History to Life!


To the Bruce Wilcox and the ChatScript community,  I wanted to invite you to check out a new Kickstarter project that will support undergraduate research in AI and help connect students to great leaders of history.  After reviewing the various chatbot platforms, we felt that ChatScript was the best platform for building our agent.  Thank you for building a great platform!

Please know that we appreciate your support. 


Bring History to Life!

Check out Mercer Engineering Research Center’s latest interactive learning project, HistoChat, on Kickstarter ( Help empower students to converse with historical figures and experience learning in an engaging and immersive environment.

Michael Rosario
Twitter: @michaelrosario



  [ # 1 ]

This is an excellent idea! I’ve always thought it would be a great teaching tool to learn history this way. History, as usually taught in classrooms, tend to be very boring and it all boils down to memorizing dates of historical events. It would be wonderful if students can understand the actually lifestyle, culture, and thoughts of a historic period. I imaging a lot of historical knowledge can be delivered to students in the form of gambits.


  [ # 2 ]

History class can be boring if you have a boring teacher.  Fortunately, I had a couple of great ones.

Regarding the demo, personally I can think of a couple of hundred historical figures that would have garnered more interest than Susan B. Anthony.

As for the project, only time will tell if it’s a valid effort, or just a way for a couple of college kids to scam some cash using another Internet scheme. 

But, I operate a chatbot called iEinstein.  It gets occasional visitors who claim they were directed there by a teacher.  As expected, conversations lean toward the adult and the profane.  If there is a “serious” question asked, it’s so complicated, or so obscure, that no bot would be prepared to answer it. The main purpose seems to be to trip-up the bot, or to get it to say something foolish.

It’s a noble idea, hopefully with good intentions, but in reality (from my experience) not really very practical, and a colossal waste of time.


  [ # 3 ]

@Francis Wang ... Thank you very much for the affirmation of the HistoChat project.  If you don’t mind, please share the vision of the HistoChat project with your community. 

@Thunder Walk ... If you have any concerns about the validity of the project, please feel free to contact us through our Kickstarter page.  As Patrick’s mentor on the project, we would be happy to answer your questions.

I was interested in your iEinstein bot.  What was your original motivation for creating this bot?  Was your bot built with ChatScript?  Do you have any improvement opportunities that we can consider for focusing conversations when students are using the bot?

We appreciate your feedback. 


  [ # 4 ]

@ Michael Rosario - I don’t have any questions, I’m just suspicious whenever people start asking for money.

iEinstein is just another AIML bot with some tweaking.  The can chat with him here:

My motivation for iEinstein was to create a persona that people would want to talk with seriously about anything other than sexual matters.  At the time, it seemed to me that part of the problem was that Pandorabots/ALICE are based on a female character which invariably drew an audience of young males who couldn’t spell, didn’t understand the rules of English grammar, and could only text on topics involving sex.

I’ve since learned that whatever character a chatbot exemplifies, the main topic doesn’t change.  I have an alien bot who has to fend off the same requests.  Go figure.


  [ # 5 ]

I really think this is a great idea and have actually thought about building something like this as a mobile app. It makes much more sense to do this as a mobile/tablet platform. Some random thoughts:

- Creating a dialogue system that takes the content of history books and “twitterize” them. What I mean is taking the body of knowledge from the books and chop it up into small chunks of digestible knowledge. Kind of like breaking a long blog into bits of twitter posts. A dialogue system is perfect to deliver such bits of knowledge.

- Putting this system on a mobile device enables users to learn and digest the bits of knowledge during their fragmented time. This way of learning is effortless and fun. Most people these days don’t really have the time or attention span to sit down and learn a subject. History is perfect for this application because the knowledge is mostly text.

- I don’t really believe it’s feasible to create a chatbot that can answer accurately about a particular knowledge domain. I think a lot of people have tried this but the user experience is generally lacking. It’s not impossible, just that it would take a tremendous amount of time and efforts. What, then, can we do about this?  I think there are two key points to make this work (both utilize Chatscript’s unique features):

1. Have the chatbot drive the users. Most chatbots are passive - they wait for users to ask a question and try to generate an answer. This is largely a hit and miss scenario and usually just frustrates the users. Create an active Chatbot that proactively ask user questions and respond to user answers. This way the chatbot can drive the direction of the user’s learning.

2. Categorize the knowledge into topics and subtopics (Chatscript doesn’t yet support subtopics but I think this is very import in organizing knowledge). Allow the users to pick a topic that interests them. Once in a topic, again, the bot can drive the user’s learning.

Just some random thoughts. I’m a very strong believer of virtual personal-based education!



  [ # 6 ]

“Chatscript doesn’t yet support subtopics but I think this is very import in organizing knowledge”

What is a subtopic?  I have always programmed it in one of two ways:  either as another topic, called from the higher level topic but able to be directly accessed from the user, or as r: gambits with a collection of t: gambits attached.

So, what are the properties of a subtopic that make it special?


  [ # 7 ]


Here are my thoughts on subtopics:

Let’s say I have a top-level topic called ‘Eating’, subtopics called ‘Breakfast’, ‘Lunch’, ‘Dinner’. Under the ‘Breakfast’ sub-topic we even have sub-subtopics called ‘Pancakes’, ‘Waffles’, ‘Scrambled Eggs’.

At the top-level topic, I can have patterns that handle generic questions such as ‘What did you eat?’, ‘Was it delicious’, etc.
At each of the sub-topic I can choose to handle or not handle the generic questions. This is kind of like the methods in object-oriented programming.

Furthermore, if the gambits in a subtopic runs out, the parent’s gambits would get invoked.


  [ # 8 ]
Michael Rosario - Apr 25, 2013:

After reviewing the various chatbot platforms, we felt that ChatScript was the best platform for building our agent.

Interesting, as the demo shows you using AIML…


  [ # 9 ]

francis— So?

topic: ~eating

t: I like eating

u: (what do you eat) I eat food

t: gambit(~breakfast)

t: gambit(~lunch)

t: gambit(~dinner)

topic: ~breakfast

t: Breakfast is the first meal of the day
u: (what do you eat) Pancakes.

The main topic calls the 3 meals in turn. When each runs out, it returns to the main topic to continue with the next gambit. Each meal topic can choose to answer the question what do you eat if it is currently in charge or can let the caller handle it (not that the control script is currently written to do that for Harry, but it could be).


  [ # 10 ]


Thanks for the response!

Let’s use your example for a second. If I have another topic:

topic: ~dinner

For the topic ~dinner, I don’t want to answer “What do you eat” but want to default to the ‘parent topic’ ~eating. What can I do? In this case, either the ~eating or the ~breakfast may end up handle the user question, but I want specifically the ~eating topic to handle it.





  [ # 11 ]

Yes, but the issue is not chatscript.  It is merely how HARRY (simplecontrol) is defined to handle responders.  One could define responders to be handled hierarchically as you wished, it just isn’t defined that way by harry.


  [ # 12 ]

Hi Bruce,

Thanks again for the response. You’re right and that’s how I handle the topic hierarchy - by rewiring the bot control logic.


  login or register to react
‹‹ Visual Basic help      Greedy Matching ››