question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Learning with real already chatted (by bots or humans) dialogues

See original GitHub issue

Description of Problem:

We have a broad base of human dialogues and want the bot to learn with this data.

In Rasa X, it’s possible to learn with old conversations, but only the realized in it.

We want to teach the bot with our old dialogue between humans.

Overview of the Solution:

We were thinking about two solutions:

  1. Improve the Interactive Learn to load dialogue between user and attendant (human or bot)
  2. Create a new Interactive Learn mode for already chatted conversations in natural language

The main difference between the two solutions is which in the first, we would make substantial changes in the behavior of the IL, mainly in UX. And the second we see which the best UI is a small Web App.

Examples:

CASE 01

In this case, the dialogue includes new intent and new utterance!

CURRENT STATE

domain.yml:

intents:
  - greet
  - thankyou
actions:
  - utter_greet
  - utter_goodbye
templates:
  utter_greet:
    - text: "Olá!"
  utter_goodbye:
    - text: "Que isso precisando é só chamar!"  

nlu.md:

# intent:greet
- Oi

# intent:thankyou
- Obrigado

INPUT EXAMPLE

## Human Dialog 01
U: Oi!
A: Olá!
U: Qual é o horário de funcionamento das agências?
A: Das 11h as 16h!
U: Obrigado!
A: Que isso precisando é só chamar!

The input will be processed!

OUTPUT EXAMPLES

e2e:

## test story generated from Human Dialog 01
* greet: Oi!
  - utter_greet
>> * incorrect_intent:Qual é o horário de funcionamento das agências?
>>   - utter_fallback: Das 11h as 16h!
* thankyou: Obrigado!
  - utter_thankyou

e2e-ext:

## test story generated from Human Dialog 01
* greet (99%): Oi!
  - utter_greet (99%): Olá!
* incorrect_intent (10%): Qual é o horário de funcionamento das agências?
  - utter_fallback (0%): Das 11h as 16h!
* thankyou (99%): Obrigado!
  - utter_thankyou (99%): Que isso precisando é só chamar!

story:

## story generated from Human Dialog 01
* greet
  - utter_greet
>> * Qual é o horário de funcionamento das agências?
>>  - Das 11h as 16h!
* thankyou
  - utter_thankyou

CASE 02

In this case, the dialogue includes a new flow!

CURRENT STATE

domain.yml:

intents:
  - greet
  - workingtime
  - thankyou
actions:
  - utter_greet
  - utter_workingtime
  - utter_goodbye
templates:
  utter_greet:
    - text: "Olá!"
  utter_goodbye:
    - text: "Que isso precisando é só chamar!"
  utter_workingtime:
    - text: "Das 11h as 16h!"

nlu.md:

# intent:greet
- Oi

# intent:workingtime
- Qual é o horário de funcionamento das agências?

# intent:thankyou
- Obrigado

stories.md:

# greet and thankyou
* greet
  - utter_greet
* thankyou
  - utter_thankyou  

INPUT EXAMPLE

## Human Dialog 01
U: Oi!
A: Olá!
U: Qual é o horário de funcionamento das agências?
A: Das 11h as 16h!
U: Obrigado!
A: Que isso precisando é só chamar!

The input will be processed!

OUTPUT EXAMPLES

e2e:

## test story generated from Human Dialog 01
* greet: Oi!
  - utter_greet
* worktime: Qual é o horário de funcionamento das agências?
  - utter_workingtime
* thankyou: Obrigado!
  - utter_thankyou

e2e-ext:

## test story generated from Human Dialog 01
* greet (99%): Oi!
  - utter_greet (99%): Olá!
* worktime (99%): Qual é o horário de funcionamento das agências?
  - utter_workingtime (99%): Das 11h as 16h!
* thankyou (99%): Obrigado!
  - utter_thankyou (99%): Que isso precisando é só chamar!

story:

## story generated from Human Dialog 01
* greet
  - utter_greet
* worktime
  - utter_workingtime
* thankyou
  - utter_thankyou

CASE 03

In this case, the dialogue includes a new intent example!

CURRENT STATE

domain.yml:

intents:
  - greet
  - workingtime
  - thankyou
actions:
  - utter_greet
  - utter_workingtime
  - utter_goodbye
templates:
  utter_greet:
    - text: "Olá!"
  utter_goodbye:
    - text: "Que isso precisando é só chamar!"
  utter_workingtime:
    - text: "Das 11h as 16h!"

nlu.md:

# intent:greet
- Oi

# intent:workingtime
- Qual é o horário de funcionamento das agências?

# intent:thankyou
- Obrigado

stories.md:

# greet and thankyou
* greet
  - utter_greet
* thankyou
  - utter_thankyou  

# workingtime
* greet
  - utter_greet
* workingtime
  - utter_workingtime
* thankyou
  - utter_thankyou

INPUT EXAMPLE

## Human Dialog 01
U: Olá!
A: Olá!
U: Qual é o horário de funcionamento das agências?
A: Das 11h as 16h!
U: Obrigado!
A: Que isso precisando é só chamar!

The input will be processed!

OUTPUT EXAMPLES

e2e:

## test story generated from Human Dialog 01
>>* Olá!
  - utter_greet
* worktime: Qual é o horário de funcionamento das agências?
  - utter_workingtime
* thankyou: Obrigado!
  - utter_thankyou

e2e-ext:

## test story generated from Human Dialog 01
* incorrect_intent (0.2%): Olá!
  - utter_greet (99%): Olá!
* worktime (99%): Qual é o horário de funcionamento das agências?
  - utter_workingtime (99%): Das 11h as 16h!
* thankyou (99%): Obrigado!
  - utter_thankyou (99%): Que isso precisando é só chamar!

story:

## story generated from Human Dialog 01
>> * incorrect_intent
  - utter_greet
* worktime
  - utter_workingtime
* thankyou
  - utter_thankyou

CASE 04

In this case, the dialogue includes a new utterance text!

CURRENT STATE

domain.yml:

intents:
  - greet
  - workingtime
  - thankyou
actions:
  - utter_greet
  - utter_workingtime
  - utter_goodbye
templates:
  utter_greet:
    - text: "Olá!"
  utter_goodbye:
    - text: "Que isso precisando é só chamar!"
  utter_workingtime:
    - text: "Das 11h as 16h!"

nlu.md:

# intent:greet
- Oi
- Olá!

# intent:workingtime
- Qual é o horário de funcionamento das agências?

# intent:thankyou
- Obrigado

stories.md:

# greet and thankyou
* greet
  - utter_greet
* thankyou
  - utter_thankyou  

# workingtime
* greet
  - utter_greet
* workingtime
  - utter_workingtime
* thankyou
  - utter_thankyou

INPUT EXAMPLE

## Human Dialog 01
U: Olá!
A: Opa!
U: Qual é o horário de funcionamento das agências?
A: Das 11h as 16h!
U: Obrigado!
A: Que isso precisando é só chamar!

The input will be processed!

OUTPUT EXAMPLES

e2e:

## test story generated from Human Dialog 01
* greet: Olá!
>>  - Opa! <!-- utter_greet (90%) -->
* worktime: Qual é o horário de funcionamento das agências?
  - utter_workingtime
* thankyou: Obrigado!
  - utter_thankyou

e2e-ext:

## test story generated from Human Dialog 01
* greet (99%): Olá!
  - incorrect_utter (0.02%): Opa! <!-- utter_greet (90%) -->
* worktime (99%): Qual é o horário de funcionamento das agências?
  - utter_workingtime (99%): Das 11h as 16h!
* thankyou (99%): Obrigado!
  - utter_thankyou (99%): Que isso precisando é só chamar!

story:

## story generated from Human Dialog 01
* greet
>>  - utter_greet <!-- utter_greet (90%) -->
* worktime
  - utter_workingtime
* thankyou
  - utter_thankyou

CASE 05

TODO In this case, the dialogue includes a new utterance text which the NLG module must fill.

Blockers:

We only need help to define the best solution for this moment. The solution can be phased.

Definition of Done:

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:2
  • Comments:5 (1 by maintainers)

github_iconTop GitHub Comments

1reaction
sara-taggercommented, Nov 13, 2019

Thanks for submitting this feature request 🚀@erohmensing will get back to you about it soon!✨

0reactions
stale[bot]commented, Feb 24, 2020

This issue has been automatically closed due to inactivity. Please create a new issue if you need more help.

Read more comments on GitHub >

github_iconTop Results From Across the Web

5 Ways to Know If You're Chatting with a Human or Robot
The of chatbots, powered by AI, is increasing rapidly, and we've developed five techniques for determining if you're dealing with a human or...
Read more >
Creepy Facebook bots talked to each other in a secret language
According to Next Web, researchers also discovered that the bots relied on advanced learning strategies to improve their negotiating skills — ...
Read more >
Bots Chat with Humans - Alibaba Tech
Use of chat bots as online service tools is growing, but human agents ... call its ability to learn from human colleagues in...
Read more >
Ensembled Based Machine Learning Chatbot - Discover.bot
Ensemble-based deep reinforcement learning (DRL) technique could enhance interactions between machine learning chatbot and humans.
Read more >
Continual Learning Dialogue Systems - Computer Science
In this tutorial, we introduce and discuss methods to give chat- bots the ability to continuously and interactively learn new knowl-.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found