Reactive chatbot programming

Chatbots are reactive applications with a conversational interface. They are usually implemented as compositions of client-side components and cloud-hosted services, including artificial-intelligence technology. Unfortunately, programming such reactive multi-tier applications with traditional programming languages is cumbersome. This paper introduces wcs-ocaml, a new multi-tier chatbot generator library designed for use with the reactive language ReactiveML. The paper explains our library with small didactic examples throughout, and closes with a larger case-study of a chatbot for authoring event-processing rules.

[1]  Yu Cheng,et al.  Diverse Few-Shot Text Classification with Multiple Metrics , 2018, NAACL.

[2]  Manuel Serrano,et al.  Multitier Programming in Hop , 2012, ACM Queue.

[3]  Daniel G. Bobrow,et al.  GUS, A Frame-Driven Dialog System , 1986, Artif. Intell..

[4]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[5]  Jayadev Misra,et al.  The Orc Programming Language , 2009, FMOODS/FORTE.

[6]  Geoffrey Zweig,et al.  Rapidly Scaling Dialog Systems with Interactive Learning , 2015, IWSDS.

[7]  Marc Pouzet,et al.  ReactiveML, ten years later , 2015, PPDP.

[8]  Daniel G. Bobrow,et al.  A frame driven dialog system , 1980 .

[9]  Stephen Chong,et al.  Asynchronous functional reactive programming for GUIs , 2013, PLDI.

[10]  Tobias Kuhn,et al.  A Survey and Classification of Controlled Natural Languages , 2014, CL.

[11]  Marc Pouzet Lucid Synchrone: tutorial and reference manual , 2001 .

[12]  Olivier Tardieu,et al.  Stream Processing with a Spreadsheet , 2014, ECOOP.

[13]  Bruce Lucas VoiceXML for Web-based distributed conversational applications , 2000, CACM.

[14]  Michael F. McTear,et al.  Book Review: Spoken Dialogue Technology: Toward the Conversational User Interface, by Michael F. McTear , 2002, CL.

[15]  Martin Hirzel,et al.  I Can Parse You: Grammars for Dialogs , 2017, SNAPL.

[16]  Sylvain Dehors,et al.  Controlled english language for production and event processing rules , 2011, DEBS '11.

[17]  Frédéric Boussinot,et al.  The FunLoft Language , 2010 .

[18]  Amit Patil,et al.  Comparative study of cloud platforms to develop a Chatbot , 2017 .

[19]  Shriram Krishnamurthi,et al.  Flapjax: a programming language for Ajax applications , 2009, OOPSLA 2009.

[20]  Peter Thanisch,et al.  Natural language interfaces to databases – an introduction , 1995, Natural Language Engineering.

[21]  Paul Hudak,et al.  Functional reactive animation , 1997, ICFP '97.

[22]  Philip Wadler,et al.  Links: Web Programming Without Tiers , 2006, FMCO.