Skip to content
Giseldo edited this page Feb 3, 2020 · 13 revisions

BPMN to AIML. Draw a dialogue flow using BPMN for use in AIML chatbots.

Chatbot (or chatterbot) is a computer program where a human being talks to the program using natural language. There are several technologies associated with the construction of chatterbots, one that stands out is AIML. AIML is a XML based language. Designing flows in AIML is laborious and sometimes not intuitive due to the intrinsic characteristics of XML and AIML. But building dialog flows using a visual language is much more intuitive. There is a language used for mapping business processes called BPMN that defines visual components. It is possible to convert BPMN notation to AIML and take advantage of all the visual features offered by this visual notation. To validate this hypothesis a python application was developed that converts a BPMN diagram to a AIML file. A case study was implemented where all the dialogues of a chatbot that talks about depression were mapped in BPMN and then converted in AIML, the AIML file was loaded into a AIML chatbot and was ready to be used. One result found was a faster speed to draw the dialog flows of a chatbot in BPMN than to write in AIML. Another result was to allow people who don't know AIML to write the dialogue flows for their chatbots. Indirectly it is expected to spread the use of chatbots that are AIML based to an increasing number of people.

This project is a BPMN to AIML converter and a AIML 2.0 chatbot (both are in the same project). There is a button in the chatbot that loads the BPMN diagram in memory, convert it into a AIML file and load the AIML file in the chatbot Knowledge base.

Screens

Chatbot

chatbot screen

BPMN Diagram

BPMN DIAGRAM

Dialog

USER: I WANT A PIZZA

BOT: HI I AM THE PIZZA BOT

BOT: CAN I CONFIRM THIS DELIVERY TO YOUR HOUSE?

USER: YES

BOT: IT IS ON THE WAY

BOT: THANK YOU FOR CHOOSE OUR PRODUCT