We know that the slots are provided to save the context of the intent, now what I need to know is how to set same value to different slots, based on the different intent of the utterance. For example,
Let’s say we have two slots ‘wo_type’ from intent ‘request_wo’ and ‘sr_type’ from intent ‘request_st’ and we are using two different Form Action for get these slots filled, But there are problem in the values that is there are some values are common in these two slots. So, when I am train the bot and use FormAction to fill the slot then the slot get filled which has more example in nlu.md file and other slot is set to None every time.
I tried to achieve it by regular training, but in some cases, it is setting the value to the wrong slot. How do I fix this?
Hi @Gehova
In our chatbot there are two slots from different intent and in this two slots there are some common values I want to set the values based on the different intent.
Using conditional slot logic add the slot with more examples (sme) to the other form, after the slot you want to fill (swf) in a full list. Add another without sme when the swf has a value.
Add a validation function for sme in the form you added the slot logic. In this function copy the value of sme to swf and set sme to None.
This is in case you don’t need the value of sme. If you need it:
Create another slot smeaux.
Add a validation function for sme in the form that fills it and copy its value to smeaux.
In the other validation function, instead of setting the value of sme to None, copy the value of smeaux.
Hope this helps, it’s always a mess to deal with ambiguities.