Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plateforme de développement low-code et Open Source

376 views

Published on

Xatkit is an open source chatbot development platform. This presentation was shown at the Paris Open source summit

Published in: Software
  • Be the first to comment

  • Be the first to like this

Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plateforme de développement low-code et Open Source

  1. 1. Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plateforme de développement low-code et Open Source. Gwendal Daniel, Jordi Cabot, Laurent Deruelle & Mustapha Derras @xatkit xatkit-bot-platformxatkit.com
  2. 2. Let’s create a chatbot to help newcomers to write issues on Github! Alright! It’s just a set of questions & answers, this will be pretty simple! Narrator It wasn’t. Once upon a time
  3. 3. What went wrong? if(‘’ I have an issue’’) { return ‘’In which repository?’’ }
  4. 4. Chatbots are complex systems Conversation Logic Text Processing External Services Messaging Platforms Deployment Evolution Maintenance Tests
  5. 5. Chatbot applications In the end what do we really want to do? User Intent Action Parameters If the User Wants To Open Issue Reply « In which repository? » on Slack Platform
  6. 6. Xatkit Framework • Raise the level of abstraction at what chatbots are defined • Focus on the core logic of the chatbot • Conversation and user interactions • Action computations • Independent from specific implementation technologies • Automatize the deployment and execution of the modeled chatbot • Deploy over multiple platforms • Execute the chatbot logic
  7. 7. Example • A bot easing issue reporting on Github • Let the user explain the problem • Collect additional information: operating system, software version … • Synthetize the information • Open the issue for the user
  8. 8. What do we need to do? 1. Think about the potential questions/inputs from the user • « I have an issue » • « Your tool doesn’t work » • « Did you use your brain to code this stuff?» 2. Reactions from the bot • Textual reply • Computation/Evaluation • Service call 3. Compose and deploy
  9. 9. Specify user inputs Training sentences Parameter extraction Conversation flow
  10. 10. Specify user inputs Custom Entities Definition is independent from the NLP solution
  11. 11. Specify bot’s reactions Input provider to listen to Signature of available actions Defined by a third party
  12. 12. Platform language package Defined by a third party
  13. 13. Compose inputs & reactions
  14. 14. Compose inputs & reactions
  15. 15. Xatkit Framework • Runtime component • Generic event-based execution engine • Platform-specific connectors • Automatic deployment • Execution life-cycle • Inputs • Chatbot model (defined with the Xatkit modeling language) • Configuration file
  16. 16. Xatkit Framework • Runtime configuration • Provide deployment information • NLP engine to use • Credentials • Authentication tokens • Platform-specific properties (e.g. username, fallback urls, etc)
  17. 17. Xatkit Framework • Runtime configuration // Intent Recognition Provider Configuration xatkit.intent.recognition = DialogFlow xatkit.dialogflow.project = dialogflow_project_id xatkit.dialogflow.credentials = key.json // Platform configuration xatkit.platforms.abstract.ChatPlatform = SlackPlatform xatkit.slack.credentials = slack_oauth_token xatkit.github.credentials = github_oauth_token
  18. 18. Result
  19. 19. Xatkit Framework Intent Recognition Providers (platform-specific) Platorm Package Intent Package Xatkit Modeling Language Instant Messaging Platforms Xatkit Runtime Execution Package uses uses Platform-independent chatbot definition External Services Deployment Configuration Chatbot Designer Chatbot User Platform Designer
  20. 20. Xatkit Github organization • Tooling • Open source project (EPL v2) • Available on Github • Under development (~1300 commits) • Test-driven development (~350 tests) • 6 contributors • Forks and contributions more than welcome! • Intent recognition • DialogFlow • RegExp (To Extend)
  21. 21. Supported platforms
  22. 22. Let’s get in touch! @xatkit xatkit-bot-platformxatkit.com

×