Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Your Next App Might Just Be a Bot: Building Con...

Avatar for David Asamu David Asamu
September 16, 2017

Your Next App Might Just Be a Bot: Building Conversational Bots with Python

Thanks to advancements in ML, bots are becoming the main interface between humans and machines. 25% of installed apps are never used. The average Android app loses 77% of its daily active users within the first 3 days. The amount of time people spend on social media is constantly increasing. Certainly, the next user interface won't be based on fancy design, it will be based on simple conversation.

Avatar for David Asamu

David Asamu

September 16, 2017

Other Decks in Programming

Transcript

  1. Your Next App Might Just Be A Bot: Building Conversational

    Bots with Python PyCon Nigeria | David Asamu about.me/david_asamu
  2. Interesting Statistics • 25% of installed apps are never used.

    • The average Android app loses 77% of its daily active users within the first 3 days. - Google's consumer marketing insight
  3. More Interesting Statistics • Just Yesterday, after we kicked off

    the conference, Facebook announced that Messenger now has 1.3 billion active monthly users • Whatsapp has 1.3 billion active monthly users as well • 30% of all time spent online is now allocated to social media interaction • By 2020, over 80% of businesses are expected to have some sort of chatbot automation implemented (Business Insider, 2016)
  4. In the coming years, with the rise of general purpose

    assistants, bots will eventually be in the fabric of everything, not just in Messaging Apps.
  5. A. what to do before you start coding • Understand

    precisely the role of the bot, make a list of service • Read the documentation of the platform • understand what is possible, what is not
  6. 1. Break your idea into services A service is a

    broad classification of the user requests your bot would be able to handle. For an e-commerce company, services could include commerce service, user complaint service, FAQs service, etc
  7. 2. Guidelines for writing services • A service should be

    simple enough to describe in a sentence. • A service must not be ambiguous, it should have one and only one meaning
  8. 3. Describe each service using intents Services can further be

    broken down using intents to zero-in on exactly what the user wants. Matching the right intent is very important as this determines what data to expect/request from the user and when the conversation can be marked as complete
  9. 4. Train a classifier to recognize intents and services •

    Get quality data set for training • Learn from user interaction
  10. 5. Extract Entities and Parameters • This involves going from

    sentences to structured data that can serve as inputs to other systems or microservices. • Use natural language processing to get names, addresses, time and other entities of interest. • Take advantage of suggested responses • Use slot-filling to handle incomplete request from the user
  11. 6. Build a webhook for fulfilment • After a complete

    user interaction, the user request has to be processed. • This typically involves setting up a Rest API • The API handles fulfilments such as saving the extracted data to the database, feeding the data to other systems as well as triggering other independent services, or even a physical action such as a man delivering pizza.
  12. CONCLUSION Understanding what’s possible and what isn’t with today’s AI

    and machine learning capabilities is key for anyone looking to use such technology to build or enhance applications. If you’re not skeptical enough about claims being made about current capabilities, you could waste enormous amounts of time and money trying to do something that can’t (yet) be done. On the other hand, if you’re too skeptical, you risk missing opportunities to deploy today’s AI tech in incredibly useful and profitable ways Source - TechCrunch