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
Tweet

More Decks by Fernando Cejas

Other Decks in Programming

Transcript

  1. Bringing cognitive
    capabilities to
    Android
    Workshop: Android Chabot - @fernando_cejas
    https://ibm.biz/oop2018

    View Slide

  2. 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

    View Slide

  3. Why this
    workshop?

    View Slide

  4. Chatbot use cases:
    ▪ Customer service/support.
    ▪ Simple transactions automation.
    ▪ User engagement.
    ▪ Marketing campaigns.
    ▪ Many more...

    View Slide

  5. 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.

    View Slide

  6. Documentation:
    https://www.ibm.com/watson/services/
    conversation/

    View Slide

  7. Watson
    Conversation
    Building Blocks

    View Slide

  8. 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

    View Slide

  9. 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

    View Slide

  10. 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

    View Slide

  11. Watson
    Panel
    DEMO

    View Slide

  12. Getting started:
    https://ibm.biz/oop2018

    View Slide

  13. Watson
    API DEMO

    View Slide

  14. Documentation:
    Watson API explorer:
    https://watson-api-explorer.mybluemix.net/apis/conversation-v
    1
    Watson API reference:
    https://www.ibm.com/watson/developercloud/dialog/api/v1/

    View Slide

  15. Android &
    Kotlin
    Let’s build our app using a modern and
    cool language.

    View Slide

  16. Clean Architecture
    ▪ Independent of frameworks.
    ▪ Testable.
    ▪ Independent of UI.
    ▪ Independent of Database.
    ▪ Independent of any external agency.

    View Slide

  17. 1.

    View Slide

  18. 2.

    View Slide

  19. 3.

    View Slide

  20. 4.

    View Slide

  21. 5.

    View Slide

  22. 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..

    View Slide

  23. 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)

    View Slide

  24. 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

    View Slide

  25. Thanks!
    Any questions?
    You can find me at
    ▪ @fernando_cejas
    ▪ http://www.fernandocejas.co
    m

    View Slide