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

Bringing Cognitive Capabilities to Android

Bringing Cognitive Capabilities to Android

In this workshop we are going to focus on mobile development by bringing up cognitive computing capabilities to Android using IBM Watson.

Join me on this fun journey and let's walk together through a real case application implementation using best practices.

Fernando Cejas

February 07, 2018

More Decks by Fernando Cejas

Other Decks in Programming


  1. I am Fernando Cejas Developer Advocate IBM I am here

    because I love to share experiences and disasters I have made in my professional life... You can find me at @fernando_cejas or http://fernandocejas.com
  2. Chatbot use cases: ▪ Customer service/support. ▪ Simple transactions automation.

    ▪ User engagement. ▪ Marketing campaigns. ▪ Many more...
  3. Watson Conversation Watson Conversation is a platform that provides developers

    with the ability to create intelligent chatbots that are able to understand natural language and respond to human intents.
  4. What are entities? Entities represent a class of object or

    a data type that is relevant to a user's purpose. By recognizing the entities that are mentioned in the user's input, the Conversation service can choose the specific actions to take to fulfill an intent. Watson Entities https://console.bluemix.net/docs/services/conversation/entities.html#defining-entities
  5. What are intents? Intents are purposes or goals expressed in

    a customer's input, such as answering a question or processing a bill payment. By recognizing the intent expressed in a customer's input, the Conversation service can choose the correct dialog flow for responding to it. Watson Intents https://console.bluemix.net/docs/services/conversation/intents.html#defining-intents
  6. What are dialogs? The dialog uses the intents and entities

    that are identified in the user's input, plus context from the application, to interact with the user and ultimately provide a useful response. Watson Dialogs https://console.bluemix.net/docs/services/conversation/dialog-overview.html#dialog-overvie w
  7. Clean Architecture ▪ Independent of frameworks. ▪ Testable. ▪ Independent

    of UI. ▪ Independent of Database. ▪ Independent of any external agency.
  8. 1.

  9. 2.

  10. 3.

  11. 4.

  12. 5.

  13. Please show me the code! Getting our hands dirty Let’s

    download the repo and start diving into the code by compiling and building the sample app. Framework Let’s explore the already written code and dive deeper understanding clean architecture at code level. Writing the code We will write code for our use cases in our application by reusing components and writing tests..
  14. Github repo: https://github.com/android10/Workshop -Android-Chatbot Download or clone the repo: -

    git clone [email protected]:android10/Workshop-Android-Chatbot.git - ./gradlew clean assembleDebug (from working directory)
  15. References: Sample code: https://github.com/android10/Android-Cognitive-Samples Watson API explorer: https://watson-api-explorer.mybluemix.net/apis/conversation-v1 Watson API

    reference: https://www.ibm.com/watson/developercloud/dialog/api/v1/ Watson API documentation: https://www.ibm.com/watson/developercloud/conversation/api/v1/#apiexplorer Watson Conversation Java SDK: https://github.com/watson-developer-cloud/java-sdk/tree/develop/conversation