Chatbots en Drupal 8!
Agosto 2017
MANATí
¿Quiénes somos?
Dharizza Espinach Barahona
Backend Developer
@dharizza
dharizza@estudiomanati.com
MANATí
Kevin Porras Zumbado
Director of Technology
@kporras07
kevin@estudiomanati.com
Agenda
MANATí
- Conceptos de Chatbots
- Servicios de Chatbots
- Plataformas de Chatbots
- Módulos de Drupal
- Casos de Uso
- ¡Manos a la obra!
Conceptos de Chatbots
MANATí
- Natural Language Processing
- Intents
- Parámetros
- Entidades
- Contextos
Servicios de Chatbots
MANATí
- wit.ai
- converse.ai
- chatterbot
- api.ai
- otros
Plataformas de Chatbots
MANATí
- Facebook Messenger
- Telegram
- Slack
- Alexa
- Skype
- Otros
Módulos de Drupal
MANATí
Casos de Uso
MANATí
- Usuario pide información y el bot responde
- Administrador del bot envía información a todos los usuarios
¡Manos a la obra!
MANATí
- Página y app de Facebook
- Bot en Api.ai y activar integración con Messenger
- Integrar Api.ai con Drupal (Fulfillment)
¡Manos a la obra!
MANATí
- Api.ai: Intents y Entidades
¡Manos a la obra!
MANATí
- Chatbot_api: Arquitectura
- ChatbotIntent Plugin
- RequestSubscriber Service
¡Manos a la obra!
MANATí
- Chatbot_api: Views Intent
- Relación entre:
- Nombre del intent: drupal vs api.ai
- Nombres de parámetros vs Nombres de filtros
¡Manos a la obra!
MANATí
- Chatbot Workflow
¡Manos a la obra!
MANATí
- Drupal: Alterar plugin Views Intent
/**
* Implements hook_TYPE_alter().
*/
function chatbot_experiments_chatbot_chatbot_intent_info_alter(&$definitions) {
foreach ($definitions as &$definition) {
if ($definition['id'] === 'views_intent') {
$definition['class'] = 'Drupal\chatbot_experiments_chatbot\Plugin\Chatbot\Intent\ChatbotExperimentsViewsIntent';
}
}
}
¡Manos a la obra!
MANATí
- Drupal: Custom plugin View Intent
¡Manos a la obra!
MANATí
- Drupal: Custom response
¡Manos a la obra!
MANATí
- Drupal: Override Service
class ChatbotExperimentsChatbotServiceProvider extends ServiceProviderBase {
public function alter(ContainerBuilder $container) {
// Overrides chatbot_api_apiai.request_subscriber class.
$definition = $container->getDefinition('chatbot_api_apiai.request_subscriber');
$definition->setClass('Drupal\chatbot_experiments_chatbot\EventSubscriber\RequestSubscriber');
}
}
¡Manos a la obra!
MANATí
- Drupal: Custom Event Subscriber
Demo
MANATí
¡Gracias!
MANATí
Chatbots + Drupal 8
By kevin porras
Chatbots + Drupal 8
Presentación base para eventos.
- 907