Download - Realizing AI Conversational Bot
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
NLUDialog
Manager
NLG
you
I want to eat miso ramen.
12
NLUDialog
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
NLUDialog
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
NLUDialog
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
DialogManager
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