Hi all! I am in need of some help with using slots to determine dialogue flows.
My situation is that I have a categorical slot which can either have the value “associate” or “manager”. If the slot is manager, the user gets access to more handover options, whereas the associate user just gets a closing message. The stories are as follows:
## english_speaker_story_associate
* english
- slot{"function_type": "associate"}
- utter_english_speaker_associate
## english_speaker_story_manager_happy
* english
- slot{"function_type": "manager"}
- utter_english_speaker_manager
* confirm
- handover_SF_form_EN
- utter_slots_values_handoverSFEN
* confirm
- action_SF_followUpEN
- utter_end_film_english
- action_clear_slots
## english_speaker_story_manager_happy-twice
* english
- slot{"function_type": "manager"}
- utter_english_speaker_manager
* confirm
- handover_SF_form_EN
- utter_slots_values_handoverSFEN
* deny
- utter_lms_login_issue_try_againEN
- action_clear_slots
- handover_SF_form_EN
- utter_slots_values_handoverSFEN
* confirm
- action_SF_followUpEN
- utter_end_film_english
- action_clear_slots
## english_speaker_story_manager_happy-thrice
* english
- slot{"function_type": "manager"}
- utter_english_speaker_manager
* confirm
- handover_SF_form_EN
- utter_slots_values_handoverSFEN
* deny
- utter_lms_login_issue_try_againEN
- action_clear_slots
- handover_SF_form_EN
- utter_slots_values_handoverSFEN
* deny
- utter_lms_login_issue_try_againEN
- action_clear_slots
- handover_SF_form_EN
- utter_slots_values_handoverSFEN
* confirm
- action_SF_followUpEN
- utter_end_film_english
- action_clear_slots
## english_speaker_story_manager_sad
* english
- slot{"function_type": "manager"}
- utter_english_speaker_manager
* deny
- utter_handover_deny_manager_english
However it seems as if the manager path is always chosen, even though the slot is set to associate.
I am using Keras policy and augmented momoization. In debug mode I can see that memoization predicts no action and then Keras predicts the manager version. Is this a result of an unbalanced training set, since there are more stories with the manager version?
Would be great to get some help, thanks!
In debug mode I can see that memoization predicts no action and then Keras predicts the manager version.
Nice, job in finding that out!
I’d check which story should apply in this case and then see why it doesn’t apply.
Hi Tobias, thanks for your reply!
Since my slot function_type is set to associate, I would expect the top story. I have changed max_history on both policies (now augmented memoization is 3 and Keras is 5) and it is now picking the correct story for this flow.
However, I still have other similar structures that are not being picked up, for example:
## calculate_holiday_pay_parttime_pos_ahstore
* calculate_holiday_pay{"vakantiegeld": "vakantiegeld"} OR calculate_holiday_pay
- utter_calculate_holiday_pay_parttime
* confirm
- slot{"banner": "AH"}
- utter_calculate_holiday_pay_allin_ahstore
> check_end_question
## calculate_holiday_pay_sm_dc_pos_supermarketmanager
* calculate_holiday_pay{"vakantiegeld": "vakantiegeld"} OR calculate_holiday_pay
- utter_calculate_holiday_pay_parttime
* deny
- slot{"banner": "AH"}
- utter_calculate_holiday_pay_depends
* confirm
- utter_calculate_holiday_pay_sm_dc_supermarketmanager
> check_end_question
## calculate_holiday_pay_rest_pos_ahstore
* calculate_holiday_pay{"vakantiegeld": "vakantiegeld"} OR calculate_holiday_pay
- utter_calculate_holiday_pay_parttime
* deny
- slot{"banner": "AH"}
- utter_calculate_holiday_pay_depends
* deny
- utter_calculate_holiday_pay_rest_ahstore
> check_end_question
## calculate_holiday_pay_parttime_pos_gall
* calculate_holiday_pay{"vakantiegeld": "vakantiegeld"} OR calculate_holiday_pay
- utter_calculate_holiday_pay_parttime
* confirm
- slot{"banner": "GG"}
- utter_calculate_holiday_pay_allin_gall
> check_end_question
## calculate_holiday_pay_rest_pos_gall
* calculate_holiday_pay{"vakantiegeld": "vakantiegeld"} OR calculate_holiday_pay
- utter_calculate_holiday_pay_parttime
* deny
- slot{"banner": "GG"}
- utter_calculate_holiday_pay_rest_gall
> check_end_question
## calculate_holiday_pay_parttime_pos_hk
* calculate_holiday_pay{"vakantiegeld": "vakantiegeld"} OR calculate_holiday_pay
- utter_calculate_holiday_pay_parttime
* confirm
- slot{"banner": "HK"}
- utter_calculate_holiday_pay_allin_hk
> check_end_question
## calculate_holiday_pay_rest_pos_hk
* calculate_holiday_pay{"vakantiegeld": "vakantiegeld"} OR calculate_holiday_pay
- utter_calculate_holiday_pay_parttime
* deny
- slot{"banner": "HK"}
- utter_calculate_holiday_pay_rest_hk
> check_end_question
In this case my banner is “AH” and it works fine when the user picks “confirm” after the first reponse it works fine, but when the user picks “deny” I get a core fallback. Should I change the max history to another value? Or is there maybe something else happening?
Thanks!