Please log in to watch this conference skillscast.
Rule-based chatbots and dialog agents are often derided as "state-machine spaghetti code" where implementations in imperative languages like Python and C# inevitably devolve into unmanageable tangles of nested conditional logic and state mutation. The trend nowadays is to use ML models instead of rule-driven systems. But rule-based dialog systems are inherently pattern-matching systems and languages that excel at pattern-matching may be able to avoid this exponential growth in complexity.
In this talk I'll give an overview of Selma — a Web-based multimodal dialog agent for healthcare self-management written entirely in F# using WebSharper.
The main topics of this talk are:
• Using WebSharper to build client-server CUIs in F#
• Using the Wit.ai service to extract and classify utterances into dialogue acts, intents, and entities.
• Using F# active patterns to compose type-safe rules over these structures that drive the dialogue.
• How an F# conversation agent compares to MS Bot Framework or ML-driven agents.
YOU MAY ALSO LIKE:
- Functional Concurrency in .NET with C# and F# with Riccardo Terrell (Online Course on 28th June - 1st July 2021)
- F# eXchange 2021 (Online Conference on 20th - 21st October 2021)
- F# for a Real World E-commerce Project (SkillsCast recorded in October 2020)
- Rethinking Bioinformatic Algorithms Using F# (SkillsCast recorded in October 2020)
Declarative, Concise Implementation of a Rule-based Dialog System in F#
Allister Beharry has been programming computers for more than 20 years. He likes both Windows and Linux. His current focus is computer security, machine learning, CUIs, and .NET HPC and scientific computing. He works mostly on free and open-source software in C# and F#.