-
  # optional defaults for this yml file
  state: __default__
  nlp:
    __default__: exact
-
  state: welcome_state
  Bot: 
    - Welcome
    - I will ask you a few Python questions. Please answer 'yes' if you would like to continue
  next: __finish__  # state to go to if 'yes' or 'ok' are not the p;ayer responses
  nlp:
    welcome_state: lower  # case-insensitive exact str match, equivalent to "case_insensitive" and upper
    Q1_normalize: normalize  # only leading and trailing whitespace is stripped with the .strip() method
    Q2_exact: exact  # only leading and trailing whitespace is stripped with the .strip() method
    Q3_keyword: keyword  # presence/absence of the intent str is checked, e.g. 'Yes'.lower() in user_statement.lower()
    Q4_case_sensitive_keyword: case_sensitive_keyword  # same as keyword, but don't lower the user statement nor intent str
    Q5_spacy: spacy
    Q7_bert: bert
    Q6_lower: lower
    __default__: exact  # all states without an NLP parameter specified will use this matching algorithm 

  next_condition:
    Q1_normalize:   # state to go to if 'yes' or 'ok' are entered.
      - 'yes'
      - ok
      - 'yup'
    Q2_exact:
      - Q2_exact_response
    Q3_keyword:
      - Q3_keyword
    Q4_case_sensitive_keyword:
      - Q4_case_keyword
    Q5_default_exact:
      - Q5_default_exact_response
    Q6_lower:
      - Q6_lower_response
    welcome_state:
      - what
      - repeat
      - go back
      

-
  state: Q1_normalize
  Bot: 
    - Name the two fundamental numerical data types in Python
  next_condition:
    __finish__:   # to test when only one value in the list is presetnt
      - finish
      - stop
      - I'm done
-
  state: Q2_exact
  Bot: 
    - State is Q2_exact
  next_condition:
      __finish__:   # to test when only one value in the list is presetnt
        - finish
        - stop
        - I'm done
-
  state: Q3_keyword
  Bot: 
    - This state was entered based on the presence of a key word from welcome_state
  next_condition:
      __finish__:   # to test when only one value in the list is presetnt
        - finish
        - stop
        - I'm done
-
  state: Q4_case_sensitive_keyword
  Bot: 
    - This state was entered based on the presence of a case-sensitive key word from welcome_state
  next_condition:
      __finish__:   # to test when only one value in the list is presetnt
        - finish
        - stop
        - I'm done
-
  state: Q5_default_exact
  Bot: 
    - This state was entered based on the default nlp value of 'exact' from welcome_state
  next_condition:
      __finish__:   # to test when only one value in the list is presetnt
        - finish
        - stop
        - I'm done
-
  state: Q6_lower
  Bot: 
    - This state was entered based on the lower value from Q1
  next_condition:
      __finish__:   # to test when only one value in the list is presetnt
        - finish
        - stop
        - I'm done
-
  state: __finish__
  Bot: 
    - Goodbye
-
