STORIES https://www.figma.com/file/FpFfpHUBuPlfFYoxCtKklf/Rasa-Chat-Channels?node-id=0%3A1 Goal & Positioning: Allow Eric to create and edit Rasa Stories ("builder UI") Allow Diane, Eric and Cara to see any response (component) and intent in context of a story-derived sample dialog In an integrated, comprehensive and collaborative space (Jargon) As fast as authoring text, but less error-prone (selection, validation) Focus: Workflow: Eric and Diane drive the workflow. They loop in Robert and others as needed, but they stay outside Jargon. INITIAL* 1. Diane and team author conversations in artifact outside Rasa/Jargon (e.g. Google Docs, Botsociety, etc.) 2. Eric infers intents, responses, stories, forms, etc. from this artifact 3. Eric enters intents, responses, stories, forms, etc. in Jargon, along with skeleton content from same artifact; commits for Diane 4. Diane starts building out the content, using the skeleton content to understand the mapping 5. Eric creates release for ML training MAINTENANCE 6. Team reviews insights from testing, interactive learning, usage, etc. 7. Eric imports any stories from Rasa IL into Jargon, resolves any issues 8. Diane edits content 9. Eric and/or Diane create new release updates; back to 6. EXPANSION 10. Team identifies need for new intents; back to 1. * Starting-from-scratch path; user can still also import existing Rasa files. Principles: In UI, tie Stories to Studio/Interaction Model, but seek way around Studio UI constraints. Allow inclusion of not-yet-created intents, forms, etc., but signal & link them. Error-prevention: identify gaps (missing elements), insert existing elements (labels), identify syntax issues, offer template for structure/syntax. Rasa Stories format (pairs of intent/response labels) are not out-of-the-box usable for design or context. Position as Rasa-to-Jargon builder/mapping tool, not a conversation design tool. Open questions: Dedicated UI (Stories) vs Alternate UI (Intents) RASA/CHAT Rasa Benefits - Uses AI (NLU/NLP) to extract meaning from actual/sample conversations (Stories), continuous improvement to model. - Replaces dialog management. - Predicts the best action (including responses). - Maps utterances (to pre-defined intents) with % confidence. - Makes the app more "resilient" for various paths and phrasings. - Infers variables. Channels (11) - Your own website - Facebook Messenger - Slack - Telegram - Twilio - Microsoft Bot Framework - Cisco Webex Teams - RocketChat - Mattermost - Google Hangouts Chat - Custom Connectors AI assistants - Feed it things - Inspect outcomes - Creates the rules based on being fed sample good outcomes - Understand the inputs (intents) - Select desired responses Misc. config.yml: recipes for inspection/adjustment (advanced) Endpoints: communicate with other services Tests: evaluate how well the model is performing after a change (based on what?) Consider only allowing voice or chat for now (reduce complexity) Custom rasa component is advanced (letting you possibly target specific channels through JSON) Slots also imported from Rasa Our principle of finding common denominators between platforms and channels is a time saver and competitive differentiator. 1. NLU = map more utterances to user-defined intents 2. Dialog management = Rasa Core = ML-based decision-making (predicting next actions/responses) 3. Improve by observing live usage = Rasa X "Extract entities from unstructured user messages" A "slot" can memorize an "entity" value to drive subsequent behavior. It's like a variable. "Slot type" is really about format: text, boolean, category, float (range), list (multiple values), unfeaturized. Entity = slot = user-provided value Entities need to be defined by the user. They can be explicitly indicated (but not created?) in a sample utterance Error messages as interactive to do list items "X is missing [Create]" Focus on editing + existing Rasa apps "CDD is a user-centric approach to building AI assistants and requires more than just software skills. It’s also not a linear process, you will find yourself jumping between each of these actions. Some require a deep understanding of the domain and of the end user, others require software or data science skills. It’s a collaborative process between product, design, and development that reveals what users are asking for." - Alan Nichol, CTO of Rasa