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 Workshop on 19th - 22nd April 2022)
- YOW! Lambda Jam 2022 (Online Conference on 1st - 30th May 2022)
- Haskell: A Conversion Experience (SkillsCast recorded in November 2021)
- Using F# to Structure an Island of Simplicity (SkillsCast recorded in October 2021)
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#.