Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Why this workshop?

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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.

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Watson Conversation Building Blocks

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

Watson Panel DEMO

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

Watson API DEMO

Slide 14

Slide 14 text

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/

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

1.

Slide 18

Slide 18 text

2.

Slide 19

Slide 19 text

3.

Slide 20

Slide 20 text

4.

Slide 21

Slide 21 text

5.

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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)

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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