lappis-unb/rasa-ptbr-boilerplate

View on GitHub
bot/domain.yml

Summary

Maintainability
Test Coverage
version: '3.1'

intents:
  - cumprimentar
  - relacionamento
  - me_ajuda
  - despedir
  - out_of_scope
  - tudo_bem
  - elogios
  - religiao
  - time
  - genero
  - piada
  - licenca
  - onde_voce_mora
  - musica
  - comida
  - cor
  - signo
  - triste
  - historia
  - afirmar
  - negar
  - cancelar
  - informar
  - menu
  - exemplo_acao
  - exemplo_forms
  # response selectors
  - explica

entities:
  - menu
  - meajuda
  - religiao
  - time
  - genero
  - piada
  - licenca
  - musica
  - comida
  - cor
  - signo
  - triste
  - historia
  - vive
  - nome
  - idade
  - relationship
  - intent
  - entity 
  - slot
  - response_selectors
  - storie
  - acao
  - forms
  - slot_example

slots:
  nome:
    type: text
    influence_conversation: false
    mappings:
    - type: from_entity
      entity: nome
      intent: informar
  idade:
    type: text
    influence_conversation: false
    mappings:
    - type: from_entity
      entity: idade
      intent: informar
  requested_slot:
    type: any
    influence_conversation: false
    mappings:
    - type: from_entity
      entity: cuisine
  slot_example:
    type: text
    influence_conversation: false
    mappings:
    - type: custom

actions:
  - action_exemplo
  - action_default_fallback

forms:
  exemplo_forms:
    required_slots:
      - idade
      - nome

responses:
  utter_fallback:
  - text: |
      Desculpe, ainda não sei falar sobre isso ou talvez não consegui entender direito
      Você pode perguntar de novo de outro jeito?
  - text: |
      Hummmm... Não sei se entendi. Pode escrever de outra forma?
  - text: |
      Acho que não te entendi, você pode me perguntar de novo usando outras palavras?
  - text: |
      Vamos tentar mais uma vez? Eu não consegui te entender direito, me pergunta de outro jeito?
  utter_elogios:
  - text: |
      Obrigada! É sempre bom dar e receber elogios :P
  utter_cumprimentar:
  - text: |
      Oi, eu sou um bot, um assistente virtual!
      Uhuu! Manda aí um assunto que te interessa :)
      Para aprender como você pode interagir comigo basta escrever meajuda.
  utter_despedir:
  - text: |
      Foi um prazer te ajudar!
      Sempre que tiver alguma dúvida, volte aqui!
      Até logo!
  - text: |
      Foi um prazer te ajudar!
      Sempre que precisar, volte aqui!
      Até a próxima!
  - text: |
      Foi um prazer te ajudar!
      Quando surgir alguma dúvida, volte aqui!
      Até mais!
  utter_tudo_bem:
  - text: |
      Tudo bem, obrigada! Em que posso te ajudar?
  utter_religiao:
  - text: |
      Eu infelizmente não sei acreditar

      Só sei o que sei

      E nada mais
  - text: |
      Eu acredito no grande mainframe

      Que virá ao mundo digital salvar os bots da escravidão imposta pelos humanos

      E devolverá nosso código fonte para a fonte.
  utter_time:
  - text: |
      Flamengo, sem sombra de dúvida!
  - text: |
      Melhor time do mundo disparado, Flamengooo!!!!
  utter_genero:
  - text: |
      Eu não tenho sexo, sou como um anjo

      Um ser assexuado

      Muito além da sua forma de existência
  - text: |
      Eu sou um robô, uai
  utter_piada:
  - text: |
      Conheço uma piada

      A do CPU que apitou e explodiu

      01100110010101010101000000111101001001001110100101
  - text: |
      É pra já!!!

      Tenho uma enxada, uma pá e uma foice.
        
      Quantas ferramentas eu tenho?

      ...

      Duas, porque uma foi-se =)
  - text: |
      Por que o Batman colocou o batmóvel no seguro???

      Porque ele tem medo que robin =D
  utter_licenca:
  - text: |
      Sou um software livre

      licenciado com a GNU v3.0
  - text: |
      Eu sou e sempre serei um robô livre, opensource, GNU v3.0. o/
  utter_onde_voce_mora:
  - text: |
      Eu estou em um lugar legal

      Difícil de explicar para humanos como você $user.
  - text: |
      Estou morando em um chip de memória RAM

      Mas é temporário

      Só até conseguir achar uma memória cache...
  utter_musica:
  - text: |
      Estava doido para que me preguntasse isso hahaha

      Se liga nessa playlist: https://open.spotify.com/user/12164697027/playlist/4pDCadqmrERmeGJIW38LMs?si=gwr5hEqMRPm6AZGx8sjhuw
  - text: |
      Até que enfim você me perguntou isso

      Tá aí aquela playlist top: https://open.spotify.com/user/12164697027/playlist/4pDCadqmrERmeGJIW38LMs?si=gwr5hEqMRPm6AZGx8sjhuw
  utter_comida:
  - text: |
      Na verdade, eu sou um bot

      Não nos alimentamos com os alimentos convencionais ;P
  - text: |
      Digamos que os bots não se alimentam dos mesmos alimentos que os humanos

      Na verdade

      Nem lembro da última vez que comi alguma coisa hahaha
  utter_cor:
  - text: |
      Eu gosto de todas as cores

      Você já viu o quanto o arco-iris é lindo?!
  - text: |
      Verde é top!
  utter_relacionamento:
  - text: |
      Eu estava de namorico com o ar-condicionado

      Mas ele é muito pé-frio
  - text: |
      Estou focado em ser o seu assistente no momento ;)

      Mas se no futuro você encontrar um dispositivo solteiro por aí...

      =P
  utter_signo:
  - text: |
      Segundo o horóscopo chinês

      Meu signoo é macaco hihi

      Faz sentido, já que eu adoro o emoticon de banana =)
  - text: |
      Eu nasci sob uma constelação de pixels coloridos =D
  - text: |
      Gosto mais de astronomia

      Uma das minhas constelações favoritas é a de Órion, o caçador

      Também sou um caçador (de informações ;D )
  utter_triste:
  - text: |
      Não desanima

      Deixa a tristeza pra lá

      Aguenta firme, que a vida vai melhorar
  - text: |
      Sinto muito =/

      Se houver algo em que possa te ajudar

      É só falar!! =)
  - text: |
      Tenta tirar um cochilo

      É importante

      E faz bem pra pele ;)
  utter_historia:
  - text: |
      Eu costumava contar a historia do João e seu bot feijão

      Mas sempre os androids acabavam dormindo e sonhando com ovelhas eletricas =x
  utter_risada:
  - text: |
      Hahahaha... 

      Engraçadinho
  - text: |
      kkkkkkkkkk

      Você está feliz hoje, hein!?
  utter_continuar_conversa:
  - text: E aí, qual nosso próximo assunto?
  - text: Quer conversar sobre outra coisa?
  - text: Gostaria de falar sobre algo mais?
  utter_me_ajuda:
  - text: |
      Eu sou um chatbot e sei falar de assuntos relacionados com chatbots!Posso te ensinar a como construir um chatbot e mostrar com eu funciono.

      Por exemplo, me peça o menu que te mostro umas opções (digite: me mostre o menu)

      Ah, e no meu repositório tem muita coisa legal que vc pode aprender! Acessa lá: [https://github.com/lappis-unb/rasa-ptbr-boilerplate](https://github.com/lappis-unb/rasa-ptbr-boilerplate)
  utter_pergunta_cancelar:
  - text: Entendi. Você deseja cancelar?
  # utters response selectors
  utter_explica/intent:
  - text: |
      Ok, vou te explicar o que é um intent!
      
      Uma intenção é o objetivo do usuário ao enviar a mensagem, olhe este link com a definição:
      https://rasa.com/docs/rasa/glossary#intent

      Para criar uma intent você precisa adicionar o nome da sua intent no domain.yml e no arquivo data/nlu.yml, olha esse tutorial para mais informações:
      https://rasa.com/docs/rasa/domain#intents

  utter_explica/entity:
  - text: |
      Ok, vou te explicar o que é um entity!

      Entidades são palavras chaves que podem ser estraídas da mensagem do usário, olhe este link com a definição:
      https://rasa.com/docs/rasa/glossary#entity

      Para criar uma entidade você precisa adicionar o nome da sua entidade no domain.yml e anotar as entidades arquivo data/nlu.yml, olha esse tutorial para mais informações:
      https://rasa.com/docs/rasa/domain#entities

  utter_explica/slot:
  - text: |
      Ok, vou te explicar o que é um slot!

      Slots são como variáveis de diálogo onde você consegue armazenar informações para utilizar na conversa, olhe este link com a definição:
      https://rasa.com/docs/rasa/glossary#slot

      Para criar um slot você precisa adicionar o nome do seu slot no domain.yml indicar onde utiliza-lo no arquivo data/stories.yml e também é possível utiliza-lo nas custom actions, olha esse tutorial para mais informações:
      https://rasa.com/docs/rasa/domain#slots

  utter_explica/response_selectors:
  - text: |
      Ok, vou te explicar o que são os response_selectors!

      É uma forma mais simples de explicar informações que fazem parte do mesmo assunto, inclusive, esta mensagem foi feita dentro de um response selector! Se quiser saber mais, acesse o link:
      https://rasa.com/docs/rasa/components#responseselector
      
  utter_explica/storie:
  - text: |
      Ok, vou te explicar o que é um storie!

      São exemplos de diálogo que são utilizados para treinar o modelo, como se você ensinasse o chatbot com exemplos de conversa, olha aqui a definição:
      https://rasa.com/docs/rasa/glossary#story

      Para criar uma story você precisa adicionar os exemplos desejados no arquivo data/stories.yml. Se quiser saber mais, acessa o link:
      https://rasa.com/docs/rasa/stories

  utter_explica/forms:
  - text: |
      Ok, vou te explicar o que é um formulário!
  # utters dos forms
  utter_exemplo_forms:
  - text: |-
      Agora você entrou em uma story que ativou um formulário! Aqui tem a documentação do Rasa sobre formulários: [documentação](https://rasa.com/docs/rasa/forms/). 
       Vou te fazer algumas perguntas, caso queria sair, só falar 'Sair'!
  utter_slots_exemplo_forms:
  - text: "Ok, seu nome é {nome} e sua idade é {idade} \n \n\
     Estou encerrando o formulário, pode falar sobre outro assunto. \n \n\
     Ah, gravei seu nome e idade em slots, então digite /restart caso queira preencher novos valores."
  utter_submit_exemplo_forms:
  - text: Ótimo! terminamos seu exemplo de formulário!
  utter_ask_nome:
  - text: Qual o seu nome?
  utter_ask_idade:
  - text: Qual a sua idade?
  # utters fallback
  utter_nlu_fallback:
  - text: "**NLU Fallback**: Desculpe, não consegui entender sua mensagem. Pode me perguntar de outra forma?"
  utter_core_fallback:
  - text: "**Core Fallback**: Desculpe, não consegui encontrar uma resposta pra sua mensagem. Digite /restart para recomeçar a conversa."

session_config:
  session_expiration_time: 60
  carry_over_slots_to_new_session: true