Google Dialogflow: Rise of the Machines

Pedro Manuel Ramos Rodríguez

PyDay Tenerife 2018

@pramos90

@pramos90

PyDay Tenerife 2018

Pedro Manuel Ramos Rodríguez

Graduado en Ingeniería Informática

Full Stack Developer Arte Consultores / Parlamento de Canarias.

Amante de la visualización de datos.

Trabajo con Python desde hace 1 año. 

@pramos90

PyDay Tenerife 2018

Uso de Asistentes de voz en móviles

  • Siri: Disponible en 700 Millones de usuarios. 375 Millones activos mensuales.
  • Google Assistant: Disponible en 500 Millones de usuarios.
  • Cortana: disponible en 400 Millones de usuarios. 145 Millones de usuarios activos.

@pramos90

PyDay Tenerife 2018

Uso de Asistentes de voz en móviles

@pramos90

PyDay Tenerife 2018

@pramos90

PyDay Tenerife 2018

Ventas de Altavoces Inteligentes

  • Amazon Echo : 3.6 Millones de unidades en el segundo trimestre.
  • Google Home: 3.1 Millones de unidades
  • Resto de altavoces inteligentes: 5.1 Millones de unidades.

@pramos90

PyDay Tenerife 2018

Ventas de Altavoces Inteligentes

@pramos90

PyDay Tenerife 2018

Uso de Altavoces Inteligentes

@pramos90

PyDay Tenerife 2018

Por qué desarrollar para asistentes virtuales

  • Más de 20 Millones de altavoces inteligentes vendidos en lo que va de 2018.
  • Millones de usuarios en distintas plataforma a los que llegar.
  • Se estima que en el año 2020 el 75 % de las casas tenga un altavoz inteligente.

@pramos90

PyDay Tenerife 2018

Dialogflow

Herramienta de Google para el desarrollo de agentes o bots

  • Google Assistant.
  • Facebook Messenger.
  • Slack.
  • Viber.
  • Twitter.
  • Telegram.
  • Twilio.
  • LINE.
  • Amazon Alexa.
  • Cortana.

@pramos90

PyDay Tenerife 2018

Dialogflow

¿Cómo funciona Dialogflow?

@pramos90

PyDay Tenerife 2018

Dialogflow

Disponibilidad de múltiples SDK

  • Node Js: npm install dialogflow
  • Python: pip install dialogflow
  • Java
  • Go: go get cloud.google.com/go/dialogflow/apiv2
  • Ruby: gem install api-ai-ruby
  • C#: nuget install Google.Cloud.Dialogflow.V2
  • PHP: composer require google/cloud-dialogflow

¿En qué programar el agente?

@pramos90

PyDay Tenerife 2018

Dialogflow

  • Intenciones.
  • Entidades.
  • Fulfillment.
  • Integrations.

¿Cómo empezar?

@pramos90

PyDay Tenerife 2018

Dialogflow

¿Cuando es el PyDay?

Háblame sobre el PyDay

Intents

@pramos90

PyDay Tenerife 2018

Dialogflow

Quiero un café con dos de azúcar

Entities

@pramos90

PyDay Tenerife 2018

Dialogflow

  • Text Response.
  • Image Response.
  • Card.
  • Quick replies.
  • Custom playload.

Tipos de respuesta

@pramos90

PyDay Tenerife 2018

Dialogflow

Tipos de respuesta. Custom payload

@pramos90

PyDay Tenerife 2018

Dialogflow

Tipos de respuesta. Google Assistant

  • Simple Response.
  • Basic Card.
  • Browsing Carousel.
  • Suggestions Chip.
  • Media Responses.
  • Table Card.
  • List.
  • Carousel.

@pramos90

PyDay Tenerife 2018

Dialogflow

Tipos de respuesta. Google Assistant

<speak>
  Here are <say-as interpret-as="characters">SSML</say-as> samples.
  I can pause <break time="3s"/>.
  I can play a sound
  <audio src="https://www.example.com/MY_MP3_FILE.mp3">didn't get your MP3 audio file</audio>.
  I can speak in cardinals. Your number is <say-as interpret-as="cardinal">10</say-as>.
  Or I can speak in ordinals. You are <say-as interpret-as="ordinal">10</say-as> in line.
  Or I can even speak in digits. The digits for ten are <say-as interpret-as="characters">10</say-as>.
  I can also substitute phrases, like the <sub alias="World Wide Web Consortium">W3C</sub>.
  Finally, I can speak a paragraph with two sentences.
  <p><s>This is sentence one.</s><s>This is sentence two.</s></p>
</speak>

Simple Response usando SSML

@pramos90

PyDay Tenerife 2018

Dialogflow

Tipos de respuesta. Google Assistant

Basic card, browsing carousel, suggestionchip, media responses y table card.

@pramos90

PyDay Tenerife 2018

Dialogflow

Tipos de respuesta. Google Assistant

List y carousel.

@pramos90

PyDay Tenerife 2018

Dialogflow

@pramos90

PyDay Tenerife 2018

Dialogflow

@pramos90

PyDay Tenerife 2018

Dialogflow

Agente para el Pyday "CanPy"

@pramos90

PyDay Tenerife 2018

Agente PydayTf18

Intents

  • Default Fallback intent.
  • Default Wellcome Intent.
  • I_pyday.
  • I_ponentes.
  • I_ponentes_track.
  • I_ponencia_hora.
  • I_despedida

@pramos90

PyDay Tenerife 2018

Agente PydayTf18

Demo Time

@pramos90

PyDay Tenerife 2018

Agente PydayTf18

Resultados

@pramos90

PyDay Tenerife 2018

Fin

¿Preguntas?

/PedroRamosRguez