October 28
Rakuten Technology Conference 2017
Laguido Nio
NLP Researcher and Data Scientist
Rakuten Institute of Technology
2
Lasguido Nio
More about me:
www.sigmo.id
o PhD on Dialog System and
Natural Language Processing
• Specialized in End-to-end
Chat-oriented Dialog System
o Past collaboration:
• Join research with A*star I2R Singapore
• Join research with Sony China Research Lab.
o NLP Researcher and Data Scientist
3
…
For Developers:
• Learn about the conversational-bot components and some of its tools
For Researchers:
• Understand the conversational-bot components and possible future research
For You:
• Understand how AI works behind the Conversational-bot
4
Conversational Bot / Dialog System
Chatter-Bot / Chatbot
“Computer program that has a certain goals, and able to
interact or conduct conversation with human via
auditory or textual method”
5
“bots are the new apps”
- Microsoft CEO, Satya Nadella -
6
1. Advancement in Artificial Intelligence
2. People enjoy conversational interface
“People spend more than 4 hours per week
in communication apps” – Nielsen*
3. Cheap labor: customer contact center
*http://www.nielsen.com/us/en/insights/news/2016/got-a-minute-how-our-use-of-communication-apps-changes-by-the-hour.html
7
Based on the dialog purpose:
• Goal-oriented
(E. Seneff et al., 1991; Walker et al., 2000)
• Chat oriented
(J. Weizenbaum et al., 1966; Wallace et al., 2003; Nio et al. 2017)
“I am looking for
cheap red clothes“
“Am I look good
with red clothes?“
8
Based on how to give a response:
• Rule based (Wallace et al., 2003)
• Data driven/statistical (Young et al., 2013)
database
9
Based on its architecture:
• Modular-based System
• End-to-End System
• End-to-end chat-oriented bot
(Vinyals et al., 2015; Shang et al., 2015; Serban et al., 2015; Nio et al., 2016)
• End-to-end goal-oriented bot
(Wen et al., 2017; Chen et al. 2017)
10
Artificial Intelligence, but why?
Data driven (statistical) approach
Doesn’t rely much on domain expert
Scalability
Here we need a lot of training data
11
• Natural Language Understanding NLU
• Dialog Management DM
• Natural Language Generation NLG
NLU
Dialog
Manager
NLG
you
I want to eat miso
ramen.
12
NLU
Dialog
Manager
NLG
I want to eat miso ramen.
Classify user sentence into frames and intent
(Chen et al., 2016; Hakkani-Tur et al., 2016)
Widely available chat-bot
tools already implements this
function
sent: I want to eat miso ramen.
frame: type food
intent: find_food
you
13
NLU
Dialog
Manager
NLG
Dialog Manager composed by two component:
• State tracking: Determined the state of conversation
(Williams et al., 2012; Henderson et al., 2015)
• Policy learning: From the learned policy,
determined the next action (Su et al., 2016)
acquired: {type: miso, food: ramen}
action: ask_location
Most chat-bot tools manage it’s dialog
manager by using a decision-tree-like
architecture
you
sent: I want to eat miso ramen.
frame: type food
intent: find_food
14
NLU
Dialog
Manager
NLG
Where do you like to
have your ramen?
Realizing sentence output from frames (Wen et al., 2016)
This is something that yet not available in the
existing chat-bot tools
you
acquired: {type: miso, food: ramen}
action: ask_location
15
…
chatbot
I want to eat miso
ramen.
Where do you like to
have your ramen?
you
16
…
NLU
Dialog
Manager
NLG
…
chatbot
I want to eat miso
ramen.
Where do you like to
have your ramen?
you
17
• Most available tools only support NLU
• To generate the response, you need to build the dialog decision tree
• You also need to provide (a lot of) the response template
(query-response template)
18
Hi, this is a restaurant finder robot. What type of food are you looking for?
I want to eat ramen. I would like to eat curry,
looking for budget restaurant.
Which one do you like miso, shoyu, shio, or tonkotsu ramen? Do you want me to find curry restaurant near Tokyo?
… …
• A decision tree-like structure
• Requires domain expert to identify topics
Bot Agent
User
frame: {food-type: ramen}
intent: tell_preferences
frame: {food-type: curry,
price: budget}
intent:tell_preferences
19
Built-in
AI NLU
User
Interface
Web Builder
SN
Platform
Support
Built-in
Analytics
Tool
Built-in
Speech
Function
Notes
Microsoft Bot
Framework
+ For developer
+ AI with LUIS
(Language Understanding
Intelligent Service)
+ Open source
IBM Watson
+ For developer
+ Watson AI Toolkits
MOTION.AI
+ For bot builder
+ Easy to learn
+ Drag & drop interface
ChatFuel
+ For bot builder
+ Free
+ Drag & drop interface
DialogFlow
Google Bot
Framework (API.AI)
+ For developer
+ Pre-built dialog template
BotPress
HubSpot
(as 20 Sept. 2017)
+ For developer
+ Open source
*There are hundreds of chat-bot tool out there, these are only some of them
20
Realizing AI Conversational Bot

Realizing AI Conversational Bot

  • 1.
    October 28 Rakuten TechnologyConference 2017 Laguido Nio NLP Researcher and Data Scientist Rakuten Institute of Technology
  • 2.
    2 Lasguido Nio More aboutme: www.sigmo.id o PhD on Dialog System and Natural Language Processing • Specialized in End-to-end Chat-oriented Dialog System o Past collaboration: • Join research with A*star I2R Singapore • Join research with Sony China Research Lab. o NLP Researcher and Data Scientist
  • 3.
    3 … For Developers: • Learnabout the conversational-bot components and some of its tools For Researchers: • Understand the conversational-bot components and possible future research For You: • Understand how AI works behind the Conversational-bot
  • 4.
    4 Conversational Bot /Dialog System Chatter-Bot / Chatbot “Computer program that has a certain goals, and able to interact or conduct conversation with human via auditory or textual method”
  • 5.
    5 “bots are thenew apps” - Microsoft CEO, Satya Nadella -
  • 6.
    6 1. Advancement inArtificial Intelligence 2. People enjoy conversational interface “People spend more than 4 hours per week in communication apps” – Nielsen* 3. Cheap labor: customer contact center *http://www.nielsen.com/us/en/insights/news/2016/got-a-minute-how-our-use-of-communication-apps-changes-by-the-hour.html
  • 7.
    7 Based on thedialog purpose: • Goal-oriented (E. Seneff et al., 1991; Walker et al., 2000) • Chat oriented (J. Weizenbaum et al., 1966; Wallace et al., 2003; Nio et al. 2017) “I am looking for cheap red clothes“ “Am I look good with red clothes?“
  • 8.
    8 Based on howto give a response: • Rule based (Wallace et al., 2003) • Data driven/statistical (Young et al., 2013) database
  • 9.
    9 Based on itsarchitecture: • Modular-based System • End-to-End System • End-to-end chat-oriented bot (Vinyals et al., 2015; Shang et al., 2015; Serban et al., 2015; Nio et al., 2016) • End-to-end goal-oriented bot (Wen et al., 2017; Chen et al. 2017)
  • 10.
    10 Artificial Intelligence, butwhy? Data driven (statistical) approach Doesn’t rely much on domain expert Scalability Here we need a lot of training data
  • 11.
    11 • Natural LanguageUnderstanding NLU • Dialog Management DM • Natural Language Generation NLG NLU Dialog Manager NLG you I want to eat miso ramen.
  • 12.
    12 NLU Dialog Manager NLG I want toeat miso ramen. Classify user sentence into frames and intent (Chen et al., 2016; Hakkani-Tur et al., 2016) Widely available chat-bot tools already implements this function sent: I want to eat miso ramen. frame: type food intent: find_food you
  • 13.
    13 NLU Dialog Manager NLG Dialog Manager composedby two component: • State tracking: Determined the state of conversation (Williams et al., 2012; Henderson et al., 2015) • Policy learning: From the learned policy, determined the next action (Su et al., 2016) acquired: {type: miso, food: ramen} action: ask_location Most chat-bot tools manage it’s dialog manager by using a decision-tree-like architecture you sent: I want to eat miso ramen. frame: type food intent: find_food
  • 14.
    14 NLU Dialog Manager NLG Where do youlike to have your ramen? Realizing sentence output from frames (Wen et al., 2016) This is something that yet not available in the existing chat-bot tools you acquired: {type: miso, food: ramen} action: ask_location
  • 15.
    15 … chatbot I want toeat miso ramen. Where do you like to have your ramen? you
  • 16.
    16 … NLU Dialog Manager NLG … chatbot I want toeat miso ramen. Where do you like to have your ramen? you
  • 17.
    17 • Most availabletools only support NLU • To generate the response, you need to build the dialog decision tree • You also need to provide (a lot of) the response template (query-response template)
  • 18.
    18 Hi, this isa restaurant finder robot. What type of food are you looking for? I want to eat ramen. I would like to eat curry, looking for budget restaurant. Which one do you like miso, shoyu, shio, or tonkotsu ramen? Do you want me to find curry restaurant near Tokyo? … … • A decision tree-like structure • Requires domain expert to identify topics Bot Agent User frame: {food-type: ramen} intent: tell_preferences frame: {food-type: curry, price: budget} intent:tell_preferences
  • 19.
    19 Built-in AI NLU User Interface Web Builder SN Platform Support Built-in Analytics Tool Built-in Speech Function Notes MicrosoftBot Framework + For developer + AI with LUIS (Language Understanding Intelligent Service) + Open source IBM Watson + For developer + Watson AI Toolkits MOTION.AI + For bot builder + Easy to learn + Drag & drop interface ChatFuel + For bot builder + Free + Drag & drop interface DialogFlow Google Bot Framework (API.AI) + For developer + Pre-built dialog template BotPress HubSpot (as 20 Sept. 2017) + For developer + Open source *There are hundreds of chat-bot tool out there, these are only some of them
  • 20.