Skip to content

Estudo de Embedding Policy

Bruna Pinos edited this page May 13, 2019 · 1 revision

Esta policy tem como objetivo tratar conversas com usuário que fogem do escopo proposto pelo chatbot.

Tipos de conversa

É esperado do usuário que ele siga o que é chamado de diálogo cooperativo (cooperative dialogue), onde o usuário responde adequadamente aquilo em que o sistema pediu. Porém, deve-se mapear diálogo não-cooperativo (uncooperative dialogue), ou seja, tudo aquilo que foge a compreensão do sistema.

No artigo [1], ele classifica 4 tipos de conversas não cooperativas:

  • Chitchat: "Small-talk" ou perguntas não relacionadas a tarefa
  • Correction: Correção de uma resposta anterior
  • Broad context: Perguntas referentes ao estado da tarefa (Ex: "Já te informei o local, tem como você me dar a informação agora?")
  • Narrow context: Perguntas relacionadas a contextos imediatos (Ex: quando o usuário pergunta o porquê da informação dada pelo bot)

Funcionamento da Policy

A Recurrent Embedding Dialogue Policy (REDP) ...

Uso na Tais

A configuração feita para uso na Tais foi esta abaixo:

  • Em policies_config.yml
 policies:
  - name: "EmbeddingPolicy"
    epochs: 100
    attn_shift_range: 5
    featurizer:
    - name: FullDialogueTrackerFeaturizer
      state_featurizer:
      - name: LabelTokenizerSingleStateFeaturizer
  • Em train.py
'augmentation_factor': 0,

Por padrão,o Rasa Core gera histórias mais longas, colando aleatoriamente a histórias pré-definidas. Pois quando ocorre stories assim:

# thanks
* thankyou
   - utter_youarewelcome

# bye
* goodbye
   - utter_goodbye

o objetivo é ignorar contextos anteriores e responder assim como descrito.

Porém, para o funcionamento da REDP, o contexto da intent é relevante, logo esse comportamento do Rasa deve ser evitado, assim augmentation é colocado 0.

Clone this wiki locally